!function(){function D(t,e){var i;for(i in t=t||{},e)t[i]=e[i];return t}function I(){var t,e=arguments.length,i={},n=function(t,e){var i,s;for(s in"object"!=typeof t&&(t={}),e)e.hasOwnProperty(s)&&(i=e[s],t[s]=i&&"object"==typeof i&&"[object Array]"!==Object.prototype.toString.call(i)&&"number"!=typeof i.nodeType?n(t[s]||{},i):e[s]);return t};for(t=0;t<e;t++)i=n(i,arguments[t]);return i}function k(t,e){return parseInt(t,e||10)}function f(t){return"string"==typeof t}function c(t){return"object"==typeof t}function m(t){return"[object Array]"===Object.prototype.toString.call(t)}function x(t){return"number"==typeof t}function b(t){return gt.log(t)/gt.LN10}function T(t){return gt.pow(10,t)}function l(t,e){for(var i=t.length;i--;)if(t[i]===e){t.splice(i,1);break}}function z(t){return t!==j&&null!==t}function w(t,e,i){var s,n;if(f(e))z(i)?t.setAttribute(e,i):t&&t.getAttribute&&(n=t.getAttribute(e));else if(z(e)&&c(e))for(s in e)t.setAttribute(s,e[s]);return n}function u(t){return m(t)?t:[t]}function O(){var t,e,i=arguments,s=i.length;for(t=0;t<s;t++)if(null!=(e=i[t]))return e}function S(t,e){At&&e&&e.opacity!==j&&(e.filter="alpha(opacity="+100*e.opacity+")"),D(t.style,e)}function C(t,e,i,s,n){return t=pt.createElement(t),e&&D(t,e),n&&S(t,{padding:0,border:Gt,margin:0}),i&&S(t,i),s&&s.appendChild(t),t}function t(t,e){function i(){}return D(i.prototype=new t,e),i}function d(t,e,i,s){var n=Z.lang,o=(t=+t||0,-1===e?(t.toString().split(".")[1]||"").length:isNaN(e=bt(e))?2:e),r=(e=void 0===i?n.decimalPoint:i,s=void 0===s?n.thousandsSep:s,n=t<0?"-":"",3<(i=String(k(t=bt(t).toFixed(o)))).length?i.length%3:0);return n+(r?i.substr(0,r)+s:"")+i.substr(r).replace(/(\d{3})(?=\d)/g,"$1"+s)+(o?e+bt(t-i).toFixed(o).slice(2):"")}function p(t,e){return Array((e||2)+1-String(t).length).join(0)+t}function e(t,e,i){var s=t[e];t[e]=function(){var t=Array.prototype.slice.call(arguments);return t.unshift(s),i.apply(this,t)}}function L(t,e){for(var i,s,n,o,r,a="{",h=!1,l=[];-1!==(a=t.indexOf(a));){if(i=t.slice(0,a),h){for(r=(n=(s=i.split(":")).shift().split(".")).length,i=e,o=0;o<r;o++)i=i[n[o]];s.length&&(s=s.join(":"),n=/\.([0-9])/,o=Z.lang,r=void 0,i=/f$/.test(s)?d(i,r=(r=s.match(n))?r[1]:-1,o.decimalPoint,-1<s.indexOf(",")?o.thousandsSep:""):K(s,i))}l.push(i),t=t.slice(a+1),a=(h=!h)?"}":"{"}return l.push(t),l.join("")}function y(t){return gt.pow(10,mt(gt.log(t)/gt.LN10))}function v(t,e,i,s){var n;for(n=t/(i=O(i,1)),e||(e=[1,2,2.5,5,10],s&&!1===s.allowDecimals&&(1===i?e=[1,2,5,10]:i<=.1&&(e=[1/i]))),s=0;s<e.length&&(t=e[s],!(n<=(e[s]+(e[s+1]||e[s]))/2));s++);return t*=i}function P(t,e){var i,s=e||[[Ft,[1,2,5,10,20,25,50,100,200,500]],[Vt,[1,2,5,10,15,30]],[jt,[1,2,5,10,15,30]],[_t,[1,2,3,4,6,8,12]],[Ut,[1,2]],[Zt,[1,2]],[Kt,[1,2,3,4,6]],[$t,null]],n=s[s.length-1],o=J[n[0]],r=n[1];for(i=0;i<s.length&&(n=s[i],o=J[n[0]],r=n[1],!(s[i+1]&&t<=(o*r[r.length-1]+J[s[i+1][0]])/2));i++);return o===J[$t]&&t<5*o&&(r=[1,2,5]),{unitRange:o,count:s=v(t/o,r,n[0]===$t?y(t/o):1),unitName:n[0]}}function A(t,e,i,s){var n,o=[],r={},a=Z.global.useUTC,h=new Date(e),l=t.unitRange,c=t.count;if(z(e)){l>=J[Vt]&&(h.setMilliseconds(0),h.setSeconds(l>=J[jt]?0:c*mt(h.getSeconds()/c))),l>=J[jt]&&h[rt](l>=J[_t]?0:c*mt(h[tt]()/c)),l>=J[_t]&&h[at](l>=J.day?0:c*mt(h[et]()/c)),l>=J.day&&h[ht](l>=J[Kt]?1:c*mt(h[st]()/c)),l>=J[Kt]&&(h[lt](l>=J[$t]?0:c*mt(h[nt]()/c)),n=h[ot]()),l>=J[$t]&&(n-=n%c,h[ct](n)),l===J[Zt]&&h[ht](h[st]()-h[it]()+O(s,1)),e=1,n=h[ot]();s=h.getTime();for(var d=h[nt](),p=h[st](),u=a?0:(864e5+6e4*h.getTimezoneOffset())%864e5;s<i;)o.push(s),l===J[$t]?s=Q(n+e*c,0):l===J[Kt]?s=Q(n,d+e*c):a||l!==J.day&&l!==J[Zt]?s+=l*c:s=Q(n,d,p+e*c*(l===J.day?1:7)),e++;o.push(s),se(ne(o,function(t){return l<=J[_t]&&t%J.day==u}),function(t){r[t]=Ut})}return o.info=D(t,{higherRanks:r,totalRange:l*c}),o}function a(){this.symbol=this.color=0}function g(t,i){var s,e,n=t.length;for(e=0;e<n;e++)t[e].ss_i=e;for(t.sort(function(t,e){return 0===(s=i(t,e))?t.ss_i-e.ss_i:s}),e=0;e<n;e++)delete t[e].ss_i}function M(t){for(var e=t.length,i=t[0];e--;)t[e]<i&&(i=t[e]);return i}function H(t){for(var e=t.length,i=t[0];e--;)t[e]>i&&(i=t[e]);return i}function o(t,e){for(var i in t)t[i]&&t[i]!==e&&t[i].destroy&&t[i].destroy(),delete t[i]}function r(t){U=U||C(Et),t&&U.appendChild(t),U.innerHTML=""}function B(t,e){var i="Highcharts error #"+t+": www.highcharts.com/errors/"+t;if(e)throw i;ut.console&&console.log(i)}function R(t){return parseFloat(t.toPrecision(14))}function X(t,e){$=O(t,e.animation)}function i(){var t=Z.global.useUTC,e=t?"getUTC":"get",i=t?"setUTC":"set";Q=t?Date.UTC:function(t,e,i,s,n,o){return new Date(t,e,O(i,1),O(s,0),O(n,0),O(o,0)).getTime()},tt=e+"Minutes",et=e+"Hours",it=e+"Day",st=e+"Date",nt=e+"Month",ot=e+"FullYear",rt=i+"Minutes",at=i+"Hours",ht=i+"Date",lt=i+"Month",ct=i+"FullYear"}function W(){}function Y(t,e,i,s){this.axis=t,this.pos=e,this.type=i||"",this.isNew=!0,i||s||this.addLabel()}function E(t,e){this.axis=t,e&&(this.options=e,this.id=e.id)}function G(t,e,i,s,n,o){var r=t.chart.inverted;this.axis=t,this.isNegative=i,this.options=e,this.x=s,this.total=null,this.points={},this.stack=n,this.percent="percent"===o,this.alignOptions={align:e.align||(r?i?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":i?"bottom":"top"),y:O(e.y,r?4:i?14:-6),x:O(e.x,r?i?-6:6:0)},this.textAlign=e.textAlign||(r?i?"right":"left":"center")}function h(){this.init.apply(this,arguments)}function N(){this.init.apply(this,arguments)}function s(t,e){this.init(t,e)}function F(t,e){this.init(t,e)}function n(){this.init.apply(this,arguments)}function V(){}var j,_,U,Z,K,$,q,J,Q,tt,et,it,st,nt,ot,rt,at,ht,lt,ct,dt,pt=document,ut=window,gt=Math,ft=gt.round,mt=gt.floor,xt=gt.ceil,yt=gt.max,vt=gt.min,bt=gt.abs,kt=gt.cos,wt=gt.sin,Tt=gt.PI,St=2*Tt/360,Lt=navigator.userAgent,Pt=ut.opera,At=/msie/i.test(Lt)&&!Pt,Ct=8===pt.documentMode,Mt=/AppleWebKit/.test(Lt),Dt=/Firefox/.test(Lt),It=/(Mobile|Android|Windows Phone)/.test(Lt),zt="http://www.w3.org/2000/svg",Bt=!!pt.createElementNS&&!!pt.createElementNS(zt,"svg").createSVGRect,Ot=Dt&&parseInt(Lt.split("Firefox/")[1],10)<4,Ht=!Bt&&!At&&!!pt.createElement("canvas").getContext,Rt=pt.documentElement.ontouchstart!==j,Xt={},Wt=0,Yt=[],Et="div",Gt="none",Nt="rgba(192,192,192,"+(Bt?1e-4:.002)+")",Ft="millisecond",Vt="second",jt="minute",_t="hour",Ut="day",Zt="week",Kt="month",$t="year",qt="stroke-width",Jt={};ut.Highcharts=ut.Highcharts?B(16,!0):{},K=function(t,e,i){if(!z(e)||isNaN(e))return"Invalid date";t=O(t,"%Y-%m-%d %H:%M:%S");var s,n=(d=new Date(e))[et](),o=d[it](),r=d[st](),a=d[nt](),h=d[ot](),l=Z.lang,c=l.weekdays,d=D({a:c[o].substr(0,3),A:c[o],d:p(r),e:r,b:l.shortMonths[a],B:l.months[a],m:p(a+1),y:h.toString().substr(2,2),Y:h,H:p(n),I:p(n%12||12),l:n%12||12,M:p(d[tt]()),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:p(d.getSeconds()),L:p(ft(e%1e3),3)},Highcharts.dateFormats);for(s in d)for(;-1!==t.indexOf("%"+s);)t=t.replace("%"+s,"function"==typeof d[s]?d[s](e):d[s]);return i?t.substr(0,1).toUpperCase()+t.substr(1):t},a.prototype={wrapColor:function(t){this.color>=t&&(this.color=0)},wrapSymbol:function(t){this.symbol>=t&&(this.symbol=0)}},J=function(){for(var t=0,e=arguments,i=e.length,s={};t<i;t++)s[e[t++]]=e[t];return s}(Ft,1,Vt,1e3,jt,6e4,_t,36e5,Ut,864e5,Zt,6048e5,Kt,26784e5,$t,31556952e3),q={init:function(t,e,i){e=e||"";function s(t){for(n=t.length;n--;)"M"===t[n]&&t.splice(n+1,0,t[n+1],t[n+2],t[n+1],t[n+2])}var n,o,r,a=t.shift,h=-1<e.indexOf("C"),l=h?7:3;e=e.split(" "),i=[].concat(i);if(h&&(s(e),s(i)),t.isArea&&(o=e.splice(e.length-6,6),r=i.splice(i.length-6,6)),a<=i.length/l&&e.length===i.length)for(;a--;)i=[].concat(i).splice(0,l).concat(i);if(t.shift=0,e.length)for(t=i.length;e.length<t;)a=[].concat(e).splice(e.length-l,l),h&&(a[l-6]=a[l-2],a[l-5]=a[l-1]),e=e.concat(a);return o&&(e=e.concat(o),i=i.concat(r)),[e,i]},step:function(t,e,i,s){var n=[],o=t.length;if(1===i)n=s;else if(o===e.length&&i<1)for(;o--;)s=parseFloat(t[o]),n[o]=isNaN(s)?t[o]:i*parseFloat(e[o]-s)+s;else n=e;return n}},dt=ut.jQuery,ut.HighchartsAdapter=ut.HighchartsAdapter||dt&&{init:function(s){var t,o=dt.fx,r=o.step,a=dt.Tween,h=a&&a.propHooks;t=dt.cssHooks.opacity,dt.extend(dt.easing,{easeOutQuad:function(t,e,i,s,n){return-s*(e/=n)*(e-2)+i}}),dt.each(["cur","_default","width","height","opacity"],function(e,i){var s,n,t=r;"cur"===i?t=o.prototype:"_default"===i&&a&&(t=h[i],i="set"),(s=t[i])&&(t[i]=function(t){if("align"!==(t=e?t:this).prop)return(n=t.elem).attr?n.attr(t.prop,"cur"===i?j:t.now):s.apply(this,arguments)})}),e(t,"get",function(t,e,i){return e.attr?e.opacity||0:t.call(this,e,i)}),t=function(t){var e,i=t.elem;t.started||(e=s.init(i,i.d,i.toD),t.start=e[0],t.end=e[1],t.started=!0),i.attr("d",s.step(t.start,t.end,t.pos,i.toD))},a?h.d={set:t}:r.d=t,this.each=Array.prototype.forEach?function(t,e){return Array.prototype.forEach.call(t,e)}:function(t,e){for(var i=0,s=t.length;i<s;i++)if(!1===e.call(t[i],t[i],i,t))return i},dt.fn.highcharts=function(){var t,e,i="Chart",s=arguments;return f(s[0])&&(i=s[0],s=Array.prototype.slice.call(s,1)),(t=s[0])!==j&&(t.chart=t.chart||{},t.chart.renderTo=this[0],new Highcharts[i](t,s[1]),e=this),t===j&&(e=Yt[w(this[0],"data-highcharts-chart")]),e}},getScript:dt.getScript,inArray:dt.inArray,adapterRun:function(t,e){return dt(t)[e]()},grep:dt.grep,map:function(t,e){for(var i=[],s=0,n=t.length;s<n;s++)i[s]=e.call(t[s],t[s],s,t);return i},offset:function(t){return dt(t).offset()},addEvent:function(t,e,i){dt(t).bind(e,i)},removeEvent:function(t,e,i){var s=pt.removeEventListener?"removeEventListener":"detachEvent";pt[s]&&t&&!t[s]&&(t[s]=function(){}),dt(t).unbind(e,i)},fireEvent:function(t,e,i,s){var n,o=dt.Event(e),r="detached"+e;!At&&i&&(delete i.layerX,delete i.layerY),D(o,i),t[e]&&(t[r]=t[e],t[e]=null),dt.each(["preventDefault","stopPropagation"],function(t,e){var i=o[e];o[e]=function(){try{i.call(o)}catch(t){"preventDefault"===e&&(n=!0)}}}),dt(t).trigger(o),t[r]&&(t[e]=t[r],t[r]=null),!s||o.isDefaultPrevented()||n||s(o)},washMouseEvent:function(t){var e=t.originalEvent||t;return e.pageX===j&&(e.pageX=t.pageX,e.pageY=t.pageY),e},animate:function(t,e,i){var s=dt(t);t.style||(t.style={}),e.d&&(t.toD=e.d,e.d=1),s.stop(),e.opacity!==j&&t.attr&&(e.opacity+="px"),s.animate(e,i)},stop:function(t){dt(t).stop()}};var Qt=(ge=ut.HighchartsAdapter)||{};ge&&ge.init.call(ge,q);var te=Qt.adapterRun,ee=Qt.getScript,ie=Qt.inArray,se=Qt.each,ne=Qt.grep,oe=Qt.offset,re=Qt.map,ae=Qt.addEvent,he=Qt.removeEvent,le=Qt.fireEvent,ce=Qt.washMouseEvent,de=Qt.animate,pe=Qt.stop,ue=(Qt={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}},(Z={colors:"#2f7ed8,#0d233a,#8bbc21,#910000,#1aadce,#492970,#f28f43,#77a1e5,#c42525,#a6c96a".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.6/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.6/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},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:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:I(Qt,{align:"center",enabled:!1,formatter:function(){return null===this.y?"":d(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:Bt,backgroundColor:"rgba(255, 255, 255, .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}">{series.name}</span>: <b>{point.y}</b><br/>',shadow:!0,snap:It?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"}}}).plotOptions),ge=ue.line;i();var fe=function(t){var e,n,i,o=[];return(i=t)&&i.stops?n=re(i.stops,function(t){return fe(t[1])}):(e=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(i))?o=[k(e[1]),k(e[2]),k(e[3]),parseFloat(e[4],10)]:(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(i))?o=[k(e[1],16),k(e[2],16),k(e[3],16),1]:(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(i))&&(o=[k(e[1]),k(e[2]),k(e[3]),1]),{get:function(i){var s;return n?((s=I(t)).stops=[].concat(s.stops),se(n,function(t,e){s.stops[e]=[s.stops[e][0],t.get(i)]})):s=o&&!isNaN(o[0])?"rgb"===i?"rgb("+o[0]+","+o[1]+","+o[2]+")":"a"===i?o[3]:"rgba("+o.join(",")+")":t,s},brighten:function(e){if(n)se(n,function(t){t.brighten(e)});else if(x(e)&&0!==e){var t;for(t=0;t<3;t++)o[t]+=k(255*e),o[t]<0&&(o[t]=0),255<o[t]&&(o[t]=255)}return this},rgba:o,setOpacity:function(t){return o[3]=t,this}}};W.prototype={init:function(t,e){this.element="span"===e?C(e):pt.createElementNS(zt,e),this.renderer=t,this.attrSetters={}},opacity:1,animate:function(t,e,i){e=O(e,$,!0),pe(this),e?(e=I(e),i&&(e.complete=i),de(this,t,e)):(this.attr(t),i&&i())},attr:function(t,e){var i,s,n,o,r,a,h,l=this.element,c=l.nodeName.toLowerCase(),d=this.renderer,p=this.attrSetters,u=this.shadows,g=this;if(f(t)&&z(e)&&(i=t,(t={})[i]=e),f(t))i=t,"circle"===c?i={x:"cx",y:"cy"}[i]||i:"strokeWidth"===i&&(i="stroke-width"),g=w(l,i)||this[i]||0,"d"!==i&&"visibility"!==i&&"fill"!==i&&(g=parseFloat(g));else{for(i in t)if(r=!1,s=t[i],!1!==(n=p[i]&&p[i].call(this,s,i))){if(n!==j&&(s=n),"d"===i)s&&s.join&&(s=s.join(" ")),/(NaN| {2}|^$)/.test(s)&&(s="M 0 0");else if("x"===i&&"text"===c)for(n=0;n<l.childNodes.length;n++)w(o=l.childNodes[n],"x")===w(l,"x")&&w(o,"x",s);else if(!this.rotation||"x"!==i&&"y"!==i)if("fill"===i)s=d.color(s,l,i);else if("circle"!==c||"x"!==i&&"y"!==i)if("rect"===c&&"r"===i)w(l,{rx:s,ry:s}),r=!0;else if("translateX"===i||"translateY"===i||"rotation"===i||"verticalAlign"===i||"scaleX"===i||"scaleY"===i)r=h=!0;else if("stroke"===i)s=d.color(s,l,i);else if("dashstyle"===i){if(i="stroke-dasharray","solid"===(s=s&&s.toLowerCase()))s=Gt;else if(s){for(n=(s=s.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(",")).length;n--;)s[n]=k(s[n])*O(t["stroke-width"],this["stroke-width"]);s=s.join(",")}}else"width"===i?s=k(s):"align"===i?(i="text-anchor",s={left:"start",center:"middle",right:"end"}[s]):"title"===i&&((n=l.getElementsByTagName("title")[0])||(n=pt.createElementNS(zt,"title"),l.appendChild(n)),n.textContent=s);else i={x:"cx",y:"cy"}[i]||i;else h=!0;if("strokeWidth"===i&&(i="stroke-width"),"stroke-width"!==i&&"stroke"!==i||(this[i]=s,this.stroke&&this["stroke-width"]?(w(l,"stroke",this.stroke),w(l,"stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===i&&0===s&&this.hasStroke&&(l.removeAttribute("stroke"),this.hasStroke=!1),r=!0),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(i)&&(a||(this.symbolAttr(t),a=!0),r=!0),u&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i))for(n=u.length;n--;)w(u[n],i,"height"===i?yt(s-(u[n].cutHeight||0),0):s);("width"===i||"height"===i)&&"rect"===c&&s<0&&(s=0),this[i]=s,"text"===i?(s!==this.textStr&&delete this.bBox,this.textStr=s,this.added&&d.buildText(this)):r||w(l,i,s)}h&&this.updateTransform()}return g},addClass:function(t){var e=this.element,i=w(e,"class")||"";return-1===i.indexOf(t)&&w(e,"class",i+" "+t),this},symbolAttr:function(e){var i=this;se("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(t){i[t]=O(e[t],i[t])}),i.attr({d:i.renderer.symbols[i.symbolName](i.x,i.y,i.width,i.height,i)})},clip:function(t){return this.attr("clip-path",t?"url("+this.renderer.url+"#"+t.id+")":Gt)},crisp:function(t,e,i,s,n){var o,r,a={},h={};t=t||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;for(o in r=ft(t)%2/2,h.x=mt(e||this.x||0)+r,h.y=mt(i||this.y||0)+r,h.width=mt((s||this.width||0)-2*r),h.height=mt((n||this.height||0)-2*r),h.strokeWidth=t,h)this[o]!==h[o]&&(this[o]=a[o]=h[o]);return a},css:function(t){function e(t,e){return"-"+e.toLowerCase()}var i,s=this.element,n=t&&t.width&&"text"===s.nodeName.toLowerCase(),o="";if(t&&t.color&&(t.fill=t.color),this.styles=t=D(this.styles,t),Ht&&n&&delete t.width,At&&!Bt)n&&delete t.width,S(this.element,t);else{for(i in t)o+=i.replace(/([A-Z])/g,e)+":"+t[i]+";";w(s,"style",o)}return n&&this.added&&this.renderer.buildText(this),this},on:function(t,e){var i=this,s=i.element;return Rt&&"click"===t?(s.ontouchstart=function(t){i.touchEventFired=Date.now(),t.preventDefault(),e.call(s,t)},s.onclick=function(t){(-1===Lt.indexOf("Android")||1100<Date.now()-(i.touchEventFired||0))&&e.call(s,t)}):s["on"+t]=e,this},setRadialReference:function(t){return this.element.radialReference=t,this},translate:function(t,e){return this.attr({translateX:t,translateY:e})},invert:function(){return this.inverted=!0,this.updateTransform(),this},htmlCss:function(t){var e=this.element;return(e=t&&"SPAN"===e.tagName&&t.width)&&(delete t.width,this.textWidth=e,this.updateTransform()),this.styles=D(this.styles,t),S(this.element,t),this},htmlGetBBox:function(){var t=this.element,e=this.bBox;return e||("text"===t.nodeName&&(t.style.position="absolute"),e=this.bBox={x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}),e},htmlUpdateTransform:function(){if(this.added){var e=this.renderer,i=this.element,s=this.translateX||0,n=this.translateY||0,t=this.x||0,o=this.y||0,r=this.textAlign||"left",a={left:0,center:.5,right:1}[r],h=r&&"left"!==r,l=this.shadows;if(S(i,{marginLeft:s,marginTop:n}),l&&se(l,function(t){S(t,{marginLeft:s+1,marginTop:n+1})}),this.inverted&&se(i.childNodes,function(t){e.invertChild(t,i)}),"SPAN"===i.tagName){l=this.rotation;var c,d,p,u,g=1,f=c=0;p=k(this.textWidth);var m=this.xCorr||0,x=this.yCorr||0,y=[l,r,i.innerHTML,this.textWidth].join(",");y!==this.cTT&&(z(l)&&(g=kt(c=l*St),f=wt(c),this.setSpanRotation(l,f,g)),c=O(this.elemWidth,i.offsetWidth),d=O(this.elemHeight,i.offsetHeight),p<c&&/[ \-]/.test(i.textContent||i.innerText)&&(S(i,{width:p+"px",display:"block",whiteSpace:"normal"}),c=p),m=g<0&&-c,x=f<0&&-d,m+=f*(p=e.fontMetrics(i.style.fontSize).b)*((u=g*f<0)?1-a:a),x-=g*p*(l?u?a:1-a:1),h&&(m-=c*a*(g<0?-1:1),l&&(x-=d*a*(f<0?-1:1)),S(i,{textAlign:r})),this.xCorr=m,this.yCorr=x),S(i,{left:t+m+"px",top:o+x+"px"}),Mt&&(d=i.offsetHeight),this.cTT=y}}else this.alignOnAdd=!0},setSpanRotation:function(t){var e={};e[At?"-ms-transform":Mt?"-webkit-transform":Dt?"MozTransform":Pt?"-o-transform":""]=e.transform="rotate("+t+"deg)",S(this.element,e)},updateTransform:function(){var t=this.translateX||0,e=this.translateY||0,i=this.scaleX,s=this.scaleY,n=this.inverted,o=this.rotation;n&&(t+=this.attr("width"),e+=this.attr("height")),t=["translate("+t+","+e+")"],n?t.push("rotate(90) scale(-1,1)"):o&&t.push("rotate("+o+" "+(this.x||0)+" "+(this.y||0)+")"),(z(i)||z(s))&&t.push("scale("+O(i,1)+" "+O(s,1)+")"),t.length&&w(this.element,"transform",t.join(" "))},toFront:function(){var t=this.element;return t.parentNode.appendChild(t),this},align:function(t,e,i){var s,n,o,r,a={};return o=(n=this.renderer).alignedObjects,t?(this.alignOptions=t,this.alignByTranslate=e,i&&!f(i)||(this.alignTo=s=i||"renderer",l(o,this),o.push(this),i=null)):(t=this.alignOptions,e=this.alignByTranslate,s=this.alignTo),i=O(i,n[s],n),s=t.align,n=t.verticalAlign,o=(i.x||0)+(t.x||0),r=(i.y||0)+(t.y||0),"right"!==s&&"center"!==s||(o+=(i.width-(t.width||0))/{right:1,center:2}[s]),a[e?"translateX":"x"]=ft(o),"bottom"!==n&&"middle"!==n||(r+=(i.height-(t.height||0))/({bottom:1,middle:2}[n]||1)),a[e?"translateY":"y"]=ft(r),this[this.placed?"animate":"attr"](a),this.placed=!0,this.alignAttr=a,this},getBBox:function(){var t,e=this.bBox,i=this.renderer,s=this.rotation;t=this.element;var n=this.styles,o=s*St;if(!e){if(t.namespaceURI===zt||i.forExport){try{e=t.getBBox?D({},t.getBBox()):{width:t.offsetWidth,height:t.offsetHeight}}catch(t){}(!e||e.width<0)&&(e={width:0,height:0})}else e=this.htmlGetBBox();i.isSVG&&(i=e.width,t=e.height,At&&n&&"11px"===n.fontSize&&"22.7"===t.toPrecision(3)&&(e.height=t=14),s&&(e.width=bt(t*wt(o))+bt(i*kt(o)),e.height=bt(t*kt(o))+bt(i*wt(o)))),this.bBox=e}return e},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(t){var e=this;e.animate({opacity:0},{duration:t||150,complete:function(){e.hide()}})},add:function(t){var e,i=this.renderer,s=t||i,n=s.element||i.box,o=n.childNodes,r=this.element,a=w(r,"zIndex");if(t&&(this.parentGroup=t),this.parentInverted=t&&t.inverted,void 0!==this.textStr&&i.buildText(this),a&&(s.handleZ=!0,a=k(a)),s.handleZ)for(s=0;s<o.length;s++)if(i=w(t=o[s],"zIndex"),t!==r&&(k(i)>a||!z(a)&&z(i))){n.insertBefore(r,t),e=!0;break}return e||n.appendChild(r),this.added=!0,le(this,"add"),this},safeRemoveChild:function(t){var e=t.parentNode;e&&e.removeChild(t)},destroy:function(){var t,e,i=this,s=i.element||{},n=i.shadows,o=i.renderer.isSVG&&"SPAN"===s.nodeName&&s.parentNode;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,pe(i),i.clipPath&&(i.clipPath=i.clipPath.destroy()),i.stops){for(e=0;e<i.stops.length;e++)i.stops[e]=i.stops[e].destroy();i.stops=null}for(i.safeRemoveChild(s),n&&se(n,function(t){i.safeRemoveChild(t)});o&&0===o.childNodes.length;)s=o.parentNode,i.safeRemoveChild(o),o=s;for(t in i.alignTo&&l(i.renderer.alignedObjects,i),i)delete i[t];return null},shadow:function(t,e,i){var s,n,o,r,a,h,l=[],c=this.element;if(t){for(r=O(t.width,3),a=(t.opacity||.15)/r,h=this.parentInverted?"(-1,-1)":"("+O(t.offsetX,1)+", "+O(t.offsetY,1)+")",s=1;s<=r;s++)o=2*r+1-2*s,w(n=c.cloneNode(0),{isShadow:"true",stroke:t.color||"black","stroke-opacity":a*s,"stroke-width":o,transform:"translate"+h,fill:Gt}),i&&(w(n,"height",yt(w(n,"height")-o,0)),n.cutHeight=o),e?e.element.appendChild(n):c.parentNode.insertBefore(n,c),l.push(n);this.shadows=l}return this}};function me(){this.init.apply(this,arguments)}var xe,ye,ve;if(me.prototype={Element:W,init:function(t,e,i,s){var n,o,r,a=location;o=(n=this.createElement("svg").attr({version:"1.1"})).element,t.appendChild(o),-1===t.innerHTML.indexOf("xmlns")&&w(o,"xmlns",zt),this.isSVG=!0,this.box=o,this.boxWrapper=n,this.alignedObjects=[],this.url=(Dt||Mt)&&pt.getElementsByTagName("base").length?a.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",this.createElement("desc").add().element.appendChild(pt.createTextNode("Created with Highcharts 3.0.6")),this.defs=this.createElement("defs").add(),this.forExport=s,this.gradients={},this.setSize(e,i,!1),Dt&&t.getBoundingClientRect&&(this.subPixelFix=e=function(){S(t,{left:0,top:0}),r=t.getBoundingClientRect(),S(t,{left:xt(r.left)-r.left+"px",top:xt(r.top)-r.top+"px"})},e(),ae(ut,"resize",e))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),o(this.gradients||{}),this.gradients=null,t&&(this.defs=t.destroy()),this.subPixelFix&&he(ut,"resize",this.subPixelFix),this.alignedObjects=null},createElement:function(t){var e=new this.Element;return e.init(this,t),e},draw:function(){},buildText:function(d){for(var p=d.element,u=this,g=u.forExport,t=O(d.textStr,"").toString().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),e=p.childNodes,f=/style="([^"]+)"/,m=/href="(http[^"]+)"/,x=w(p,"x"),y=d.styles,v=y&&y.width&&k(y.width),b=y&&y.lineHeight,i=e.length;i--;)p.removeChild(e[i]);v&&!d.added&&this.box.appendChild(p),""===t[t.length-1]&&t.pop(),se(t,function(t,h){var l,c=0;t=t.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");l=t.split("|||"),se(l,function(t){if(""!==t||1===l.length){var e,i={},s=pt.createElementNS(zt,"tspan");if(f.test(t)&&w(s,"style",e=t.match(f)[1].replace(/(;| |^)color([ :])/,"$1fill$2")),m.test(t)&&!g&&(w(s,"onclick",'location.href="'+t.match(m)[1]+'"'),S(s,{cursor:"pointer"}))," "!==(t=(t.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">"))&&(s.appendChild(pt.createTextNode(t)),c?i.dx=0:i.x=x,w(s,i),!c&&h&&(!Bt&&g&&S(s,{display:"block"}),w(s,"dy",b||u.fontMetrics(/px$/.test(s.style.fontSize)?s.style.fontSize:y.fontSize).h,Mt&&s.offsetHeight)),p.appendChild(s),c++,v)){t=t.replace(/([^\^])-/g,"$1- ").split(" "),i=d._clipHeight;for(var n,o=[],r=k(b||16),a=1;t.length||o.length;)delete d.bBox,n=d.getBBox().width,v<n&&1!==t.length?(s.removeChild(s.firstChild),o.unshift(t.pop())):(t=o,o=[],t.length&&(a++,i&&i<a*r?(t=["..."],d.attr("title",d.textStr)):(w(s=pt.createElementNS(zt,"tspan"),{dy:r,x:x}),e&&w(s,"style",e),p.appendChild(s),v<n&&(v=n)))),t.length&&s.appendChild(pt.createTextNode(t.join(" ").replace(/- /g,"-")))}}})})},button:function(t,e,i,s,n,o,r,a){var h,l,c,d,p,u,g=this.label(t,e,i,null,null,null,null,null,"button"),f=0;n=I({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:t={x1:0,y1:0,x2:0,y2:1},stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},n);return c=n.style,delete n.style,o=I(n,{stroke:"#68A",fill:{linearGradient:t,stops:[[0,"#FFF"],[1,"#ACF"]]}},o),d=o.style,delete o.style,r=I(n,{stroke:"#68A",fill:{linearGradient:t,stops:[[0,"#9BD"],[1,"#CDF"]]}},r),p=r.style,delete r.style,a=I(n,{style:{color:"#CCC"}},a),u=a.style,delete a.style,ae(g.element,At?"mouseover":"mouseenter",function(){3!==f&&g.attr(o).css(d)}),ae(g.element,At?"mouseout":"mouseleave",function(){3!==f&&(h=[n,o,r][f],l=[c,d,p][f],g.attr(h).css(l))}),g.setState=function(t){(g.state=f=t)?2===t?g.attr(r).css(p):3===t&&g.attr(a).css(u):g.attr(n).css(c)},g.on("click",function(){3!==f&&s.call(g)}).attr(n).css(D({cursor:"default"},c))},crispLine:function(t,e){return t[1]===t[4]&&(t[1]=t[4]=ft(t[1])-e%2/2),t[2]===t[5]&&(t[2]=t[5]=ft(t[2])+e%2/2),t},path:function(t){var e={fill:Gt};return m(t)?e.d=t:c(t)&&D(e,t),this.createElement("path").attr(e)},circle:function(t,e,i){return t=c(t)?t:{x:t,y:e,r:i},this.createElement("circle").attr(t)},arc:function(t,e,i,s,n,o){return c(t)&&(e=t.y,i=t.r,s=t.innerR,n=t.start,o=t.end,t=t.x),(t=this.symbol("arc",t||0,e||0,i||0,i||0,{innerR:s||0,start:n||0,end:o||0})).r=i,t},rect:function(t,e,i,s,n,o){return n=c(t)?t.r:n,(n=this.createElement("rect").attr({rx:n,ry:n,fill:Gt})).attr(c(t)?t:n.crisp(o,t,e,yt(i,0),yt(s,0)))},setSize:function(t,e,i){var s=this.alignedObjects,n=s.length;for(this.width=t,this.height=e,this.boxWrapper[O(i,!0)?"animate":"attr"]({width:t,height:e});n--;)s[n].align()},g:function(t){var e=this.createElement("g");return z(t)?e.attr({class:"highcharts-"+t}):e},image:function(t,e,i,s,n){var o={preserveAspectRatio:Gt};return 1<arguments.length&&D(o,{x:e,y:i,width:s,height:n}),(o=this.createElement("image").attr(o)).element.setAttributeNS?o.element.setAttributeNS("http://www.w3.org/1999/xlink","href",t):o.element.setAttribute("hc-svg-href",t),o},symbol:function(t,e,i,s,n,o){var r,a,h,l,c=/^url\((.*?)\)$/;return(a=(a=this.symbols[t])&&a(ft(e),ft(i),s,n,o))?(D(r=this.path(a),{symbolName:t,x:e,y:i,width:s,height:n}),o&&D(r,o)):c.test(t)&&(l=function(t,e){t.element&&(t.attr({width:e[0],height:e[1]}),t.alignByTranslate||t.translate(ft((s-e[0])/2),ft((n-e[1])/2)))},h=t.match(c)[1],t=Xt[h],(r=this.image(h).attr({x:e,y:i})).isImg=!0,t?l(r,t):(r.attr({width:0,height:0}),C("img",{onload:function(){l(r,Xt[h]=[this.width,this.height])},src:h}))),r},symbols:{circle:function(t,e,i,s){var n=.166*i;return["M",t+i/2,e,"C",t+i+n,e,t+i+n,e+s,t+i/2,e+s,"C",t-n,e+s,t-n,e,t+i/2,e,"Z"]},square:function(t,e,i,s){return["M",t,e,"L",t+i,e,t+i,e+s,t,e+s,"Z"]},triangle:function(t,e,i,s){return["M",t+i/2,e,"L",t+i,e+s,t,e+s,"Z"]},"triangle-down":function(t,e,i,s){return["M",t,e,"L",t+i,e,t+i/2,e+s,"Z"]},diamond:function(t,e,i,s){return["M",t+i/2,e,"L",t+i,e+s/2,t+i/2,e+s,t,e+s/2,"Z"]},arc:function(t,e,i,s,n){var o=n.start,r=(i=n.r||i||s,n.end-.001),a=(s=n.innerR,n.open),h=kt(o),l=wt(o),c=kt(r);r=wt(r);return["M",t+i*h,e+i*l,"A",i,i,0,n=n.end-o<Tt?0:1,1,t+i*c,e+i*r,a?"M":"L",t+s*c,e+s*r,"A",s,s,0,n,0,t+s*h,e+s*l,a?"":"Z"]}},clipRect:function(t,e,i,s){var n="highcharts-"+Wt++,o=this.createElement("clipPath").attr({id:n}).add(this.defs);return(t=this.rect(t,e,i,s,0).add(o)).id=n,t.clipPath=o,t},color:function(t,e,i){var s,n,o,r,a,h,l,c,d=this,p=/^rgba/,u=[];if(t&&t.linearGradient?n="linearGradient":t&&t.radialGradient&&(n="radialGradient"),n){for(c in i=t[n],o=d.gradients,a=t.stops,e=e.radialReference,m(i)&&(t[n]=i={x1:i[0],y1:i[1],x2:i[2],y2:i[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===n&&e&&!z(i.gradientUnits)&&(i=I(i,{cx:e[0]-e[2]/2+i.cx*e[2],cy:e[1]-e[2]/2+i.cy*e[2],r:i.r*e[2],gradientUnits:"userSpaceOnUse"})),i)"id"!==c&&u.push(c,i[c]);for(c in a)u.push(a[c]);return o[u=u.join(",")]?t=o[u].id:(i.id=t="highcharts-"+Wt++,o[u]=r=d.createElement(n).attr(i).add(d.defs),r.stops=[],se(a,function(t){l=p.test(t[1])?(s=fe(t[1]),h=s.get("rgb"),s.get("a")):(h=t[1],1),t=d.createElement("stop").attr({offset:t[0],"stop-color":h,"stop-opacity":l}).add(r),r.stops.push(t)})),"url("+d.url+"#"+t+")"}return p.test(t)?(w(e,i+"-opacity",(s=fe(t)).get("a")),s.get("rgb")):(e.removeAttribute(i+"-opacity"),t)},text:function(t,e,i,s){var n=Z.chart.style,o=Ht||!Bt&&this.forExport;return s&&!this.forExport?this.html(t,e,i):(e=ft(O(e,0)),i=ft(O(i,0)),t=this.createElement("text").attr({x:e,y:i,text:t}).css({fontFamily:n.fontFamily,fontSize:n.fontSize}),o&&t.css({position:"absolute"}),t.x=e,t.y=i,t)},html:function(t,e,i){var s=Z.chart.style,n=this.createElement("span"),o=n.attrSetters,r=n.element,a=n.renderer;return o.text=function(t){return t!==r.innerHTML&&delete this.bBox,r.innerHTML=t,!1},o.x=o.y=o.align=function(t,e){return"align"===e&&(e="textAlign"),n[e]=t,n.htmlUpdateTransform(),!1},n.attr({text:t,x:ft(e),y:ft(i)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:s.fontFamily,fontSize:s.fontSize}),n.css=n.htmlCss,a.isSVG&&(n.add=function(t){var e,s=a.box.parentNode,i=[];if(t){if(!(e=t.div)){for(;t;)i.push(t),t=t.parentGroup;se(i.reverse(),function(t){var i;e=t.div=t.div||C(Et,{className:w(t.element,"class")},{position:"absolute",left:(t.translateX||0)+"px",top:(t.translateY||0)+"px"},e||s),i=e.style,D(t.attrSetters,{translateX:function(t){i.left=t+"px"},translateY:function(t){i.top=t+"px"},visibility:function(t,e){i[e]=t}})})}}else e=s;return e.appendChild(r),n.added=!0,n.alignOnAdd&&n.htmlUpdateTransform(),n}),n},fontMetrics:function(t){return{h:t=(t=k(t||11))<24?t+4:ft(1.2*t),b:ft(.8*t)}},label:function(t,e,i,s,n,o,r,a,h){function l(){var t,e;t=T.element.style,g=(void 0===f||void 0===m||w.styles.textAlign)&&T.getBBox(),w.width=(f||g.width||0)+2*L+P,w.height=(m||g.height||0)+2*L,v=L+k.fontMetrics(t&&t.fontSize).b,b&&(u||(t=ft(-S*L),e=a?-v:0,w.box=u=s?k.symbol(s,t,e,w.width,w.height):k.rect(t,e,w.width,w.height,0,C[qt]),u.add(w)),u.isImg||u.attr(I({width:w.width,height:w.height},C)),C=null)}function c(){var t,e=(e=w.styles)&&e.textAlign,i=P+L*(1-S);t=a?0:v,!z(f)||"center"!==e&&"right"!==e||(i+={center:.5,right:1}[e]*(f-g.width)),i===T.x&&t===T.y||T.attr({x:i,y:t}),T.x=i,T.y=t}function d(t,e){u?u.attr(t,e):C[t]=e}function p(){T.add(w),w.attr({text:t,x:e,y:i}),u&&z(n)&&w.attr({anchorX:n,anchorY:o})}var u,g,f,m,x,y,v,b,k=this,w=k.g(h),T=k.text("",0,0,r).attr({zIndex:1}),S=0,L=3,P=0,A=0,C={};r=w.attrSetters;ae(w,"add",p),r.width=function(t){return f=t,!1},r.height=function(t){return m=t,!1},r.padding=function(t){return z(t)&&t!==L&&(L=t,c()),!1},r.paddingLeft=function(t){return z(t)&&t!==P&&(P=t,c()),!1},r.align=function(t){return S={left:0,center:.5,right:1}[t],!1},r.text=function(t,e){return T.attr(e,t),l(),c(),!1},r[qt]=function(t,e){return b=!0,A=t%2/2,d(e,t),!1},r.stroke=r.fill=r.r=function(t,e){return"fill"===e&&(b=!0),d(e,t),!1},r.anchorX=function(t,e){return d(e,(n=t)+A-x),!1},r.anchorY=function(t,e){return d(e,(o=t)-y),!1},r.x=function(t){return w.x=t,t-=S*((f||g.width)+L),x=ft(t),w.attr("translateX",x),!1},r.y=function(t){return y=w.y=ft(t),w.attr("translateY",y),!1};var M=w.css;return D(w,{css:function(e){if(e){var i={};e=I(e);se("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(t){e[t]!==j&&(i[t]=e[t],delete e[t])}),T.css(i)}return M.call(w,e)},getBBox:function(){return{width:g.width+2*L,height:g.height+2*L,x:g.x-L,y:g.y-L}},shadow:function(t){return u&&u.shadow(t),w},destroy:function(){he(w,"add",p),he(w.element,"mouseenter"),he(w.element,"mouseleave"),T=T&&T.destroy(),u=u&&u.destroy(),W.prototype.destroy.call(w),w=k=l=c=d=p=null}})}},_=me,!Bt&&!Ht){Highcharts.VMLElement=xe={init:function(t,e){var i=["<",e,' filled="f" stroked="f"'],s=["position: ","absolute",";"],n=e===Et;"shape"!==e&&!n||s.push("left:0;top:0;width:1px;height:1px;"),s.push("visibility: ",n?"hidden":"visible"),i.push(' style="',s.join(""),'"/>'),e&&(i=n||"span"===e||"img"===e?i.join(""):t.prepVML(i),this.element=C(i)),this.renderer=t,this.attrSetters={}},add:function(t){var e=this.renderer,i=this.element,s=e.box;s=t?t.element||t:s;return t&&t.inverted&&e.invertChild(i,s),s.appendChild(i),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),le(this,"add"),this},updateTransform:W.prototype.htmlUpdateTransform,setSpanRotation:function(t,e,i){S(this.element,{filter:t?["progid:DXImageTransform.Microsoft.Matrix(M11=",i,", M12=",-e,", M21=",e,", M22=",i,", sizingMethod='auto expand')"].join(""):Gt})},pathToVML:function(t){for(var e,i=t.length,s=[];i--;)x(t[i])?s[i]=ft(10*t[i])-5:"Z"===t[i]?s[i]="x":(s[i]=t[i],!t.isArc||"wa"!==t[i]&&"at"!==t[i]||(e="wa"===t[i]?1:-1,s[i+5]===s[i+7]&&(s[i+7]-=e),s[i+6]===s[i+8]&&(s[i+8]-=e)));return s.join(" ")||"x"},attr:function(t,e){var i,s,n,o,r,a=this.element||{},h=a.style,l=a.nodeName,c=this.renderer,d=this.symbolName,p=this.shadows,u=this.attrSetters,g=this;if(f(t)&&z(e)&&(i=t,(t={})[i]=e),f(t))g="strokeWidth"===(i=t)||"stroke-width"===i?this.strokeweight:this[i];else for(i in t)if(s=t[i],(r=!1)!==(n=u[i]&&u[i].call(this,s,i))&&null!==s){if(n!==j&&(s=n),d&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(i))o||(this.symbolAttr(t),o=!0),r=!0;else if("d"===i){if(s=s||[],this.d=s.join(" "),a.path=s=this.pathToVML(s),p)for(n=p.length;n--;)p[n].path=p[n].cutOff?this.cutOffPath(s,p[n].cutOff):s;r=!0}else if("visibility"===i){if(p)for(n=p.length;n--;)p[n].style[i]=s;"DIV"===l&&(s="hidden"===s?"-999em":0,Ct||(h[i]=s?"visible":"hidden"),i="top"),h[i]=s,r=!0}else"zIndex"===i?(s&&(h[i]=s),r=!0):-1!==ie(i,["x","y","width","height"])?(this[i]=s,"x"===i||"y"===i?i={x:"left",y:"top"}[i]:s=yt(0,s),this.updateClipping?(this[i]=s,this.updateClipping()):h[i]=s,r=!0):"class"===i&&"DIV"===l?a.className=s:"stroke"===i?(s=c.color(s,a,i),i="strokecolor"):"stroke-width"===i||"strokeWidth"===i?(a.stroked=!!s,x(this[i="strokeweight"]=s)&&(s+="px")):"dashstyle"===i?((a.getElementsByTagName("stroke")[0]||C(c.prepVML(["<stroke/>"]),null,null,a))[i]=s||"solid",this.dashstyle=s,r=!0):"fill"===i?"SPAN"===l?h.color=s:"IMG"!==l&&(a.filled=s!==Gt,s=c.color(s,a,i,this),i="fillcolor"):"opacity"===i?r=!0:"shape"===l&&"rotation"===i?(this[i]=a.style[i]=s,a.style.left=-ft(wt(s*St)+1)+"px",a.style.top=ft(kt(s*St))+"px"):"translateX"===i||"translateY"===i||"rotation"===i?(this[i]=s,this.updateTransform(),r=!0):"text"===i&&(this.bBox=null,a.innerHTML=s,r=!0);r||(Ct?a[i]=s:w(a,i,s))}return g},clip:function(t){var e,i=this;return t=t?(l(e=t.members,i),e.push(i),i.destroyClip=function(){l(e,i)},t.getCSS(i)):(i.destroyClip&&i.destroyClip(),{clip:Ct?"inherit":"rect(auto)"}),i.css(t)},css:W.prototype.htmlCss,safeRemoveChild:function(t){t.parentNode&&r(t)},destroy:function(){return this.destroyClip&&this.destroyClip(),W.prototype.destroy.apply(this)},on:function(t,e){return this.element["on"+t]=function(){var t=ut.event;t.target=t.srcElement,e(t)},this},cutOffPath:function(t,e){var i;return 9!==(i=(t=t.split(/[ ,]/)).length)&&11!==i||(t[i-4]=t[i-2]=k(t[i-2])-10*e),t.join(" ")},shadow:function(t,e,i){var s,n,o,r,a,h,l,c=[],d=this.element,p=this.renderer,u=d.style,g=d.path;if(g&&"string"!=typeof g.value&&(g="x"),a=g,t){for(h=O(t.width,3),l=(t.opacity||.15)/h,s=1;s<=3;s++)r=2*h+1-2*s,i&&(a=this.cutOffPath(g.value,.5+r)),o=['<shape isShadow="true" strokeweight="',r,'" filled="false" path="',a,'" coordsize="10 10" style="',d.style.cssText,'" />'],n=C(p.prepVML(o),null,{left:k(u.left)+O(t.offsetX,1),top:k(u.top)+O(t.offsetY,1)}),i&&(n.cutOff=1+r),o=['<stroke color="',t.color||"black",'" opacity="',l*s,'"/>'],C(p.prepVML(o),null,null,n),e?e.element.appendChild(n):d.parentNode.insertBefore(n,d),c.push(n);this.shadows=c}return this}};var be={Element:xe=t(W,xe),isIE8:-1<Lt.indexOf("MSIE 8.0"),init:function(t,e,i){var s,n;this.alignedObjects=[],(n=(s=this.createElement(Et)).element).style.position="relative",t.appendChild(s.element),this.isVML=!0,this.box=n,this.boxWrapper=s,this.setSize(e,i,!1),pt.namespaces.hcv||(pt.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),(pt.styleSheets.length?pt.styleSheets[0]:pt.createStyleSheet()).cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ")},isHidden:function(){return!this.box.offsetWidth},clipRect:function(t,e,i,s){var n=this.createElement(),o=c(t);return D(n,{members:[],left:(o?t.x:t)+1,top:(o?t.y:e)+1,width:(o?t.width:i)-1,height:(o?t.height:s)-1,getCSS:function(t){var e=(n=t.element).nodeName,i=(t=t.inverted,this.top-("shape"===e?n.offsetTop:0)),s=this.left,n=s+this.width,o=i+this.height;i={clip:"rect("+ft(t?s:i)+"px,"+ft(t?o:n)+"px,"+ft(t?n:o)+"px,"+ft(t?i:s)+"px)"};return!t&&Ct&&"DIV"===e&&D(i,{width:n+"px",height:o+"px"}),i},updateClipping:function(){se(n.members,function(t){t.css(n.getCSS(t))})}})},color:function(t,e,i,s){var n,o,r,a=this,h=/^rgba/,l=Gt;if(t&&t.linearGradient?r="gradient":t&&t.radialGradient&&(r="pattern"),r){function c(){o=['<fill colors="'+k.join(",")+'" opacity="',f,'" o:opacity2="',g,'" type="',r,'" ',b,'focus="100%" method="any" />'],C(a.prepVML(o),null,null,e)}var d,p,u,g,f,m,x,y,v=t.linearGradient||t.radialGradient,b="",k=(t=t.stops,[]);if(u=t[0],y=t[t.length-1],0<u[0]&&t.unshift([0,u[1]]),y[0]<1&&t.push([1,y[1]]),se(t,function(t,e){p=h.test(t[1])?(n=fe(t[1]),d=n.get("rgb"),n.get("a")):(d=t[1],1),k.push(100*t[0]+"% "+d),e?(f=p,m=d):(g=p,x=d)}),"fill"===i)if("gradient"===r)i=v.x1||v[0]||0,t=v.y1||v[1]||0,u=v.x2||v[2]||0,v=v.y2||v[3]||0,b='angle="'+(90-180*gt.atan((v-t)/(u-i))/Tt)+'"',c();else{var w,T=2*(l=v.r),S=2*l,L=v.cx,P=v.cy,A=e.radialReference;l=function(){A&&(w=s.getBBox(),L+=(A[0]-w.x)/w.width-.5,P+=(A[1]-w.y)/w.height-.5,T*=A[2]/w.width,S*=A[2]/w.height),b='src="'+Z.global.VMLRadialGradientURL+'" size="'+T+","+S+'" origin="0.5,0.5" position="'+L+","+P+'" color2="'+x+'" ',c()};s.added?l():ae(s,"add",l),l=m}else l=d}else l=h.test(t)&&"IMG"!==e.tagName?(n=fe(t),o=["<",i,' opacity="',n.get("a"),'"/>'],C(this.prepVML(o),null,null,e),n.get("rgb")):((l=e.getElementsByTagName(i)).length&&(l[0].opacity=1,l[0].type="solid"),t);return l},prepVML:function(t){var e=this.isIE8;t=t.join("");return t=e?-1===(t=t.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />')).indexOf('style="')?t.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):t.replace('style="','style="display:inline-block;behavior:url(#default#VML);'):t.replace("<","<hcv:")},text:me.prototype.html,path:function(t){var e={coordsize:"10 10"};return m(t)?e.d=t:c(t)&&D(e,t),this.createElement("shape").attr(e)},circle:function(t,e,i){var s=this.symbol("circle");return c(t)&&(i=t.r,e=t.y,t=t.x),s.isCircle=!0,s.r=i,s.attr({x:t,y:e})},g:function(t){var e;return t&&(e={className:"highcharts-"+t,class:"highcharts-"+t}),this.createElement(Et).attr(e)},image:function(t,e,i,s,n){var o=this.createElement("img").attr({src:t});return 1<arguments.length&&o.attr({x:e,y:i,width:s,height:n}),o},rect:function(t,e,i,s,n,o){var r=this.symbol("rect");return r.r=c(t)?t.r:n,r.attr(c(t)?t:r.crisp(o,t,e,yt(i,0),yt(s,0)))},invertChild:function(t,e){var i=e.style;S(t,{flip:"x",left:k(i.width)-1,top:k(i.height)-1,rotation:-90})},symbols:{arc:function(t,e,i,s,n){var o=n.start,r=n.end,a=n.r||i||s,h=(i=n.innerR,s=kt(o),wt(o)),l=kt(r),c=wt(r);return r-o==0?["x"]:(o=["wa",t-a,e-a,t+a,e+a,t+a*s,e+a*h,t+a*l,e+a*c],n.open&&!i&&o.push("e","M",t,e),o.push("at",t-i,e-i,t+i,e+i,t+i*l,e+i*c,t+i*s,e+i*h,"x","e"),o.isArc=!0,o)},circle:function(t,e,i,s,n){return n&&(i=s=2*n.r),n&&n.isCircle&&(t-=i/2,e-=s/2),["wa",t,e,t+i,e+s,t+i,e+s/2,t+i,e+s/2,"e"]},rect:function(t,e,i,s,n){var o,r=t+i,a=e+s;return r=z(n)&&n.r?["M",t+(o=vt(n.r,i,s)),e,"L",r-o,e,"wa",r-2*o,e,r,e+2*o,r-o,e,r,e+o,"L",r,a-o,"wa",r-2*o,a-2*o,r,a,r,a-o,r-o,a,"L",t+o,a,"wa",t,a-2*o,t+2*o,a,t+o,a,t,a-o,"L",t,e+o,"wa",t,e,t+2*o,e+2*o,t,e+o,t+o,e,"x","e"]:me.prototype.symbols.square.apply(0,arguments)}}};Highcharts.VMLRenderer=xe=function(){this.init.apply(this,arguments)},xe.prototype=I(me.prototype,be),_=xe}function ke(){var t,e=ve.length;for(t=0;t<e;t++)ve[t]();ve=[]}Ht&&(Highcharts.CanVGRenderer=xe=function(){zt="http://www.w3.org/1999/xhtml"},xe.prototype.symbols={},ve=[],ye={push:function(t,e){0===ve.length&&ee(e,ke),ve.push(t)}},_=xe),Y.prototype={addLabel:function(){var t,e=this.axis,i=e.options,s=e.chart,n=e.horiz,o=e.categories,r=e.series[0]&&e.series[0].names,a=this.pos,h=i.labels,l=e.tickPositions,c=(n=n&&o&&!h.step&&!h.staggerLines&&!h.rotation&&s.plotWidth/l.length||!n&&(s.margin[3]||.33*s.chartWidth),a===l[0]),d=a===l[l.length-1],p=(r=o?O(o[a],r&&r[a],a):a,o=this.label,l.info);e.isDatetimeAxis&&p&&(t=i.dateTimeLabelFormats[p.higherRanks[a]||p.unitName]),this.isFirst=c,this.isLast=d,i=e.labelFormatter.call({axis:e,chart:s,isFirst:c,isLast:d,dateTimeLabelFormat:t,value:e.isLog?R(T(r)):r}),a=D(a=n&&{width:yt(1,ft(n-2*(h.padding||10)))+"px"},h.style),z(o)?o&&o.attr({text:i}).css(a):(t={align:e.labelAlign},x(h.rotation)&&(t.rotation=h.rotation),n&&h.ellipsis&&(t._clipHeight=e.len/l.length),this.label=z(i)&&h.enabled?s.renderer.text(i,0,0,h.useHTML).attr(t).css(a).add(e.labelGroup):null)},getLabelSize:function(){var t=this.label,e=this.axis;return t?(this.labelBBox=t.getBBox())[e.horiz?"height":"width"]:0},getLabelSides:function(){var t=this.axis,e=this.labelBBox.width;return[-(t=e*{left:0,center:.5,right:1}[t.labelAlign]-t.options.labels.x),e-t]},handleOverflow:function(t,e){var i=!0,s=this.axis,n=s.chart,o=this.isFirst,r=this.isLast,a=e.x,h=s.reversed,l=s.tickPositions;if(o||r){var c=(d=this.getLabelSides())[0],d=d[1],p=(n=n.plotLeft)+s.len;l=(s=s.ticks[l[t+(o?1:-1)]])&&s.label.xy&&s.label.xy.x+s.getLabelSides()[o?0:1];o&&!h||r&&h?a+c<n&&(a=n-c,s&&l<a+d&&(i=!1)):p<a+d&&(a=p-d,s&&a+c<l&&(i=!1)),e.x=a}return i},getPosition:function(t,e,i,s){var n=this.axis,o=n.chart,r=s&&o.oldChartHeight||o.chartHeight;return{x:t?n.translate(e+i,null,null,s)+n.transB:n.left+n.offset+(n.opposite?(s&&o.oldChartWidth||o.chartWidth)-n.right-n.left:0),y:t?r-n.bottom+n.offset-(n.opposite?n.height:0):r-n.translate(e+i,null,null,s)-n.transB}},getLabelPosition:function(t,e,i,s,n,o,r,a){var h=this.axis,l=h.transA,c=h.reversed,d=h.staggerLines,p=h.chart.renderer.fontMetrics(n.style.fontSize).b,u=n.rotation;t=t+n.x-(o&&s?o*l*(c?-1:1):0),e=e+n.y-(o&&!s?o*l*(c?1:-1):0);return u&&2===h.side&&(e-=p-p*kt(u*St)),z(n.y)||u||(e+=p-i.getBBox().height/2),d&&(e+=r/(a||1)%d*(h.labelOffset/d)),{x:t,y:e}},getMarkPath:function(t,e,i,s,n,o){return o.crispLine(["M",t,e,"L",t+(n?0:-i),e+(n?i:0)],s)},render:function(t,e,i){var s=this.axis,n=s.options,o=s.chart.renderer,r=s.horiz,a=this.type,h=this.label,l=this.pos,c=n.labels,d=this.gridLine,p=a?a+"Tick":"tick",u=n[(x=a?a+"Grid":"grid")+"LineWidth"],g=n[x+"LineColor"],f=n[x+"LineDashStyle"],m=n[p+"Length"],x=n[p+"Width"]||0,y=n[p+"Color"],v=n[p+"Position"],b=(p=this.mark,c.step),k=!0,w=s.tickmarkOffset,T=(S=this.getPosition(r,l,w,e)).x,S=S.y,L=r&&T===s.pos+s.len||!r&&S===s.pos?-1:1,P=s.staggerLines;this.isActive=!0,u&&(l=s.getPlotLinePath(l+w,u*L,e,!0),d===j&&(d={stroke:g,"stroke-width":u},f&&(d.dashstyle=f),a||(d.zIndex=1),e&&(d.opacity=0),this.gridLine=d=u?o.path(l).attr(d).add(s.gridGroup):null),!e&&d&&l&&d[this.isNew?"attr":"animate"]({d:l,opacity:i})),x&&m&&("inside"===v&&(m=-m),s.opposite&&(m=-m),e=this.getMarkPath(T,S,m,x*L,r,o),p?p.animate({d:e,opacity:i}):this.mark=o.path(e).attr({stroke:y,"stroke-width":x,opacity:i}).add(s.axisGroup)),h&&!isNaN(T)&&(h.xy=S=this.getLabelPosition(T,S,h,r,c,w,t,b),(this.isFirst&&!this.isLast&&!O(n.showFirstLabel,1)||this.isLast&&!this.isFirst&&!O(n.showLastLabel,1)||!P&&r&&"justify"===c.overflow&&!this.handleOverflow(t,S))&&(k=!1),b&&t%b&&(k=!1),k&&!isNaN(S.y)?(S.opacity=i,h[this.isNew?"attr":"animate"](S),this.isNew=!1):h.attr("y",-9999))},destroy:function(){o(this,this.axis)}},E.prototype={render:function(){var t,i=this,e=i.axis,s=e.horiz,n=(e.pointRange||0)/2,o=i.options,r=o.label,a=i.label,h=o.width,l=o.to,c=o.from,d=z(c)&&z(l),p=o.value,u=o.dashStyle,g=i.svgElem,f=[],m=o.color,x=o.zIndex,y=o.events,v=e.chart.renderer;if(e.isLog&&(c=b(c),l=b(l),p=b(p)),h)f=e.getPlotLinePath(p,h),n={stroke:m,"stroke-width":h},u&&(n.dashstyle=u);else{if(!d)return;c=yt(c,e.min-n),l=vt(l,e.max+n),f=e.getPlotBandPath(c,l,o),n={fill:m},o.borderWidth&&(n.stroke=o.borderColor,n["stroke-width"]=o.borderWidth)}if(z(x)&&(n.zIndex=x),g)f?g.animate({d:f},null,g.onGetPath):(g.hide(),g.onGetPath=function(){g.show()});else if(f&&f.length&&(i.svgElem=g=v.path(f).attr(n).add(),y))for(t in o=function(e){g.on(e,function(t){y[e].apply(i,[t])})},y)o(t);return r&&z(r.text)&&f&&f.length&&0<e.width&&0<e.height?(r=I({align:s&&d&&"center",x:s?!d&&4:10,verticalAlign:!s&&d&&"middle",y:s?d?16:10:d?6:-4,rotation:s&&!d&&90},r),a||(i.label=a=v.text(r.text,0,0,r.useHTML).attr({align:r.textAlign||r.align,rotation:r.rotation,zIndex:x}).css(r.style).add()),e=[f[1],f[4],O(f[6],f[1])],f=[f[2],f[5],O(f[7],f[2])],s=M(e),d=M(f),a.align(r,!1,{x:s,y:d,width:H(e)-s,height:H(f)-d}),a.show()):a&&a.hide(),i},destroy:function(){l(this.axis.plotLinesAndBands,this),delete this.axis,o(this)}},h.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:!(G.prototype={destroy:function(){o(this,this.axis)},render:function(t){var e=this.options,i=(i=e.format)?L(i,this):e.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(i,0,0,e.useHTML).css(e.style).attr({align:this.textAlign,rotation:e.rotation,visibility:"hidden"}).add(t)},setOffset:function(t,e){var i=(r=this.axis).chart,s=i.inverted,n=this.isNegative,o=r.translate(this.percent?100:this.total,0,0,0,1),r=r.translate(0),a=(r=bt(o-r),i.xAxis[0].translate(this.x)+t),h=i.plotHeight;n={x:s?n?o:o-r:a,y:s?h-a-e:n?h-o-r:h-o,width:s?r:e,height:s?e:r};(s=this.label)&&(s.align(this.alignOptions,null,n),n=s.alignAttr,s.attr({visibility:!1===this.options.crop||i.isInsidePlot(n.x,n.y)?Bt?"inherit":"visible":"hidden"}))}}),gridLineColor:"#C0C0C0",labels:Qt,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return d(this.total,-1)},style:Qt.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(t,e){var i=e.isX;this.horiz=t.inverted?!i:i,this.xOrY=(this.isXAxis=i)?"x":"y",this.opposite=e.opposite,this.side=this.horiz?this.opposite?0:2:this.opposite?1:3,this.setOptions(e);var s=(o=this.options).type;this.labelFormatter=o.labels.formatter||this.defaultLabelFormatter,this.userOptions=e,this.minPixelPadding=0,this.chart=t,this.reversed=o.reversed,this.zoomEnabled=!1!==o.zoomEnabled,this.categories=o.categories||"category"===s,this.isLog="logarithmic"===s,this.isDatetimeAxis="datetime"===s,this.isLinked=z(o.linkedTo),this.tickmarkOffset=this.categories&&"between"===o.tickmarkPlacement?.5:0,this.ticks={},this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=o.minRange||o.maxZoom,this.range=o.range,this.offset=o.offset||0,this.stacks={},this.oldStacks={},this.stackExtremes={},this.min=this.max=null;var n,o=this.options.events;for(n in-1===ie(this,t.axes)&&(t.axes.push(this),t[i?"xAxis":"yAxis"].push(this)),this.series=this.series||[],t.inverted&&i&&this.reversed===j&&(this.reversed=!0),this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine,o)ae(this,n,o[n]);this.isLog&&(this.val2lin=b,this.lin2val=T)},setOptions:function(t){this.options=I(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],I(Z[this.isXAxis?"xAxis":"yAxis"],t))},update:function(t,e){var i=this.chart;t=i.options[this.xOrY+"Axis"][this.options.index]=I(this.userOptions,t);this.destroy(!0),this._addedPlotLB=this.userMin=this.userMax=j,this.init(i,D(t,{events:j})),O(e,i.isDirtyBox=!0)&&i.redraw()},remove:function(t){var e=this.chart,i=this.xOrY+"Axis";se(this.series,function(t){t.remove(!1)}),l(e.axes,this),l(e[i],this),e.options[i].splice(this.options.index,1),se(e[i],function(t,e){t.options.index=e}),this.destroy(),O(t,e.isDirtyBox=!0)&&e.redraw()},defaultLabelFormatter:function(){var t,e=this.axis,i=this.value,s=e.categories,n=this.dateTimeLabelFormat,o=Z.lang.numericSymbols,r=o&&o.length,a=e.options.labels.format;e=e.isLog?i:e.tickInterval;if(a)t=L(a,this);else if(s)t=i;else if(n)t=K(n,i);else if(r&&1e3<=e)for(;r--&&t===j;)(s=Math.pow(1e3,r+1))<=e&&null!==o[r]&&(t=d(i/s,-1)+o[r]);return t===j&&(t=d(i,1e3<=i?0:-1)),t},getSeriesExtremes:function(){var s=this,n=s.chart;s.hasVisibleSeries=!1,s.dataMin=s.dataMax=null,s.stackExtremes={},s.buildStacks(),se(s.series,function(t){var e,i;!t.visible&&n.options.chart.ignoreHiddenSeries||(e=t.options.threshold,s.hasVisibleSeries=!0,s.isLog&&e<=0&&(e=null),s.isXAxis?(e=t.xData).length&&(s.dataMin=vt(O(s.dataMin,e[0]),M(e)),s.dataMax=yt(O(s.dataMax,e[0]),H(e))):(t.getExtremes(),i=t.dataMax,z(t=t.dataMin)&&z(i)&&(s.dataMin=vt(O(s.dataMin,t),t),s.dataMax=yt(O(s.dataMax,i),i)),z(e)&&(s.dataMin>=e?(s.dataMin=e,s.ignoreMinPadding=!0):s.dataMax<e&&(s.dataMax=e,s.ignoreMaxPadding=!0))))})},translate:function(t,e,i,s,n,o){var r=this.len,a=1,h=0,l=s?this.oldTransA:this.transA,c=(s=s?this.oldMin:this.min,this.minPixelPadding);n=(this.options.ordinal||this.isLog&&n)&&this.lin2val;return l=l||this.transA,i&&(a*=-1,h=r),this.reversed&&(h-=(a*=-1)*r),e?(t=t*a+h,t=(t-=c)/l+s,n&&(t=this.lin2val(t))):(n&&(t=this.val2lin(t)),"between"===o&&(o=.5),t=a*(t-s)*l+h+a*c+(x(o)?l*o*this.pointRange:0)),t},toPixels:function(t,e){return this.translate(t,!1,!this.horiz,null,!0)+(e?0:this.pos)},toValue:function(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(t,e,i,s){var n,o,r,a,h=this.chart,l=this.left,c=this.top,d=(t=this.translate(t,null,null,i),i&&h.oldChartHeight||h.chartHeight),p=i&&h.oldChartWidth||h.chartWidth;return n=this.transB,i=o=ft(t+n),n=r=ft(d-t-n),isNaN(t)?a=!0:this.horiz?(n=c,r=d-this.bottom,(i<l||i>l+this.width)&&(a=!0)):(i=l,o=p-this.right,(n<c||n>c+this.height)&&(a=!0)),a&&!s?null:h.renderer.crispLine(["M",i,n,"L",o,r],e||0)},getPlotBandPath:function(t,e){var i=this.getPlotLinePath(e),s=this.getPlotLinePath(t);return s&&i?s.push(i[4],i[5],i[1],i[2]):s=null,s},getLinearTickPositions:function(t,e,i){e=R(mt(e/t)*t),i=R(xt(i/t)*t);for(var s,n=[];e<=i&&(n.push(e),(e=R(e+t))!==s);)s=e;return n},getLogTickPositions:function(t,e,i,s){var n=this.options,o=this.len,r=[];if(s||(this._minorAutoInterval=null),.5<=t)t=ft(t),r=this.getLinearTickPositions(t,e,i);else if(.08<=t){var a,h,l,c,d;for(o=mt(e),n=.3<t?[1,2,4]:.15<t?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];o<i+1&&!d;o++)for(h=n.length,a=0;a<h&&!d;a++)e<(l=b(T(o)*n[a]))&&(!s||c<=i)&&r.push(c),i<c&&(d=!0),c=l}else e=T(e),i=T(i),t=v(t=O("auto"===(t=n[s?"minorTickInterval":"tickInterval"])?null:t,this._minorAutoInterval,(i-e)*(n.tickPixelInterval/(s?5:1))/((s?o/this.tickPositions.length:o)||1)),null,y(t)),r=re(this.getLinearTickPositions(t,e,i),b),s||(this._minorAutoInterval=t/5);return s||(this.tickInterval=t),r},getMinorTickPositions:function(){var t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,n=[];if(this.isLog)for(t=i.length,e=1;e<t;e++)n=n.concat(this.getLogTickPositions(s,i[e-1],i[e],!0));else if(this.isDatetimeAxis&&"auto"===e.minorTickInterval)(n=n.concat(A(P(s),this.min,this.max,e.startOfWeek)))[0]<this.min&&n.shift();else for(i=this.min+(i[0]-this.min)%s;i<=this.max;i+=s)n.push(i);return n},adjustForMinRange:function(){var t,e,i,s,n,o=this.options,r=this.min,a=this.max,h=this.dataMax-this.dataMin>=this.minRange;if(this.isXAxis&&this.minRange===j&&!this.isLog&&(z(o.min)||z(o.max)?this.minRange=null:(se(this.series,function(t){for(n=t.xData,i=t.xIncrement?1:n.length-1;0<i;i--)s=n[i]-n[i-1],(e===j||s<e)&&(e=s)}),this.minRange=vt(5*e,this.dataMax-this.dataMin))),a-r<this.minRange){var l=this.minRange;t=[r-(t=(l-a+r)/2),O(o.min,r-t)],h&&(t[2]=this.dataMin),a=[(r=H(t))+l,O(o.max,r+l)],h&&(a[2]=this.dataMax),(a=M(a))-r<l&&(t[0]=a-l,t[1]=O(o.min,a-l),r=H(t))}this.min=r,this.max=a},setAxisTranslation:function(t){var n,o=this.max-this.min,r=0,a=0,h=0,e=this.linkedParent,i=this.transA;this.isXAxis&&(e?(a=e.minPointOffset,h=e.pointRangePadding):se(this.series,function(t){var e=t.pointRange,i=t.options.pointPlacement,s=t.closestPointRange;o<e&&(e=0),r=yt(r,e),a=yt(a,f(i)?0:e/2),h=yt(h,"on"===i?0:e),!t.noSharedTooltip&&z(s)&&(n=z(n)?vt(n,s):s)}),e=this.ordinalSlope&&n?this.ordinalSlope/n:1,this.minPointOffset=a*=e,this.pointRangePadding=h*=e,this.pointRange=vt(r,o),this.closestPointRange=n),t&&(this.oldTransA=i),this.translationSlope=this.transA=i=this.len/(o+h||1),this.transB=this.horiz?this.left:this.bottom,this.minPixelPadding=i*a},setTickPositions:function(t){var e,i=this,s=i.chart,n=i.options,o=i.isLog,r=i.isDatetimeAxis,a=i.isXAxis,h=i.isLinked,l=i.options.tickPositioner,c=n.maxPadding,d=n.minPadding,p=n.tickInterval,u=n.minTickInterval,g=n.tickPixelInterval,f=i.categories;h?(i.linkedParent=s[a?"xAxis":"yAxis"][n.linkedTo],s=i.linkedParent.getExtremes(),i.min=O(s.min,s.dataMin),i.max=O(s.max,s.dataMax),n.type!==i.linkedParent.options.type&&B(11,1)):(i.min=O(i.userMin,n.min,i.dataMin),i.max=O(i.userMax,n.max,i.dataMax)),o&&(!t&&vt(i.min,O(i.dataMin,i.min))<=0&&B(10,1),i.min=R(b(i.min)),i.max=R(b(i.max))),i.range&&(i.userMin=i.min=yt(i.min,i.max-i.range),i.userMax=i.max,t)&&(i.range=null),i.beforePadding&&i.beforePadding(),i.adjustForMinRange(),!f&&!i.usePercentage&&!h&&z(i.min)&&z(i.max)&&(s=i.max-i.min)&&(z(n.min)||z(i.userMin)||!d||!(i.dataMin<0)&&i.ignoreMinPadding||(i.min-=s*d),z(n.max)||z(i.userMax)||!c||!(0<i.dataMax)&&i.ignoreMaxPadding||(i.max+=s*c)),i.min===i.max||void 0===i.min||void 0===i.max?i.tickInterval=1:h&&!p&&g===i.linkedParent.options.tickPixelInterval?i.tickInterval=i.linkedParent.tickInterval:(i.tickInterval=O(p,f?1:(i.max-i.min)*g/yt(i.len,g)),!z(p)&&i.len<g&&!this.isRadial&&(e=!0,i.tickInterval/=4)),a&&!t&&se(i.series,function(t){t.processData(i.min!==i.oldMin||i.max!==i.oldMax)}),i.setAxisTranslation(!0),i.beforeSetTickPositions&&i.beforeSetTickPositions(),i.postProcessTickInterval&&(i.tickInterval=i.postProcessTickInterval(i.tickInterval)),i.pointRange&&(i.tickInterval=yt(i.pointRange,i.tickInterval)),!p&&i.tickInterval<u&&(i.tickInterval=u),r||o||p||(i.tickInterval=v(i.tickInterval,null,y(i.tickInterval),n)),i.minorTickInterval="auto"===n.minorTickInterval&&i.tickInterval?i.tickInterval/5:n.minorTickInterval,i.tickPositions=t=n.tickPositions?[].concat(n.tickPositions):l&&l.apply(i,[i.min,i.max]),t||(!i.ordinalPositions&&(i.max-i.min)/i.tickInterval>yt(2*i.len,200)&&B(19,!0),t=r?(i.getNonLinearTimeTicks||A)(P(i.tickInterval,n.units),i.min,i.max,n.startOfWeek,i.ordinalPositions,i.closestPointRange,!0):o?i.getLogTickPositions(i.tickInterval,i.min,i.max):i.getLinearTickPositions(i.tickInterval,i.min,i.max),e&&t.splice(1,t.length-2),i.tickPositions=t),h||(o=t[0],r=t[t.length-1],h=i.minPointOffset||0,n.startOnTick?i.min=o:i.min-h>o&&t.shift(),n.endOnTick?i.max=r:i.max+h<r&&t.pop(),1===t.length&&(i.min-=.001,i.max+=.001))},setMaxTicks:function(){var t=this.chart,e=t.maxTicks||{},i=this.tickPositions,s=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");!this.isLinked&&!this.isDatetimeAxis&&i&&i.length>(e[s]||0)&&!1!==this.options.alignTicks&&(e[s]=i.length),t.maxTicks=e},adjustTickAmount:function(){var t=this._maxTicksKey,e=this.tickPositions,i=this.chart.maxTicks;if(i&&i[t]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&!1!==this.options.alignTicks){var s=this.tickAmount,n=e.length;if(this.tickAmount=t=i[t],n<t){for(;e.length<t;)e.push(R(e[e.length-1]+this.tickInterval));this.transA*=(n-1)/(t-1),this.max=e[e.length-1]}z(s)&&t!==s&&(this.isDirty=!0)}},setScale:function(){var t,e,i,s,n=this.stacks;if(this.oldMin=this.min,this.oldMax=this.max,this.oldAxisLength=this.len,this.setAxisSize(),s=this.len!==this.oldAxisLength,se(this.series,function(t){(t.isDirtyData||t.isDirty||t.xAxis.isDirty)&&(i=!0)}),s||i||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(t in n)delete n[t];this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=s||this.min!==this.oldMin||this.max!==this.oldMax)}else if(!this.isXAxis)for(t in this.oldStacks&&(n=this.stacks=this.oldStacks),n)for(e in n[t])n[t][e].cum=n[t][e].total;this.setMaxTicks()},setExtremes:function(t,e,i,s,n){var o=this,r=o.chart;i=O(i,!0),n=D(n,{min:t,max:e});le(o,"setExtremes",n,function(){o.userMin=t,o.userMax=e,o.eventArgs=n,o.isDirtyExtremes=!0,i&&r.redraw(s)})},zoom:function(t,e){return this.allowZoomOutside||(z(this.dataMin)&&t<=this.dataMin&&(t=j),z(this.dataMax)&&e>=this.dataMax&&(e=j)),this.displayBtn=t!==j||e!==j,this.setExtremes(t,e,!1,j,{trigger:"zoom"}),!0},setAxisSize:function(){var t,e,i=this.chart,s=this.options,n=s.offsetLeft||0,o=s.offsetRight||0,r=this.horiz;this.left=e=O(s.left,i.plotLeft+n),this.top=t=O(s.top,i.plotTop),this.width=n=O(s.width,i.plotWidth-n+o),this.height=s=O(s.height,i.plotHeight),this.bottom=i.chartHeight-s-t,this.right=i.chartWidth-n-e,this.len=yt(r?n:s,0),this.pos=r?e:t},getExtremes:function(){var t=this.isLog;return{min:t?R(T(this.min)):this.min,max:t?R(T(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(t){var e=(i=this.isLog)?T(this.min):this.min,i=i?T(this.max):this.max;return t<e||null===t?t=e:i<t&&(t=i),this.translate(t,0,1,0,1)},addPlotBand:function(t){this.addPlotBandOrLine(t,"plotBands")},addPlotLine:function(t){this.addPlotBandOrLine(t,"plotLines")},addPlotBandOrLine:function(t,e){var i=new E(this,t).render(),s=this.userOptions;return i&&(e&&(s[e]=s[e]||[],s[e].push(t)),this.plotLinesAndBands.push(i)),i},autoLabelAlign:function(t){return 15<(t=(O(t,0)-90*this.side+720)%360)&&t<165?"right":195<t&&t<345?"left":"center"},getOffset:function(){var t,e,i,s,n,o,r,a=this,h=a.chart,l=h.renderer,c=a.options,d=a.tickPositions,p=a.ticks,u=a.horiz,g=a.side,f=h.inverted?[1,0,3,2][g]:g,m=0,x=0,y=c.title,v=c.labels,b=0,k=h.axisOffset,w=h.clipOffset,T=[-1,1,1,-1][g],S=1,L=O(v.maxStaggerLines,5);if(a.hasData=t=a.hasVisibleSeries||z(a.min)&&z(a.max)&&!!d,a.showAxis=h=t||O(c.showEmpty,!0),a.staggerLines=a.horiz&&v.staggerLines,a.axisGroup||(a.gridGroup=l.g("grid").attr({zIndex:c.gridZIndex||1}).add(),a.axisGroup=l.g("axis").attr({zIndex:c.zIndex||2}).add(),a.labelGroup=l.g("axis-labels").attr({zIndex:v.zIndex||7}).add()),t||a.isLinked){if(a.labelAlign=O(v.align||a.autoLabelAlign(v.rotation)),se(d,function(t){p[t]?p[t].addLabel():p[t]=new Y(a,t)}),a.horiz&&!a.staggerLines&&L&&!v.rotation){for(i=a.reversed?[].concat(d).reverse():d;S<L;){for(s=!(t=[]),v=0;v<i.length;v++)n=i[v],r=v%S,(o=(o=p[n].label&&p[n].label.getBBox())?o.width:0)&&(n=a.translate(n),t[r]!==j&&n<t[r]&&(s=!0),t[r]=n+o);if(!s)break;S++}1<S&&(a.staggerLines=S)}se(d,function(t){0!==g&&2!==g&&{1:"left",3:"right"}[g]!==a.labelAlign||(b=yt(p[t].getLabelSize(),b))}),a.staggerLines&&(b*=a.staggerLines,a.labelOffset=b)}else for(i in p)p[i].destroy(),delete p[i];y&&y.text&&!1!==y.enabled&&(a.axisTitle||(a.axisTitle=l.text(y.text,0,0,y.useHTML).attr({zIndex:7,rotation:y.rotation||0,align:y.textAlign||{low:"left",middle:"center",high:"right"}[y.align]}).css(y.style).add(a.axisGroup),a.axisTitle.isNew=!0),h&&(m=a.axisTitle.getBBox()[u?"height":"width"],x=O(y.margin,u?5:10),e=y.offset),a.axisTitle[h?"show":"hide"]()),a.offset=T*O(c.offset,k[g]),a.axisTitleMargin=O(e,b+x+(2!==g&&b&&T*c.labels[u?"y":"x"])),k[g]=yt(k[g],a.axisTitleMargin+m+T*a.offset),w[f]=yt(w[f],2*mt(c.lineWidth/2))},getLinePath:function(t){var e=this.chart,i=this.opposite,s=this.offset,n=this.horiz,o=this.left+(i?this.width:0)+s;s=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine(["M",n?this.left:o,n?s:this.top,"L",n?e.chartWidth-this.right:o,n?s:e.chartHeight-this.bottom],t)},getTitlePosition:function(){var t=this.horiz,e=this.left,i=this.top,s=this.len,n=this.options.title,o=t?e:i,r=this.opposite,a=this.offset,h=k(n.style.fontSize||12);s={low:o+(t?0:s),middle:o+s/2,high:o+(t?s:0)}[n.align],e=(t?i+this.height:e)+(t?1:-1)*(r?-1:1)*this.axisTitleMargin+(2===this.side?h:0);return{x:t?s:e+(r?this.width:0)+a+(n.x||0),y:t?e-(r?this.height:0)+a:s+(n.y||0)}},render:function(){var t,i=this,r=i.chart,e=r.renderer,s=i.options,n=i.isLog,o=i.isLinked,a=i.tickPositions,h=i.axisTitle,l=i.stacks,c=i.ticks,d=i.minorTicks,p=i.alternateBands,u=s.stackLabels,g=s.alternateGridColor,f=i.tickmarkOffset,m=s.lineWidth,x=r.hasRendered&&z(i.oldMin)&&!isNaN(i.oldMin);t=i.hasData;var y,v,b=i.showAxis;if(se([c,d,p],function(t){for(var e in t)t[e].isActive=!1}),(t||o)&&(i.minorTickInterval&&!i.categories&&se(i.getMinorTickPositions(),function(t){d[t]||(d[t]=new Y(i,t,"minor")),x&&d[t].isNew&&d[t].render(null,!0),d[t].render(null,!1,1)}),a.length&&(se(a.slice(1).concat([a[0]]),function(t,e){e=e===a.length-1?0:e+1,(!o||t>=i.min&&t<=i.max)&&(c[t]||(c[t]=new Y(i,t)),x&&c[t].isNew&&c[t].render(e,!0),c[t].render(e,!1,1))}),f&&0===i.min&&(c[-1]||(c[-1]=new Y(i,-1,null,!0)),c[-1].render(-1))),g&&se(a,function(t,e){e%2==0&&t<i.max&&(p[t]||(p[t]=new E(i)),y=t+f,v=a[e+1]!==j?a[e+1]+f:i.max,p[t].options={from:n?T(y):y,to:n?T(v):v,color:g},p[t].render(),p[t].isActive=!0)}),i._addedPlotLB||(se((s.plotLines||[]).concat(s.plotBands||[]),function(t){i.addPlotBandOrLine(t)}),i._addedPlotLB=!0)),se([c,d,p],function(t){function e(){for(s=n.length;s--;)t[n[s]]&&!t[n[s]].isActive&&(t[n[s]].destroy(),delete t[n[s]])}var i,s,n=[],o=$?$.duration||500:0;for(i in t)t[i].isActive||(t[i].render(i,!1,0),t[i].isActive=!1,n.push(i));t!==p&&r.hasRendered&&o?o&&setTimeout(e,o):e()}),m&&(t=i.getLinePath(m),i.axisLine?i.axisLine.animate({d:t}):i.axisLine=e.path(t).attr({stroke:s.lineColor,"stroke-width":m,zIndex:7}).add(i.axisGroup),i.axisLine[b?"show":"hide"]()),h&&b&&(h[h.isNew?"attr":"animate"](i.getTitlePosition()),h.isNew=!1),u&&u.enabled){var k,w;s=i.stackTotalGroup;for(k in s||(i.stackTotalGroup=s=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()),s.translate(r.plotLeft,r.plotTop),l)for(w in e=l[k])e[w].render(s)}i.isDirty=!1},removePlotBandOrLine:function(e){for(var t=this.plotLinesAndBands,i=this.options,s=this.userOptions,n=t.length;n--;)t[n].id===e&&t[n].destroy();se([i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]],function(t){for(n=t.length;n--;)t[n].id===e&&l(t,t[n])})},setTitle:function(t,e){this.update({title:t},e)},redraw:function(){var t=this.chart.pointer;t.reset&&t.reset(!0),this.render(),se(this.plotLinesAndBands,function(t){t.render()}),se(this.series,function(t){t.isDirty=!0})},buildStacks:function(){var t=this.series,e=t.length;if(!this.isXAxis){for(;e--;)t[e].setStackedPoints();if(this.usePercentage)for(e=0;e<t.length;e++)t[e].setPercentStacks()}},setCategories:function(t,e){this.update({categories:t},e)},destroy:function(t){var e,i=this,s=i.stacks,n=i.plotLinesAndBands;for(e in t||he(i),s)o(s[e]),s[e]=null;for(se([i.ticks,i.minorTicks,i.alternateBands],function(t){o(t)}),t=n.length;t--;)n[t].destroy();se("stackTotalGroup,axisLine,axisGroup,gridGroup,labelGroup,axisTitle".split(","),function(t){i[t]&&(i[t]=i[t].destroy())})}},N.prototype={init:function(t,e){var i=e.borderWidth,s=e.style,n=k(s.padding);this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.label=t.renderer.label("",0,0,e.shape,null,null,e.useHTML,null,"tooltip").attr({padding:n,fill:e.backgroundColor,"stroke-width":i,r:e.borderRadius,zIndex:8}).css(s).css({padding:0}).add().attr({y:-999}),Ht||this.label.shadow(e.shadow),this.shared=e.shared},destroy:function(){se(this.crosshairs,function(t){t&&t.destroy()}),this.label&&(this.label=this.label.destroy()),clearTimeout(this.hideTimer),clearTimeout(this.tooltipTimeout)},move:function(t,e,i,s){var n=this,o=n.now,r=!1!==n.options.animation&&!n.isHidden;D(o,{x:r?(2*o.x+t)/3:t,y:r?(o.y+e)/2:e,anchorX:r?(2*o.anchorX+i)/3:i,anchorY:r?(o.anchorY+s)/2:s}),n.label.attr(o),r&&(1<bt(t-o.x)||1<bt(e-o.y))&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){n&&n.move(t,e,i,s)},32))},hide:function(){var t,e=this;clearTimeout(this.hideTimer),this.isHidden||(t=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){e.label.fadeOut(),e.isHidden=!0},O(this.options.hideDelay,500)),t&&se(t,function(t){t.setState()}),this.chart.hoverPoints=null)},hideCrosshairs:function(){se(this.crosshairs,function(t){t&&t.hide()})},getAnchor:function(t,e){var i,s,n=this.chart,o=n.inverted,r=n.plotTop,a=0,h=0;return i=(t=u(t))[0].tooltipPos,this.followPointer&&e&&(e.chartX===j&&(e=n.pointer.normalize(e)),i=[e.chartX-n.plotLeft,e.chartY-r]),i||(se(t,function(t){s=t.series.yAxis,a+=t.plotX,h+=(t.plotLow?(t.plotLow+t.plotHigh)/2:t.plotY)+(!o&&s?s.top-r:0)}),a/=t.length,h/=t.length,i=[o?n.plotWidth-h:a,this.shared&&!o&&1<t.length&&e?e.chartY-r:o?n.plotHeight-a:h]),re(i,ft)},getPosition:function(t,e,i){var s,n,o=(s=this.chart).plotLeft,r=s.plotTop,a=s.plotWidth,h=s.plotHeight,l=O(this.options.distance,12),c=i.plotX,d=(i=i.plotY)-e+r+15;return(s=c+o+(s.inverted?l:-t-l))<7&&(s=o+yt(c,0)+l),o+a<s+t&&(s-=s+t-(o+a),d=i-e+r-l,n=!0),d<r+5&&(d=r+5,n&&d<=i&&i<=d+e&&(d=i+r+l)),r+h<d+e&&(d=yt(r,r+h-e-l)),{x:s,y:d}},defaultFormatter:function(t){var e,i=this.points||u(this),s=i[0].series;return e=[s.tooltipHeaderFormatter(i[0])],se(i,function(t){s=t.series,e.push(s.tooltipFormatter&&s.tooltipFormatter(t)||t.point.tooltipFormatter(s.tooltipOptions.pointFormat))}),e.push(t.options.footerFormat||""),e.join("")},refresh:function(t,e){var i,s,n,o=this.chart,r=this.label,a=this.options,h={},l=[];n=a.formatter||this.defaultFormatter;h=o.hoverPoints;var c,d=a.crosshairs,p=this.shared;if(clearTimeout(this.hideTimer),this.followPointer=u(t)[0].series.tooltipOptions.followPointer,i=(s=this.getAnchor(t,e))[0],s=s[1],!p||t.series&&t.series.noSharedTooltip?h=t.getLabelConfig():(o.hoverPoints=t,h&&se(h,function(t){t.setState()}),se(t,function(t){t.setState("hover"),l.push(t.getLabelConfig())}),(h={x:t[0].category,y:t[0].y}).points=l,t=t[0]),n=n.call(h,this),h=t.series,!1===n?this.hide():(this.isHidden&&(pe(r),r.attr("opacity",1).show()),r.attr({text:n}),c=a.borderColor||t.color||h.color||"#606060",r.attr({stroke:c}),this.updatePosition({plotX:i,plotY:s}),this.isHidden=!1),d)for(r=(d=u(d)).length;r--;)a=(p=t.series)[r?"yAxis":"xAxis"],d[r]&&a&&(h=r?O(t.stackY,t.y):t.x,a.isLog&&(h=b(h)),1===r&&p.modifyValue&&(h=p.modifyValue(h)),a=a.getPlotLinePath(h,1),this.crosshairs[r]?this.crosshairs[r].attr({d:a,visibility:"visible"}):(h={"stroke-width":d[r].width||1,stroke:d[r].color||"#C0C0C0",zIndex:d[r].zIndex||2},d[r].dashStyle&&(h.dashstyle=d[r].dashStyle),this.crosshairs[r]=o.renderer.path(a).attr(h).add()));le(o,"tooltipRefresh",{text:n,x:i+o.plotLeft,y:s+o.plotTop,borderColor:c})},updatePosition:function(t){var e=this.chart,i=this.label;i=(this.options.positioner||this.getPosition).call(this,i.width,i.height,t);this.move(ft(i.x),ft(i.y),t.plotX+e.plotLeft,t.plotY+e.plotTop)}},s.prototype={init:function(t,e){var i,s=(o=e.chart).events,n=Ht?"":o.zoomType,o=t.inverted;this.options=e,this.chart=t,this.zoomX=i=/x/.test(n),this.zoomY=n=/y/.test(n),this.zoomHor=i&&!o||n&&o,this.zoomVert=n&&!o||i&&o,this.runChartClick=s&&!!s.click,this.pinchDown=[],this.lastValidTouch={},e.tooltip.enabled&&(t.tooltip=new N(t,e.tooltip)),this.setDOMEvents()},normalize:function(t,e){var i,s;return(t=t||ut.event).target||(t.target=t.srcElement),s=(t=ce(t)).touches?t.touches.item(0):t,e||(this.chartPosition=e=oe(this.chart.container)),s=s.pageX===j?(i=yt(t.x,t.clientX-e.left),t.y):(i=s.pageX-e.left,s.pageY-e.top),D(t,{chartX:ft(i),chartY:ft(s)})},getCoordinates:function(e){var i={xAxis:[],yAxis:[]};return se(this.chart.axes,function(t){i[t.isXAxis?"xAxis":"yAxis"].push({axis:t,value:t.toValue(e[t.horiz?"chartX":"chartY"])})}),i},getIndex:function(t){var e=this.chart;return e.inverted?e.plotHeight+e.plotTop-t.chartY:t.chartX-e.plotLeft},runPointActions:function(t){var e,i,s,n=this.chart,o=n.series,r=n.tooltip,a=n.hoverPoint,h=n.hoverSeries,l=n.chartWidth,c=this.getIndex(t);if(r&&this.options.tooltip.shared&&(!h||!h.noSharedTooltip)){for(e=[],i=o.length,s=0;s<i;s++)o[s].visible&&!1!==o[s].options.enableMouseTracking&&!o[s].noSharedTooltip&&o[s].tooltipPoints.length&&(n=o[s].tooltipPoints[c])&&n.series&&(n._dist=bt(c-n.clientX),l=vt(l,n._dist),e.push(n));for(i=e.length;i--;)e[i]._dist>l&&e.splice(i,1);e.length&&e[0].clientX!==this.hoverX&&(r.refresh(e,t),this.hoverX=e[0].clientX)}h&&h.tracker?(n=h.tooltipPoints[c])&&n!==a&&n.onMouseOver(t):r&&r.followPointer&&!r.isHidden&&(t=r.getAnchor([{}],t),r.updatePosition({plotX:t[0],plotY:t[1]}))},reset:function(t){var e=(n=this.chart).hoverSeries,i=n.hoverPoint,s=n.tooltip,n=s&&s.shared?n.hoverPoints:i;(t=t&&s&&n)&&u(n)[0].plotX===j&&(t=!1),t?s.refresh(n):(i&&i.onMouseOut(),e&&e.onMouseOut(),s&&(s.hide(),s.hideCrosshairs()),this.hoverX=null)},scaleGroups:function(e,i){var s,n=this.chart;se(n.series,function(t){s=e||t.getPlotBox(),t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(s),t.markerGroup&&(t.markerGroup.attr(s),t.markerGroup.clip(i?n.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(s))}),n.clipRect.attr(i||n.clipBox)},pinchTranslateDirection:function(t,e,i,s,n,o,r){var a,h,l,c=this.chart,d=t?"x":"y",p=t?"X":"Y",u="chart"+p,g=t?"width":"height",f=c["plot"+(t?"Left":"Top")],m=1,x=c.inverted,y=c.bounds[t?"h":"v"],v=1===e.length,b=e[0][u],k=i[0][u],w=!v&&e[1][u],T=!v&&i[1][u];(i=function(){!v&&20<bt(b-w)&&(m=bt(k-T)/bt(b-w)),h=(f-k)/m+b,a=c["plot"+(t?"Width":"Height")]/m})(),(e=h)<y.min?(e=y.min,l=!0):e+a>y.max&&(e=y.max-a,l=!0),l?(k-=.8*(k-r[d][0]),v||(T-=.8*(T-r[d][1])),i()):r[d]=[k,T],x||(o[d]=h-f,o[g]=a),o=x?1/m:m,n[g]=a,n[d]=e,s[x?t?"scaleY":"scaleX":"scale"+p]=m,s["translate"+p]=o*f+(k-o*b)},pinch:function(t){var e=this,r=e.chart,i=e.pinchDown,s=r.tooltip&&r.tooltip.options.followTouchMove,n=t.touches,o=n.length,a=e.lastValidTouch,h=e.zoomHor||e.pinchHor,l=e.zoomVert||e.pinchVert,c=h||l,d=e.selectionMarker,p={},u=1===o&&(e.inClass(t.target,"highcharts-tracker")&&r.runTrackerClick||r.runChartClick),g={};!c&&!s||u||t.preventDefault(),re(n,function(t){return e.normalize(t)}),"touchstart"===t.type?(se(n,function(t,e){i[e]={chartX:t.chartX,chartY:t.chartY}}),a.x=[i[0].chartX,i[1]&&i[1].chartX],a.y=[i[0].chartY,i[1]&&i[1].chartY],se(r.axes,function(t){if(t.zoomEnabled){var e=r.bounds[t.horiz?"h":"v"],i=t.minPixelPadding,s=t.toPixels(t.dataMin),n=t.toPixels(t.dataMax),o=vt(s,n);s=yt(s,n);e.min=vt(t.pos,o-i),e.max=yt(t.pos+t.len,s+i)}})):i.length&&(d||(e.selectionMarker=d=D({destroy:V},r.plotBox)),h&&e.pinchTranslateDirection(!0,i,n,p,d,g,a),l&&e.pinchTranslateDirection(!1,i,n,p,d,g,a),e.hasPinched=c,e.scaleGroups(p,g),!c&&s&&1===o&&this.runPointActions(e.normalize(t)))},dragStart:function(t){var e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=this.mouseDownX=t.chartX,e.mouseDownY=this.mouseDownY=t.chartY},drag:function(t){var e,i=this.chart,s=i.options.chart,n=t.chartX,o=t.chartY,r=this.zoomHor,a=this.zoomVert,h=i.plotLeft,l=i.plotTop,c=i.plotWidth,d=i.plotHeight,p=this.mouseDownX,u=this.mouseDownY;n<h?n=h:h+c<n&&(n=h+c),o<l?o=l:l+d<o&&(o=l+d),this.hasDragged=Math.sqrt(Math.pow(p-n,2)+Math.pow(u-o,2)),10<this.hasDragged&&(e=i.isInsidePlot(p-h,u-l),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&e&&!this.selectionMarker&&(this.selectionMarker=i.renderer.rect(h,l,r?1:c,a?1:d,0).attr({fill:s.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),this.selectionMarker&&r&&(n-=p,this.selectionMarker.attr({width:bt(n),x:(0<n?0:n)+p})),this.selectionMarker&&a&&(n=o-u,this.selectionMarker.attr({height:bt(n),y:(0<n?0:n)+u})),e&&!this.selectionMarker&&s.panning&&i.pan(t,s.panning))},drop:function(t){var e=this.chart,i=this.hasPinched;if(this.selectionMarker){var s,n={xAxis:[],yAxis:[],originalEvent:t.originalEvent||t},o=this.selectionMarker,r=o.x,a=o.y;(this.hasDragged||i)&&(se(e.axes,function(t){if(t.zoomEnabled){var e=t.horiz,i=t.toValue(e?r:a);e=t.toValue(e?r+o.width:a+o.height);isNaN(i)||isNaN(e)||(n[t.xOrY+"Axis"].push({axis:t,min:vt(i,e),max:yt(i,e)}),s=!0)}}),s&&le(e,"selection",n,function(t){e.zoom(D(t,i?{animation:!1}:null))})),this.selectionMarker=this.selectionMarker.destroy(),i&&this.scaleGroups()}e&&(S(e.container,{cursor:e._cursor}),e.cancelClick=10<this.hasDragged,e.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(t){(t=this.normalize(t)).preventDefault&&t.preventDefault(),this.dragStart(t)},onDocumentMouseUp:function(t){this.drop(t)},onDocumentMouseMove:function(t){var e=this.chart,i=this.chartPosition,s=e.hoverSeries;t=this.normalize(t,i);i&&s&&!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset(),this.chartPosition=null},onContainerMouseMove:function(t){var e=this.chart;(t=this.normalize(t)).returnValue=!1,"mousedown"===e.mouseIsDown&&this.drag(t),!this.inClass(t.target,"highcharts-tracker")&&!e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)||e.openMenu||this.runPointActions(t)},inClass:function(t,e){for(var i;t;){if(i=w(t,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}t=t.parentNode}},onTrackerMouseOut:function(t){var e=this.chart.hoverSeries;!e||e.options.stickyTracking||this.inClass(t.toElement||t.relatedTarget,"highcharts-tooltip")||e.onMouseOut()},onContainerClick:function(t){var e,i,s,n=this.chart,o=n.hoverPoint,r=n.plotLeft,a=n.plotTop,h=n.inverted;(t=this.normalize(t)).cancelBubble=!0,n.cancelClick||(o&&this.inClass(t.target,"highcharts-tracker")?(e=this.chartPosition,i=o.plotX,s=o.plotY,D(o,{pageX:e.left+r+(h?n.plotWidth-s:i),pageY:e.top+a+(h?n.plotHeight-i:s)}),le(o.series,"click",D(t,{point:o})),n.hoverPoint&&o.firePointEvent("click",t)):(D(t,this.getCoordinates(t)),n.isInsidePlot(t.chartX-r,t.chartY-a)&&le(n,"click",t)))},onContainerTouchStart:function(t){var e=this.chart;1===t.touches.length?(t=this.normalize(t),e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)?(this.runPointActions(t),this.pinch(t)):this.reset()):2===t.touches.length&&this.pinch(t)},onContainerTouchMove:function(t){1!==t.touches.length&&2!==t.touches.length||this.pinch(t)},onDocumentTouchEnd:function(t){this.drop(t)},setDOMEvents:function(){var t,i=this,e=i.chart.container;this._events=t=[[e,"onmousedown","onContainerMouseDown"],[e,"onmousemove","onContainerMouseMove"],[e,"onclick","onContainerClick"],[e,"mouseleave","onContainerMouseLeave"],[pt,"mousemove","onDocumentMouseMove"],[pt,"mouseup","onDocumentMouseUp"]],Rt&&t.push([e,"ontouchstart","onContainerTouchStart"],[e,"ontouchmove","onContainerTouchMove"],[pt,"touchend","onDocumentTouchEnd"]),se(t,function(e){i["_"+e[2]]=function(t){i[e[2]](t)},0===e[1].indexOf("on")?e[0][e[1]]=i["_"+e[2]]:ae(e[0],e[1],i["_"+e[2]])})},destroy:function(){var e=this;se(e._events,function(t){0===t[1].indexOf("on")?t[0][t[1]]=null:he(t[0],t[1],e["_"+t[2]])}),delete e._events,clearInterval(e.tooltipTimeout)}},F.prototype={init:function(t,e){var i=this,s=e.itemStyle,n=O(e.padding,8),o=e.itemMarginTop||0;(this.options=e).enabled&&(i.baseline=k(s.fontSize)+3+o,i.itemStyle=s,i.itemHiddenStyle=I(s,e.itemHiddenStyle),i.itemMarginTop=o,i.padding=n,i.initialItemX=n,i.initialItemY=n-5,i.maxItemWidth=0,i.chart=t,i.itemHeight=0,i.lastLineHeight=0,i.render(),ae(i.chart,"endResize",function(){i.positionCheckboxes()}))},colorizeItem:function(t,e){var i,s=this.options,n=t.legendItem,o=t.legendLine,r=t.legendSymbol,a=this.itemHiddenStyle.color,h=(s=e?s.itemStyle.color:a,e?t.color:a),l=(a=t.options&&t.options.marker,{stroke:h,fill:h});if(n&&n.css({fill:s,color:s}),o&&o.attr({stroke:h}),r){if(a&&r.isMarker)for(i in a=t.convertAttribs(a))(n=a[i])!==j&&(l[i]=n);r.attr(l)}},positionItem:function(t){var e=(i=this.options).symbolPadding,i=!i.rtl,s=(n=t._legendItemPos)[0],n=n[1],o=t.checkbox;t.legendGroup&&t.legendGroup.translate(i?s:this.legendWidth-s-2*e-4,n),o&&(o.x=s,o.y=n)},destroyItem:function(e){var t=e.checkbox;se(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){e[t]&&(e[t]=e[t].destroy())}),t&&r(e.checkbox)},destroy:function(){var t=this.group,e=this.box;e&&(this.box=e.destroy()),t&&(this.group=t.destroy())},positionCheckboxes:function(s){var n,o=this.group.alignAttr,r=this.clipHeight||this.legendHeight;o&&(n=o.translateY,se(this.allItems,function(t){var e,i=t.checkbox;i&&(e=n+i.y+(s||0)+3,S(i,{left:o.translateX+t.legendItemWidth+i.x-20+"px",top:e+"px",display:n-6<e&&e<n+r-6?"":Gt}))}))},renderTitle:function(){var t=this.padding,e=this.options.title,i=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,t-3,t-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(e.style).add(this.group)),i=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i},renderItem:function(i){var t=this,e=t.chart,s=e.renderer,n=t.options,o="horizontal"===n.layout,r=n.symbolWidth,a=n.symbolPadding,h=t.itemStyle,l=t.itemHiddenStyle,c=t.padding,d=o?O(n.itemDistance,8):0,p=!n.rtl,u=n.width,g=n.itemMarginBottom||0,f=t.itemMarginTop,m=t.initialItemX,x=i.legendItem,y=i.series||i,v=y.options,b=v.showCheckbox,k=n.useHTML;!x&&(i.legendGroup=s.g("legend-item").attr({zIndex:1}).add(t.scrollGroup),y.drawLegendSymbol(t,i),i.legendItem=x=s.text(n.labelFormat?L(n.labelFormat,i):n.labelFormatter.call(i),p?r+a:-a,t.baseline,k).css(I(i.visible?h:l)).attr({align:p?"left":"right",zIndex:2}).add(i.legendGroup),(k?x:i.legendGroup).on("mouseover",function(){i.setState("hover"),x.css(t.options.itemHoverStyle)}).on("mouseout",function(){x.css(i.visible?h:l),i.setState()}).on("click",function(t){function e(){i.setVisible()}t={browserEvent:t};i.firePointEvent?i.firePointEvent("legendItemClick",t,e):le(i,"legendItemClick",t,e)}),t.colorizeItem(i,i.visible),v&&b)&&(i.checkbox=C("input",{type:"checkbox",checked:i.selected,defaultChecked:i.selected},n.itemCheckboxStyle,e.container),ae(i.checkbox,"click",function(t){le(i,"checkboxClick",{checked:t.target.checked},function(){i.select()})})),s=x.getBBox(),n=i.legendItemWidth=n.itemWidth||r+a+s.width+d+(b?20:0),t.itemHeight=r=s.height,o&&t.itemX-m+n>(u||e.chartWidth-2*c-m)&&(t.itemX=m,t.itemY+=f+t.lastLineHeight+g,t.lastLineHeight=0),t.maxItemWidth=yt(t.maxItemWidth,n),t.lastItemY=f+t.itemY+g,t.lastLineHeight=yt(r,t.lastLineHeight),i._legendItemPos=[t.itemX,t.itemY],o?t.itemX+=n:(t.itemY+=f+r+g,t.lastLineHeight=r),t.offsetWidth=u||yt((o?t.itemX-m-d:n)+c,t.offsetWidth)},render:function(){var i,t,e,s,n=this,o=n.chart,r=o.renderer,a=n.group,h=n.box,l=n.options,c=n.padding,d=l.borderWidth,p=l.backgroundColor;n.itemX=n.initialItemX,n.itemY=n.initialItemY,n.offsetWidth=0,n.lastItemY=0,a||(n.group=a=r.g("legend").attr({zIndex:7}).add(),n.contentGroup=r.g().attr({zIndex:1}).add(a),n.scrollGroup=r.g().add(n.contentGroup)),n.renderTitle(),i=[],se(o.series,function(t){var e=t.options;e.showInLegend&&!z(e.linkedTo)&&(i=i.concat(t.legendItems||("point"===e.legendType?t.data:t)))}),g(i,function(t,e){return(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)}),l.reversed&&i.reverse(),n.allItems=i,n.display=t=!!i.length,se(i,function(t){n.renderItem(t)}),e=l.width||n.offsetWidth,s=n.lastItemY+n.lastLineHeight+n.titleHeight,s=n.handleOverflow(s),(d||p)&&(e+=c,s+=c,h?0<e&&0<s&&(h[h.isNew?"attr":"animate"](h.crisp(null,null,null,e,s)),h.isNew=!1):(n.box=h=r.rect(0,0,e,s,l.borderRadius,d||0).attr({stroke:l.borderColor,"stroke-width":d||0,fill:p||Gt}).add(a).shadow(l.shadow),h.isNew=!0),h[t?"show":"hide"]()),n.legendWidth=e,n.legendHeight=s,se(i,function(t){n.positionItem(t)}),t&&a.align(D({width:e,height:s},l),!0,"spacingBox"),o.isResizing||this.positionCheckboxes()},handleOverflow:function(t){var e=this,i=this.chart,s=i.renderer,n=this.options,o=n.y,r=(o=i.spacingBox.height+("top"===n.verticalAlign?-o:o)-this.padding,n.maxHeight),a=this.clipRect,h=n.navigation,l=O(h.animation,!0),c=h.arrowSize||12,d=this.nav;return"horizontal"===n.layout&&(o/=2),r&&(o=vt(o,r)),o<t&&!n.useHTML?(this.clipHeight=i=o-20-this.titleHeight,this.pageCount=xt(t/i),this.currentPage=O(this.currentPage,1),this.fullHeight=t,a||(a=e.clipRect=s.clipRect(0,0,9999,0),e.contentGroup.clip(a)),a.attr({height:i}),d||(this.nav=d=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).on("click",function(){e.scroll(-1,l)}).add(d),this.pager=s.text("",15,10).css(h.style).add(d),this.down=s.symbol("triangle-down",0,0,c,c).on("click",function(){e.scroll(1,l)}).add(d)),e.scroll(0),t=o):d&&(a.attr({height:i.chartHeight}),d.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},scroll:function(t,e){var i=this.pageCount,s=this.currentPage+t,n=this.clipHeight,o=(a=this.options.navigation).activeColor,r=a.inactiveColor,a=this.pager,h=this.padding;i<s&&(s=i),0<s&&(e!==j&&X(e,this.chart),this.nav.attr({translateX:h,translateY:n+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:1===s?r:o}).css({cursor:1===s?"default":"pointer"}),a.attr({text:s+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:s===i?r:o}).css({cursor:s===i?"default":"pointer"}),n=1-vt(n*(s-1),this.fullHeight-n+h),this.scrollGroup.animate({translateY:n}),a.attr({text:s+"/"+i}),this.currentPage=s,this.positionCheckboxes(n))}},/Trident.*?11\.0/.test(Lt)&&e(F.prototype,"positionItem",function(t,e){var i=this;setTimeout(function(){t.call(i,e)})}),(n.prototype={init:function(t,e){var i,s=t.series;t.series=null,(i=I(Z,t)).series=t.series=s,s=i.chart,this.margin=this.splashArray("margin",s),this.spacing=this.splashArray("spacing",s);var n=s.events;this.bounds={h:{},v:{}},this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.hasCartesianSeries=s.showAxes;var o,r=this;if(r.index=Yt.length,Yt.push(r),!1!==s.reflow&&ae(r,"load",function(){r.initReflow()}),n)for(o in n)ae(r,o,n[o]);r.xAxis=[],r.yAxis=[],r.animation=!Ht&&O(s.animation,!0),r.pointCount=0,r.counters=new a,r.firstRender()},initSeries:function(t){var e=this.options.chart;return(e=Jt[t.type||e.type||e.defaultSeriesType])||B(17,!0),(e=new e).init(this,t),e},addSeries:function(t,e,i){var s,n=this;return t&&(e=O(e,!0),le(n,"addSeries",{options:t},function(){s=n.initSeries(t),n.isDirtyLegend=!0,n.linkSeries(),e&&n.redraw(i)})),s},addAxis:function(t,e,i,s){var n=e?"xAxis":"yAxis",o=this.options;new h(this,I(t,{index:this[n].length,isX:e})),o[n]=u(o[n]||{}),o[n].push(t),O(i,!0)&&this.redraw(s)},isInsidePlot:function(t,e,i){var s=i?e:t;t=i?t:e;return 0<=s&&s<=this.plotWidth&&0<=t&&t<=this.plotHeight},adjustTickAmounts:function(){!1!==this.options.chart.alignTicks&&se(this.axes,function(t){t.adjustTickAmount()}),this.maxTicks=null},redraw:function(t){var e,i,s=this.axes,n=this.series,o=this.pointer,r=this.legend,a=this.isDirtyLegend,h=this.isDirtyBox,l=n.length,c=l,d=this.renderer,p=d.isHidden(),u=[];for(X(t,this),p&&this.cloneRenderTo(),this.layOutTitles();c--;)if((t=n[c]).options.stacking&&(e=!0,t.isDirty)){i=!0;break}if(i)for(c=l;c--;)(t=n[c]).options.stacking&&(t.isDirty=!0);se(n,function(t){t.isDirty&&"point"===t.options.legendType&&(a=!0)}),a&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),e&&this.getStacks(),this.hasCartesianSeries&&(this.isResizing||(this.maxTicks=null,se(s,function(t){t.setScale()})),this.adjustTickAmounts(),this.getMargins(),se(s,function(t){t.isDirty&&(h=!0)}),se(s,function(t){t.isDirtyExtremes&&(t.isDirtyExtremes=!1,u.push(function(){le(t,"afterSetExtremes",D(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(h||e)&&t.redraw()})),h&&this.drawChartBox(),se(n,function(t){t.isDirty&&t.visible&&(!t.isCartesian||t.xAxis)&&t.redraw()}),o&&o.reset&&o.reset(!0),d.draw(),le(this,"redraw"),p&&this.cloneRenderTo(!0),se(u,function(t){t.call()})},showLoading:function(t){var e=this.options,i=this.loadingDiv,s=e.loading;i||(this.loadingDiv=i=C(Et,{className:"highcharts-loading"},D(s.style,{zIndex:10,display:Gt}),this.container),this.loadingSpan=C("span",null,s.labelStyle,i)),this.loadingSpan.innerHTML=t||e.lang.loading,this.loadingShown||(S(i,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),de(i,{opacity:s.style.opacity},{duration:s.showDuration||0}),this.loadingShown=!0)},hideLoading:function(){var t=this.options,e=this.loadingDiv;e&&de(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){S(e,{display:Gt})}}),this.loadingShown=!1},get:function(t){var e,i,s=this.axes,n=this.series;for(e=0;e<s.length;e++)if(s[e].options.id===t)return s[e];for(e=0;e<n.length;e++)if(n[e].options.id===t)return n[e];for(e=0;e<n.length;e++)for(i=n[e].points||[],s=0;s<i.length;s++)if(i[s].id===t)return i[s];return null},getAxes:function(){var e=this,t=(i=this.options).xAxis=u(i.xAxis||{}),i=i.yAxis=u(i.yAxis||{});se(t,function(t,e){t.index=e,t.isX=!0}),se(i,function(t,e){t.index=e}),t=t.concat(i),se(t,function(t){new h(e,t)}),e.adjustTickAmounts()},getSelectedPoints:function(){var e=[];return se(this.series,function(t){e=e.concat(ne(t.points||[],function(t){return t.selected}))}),e},getSelectedSeries:function(){return ne(this.series,function(t){return t.selected})},getStacks:function(){var e=this;se(e.yAxis,function(t){t.stacks&&t.hasVisibleSeries&&(t.oldStacks=t.stacks)}),se(e.series,function(t){!t.options.stacking||!0!==t.visible&&!1!==e.options.chart.ignoreHiddenSeries||(t.stackKey=t.type+O(t.options.stack,""))})},showResetZoom:function(){var t=this,e=Z.lang,i=t.options.chart.resetZoomButton,s=i.theme,n=s.states,o="chart"===i.relativeTo?null:"plotBox";this.resetZoomButton=t.renderer.button(e.resetZoom,null,null,function(){t.zoomOut()},s,n&&n.hover).attr({align:i.position.align,title:e.resetZoomTitle}).add().align(i.position,!1,o)},zoomOut:function(){var t=this;le(t,"selection",{resetSelection:!0},function(){t.zoom()})},zoom:function(t){var s,e,n=this.pointer,o=!1;!t||t.resetSelection?se(this.axes,function(t){s=t.zoom()}):se(t.xAxis.concat(t.yAxis),function(t){var e=t.axis,i=e.isXAxis;(n[i?"zoomX":"zoomY"]||n[i?"pinchX":"pinchY"])&&(s=e.zoom(t.min,t.max),e.displayBtn&&(o=!0))}),e=this.resetZoomButton,o&&!e?this.showResetZoom():!o&&c(e)&&(this.resetZoomButton=e.destroy()),s&&this.redraw(O(this.options.chart.animation,t&&t.animation,this.pointCount<100))},pan:function(a,t){var h,l=this,e=l.hoverPoints;e&&se(e,function(t){t.setState()}),se("xy"===t?[1,0]:[1],function(t){var e=a[t?"chartX":"chartY"],i=l[t?"xAxis":"yAxis"][0],s=l[t?"mouseDownX":"mouseDownY"],n=(i.pointRange||0)/2,o=i.getExtremes(),r=i.toValue(s-e,!0)+n;s=i.toValue(s+l[t?"plotWidth":"plotHeight"]-e,!0)-n;i.series.length&&r>vt(o.dataMin,o.min)&&s<yt(o.dataMax,o.max)&&(i.setExtremes(r,s,!1,!1,{trigger:"pan"}),h=!0),l[t?"mouseDownX":"mouseDownY"]=e}),h&&l.redraw(!1),S(l.container,{cursor:"move"})},setTitle:function(t,e){var i,s,n=this,o=n.options;s=o.title=I(o.title,t),i=o.subtitle=I(o.subtitle,e),se([["title",t,s],["subtitle",e,o=i]],function(t){var e=t[0],i=n[e],s=t[1];t=t[2];i&&s&&(n[e]=i=i.destroy()),t&&t.text&&!i&&(n[e]=n.renderer.text(t.text,0,0,t.useHTML).attr({align:t.align,class:"highcharts-"+e,zIndex:t.zIndex||4}).css(t.style).add())}),n.layOutTitles()},layOutTitles:function(){var t=0,e=this.title,i=this.subtitle,s=(n=this.options).title,n=n.subtitle,o=this.spacingBox.width-44;!e||(e.css({width:(s.width||o)+"px"}).align(D({y:15},s),!1,"spacingBox"),s.floating||s.verticalAlign)||18<=(t=e.getBBox().height)&&t<=25&&(t=15),i&&(i.css({width:(n.width||o)+"px"}).align(D({y:t+s.margin},n),!1,"spacingBox"),n.floating||n.verticalAlign||(t=xt(t+i.getBBox().height))),this.titleOffset=t},getChartSize:function(){var t=this.options.chart,e=this.renderToClone||this.renderTo;this.containerWidth=te(e,"width"),this.containerHeight=te(e,"height"),this.chartWidth=yt(0,t.width||this.containerWidth||600),this.chartHeight=yt(0,O(t.height,19<this.containerHeight?this.containerHeight:400))},cloneRenderTo:function(t){var e=this.renderToClone,i=this.container;t?e&&(this.renderTo.appendChild(i),r(e),delete this.renderToClone):(i&&i.parentNode===this.renderTo&&this.renderTo.removeChild(i),this.renderToClone=e=this.renderTo.cloneNode(0),S(e,{position:"absolute",top:"-9999px",display:"block"}),pt.body.appendChild(e),i&&e.appendChild(i))},getContainer:function(){var t,e,i,s,n=this.options.chart;this.renderTo=t=n.renderTo,s="highcharts-"+Wt++,f(t)&&(this.renderTo=t=pt.getElementById(t)),t||B(13,!0),e=k(w(t,"data-highcharts-chart")),!isNaN(e)&&Yt[e]&&Yt[e].destroy(),w(t,"data-highcharts-chart",this.index),t.innerHTML="",t.offsetWidth||this.cloneRenderTo(),this.getChartSize(),e=this.chartWidth,i=this.chartHeight,this.container=t=C(Et,{className:"highcharts-container"+(n.className?" "+n.className:""),id:s},D({position:"relative",overflow:"hidden",width:e+"px",height:i+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},n.style),this.renderToClone||t),this._cursor=t.style.cursor,this.renderer=n.forExport?new me(t,e,i,!0):new _(t,e,i),Ht&&this.renderer.create(this,t,e,i)},getMargins:function(){var t,e=this.spacing,i=this.legend,s=this.margin,n=this.options.legend,o=O(n.margin,10),r=n.x,a=n.y,h=n.align,l=n.verticalAlign,c=this.titleOffset;this.resetMargins(),t=this.axisOffset,c&&!z(s[0])&&(this.plotTop=yt(this.plotTop,c+this.options.title.margin+e[0])),i.display&&!n.floating&&("right"===h?z(s[1])||(this.marginRight=yt(this.marginRight,i.legendWidth-r+o+e[1])):"left"===h?z(s[3])||(this.plotLeft=yt(this.plotLeft,i.legendWidth+r+o+e[3])):"top"===l?z(s[0])||(this.plotTop=yt(this.plotTop,i.legendHeight+a+o+e[0])):"bottom"!==l||z(s[2])||(this.marginBottom=yt(this.marginBottom,i.legendHeight-a+o+e[2]))),this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin),this.extraTopMargin&&(this.plotTop+=this.extraTopMargin),this.hasCartesianSeries&&se(this.axes,function(t){t.getOffset()}),z(s[3])||(this.plotLeft+=t[3]),z(s[0])||(this.plotTop+=t[0]),z(s[2])||(this.marginBottom+=t[2]),z(s[1])||(this.marginRight+=t[1]),this.setChartSize()},initReflow:function(){function t(t){var e=o.width||te(r,"width"),i=o.height||te(r,"height");t=t?t.target:ut;n.hasUserSize||!e||!i||t!==ut&&t!==pt||(e===n.containerWidth&&i===n.containerHeight||(clearTimeout(s),n.reflowTimeout=s=setTimeout(function(){n.container&&(n.setSize(e,i,!1),n.hasUserSize=null)},100)),n.containerWidth=e,n.containerHeight=i)}var s,n=this,o=n.options.chart,r=n.renderTo;n.reflow=t,ae(ut,"resize",t),ae(n,"destroy",function(){he(ut,"resize",t)})},setSize:function(t,e,i){var s,n,o,r=this;r.isResizing+=1,o=function(){r&&le(r,"endResize",null,function(){--r.isResizing})},X(i,r),r.oldChartHeight=r.chartHeight,r.oldChartWidth=r.chartWidth,z(t)&&(r.chartWidth=s=yt(0,ft(t)),r.hasUserSize=!!s),z(e)&&(r.chartHeight=n=yt(0,ft(e))),S(r.container,{width:s+"px",height:n+"px"}),r.setChartSize(!0),r.renderer.setSize(s,n,i),r.maxTicks=null,se(r.axes,function(t){t.isDirty=!0,t.setScale()}),se(r.series,function(t){t.isDirty=!0}),r.isDirtyLegend=!0,r.isDirtyBox=!0,r.getMargins(),r.redraw(i),r.oldChartHeight=null,le(r,"resize"),!1===$?o():setTimeout(o,$&&$.duration||500)},setChartSize:function(t){var e,i,s,n,o=this.inverted,r=this.renderer,a=this.chartWidth,h=this.chartHeight,l=this.options.chart,c=this.spacing,d=this.clipOffset;this.plotLeft=e=ft(this.plotLeft),this.plotTop=i=ft(this.plotTop),this.plotWidth=s=yt(0,ft(a-e-this.marginRight)),this.plotHeight=n=yt(0,ft(h-i-this.marginBottom)),this.plotSizeX=o?n:s,this.plotSizeY=o?s:n,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=r.spacingBox={x:c[3],y:c[0],width:a-c[3]-c[1],height:h-c[0]-c[2]},this.plotBox=r.plotBox={x:e,y:i,width:s,height:n},a=2*mt(this.plotBorderWidth/2),o=xt(yt(a,d[3])/2),r=xt(yt(a,d[0])/2),this.clipBox={x:o,y:r,width:mt(this.plotSizeX-yt(a,d[1])/2-o),height:mt(this.plotSizeY-yt(a,d[2])/2-r)},t||se(this.axes,function(t){t.setAxisSize(),t.setAxisTranslation()})},resetMargins:function(){var t=this.spacing,e=this.margin;this.plotTop=O(e[0],t[0]),this.marginRight=O(e[1],t[1]),this.marginBottom=O(e[2],t[2]),this.plotLeft=O(e[3],t[3]),this.axisOffset=[0,0,0,0],this.clipOffset=[0,0,0,0]},drawChartBox:function(){var t,e=this.options.chart,i=this.renderer,s=this.chartWidth,n=this.chartHeight,o=this.chartBackground,r=this.plotBackground,a=this.plotBorder,h=this.plotBGImage,l=e.borderWidth||0,c=e.backgroundColor,d=e.plotBackgroundColor,p=e.plotBackgroundImage,u=e.plotBorderWidth||0,g=this.plotLeft,f=this.plotTop,m=this.plotWidth,x=this.plotHeight,y=this.plotBox,v=this.clipRect,b=this.clipBox;t=l+(e.shadow?8:0),(l||c)&&(o?o.animate(o.crisp(null,null,null,s-t,n-t)):(o={fill:c||Gt},l&&(o.stroke=e.borderColor,o["stroke-width"]=l),this.chartBackground=i.rect(t/2,t/2,s-t,n-t,e.borderRadius,l).attr(o).add().shadow(e.shadow))),d&&(r?r.animate(y):this.plotBackground=i.rect(g,f,m,x,0).attr({fill:d}).add().shadow(e.plotShadow)),p&&(h?h.animate(y):this.plotBGImage=i.image(p,g,f,m,x).add()),v?v.animate({width:b.width,height:b.height}):this.clipRect=i.clipRect(b),u&&(a?a.animate(a.crisp(null,g,f,m,x)):this.plotBorder=i.rect(g,f,m,x,0,-u).attr({stroke:e.plotBorderColor,"stroke-width":u,zIndex:1}).add()),this.isDirtyBox=!1},propFromSeries:function(){var e,i,s,n=this,o=n.options.chart,r=n.options.series;se(["inverted","angular","polar"],function(t){for(e=Jt[o.type||o.defaultSeriesType],s=n[t]||o[t]||e&&e.prototype[t],i=r&&r.length;!s&&i--;)(e=Jt[r[i].type])&&e.prototype[t]&&(s=!0);n[t]=s})},linkSeries:function(){var i=this,t=i.series;se(t,function(t){t.linkedSeries.length=0}),se(t,function(t){var e=t.options.linkedTo;f(e)&&(e=":previous"===e?i.series[t.index-1]:i.get(e))&&(e.linkedSeries.push(t),t.linkedParent=e)})},render:function(){var t,n=this,e=n.axes,o=n.renderer,i=n.options,r=i.labels,s=i.credits;n.setTitle(),n.legend=new F(n,i.legend),n.getStacks(),se(e,function(t){t.setScale()}),n.getMargins(),n.maxTicks=null,se(e,function(t){t.setTickPositions(!0),t.setMaxTicks()}),n.adjustTickAmounts(),n.getMargins(),n.drawChartBox(),n.hasCartesianSeries&&se(e,function(t){t.render()}),n.seriesGroup||(n.seriesGroup=o.g("series-group").attr({zIndex:3}).add()),se(n.series,function(t){t.translate(),t.setTooltipPoints(),t.render()}),r.items&&se(r.items,function(t){var e=D(r.style,t.style),i=k(e.left)+n.plotLeft,s=k(e.top)+n.plotTop+12;delete e.left,delete e.top,o.text(t.html,i,s).attr({zIndex:2}).css(e).add()}),s.enabled&&!n.credits&&(t=s.href,n.credits=o.text(s.text,0,0).on("click",function(){t&&(location.href=t)}).attr({align:s.position.align,zIndex:8}).css(s.style).add().align(s.position)),n.hasRendered=!0},destroy:function(){var t,i=this,e=i.axes,s=i.series,n=i.container,o=n&&n.parentNode;for(le(i,"destroy"),Yt[i.index]=j,i.renderTo.removeAttribute("data-highcharts-chart"),he(i),t=e.length;t--;)e[t]=e[t].destroy();for(t=s.length;t--;)s[t]=s[t].destroy();for(t in se("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(t){var e=i[t];e&&e.destroy&&(i[t]=e.destroy())}),n&&(n.innerHTML="",he(n),o&&r(n)),i)delete i[t]},isReadyToRender:function(){var t=this;return!(!Bt&&ut==ut.top&&"complete"!==pt.readyState||Ht&&!ut.canvg)||(Ht?ye.push(function(){t.firstRender()},t.options.global.canvasToolsURL):pt.attachEvent("onreadystatechange",function(){pt.detachEvent("onreadystatechange",t.firstRender),"complete"===pt.readyState&&t.firstRender()}),!1)},firstRender:function(){var e=this,t=e.options,i=e.callback;e.isReadyToRender()&&(e.getContainer(),le(e,"init"),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.getAxes(),se(t.series||[],function(t){e.initSeries(t)}),e.linkSeries(),le(e,"beforeRender"),e.pointer=new s(e,t),e.render(),e.renderer.draw(),i&&i.apply(e,[e]),se(e.callbacks,function(t){t.apply(e,[e])}),e.cloneRenderTo(!0),le(e,"load"))},splashArray:function(t,e){var i=c(i=e[t])?i:[i,i,i,i];return[O(e[t+"Top"],i[0]),O(e[t+"Right"],i[1]),O(e[t+"Bottom"],i[2]),O(e[t+"Left"],i[3])]}}).callbacks=[];function we(){}we.prototype={init:function(t,e,i){return this.series=t,this.applyOptions(e,i),this.pointAttr={},t.options.colorByPoint&&(e=t.options.colors||t.chart.options.colors,this.color=this.color||e[t.colorCounter++],t.colorCounter===e.length)&&(t.colorCounter=0),t.chart.pointCount++,this},applyOptions:function(t,e){var i=this.series,s=i.pointValKey;return D(this,t=we.prototype.optionsToObject.call(this,t)),this.options=this.options?D(this.options,t):t,s&&(this.y=this[s]),this.x===j&&i&&(this.x=e===j?i.autoIncrement():e),this},optionsToObject:function(t){var e,i=this.series,s=i.pointArrayMap||["y"],n=s.length,o=0,r=0;if("number"==typeof t||null===t)e={y:t};else if(m(t))for(e={},t.length>n&&("string"===(i=typeof t[0])?e.name=t[0]:"number"===i&&(e.x=t[0]),o++);r<n;)e[s[r++]]=t[o++];else"object"==typeof t&&((e=t).dataLabels&&(i._hasPointLabels=!0),t.marker&&(i._hasPointMarkers=!0));return e},destroy:function(){var t,e=this.series.chart,i=e.hoverPoints;for(t in e.pointCount--,i&&(this.setState(),l(i,this),!i.length)&&(e.hoverPoints=null),this===e.hoverPoint&&this.onMouseOut(),(this.graphic||this.dataLabel)&&(he(this),this.destroyElements()),this.legendItem&&e.legend.destroyItem(this),this)this[t]=null},destroyElements:function(){for(var t,e="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),i=6;i--;)this[t=e[i]]&&(this[t]=this[t].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(t,e){var i=this,s=i.series,n=s.chart;t=O(t,!i.selected);i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[ie(i,s.data)]=i.options,i.setState(t&&"select"),e||se(n.getSelectedPoints(),function(t){t.selected&&t!==i&&(t.selected=t.options.selected=!1,s.options.data[ie(t,s.data)]=t.options,t.setState(""),t.firePointEvent("unselect"))})})},onMouseOver:function(t){var e=this.series,i=e.chart,s=i.tooltip,n=i.hoverPoint;n&&n!==this&&n.onMouseOut(),this.firePointEvent("mouseOver"),!s||s.shared&&!e.noSharedTooltip||s.refresh(this,t),this.setState("hover"),i.hoverPoint=this},onMouseOut:function(){var t=this.series.chart,e=t.hoverPoints;e&&-1!==ie(this,e)||(this.firePointEvent("mouseOut"),this.setState(),t.hoverPoint=null)},tooltipFormatter:function(e){var t=this.series,i=t.tooltipOptions,s=O(i.valueDecimals,""),n=i.valuePrefix||"",o=i.valueSuffix||"";return se(t.pointArrayMap||["y"],function(t){t="{point."+t,(n||o)&&(e=e.replace(t+"}",n+t+"}"+o)),e=e.replace(t+"}",t+":,."+s+"f}")}),L(e,{point:this,series:this.series})},update:function(t,e,i){var s,n=this,o=n.series,r=n.graphic,a=o.data,h=o.chart,l=o.options;e=O(e,!0);n.firePointEvent("update",{options:t},function(){n.applyOptions(t),c(t)&&(o.getAttribs(),r)&&(t.marker&&t.marker.symbol?n.graphic=r.destroy():r.attr(n.pointAttr[n.state||""])),s=ie(n,a),o.xData[s]=n.x,o.yData[s]=o.toYData?o.toYData(n):n.y,o.zData[s]=n.z,l.data[s]=n.options,o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&h.legend.destroyItem(n),e&&h.redraw(i)})},remove:function(t,e){var i,s=this,n=s.series,o=n.points,r=n.chart,a=n.data;X(e,r),t=O(t,!0),s.firePointEvent("remove",null,function(){i=ie(s,a),a.length===o.length&&o.splice(i,1),a.splice(i,1),n.options.data.splice(i,1),n.xData.splice(i,1),n.yData.splice(i,1),n.zData.splice(i,1),s.destroy(),n.isDirty=!0,n.isDirtyData=!0,t&&r.redraw()})},firePointEvent:function(t,e,i){var s=this,n=this.series.options;(n.point.events[t]||s.options&&s.options.events&&s.options.events[t])&&this.importEvents(),"click"===t&&n.allowPointSelect&&(i=function(t){s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),le(this,t,e,i)},importEvents:function(){if(!this.hasImportedEvents){var t,e=I(this.series.options.point,this.options).events;for(t in this.events=e)ae(this,t,e[t]);this.hasImportedEvents=!0}},setState:function(t){var e=this.plotX,i=this.plotY,s=this.series,n=s.options.states,o=ue[s.type].marker&&s.options.marker,r=o&&!o.enabled,a=o&&o.states[t],h=a&&!1===a.enabled,l=s.stateMarkerGraphic,c=this.marker||{},d=s.chart,p=this.pointAttr;(t=t||"")===this.state||this.selected&&"select"!==t||n[t]&&!1===n[t].enabled||t&&(h||r&&!a.enabled)||(this.graphic?(n=o&&this.graphic.symbolName&&p[t].r,this.graphic.attr(I(p[t],n?{x:e-n,y:i-n,width:2*n,height:2*n}:{}))):(t&&a&&(n=a.radius,c=c.symbol||s.symbol,l&&l.currentSymbol!==c&&(l=l.destroy()),l?l.attr({x:e-n,y:i-n}):(s.stateMarkerGraphic=l=d.renderer.symbol(c,e-n,i-n,2*n,2*n).attr(p[t]).add(s.markerGroup),l.currentSymbol=c)),l&&l[t&&d.isInsidePlot(e,i)?"show":"hide"]()),this.state=t)}};function Te(){}Te.prototype={isCartesian:!0,type:"line",pointClass:we,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(t,e){var i,s,n=t.series;for(i in this.chart=t,this.options=e=this.setOptions(e),this.linkedSeries=[],this.bindAxes(),D(this,{name:e.name,state:"",pointAttr:{},visible:!1!==e.visible,selected:!0===e.selected}),Ht&&(e.animation=!1),s=e.events)ae(this,i,s[i]);(s&&s.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.setData(e.data,!1),this.isCartesian&&(t.hasCartesianSeries=!0),n.push(this),this._i=n.length-1,g(n,function(t,e){return O(t.options.index,t._i)-O(e.options.index,t._i)}),se(n,function(t,e){t.index=e,t.name=t.name||"Series "+(e+1)})},bindAxes:function(){var i,s=this,n=s.options,t=s.chart;s.isCartesian&&se(["xAxis","yAxis"],function(e){se(t[e],function(t){i=t.options,(n[e]===i.index||n[e]!==j&&n[e]===i.id||n[e]===j&&0===i.index)&&(t.series.push(s),(s[e]=t).isDirty=!0)}),s[e]||B(18,!0)})},autoIncrement:function(){var t=this.options,e=O(e=this.xIncrement,t.pointStart,0);return this.pointInterval=O(this.pointInterval,t.pointInterval,1),this.xIncrement=e+this.pointInterval,e},getSegments:function(){var t,i=-1,s=[],n=this.points,o=n.length;if(o)if(this.options.connectNulls){for(t=o;t--;)null===n[t].y&&n.splice(t,1);n.length&&(s=[n])}else se(n,function(t,e){null===t.y?(i+1<e&&s.push(n.slice(i+1,e)),i=e):e===o-1&&s.push(n.slice(i+1,e+1))});this.segments=s},setOptions:function(t){var e=this.chart.options,i=e.plotOptions,s=i[this.type];return this.userOptions=t,t=I(s,i.series,t),this.tooltipOptions=I(e.tooltip,t.tooltip),null===s.marker&&delete t.marker,t},getColor:function(){var t,e=this.options,i=this.userOptions,s=this.chart.options.colors,n=this.chart.counters;(t=e.color||ue[this.type].color)||e.colorByPoint||(t=s[e=z(i._colorIndex)?i._colorIndex:(i._colorIndex=n.color,n.color++)]),this.color=t,n.wrapColor(s.length)},getSymbol:function(){var t=this.userOptions,e=this.options.marker,i=(s=this.chart).options.symbols,s=s.counters;this.symbol=e.symbol,this.symbol||(t=z(t._symbolIndex)?t._symbolIndex:(t._symbolIndex=s.symbol,s.symbol++),this.symbol=i[t]),/^url/.test(this.symbol)&&(e.radius=0),s.wrapSymbol(i.length)},drawLegendSymbol:function(t){var e,i=this.options,s=i.marker,n=t.options;e=n.symbolWidth;var o=this.chart.renderer,r=this.legendGroup;t=t.baseline-ft(.3*o.fontMetrics(n.itemStyle.fontSize).b);i.lineWidth&&(n={"stroke-width":i.lineWidth},i.dashStyle&&(n.dashstyle=i.dashStyle),this.legendLine=o.path(["M",0,t,"L",e,t]).attr(n).add(r)),s&&s.enabled&&(i=s.radius,this.legendSymbol=e=o.symbol(this.symbol,e/2-i,t-i,2*i,2*i).add(r),e.isMarker=!0)},addPoint:function(t,e,i,s){var n,o=this.options,r=this.data,a=this.graph,h=this.area,l=this.chart,c=this.xData,d=this.yData,p=this.zData,u=this.names,g=a&&a.shift||0,f=o.data;if(X(s,l),i&&se([a,h,this.graphNeg,this.areaNeg],function(t){t&&(t.shift=g+1)}),h&&(h.isArea=!0),e=O(e,!0),s={series:this},this.pointClass.prototype.applyOptions.apply(s,[t]),a=s.x,h=c.length,this.requireSorting&&a<c[h-1])for(n=!0;h&&c[h-1]>a;)h--;c.splice(h,0,a),d.splice(h,0,this.toYData?this.toYData(s):s.y),p.splice(h,0,s.z),u&&(u[a]=s.name),f.splice(h,0,t),n&&(this.data.splice(h,0,null),this.processData()),"point"===o.legendType&&this.generatePoints(),i&&(r[0]&&r[0].remove?r[0].remove(!1):(r.shift(),c.shift(),d.shift(),p.shift(),f.shift())),this.isDirtyData=this.isDirty=!0,e&&(this.getAttribs(),l.redraw())},setData:function(t,e){var i,s=this.points,n=this.options,o=this.chart,r=null,a=this.xAxis,h=a&&a.categories&&!a.categories.length?[]:null;this.xIncrement=null,this.pointRange=a&&a.categories?1:n.pointRange,this.colorCounter=0;var l=[],c=[],d=[],p=t?t.length:[];i=O(n.turboThreshold,1e3);var u=(u=this.pointArrayMap)&&u.length,g=!!this.toYData;if(i&&i<p){for(i=0;null===r&&i<p;)r=t[i],i++;if(x(r)){for(r=O(n.pointStart,0),n=O(n.pointInterval,1),i=0;i<p;i++)l[i]=r,c[i]=t[i],r+=n;this.xIncrement=r}else if(m(r))if(u)for(i=0;i<p;i++)n=t[i],l[i]=n[0],c[i]=n.slice(1,u+1);else for(i=0;i<p;i++)n=t[i],l[i]=n[0],c[i]=n[1];else B(12)}else for(i=0;i<p;i++)t[i]!==j&&(n={series:this},this.pointClass.prototype.applyOptions.apply(n,[t[i]]),l[i]=n.x,c[i]=g?this.toYData(n):n.y,d[i]=n.z,h&&n.name)&&(h[n.x]=n.name);for(f(c[0])&&B(14,!0),this.data=[],this.options.data=t,this.xData=l,this.yData=c,this.zData=d,this.names=h,i=s&&s.length||0;i--;)s[i]&&s[i].destroy&&s[i].destroy();a&&(a.minRange=a.userMinRange),this.isDirty=this.isDirtyData=o.isDirtyBox=!0,O(e,!0)&&o.redraw(!1)},remove:function(t,e){var i=this,s=i.chart;t=O(t,!0);i.isRemoving||(i.isRemoving=!0,le(i,"remove",null,function(){i.destroy(),s.isDirtyLegend=s.isDirtyBox=!0,s.linkSeries(),t&&s.redraw(e)})),i.isRemoving=!1},processData:function(t){var e,i=this.xData,s=this.yData,n=i.length;e=0;var o,r,a=this.xAxis,h=this.options,l=h.cropThreshold,c=this.isCartesian;if(c&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!t)return!1;for(c&&this.sorted&&(!l||l<n||this.forceCrop)&&(t=a.min,a=a.max,i[n-1]<t||i[0]>a?(i=[],s=[]):(i[0]<t||i[n-1]>a)&&(i=(e=this.cropData(this.xData,this.yData,t,a)).xData,s=e.yData,e=e.start,o=!0)),a=i.length-1;0<=a;a--)0<(n=i[a]-i[a-1])&&(r===j||n<r)?r=n:n<0&&this.requireSorting&&B(15);this.cropped=o,this.cropStart=e,this.processedXData=i,this.processedYData=s,null===h.pointRange&&(this.pointRange=r||1),this.closestPointRange=r},cropData:function(t,e,i,s){var n,o=t.length,r=0,a=o,h=O(this.cropShoulder,1);for(n=0;n<o;n++)if(t[n]>=i){r=yt(0,n-h);break}for(;n<o;n++)if(t[n]>s){a=n+h;break}return{xData:t.slice(r,a),yData:e.slice(r,a),start:r,end:a}},generatePoints:function(){var t,e,i,s,n=this.options.data,o=this.data,r=this.processedXData,a=this.processedYData,h=this.pointClass,l=r.length,c=this.cropStart||0,d=this.hasGroupedData,p=[];for(o||d||((o=[]).length=n.length,o=this.data=o),s=0;s<l;s++)e=c+s,d?p[s]=(new h).init(this,[r[s]].concat(u(a[s]))):(o[e]?i=o[e]:n[e]!==j&&(o[e]=i=(new h).init(this,n[e],r[s])),p[s]=i);if(o&&(l!==(t=o.length)||d))for(s=0;s<t;s++)s!==c||d||(s+=l),o[s]&&(o[s].destroyElements(),o[s].plotX=j);this.data=o,this.points=p},setStackedPoints:function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var t,e,i,s,n,o=this.processedXData,r=this.processedYData,a=[],h=r.length,l=(d=this.options).threshold,c=d.stack,d=d.stacking,p=this.stackKey,u="-"+p,g=this.negStacks,f=this.yAxis,m=f.stacks,x=f.oldStacks;for(i=0;i<h;i++)s=o[i],n=r[i],m[e=(t=g&&n<l)?u:p]||(m[e]={}),m[e][s]||(x[e]&&x[e][s]?(m[e][s]=x[e][s],m[e][s].total=null):m[e][s]=new G(f,f.options.stackLabels,t,s,c,d)),(e=m[e][s]).points[this.index]=[e.cum||0],"percent"===d?(t=t?p:u,g&&m[t]&&m[t][s]?(t=m[t][s],e.total=t.total=yt(t.total,e.total)+bt(n)||0):e.total+=bt(n)||0):e.total+=n||0,e.cum=(e.cum||0)+(n||0),e.points[this.index].push(e.cum),a[i]=e.cum;"percent"===d&&(f.usePercentage=!0),this.stackedYData=a,f.oldStacks={}}},setPercentStacks:function(){var n=this,t=n.stackKey,o=n.yAxis.stacks;se([t,"-"+t],function(t){for(var e,i,s=n.xData.length;s--;)e=n.xData[s],(e=(i=o[t]&&o[t][e])&&i.points[n.index])&&(i=i.total?100/i.total:0,e[0]=R(e[0]*i),e[1]=R(e[1]*i),n.stackedYData[s]=e[1])})},getExtremes:function(){var t,e,i,s,n=this.yAxis,o=this.processedXData,r=this.stackedYData||this.processedYData,a=r.length,h=[],l=0,c=(d=this.xAxis.getExtremes()).min,d=d.max;for(s=0;s<a;s++)if(e=o[s],t=null!==(i=r[s])&&i!==j&&(!n.isLog||i.length||0<i),e=this.getExtremesFromAll||this.cropped||(o[s+1]||e)>=c&&(o[s-1]||e)<=d,t&&e)if(t=i.length)for(;t--;)null!==i[t]&&(h[l++]=i[t]);else h[l++]=i;this.dataMin=O(void 0,M(h)),this.dataMax=O(void 0,H(h))},translate:function(){this.processedXData||this.processData(),this.generatePoints();for(var t=(c=this.options).stacking,e=this.xAxis,i=e.categories,s=this.yAxis,n=this.points,o=n.length,r=!!this.modifyValue,a=c.pointPlacement,h="between"===a||x(a),l=c.threshold,c=0;c<o;c++){var d=n[c],p=d.x,u=d.y,g=d.low,f=s.stacks[(this.negStacks&&u<l?"-":"")+this.stackKey];s.isLog&&u<=0&&(d.y=u=null),d.plotX=e.translate(p,0,0,0,1,a,"flags"===this.type),t&&this.visible&&f&&f[p]&&(g=(u=(f=f[p]).points[this.index])[0],u=u[1],0===g&&(g=O(l,s.min)),s.isLog&&g<=0&&(g=null),d.percentage="percent"===t&&u,d.total=d.stackTotal=f.total,d.stackY=u,f.setOffset(this.pointXOffset||0,this.barW||0)),d.yBottom=z(g)?s.translate(g,0,1,0,1):null,r&&(u=this.modifyValue(u,d)),d.plotY="number"==typeof u&&u!==1/0?s.translate(u,0,1,0,1):j,d.clientX=h?e.translate(p,0,0,0,1):d.plotX,d.negative=d.y<(l||0),d.category=i&&i[d.x]!==j?i[d.x]:d.x}this.getSegments()},setTooltipPoints:function(t){var e,i,s,n,o=[],r=this.xAxis,a=r&&r.getExtremes(),h=r?r.tooltipLen||r.len:this.chart.plotSizeX,l=[];if(!1!==this.options.enableMouseTracking){for(t&&(this.tooltipPoints=null),se(this.segments||this.points,function(t){o=o.concat(t)}),r&&r.reversed&&(o=o.reverse()),this.orderTooltipPoints&&this.orderTooltipPoints(o),t=o.length,n=0;n<t;n++)if((e=(r=o[n]).x)>=a.min&&e<=a.max)for(s=o[n+1],e=i===j?0:i+1,i=o[n+1]?vt(yt(0,mt((r.clientX+(s?s.wrappedClientX||s.clientX:h))/2)),h):h;0<=e&&e<=i;)l[e++]=r;this.tooltipPoints=l}},tooltipHeaderFormatter:function(t){var e,i=(o=this.tooltipOptions).xDateFormat,s=o.dateTimeLabelFormats,n=(r=this.xAxis)&&"datetime"===r.options.type,o=o.headerFormat,r=r&&r.closestPointRange;if(n&&!i)if(r){for(e in J)if(J[e]>=r){i=s[e];break}}else i=s.day;return n&&i&&x(t.key)&&(o=o.replace("{point.key}","{point.key:"+i+"}")),L(o,{point:t,series:this})},onMouseOver:function(){var t=this.chart,e=t.hoverSeries;e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&le(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this},onMouseOut:function(){var t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;s&&s.onMouseOut(),this&&t.events.mouseOut&&le(this,"mouseOut"),!i||t.stickyTracking||i.shared&&!this.noSharedTooltip||i.hide(),this.setState(),e.hoverSeries=null},animate:function(t){var e,i=this,s=i.chart,n=s.renderer;e=i.options.animation;var o,r=s.clipBox,a=s.inverted;e&&!c(e)&&(e=ue[i.type].animation),o="_sharedClip"+e.duration+e.easing,t?(t=s[o],e=s[o+"m"],t||(s[o]=t=n.clipRect(D(r,{width:0})),s[o+"m"]=e=n.clipRect(-99,a?-s.plotLeft:-s.plotTop,99,a?s.chartWidth:s.chartHeight)),i.group.clip(t),i.markerGroup.clip(e),i.sharedClipKey=o):((t=s[o])&&(t.animate({width:s.plotSizeX},e),s[o+"m"].animate({width:s.plotSizeX+99},e)),i.animate=null,i.animationTimeout=setTimeout(function(){i.afterAnimate()},e.duration))},afterAnimate:function(){var t=this.chart,e=this.sharedClipKey,i=this.group;i&&!1!==this.options.clip&&(i.clip(t.clipRect),this.markerGroup.clip()),setTimeout(function(){e&&t[e]&&(t[e]=t[e].destroy(),t[e+"m"]=t[e+"m"].destroy())},100)},drawPoints:function(){var t,e,i,s,n,o,r,a,h,l,c=this.points,d=this.chart,p=this.options.marker,u=this.markerGroup;if(p.enabled||this._hasPointMarkers)for(s=c.length;s--;)n=c[s],e=mt(n.plotX),i=n.plotY,h=n.graphic,r=n.marker||{},t=p.enabled&&r.enabled===j||r.enabled,l=d.isInsidePlot(ft(e),i,d.inverted),t&&i!==j&&!isNaN(i)&&null!==n.y?(o=(t=n.pointAttr[n.selected?"select":""]).r,a=0===(r=O(r.symbol,this.symbol)).indexOf("url"),h?h.attr({visibility:l?Bt?"inherit":"visible":"hidden"}).animate(D({x:e-o,y:i-o},h.symbolName?{width:2*o,height:2*o}:{})):l&&(0<o||a)&&(n.graphic=d.renderer.symbol(r,e-o,i-o,2*o,2*o).attr(t).add(u))):h&&(n.graphic=h.destroy())},convertAttribs:function(t,e,i,s){var n,o,r=this.pointAttrToOptions,a={};t=t||{},e=e||{},i=i||{},s=s||{};for(n in r)o=r[n],a[n]=O(t[o],e[n],i[n],s[n]);return a},getAttribs:function(){var t,e,i,s=this,n=s.options,o=ue[s.type].marker?n.marker:n,r=o.states,a=r.hover,h=s.color,l={stroke:h,fill:h},c=s.points||[],d=[],p=s.pointAttrToOptions,u=n.negativeColor,g=o.lineColor;for(n.marker?(a.radius=a.radius||o.radius+2,a.lineWidth=a.lineWidth||o.lineWidth+1):a.color=a.color||fe(a.color||h).brighten(a.brightness).get(),d[""]=s.convertAttribs(o,l),se(["hover","select"],function(t){d[t]=s.convertAttribs(r[t],d[""])}),s.pointAttr=d,h=c.length;h--;){if((o=(l=c[h]).options&&l.options.marker||l.options)&&!1===o.enabled&&(o.radius=0),l.negative&&u&&(l.color=l.fillColor=u),t=n.colorByPoint||l.color,l.options)for(i in p)z(o[p[i]])&&(t=!0);t?(e=[],t=(r=(o=o||{}).states||{}).hover=r.hover||{},n.marker||(t.color=fe(t.color||l.color).brighten(t.brightness||a.brightness).get()),e[""]=s.convertAttribs(D({color:l.color,fillColor:l.color,lineColor:null===g?l.color:j},o),d[""]),e.hover=s.convertAttribs(r.hover,d.hover,e[""]),e.select=s.convertAttribs(r.select,d.select,e[""])):e=d,l.pointAttr=e}},update:function(t,e){var i,s=this.chart,n=this.type,o=Jt[n].prototype;t=I(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},t);for(i in this.remove(!1),o)o.hasOwnProperty(i)&&(this[i]=j);D(this,Jt[t.type||n].prototype),this.init(s,t),O(e,!0)&&s.redraw(!1)},destroy:function(){var e,t,i,s,n,o=this,r=o.chart,a=/AppleWebKit\/533/.test(Lt),h=o.data||[];for(le(o,"destroy"),he(o),se(["xAxis","yAxis"],function(t){(n=o[t])&&(l(n.series,o),n.isDirty=n.forceRedraw=!0,n.stacks={})}),o.legendItem&&o.chart.legend.destroyItem(o),t=h.length;t--;)(i=h[t])&&i.destroy&&i.destroy();for(s in o.points=null,clearTimeout(o.animationTimeout),se("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(t){o[t]&&(e=a&&"group"===t?"hide":"destroy",o[t][e]())}),r.hoverSeries===o&&(r.hoverSeries=null),l(r.series,o),o)delete o[s]},drawDataLabels:function(){var a,h,l,c,d=this,p=d.options.dataLabels,t=d.points;(p.enabled||d._hasPointLabels)&&(d.dlProcessOptions&&d.dlProcessOptions(p),c=d.plotGroup("dataLabelsGroup","data-labels",d.visible?"visible":"hidden",p.zIndex||6),h=p,se(t,function(t){var e,i,s,n=t.dataLabel,o=t.connector,r=!0;if(e=O((a=t.options&&t.options.dataLabels)&&a.enabled,h.enabled),n&&!e)t.dataLabel=n.destroy();else if(e){if(e=(p=I(h,a)).rotation,i=t.getLabelConfig(),l=p.format?L(p.format,i):p.formatter.call(i,p),p.style.color=O(p.color,p.style.color,d.color,"black"),n)z(l)?(n.attr({text:l}),r=!1):(t.dataLabel=n=n.destroy(),o&&(t.connector=o.destroy()));else if(z(l)){for(s in n={fill:p.backgroundColor,stroke:p.borderColor,"stroke-width":p.borderWidth,r:p.borderRadius||0,rotation:e,padding:p.padding,zIndex:1})n[s]===j&&delete n[s];n=t.dataLabel=d.chart.renderer[e?"text":"label"](l,0,-999,null,null,null,p.useHTML).attr(n).css(p.style).add(c).shadow(p.shadow)}n&&d.alignDataLabel(t,n,p,null,r)}}))},alignDataLabel:function(t,e,i,s,n){var o=this.chart,r=o.inverted,a=O(t.plotX,-999),h=O(t.plotY,-999),l=e.getBBox();(t=this.visible&&o.isInsidePlot(t.plotX,t.plotY,r))&&(s=D({x:r?o.plotWidth-h:a,y:ft(r?o.plotHeight-a:h),width:0,height:0},s),D(i,{width:l.width,height:l.height}),i.rotation?(r={align:i.align,x:s.x+i.x+s.width/2,y:s.y+i.y+s.height/2},e[n?"attr":"animate"](r)):(e.align(i,null,s),r=e.alignAttr,"justify"===O(i.overflow,"justify")?this.justifyDataLabel(e,i,r,l,s,n):O(i.crop,!0)&&(t=o.isInsidePlot(r.x,r.y)&&o.isInsidePlot(r.x+l.width,r.y+l.height)))),t||e.attr({y:-999})},justifyDataLabel:function(t,e,i,s,n,o){var r,a,h=this.chart,l=e.align,c=e.verticalAlign;(r=i.x)<0&&("right"===l?e.align="left":e.x=-r,a=!0),(r=i.x+s.width)>h.plotWidth&&("left"===l?e.align="right":e.x=h.plotWidth-r,a=!0),(r=i.y)<0&&("bottom"===c?e.verticalAlign="top":e.y=-r,a=!0),(r=i.y+s.height)>h.plotHeight&&("top"===c?e.verticalAlign="bottom":e.y=h.plotHeight-r,a=!0),a&&(t.placed=!o,t.align(e,null,n))},getSegmentPath:function(o){var r=this,a=[],h=r.options.step;return se(o,function(t,e){var i,s=t.plotX,n=t.plotY;r.getPointSpline?a.push.apply(a,r.getPointSpline(o,t,e)):(a.push(e?"L":"M"),h&&e&&(i=o[e-1],"right"===h?a.push(i.plotX,n):"center"===h?a.push((i.plotX+s)/2,i.plotY,(i.plotX+s)/2,n):a.push(s,i.plotY)),a.push(t.plotX,t.plotY))}),a},getGraphPath:function(){var e,i=this,s=[],n=[];return se(i.segments,function(t){e=i.getSegmentPath(t),1<t.length?s=s.concat(e):n.push(t[0])}),i.singlePoints=n,i.graphPath=s},drawGraph:function(){var n=this,o=this.options,t=[["graph",o.lineColor||this.color]],r=o.lineWidth,a=o.dashStyle,h=this.getGraphPath(),e=o.negativeColor;e&&t.push(["graphNeg",e]),se(t,function(t,e){var i=t[0],s=n[i];s?(pe(s),s.animate({d:h})):r&&h.length&&(s={stroke:t[1],"stroke-width":r,zIndex:1},a?s.dashstyle=a:s["stroke-linecap"]=s["stroke-linejoin"]="round",n[i]=n.chart.renderer.path(h).attr(s).add(n.group).shadow(!e&&o.shadow))})},clipNeg:function(){var t,e=this.options,i=this.chart,s=i.renderer,n=e.negativeColor||e.negativeFillColor,o=this.graph,r=this.area,a=this.posClip,h=this.negClip;t=i.chartWidth;var l=i.chartHeight,c=yt(t,l),d=this.yAxis;n&&(o||r)&&(e={x:0,y:0,width:c,height:n=ft(d.toPixels(e.threshold||0,!0))},c={x:0,y:n,width:c,height:c},i.inverted&&(e.height=c.y=i.plotWidth-n,s.isVML&&(e={x:i.plotWidth-n-i.plotLeft,y:0,width:t,height:l},c={x:n+i.plotLeft-t,y:0,width:i.plotLeft+n,height:t})),t=d.reversed?(i=c,e):(i=e,c),a?(a.animate(i),h.animate(t)):(this.posClip=a=s.clipRect(i),this.negClip=h=s.clipRect(t),o&&this.graphNeg&&(o.clip(a),this.graphNeg.clip(h)),r&&(r.clip(a),this.areaNeg.clip(h))))},invertGroups:function(){function t(){var e={width:i.yAxis.len,height:i.xAxis.len};se(["group","markerGroup"],function(t){i[t]&&i[t].attr(e).invert()})}var i=this,e=i.chart;i.xAxis&&(ae(e,"resize",t),ae(i,"destroy",function(){he(e,"resize",t)}),t(),i.invertGroups=t)},plotGroup:function(t,e,i,s,n){var o=this[t],r=!o;return r&&(this[t]=o=this.chart.renderer.g(e).attr({visibility:i,zIndex:s||.1}).add(n)),o[r?"attr":"animate"](this.getPlotBox()),o},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var t,e=this.chart,i=this.options,s=i.animation&&!!this.animate&&e.renderer.isSVG,n=this.visible?"visible":"hidden",o=i.zIndex,r=this.hasRendered,a=e.seriesGroup;t=this.plotGroup("group","series",n,o,a),this.markerGroup=this.plotGroup("markerGroup","markers",n,o,a),s&&this.animate(!0),this.getAttribs(),t.inverted=!!this.isCartesian&&e.inverted,this.drawGraph&&(this.drawGraph(),this.clipNeg()),this.drawDataLabels(),this.drawPoints(),!1!==this.options.enableMouseTracking&&this.drawTracker(),e.inverted&&this.invertGroups(),!1===i.clip||this.sharedClipKey||r||t.clip(e.clipRect),s?this.animate():r||this.afterAnimate(),this.isDirty=this.isDirtyData=!1,this.hasRendered=!0},redraw:function(){var t=this.chart,e=this.isDirtyData,i=this.group,s=this.xAxis,n=this.yAxis;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:O(s&&s.left,t.plotLeft),translateY:O(n&&n.top,t.plotTop)})),this.translate(),this.setTooltipPoints(!0),this.render(),e&&le(this,"updatedData")},setState:function(t){var e=this.options,i=this.graph,s=this.graphNeg,n=e.states;e=e.lineWidth,t=t||"";this.state!==t&&(n[this.state=t]&&!1===n[t].enabled||(t&&(e=n[t].lineWidth||e+1),i&&!i.dashstyle&&(t={"stroke-width":e},i.attr(t),s&&s.attr(t))))},setVisible:function(e,t){var i,s=this,n=s.chart,o=s.legendItem,r=n.options.chart.ignoreHiddenSeries,a=s.visible;i=(s.visible=e=s.userOptions.visible=e===j?!a:e)?"show":"hide",se(["group","dataLabelsGroup","markerGroup","tracker"],function(t){s[t]&&s[t][i]()}),n.hoverSeries===s&&s.onMouseOut(),o&&n.legend.colorizeItem(s,e),s.isDirty=!0,s.options.stacking&&se(n.series,function(t){t.options.stacking&&t.visible&&(t.isDirty=!0)}),se(s.linkedSeries,function(t){t.setVisible(e,!1)}),r&&(n.isDirtyBox=!0),!1!==t&&n.redraw(),le(s,i)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(t){this.selected=t=t===j?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),le(this,t?"select":"unselect")},drawTracker:function(){function e(){a.hoverSeries!==i&&i.onMouseOver()}var t,i=this,s=i.options,n=s.trackByArea,o=[].concat(n?i.areaPath:i.graphPath),r=o.length,a=i.chart,h=a.pointer,l=a.renderer,c=a.options.tooltip.snap,d=i.tracker,p=(u=s.cursor)&&{cursor:u},u=i.singlePoints;if(r&&!n)for(t=r+1;t--;)"M"===o[t]&&o.splice(t+1,0,o[t+1]-c,o[t+2],"L"),(t&&"M"===o[t]||t===r)&&o.splice(t,0,"L",o[t-2]+c,o[t-1]);for(t=0;t<u.length;t++)r=u[t],o.push("M",r.plotX-c,r.plotY,"L",r.plotX+c,r.plotY);d?d.attr({d:o}):(i.tracker=l.path(o).attr({"stroke-linejoin":"round",visibility:i.visible?"visible":"hidden",stroke:Nt,fill:n?Nt:Gt,"stroke-width":s.lineWidth+(n?0:2*c),zIndex:2}).add(i.group),se([i.tracker,i.markerGroup],function(t){t.addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(t){h.onTrackerMouseOut(t)}).css(p),Rt&&t.on("touchstart",e)}))}},Qt=t(Te),Jt.line=Qt,ue.area=I(ge,{threshold:0}),Qt=t(Te,{type:"area",getSegments:function(){var e,i,s,t,n,o=[],r=[],a=[],h=this.xAxis,l=this.yAxis,c=l.stacks[this.stackKey],d={},p=this.points,u=this.options.connectNulls;if(this.options.stacking&&!this.cropped){for(t=0;t<p.length;t++)d[p[t].x]=p[t];for(n in c)a.push(+n);a.sort(function(t,e){return t-e}),se(a,function(t){(!u||d[t]&&null!==d[t].y)&&(d[t]?r.push(d[t]):(e=h.translate(t),s=c[t].percent?c[t].total?100*c[t].cum/c[t].total:0:c[t].cum,i=l.toPixels(s,!0),r.push({y:null,plotX:e,clientX:e,plotY:i,yBottom:i,onMouseOver:V})))}),r.length&&o.push(r)}else Te.prototype.getSegments.call(this),o=this.segments;this.segments=o},getSegmentPath:function(t){var e,i=Te.prototype.getSegmentPath.call(this,t),s=[].concat(i),n=this.options;e=i.length;var o,r=this.yAxis.getThreshold(n.threshold);if(3===e&&s.push("L",i[1],i[2]),n.stacking&&!this.closedStacks)for(e=t.length-1;0<=e;e--)o=O(t[e].yBottom,r),e<t.length-1&&n.step&&s.push(t[e+1].plotX,o),s.push(t[e].plotX,o);else this.closeSegment(s,t,r);return this.areaPath=this.areaPath.concat(s),i},closeSegment:function(t,e,i){t.push("L",e[e.length-1].plotX,i,"L",e[0].plotX,i)},drawGraph:function(){this.areaPath=[],Te.prototype.drawGraph.apply(this);var s=this,n=this.areaPath,o=this.options,t=o.negativeColor,e=o.negativeFillColor,i=[["area",this.color,o.fillColor]];(t||e)&&i.push(["areaNeg",t,e]),se(i,function(t){var e=t[0],i=s[e];i?i.animate({d:n}):s[e]=s.chart.renderer.path(n).attr({fill:O(t[2],fe(t[1]).setOpacity(O(o.fillOpacity,.75)).get()),zIndex:0}).add(s.group)})},drawLegendSymbol:function(t,e){e.legendSymbol=this.chart.renderer.rect(0,t.baseline-11,t.options.symbolWidth,12,2).attr({zIndex:3}).add(e.legendGroup)}}),Jt.area=Qt,ue.spline=I(ge),xe=t(Te,{type:"spline",getPointSpline:function(t,e,i){var s,n,o,r,a,h=e.plotX,l=e.plotY,c=t[i-1],d=t[i+1];c&&d&&(t=c.plotY,o=d.plotX,r=(1.5*l+(d=d.plotY))/2.5,r+=a=(r-(n=(1.5*l+t)/2.5))*((o=(1.5*h+o)/2.5)-h)/(o-(s=(1.5*h+c.plotX)/2.5))+l-r,t<(n+=a)&&l<n?r=2*l-(n=yt(t,l)):n<t&&n<l&&(r=2*l-(n=vt(t,l))),d<r&&l<r?n=2*l-(r=yt(d,l)):r<d&&r<l&&(n=2*l-(r=vt(d,l))),e.rightContX=o,e.rightContY=r);return i?(e=["C",c.rightContX||c.plotX,c.rightContY||c.plotY,s||h,n||l,h,l],c.rightContX=c.rightContY=null):e=["M",h,l],e}}),Jt.spline=xe,ue.areaspline=I(ue.area),xe=t(xe,{type:"areaspline",closedStacks:!0,getSegmentPath:(be=Qt.prototype).getSegmentPath,closeSegment:be.closeSegment,drawGraph:be.drawGraph,drawLegendSymbol:be.drawLegendSymbol}),Jt.areaspline=xe,ue.column=I(ge,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0}),xe=t(Te,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){Te.prototype.init.apply(this,arguments);var e=this,t=e.chart;t.hasRendered&&se(t.series,function(t){t.type===e.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var s,n,o=this,t=o.options,e=o.xAxis,r=o.yAxis,i=e.reversed,a={},h=0;!1===t.grouping?h=1:se(o.chart.series,function(t){var e=t.options,i=t.yAxis;t.type===o.type&&t.visible&&r.len===i.len&&r.pos===i.pos&&(e.stacking?(s=t.stackKey,a[s]===j&&(a[s]=h++),n=a[s]):!1!==e.grouping&&(n=h++),t.columnIndex=n)});var l=(e=vt(bt(e.transA)*(e.ordinalSlope||t.pointRange||e.closestPointRange||1),e.len))*t.groupPadding,c=(e-2*l)/h,d=O(d=t.pointWidth,c-2*(t=z(d)?(c-d)/2:c*t.pointPadding));return o.columnMetrics={width:d,offset:t+(l+((i?h-(o.columnIndex||0):o.columnIndex)||0)*c-e/2)*(i?-1:1)}},translate:function(){var t,e=this.chart,i=(t=this.options).borderWidth,a=this.yAxis,h=this.translatedThreshold=a.getThreshold(t.threshold),l=O(t.minPointLength,5),c=(t=this.getColumnMetrics()).width,d=this.barW=xt(yt(c,1+2*i)),p=this.pointXOffset=t.offset,u=-(i%2?.5:0),g=i%2?.5:1;e.renderer.isVML&&e.inverted&&(g+=1),Te.prototype.translate.apply(this),se(this.points,function(t){var e,i=O(t.yBottom,h),s=vt(yt(-999-i,t.plotY),a.len+999+i),n=t.plotX+p,o=d,r=vt(s,i);s=yt(s,i)-r;bt(s)<l&&l&&(s=l,r=ft(bt(r-h)>l?i-l:h-(a.translate(t.y,0,1,0,1)<=h?l:0))),t.barX=n,t.pointWidth=c,i=bt(n)<.5,o=ft(n+o)+u,o-=n=ft(n)+u,e=bt(r)<.5,s=ft(r+s)+g,s-=r=ft(r)+g,i&&(n+=1,--o),e&&(--r,s+=1),t.shapeType="rect",t.shapeArgs={x:n,y:r,width:o,height:s}})},getSymbol:V,drawLegendSymbol:Qt.prototype.drawLegendSymbol,drawGraph:V,drawPoints:function(){var s,n=this,o=n.options,r=n.chart.renderer;se(n.points,function(t){var e=t.plotY,i=t.graphic;e===j||isNaN(e)||null===t.y?i&&(t.graphic=i.destroy()):(s=t.shapeArgs,i?(pe(i),i.animate(I(s))):t.graphic=r[t.shapeType](s).attr(t.pointAttr[t.selected?"select":""]).add(n.group).shadow(o.shadow,null,o.stacking&&!o.borderRadius))})},drawTracker:function(){function e(t){var e,i=t.target;for(n.hoverSeries!==s&&s.onMouseOver();i&&!e;)e=i.point,i=i.parentNode;e!==j&&e!==n.hoverPoint&&e.onMouseOver(t)}var s=this,n=s.chart,i=n.pointer,t=s.options.cursor,o=t&&{cursor:t};se(s.points,function(t){t.graphic&&(t.graphic.element.point=t),t.dataLabel&&(t.dataLabel.element.point=t)}),s._hasTracking||(se(s.trackerGroups,function(t){s[t]&&(s[t].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(t){i.onTrackerMouseOut(t)}).css(o),Rt)&&s[t].on("touchstart",e)}),s._hasTracking=!0)},alignDataLabel:function(t,e,i,s,n){var o=this.chart,r=o.inverted,a=t.dlBox||t.shapeArgs,h=t.below||t.plotY>O(this.translatedThreshold,o.plotSizeY),l=O(i.inside,!!this.options.stacking);a&&(s=I(a),r&&(s={x:o.plotWidth-s.y-s.height,y:o.plotHeight-s.x-s.width,width:s.height,height:s.width}),!l)&&(r?(s.x+=h?0:s.width,s.width=0):(s.y+=h?s.height:0,s.height=0)),i.align=O(i.align,!r||l?"center":h?"right":"left"),i.verticalAlign=O(i.verticalAlign,r||l?"middle":h?"top":"bottom"),Te.prototype.alignDataLabel.call(this,t,e,i,s,n)},animate:function(t){var e=this.yAxis,i=this.options,s=this.chart.inverted,n={};Bt&&(t?(n.scaleY=.001,t=vt(e.pos+e.len,yt(e.pos,e.toPixels(i.threshold))),s?n.translateX=t-e.len:n.translateY=t,this.group.attr(n)):(n.scaleY=1,n[s?"translateX":"translateY"]=e.pos,this.group.animate(n,this.options.animation),this.animate=null))},remove:function(){var e=this,t=e.chart;t.hasRendered&&se(t.series,function(t){t.type===e.type&&(t.isDirty=!0)}),Te.prototype.remove.apply(e,arguments)}}),Jt.column=xe,ue.bar=I(ue.column),be=t(xe,{type:"bar",inverted:!0}),Jt.bar=be,ue.scatter=I(ge,{lineWidth:0,tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>",followPointer:!0},stickyTracking:!1}),be=t(Te,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],drawTracker:xe.prototype.drawTracker,setTooltipPoints:V}),Jt.scatter=be,ue.pie=I(ge,{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}}),ge={type:"pie",isCartesian:!1,pointClass:t(we,{init:function(){we.prototype.init.apply(this,arguments);var t,e=this;return e.y<0&&(e.y=null),D(e,{visible:!1!==e.visible,name:O(e.name,"Slice")}),t=function(t){e.slice("select"===t.type)},ae(e,"select",t),ae(e,"unselect",t),e},setVisible:function(t){var e,i=this,s=i.series,n=s.chart;i.visible=i.options.visible=t=t===j?!i.visible:t,s.options.data[ie(i,s.data)]=i.options,e=t?"show":"hide",se(["graphic","dataLabel","connector","shadowGroup"],function(t){i[t]&&i[t][e]()}),i.legendItem&&n.legend.colorizeItem(i,t),!s.isDirty&&s.options.ignoreHiddenPoint&&(s.isDirty=!0,n.redraw())},slice:function(t,e,i){var s=this.series;X(i,s.chart),O(e,!0),this.sliced=this.options.sliced=t=z(t)?t:!this.sliced,s.options.data[ie(this,s.data)]=this.options,t=t?this.slicedTranslation:{translateX:0,translateY:0},this.graphic.animate(t),this.shadowGroup&&this.shadowGroup.animate(t)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:V,animate:function(t){var i=this,e=i.points,s=i.startAngleRad;t||(se(e,function(t){var e=t.graphic;t=t.shapeArgs;e&&(e.attr({r:i.center[3]/2,start:s,end:s}),e.animate({r:t.r,start:t.start,end:t.end},i.options.animation))}),i.animate=null)},setData:function(t,e){Te.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),O(e,!0)&&this.chart.redraw()},generatePoints:function(){var t,e,i,s,n=0,o=this.options.ignoreHiddenPoint;for(Te.prototype.generatePoints.call(this),i=(e=this.points).length,t=0;t<i;t++)s=e[t],n+=o&&!s.visible?0:s.y;for(this.total=n,t=0;t<i;t++)(s=e[t]).percentage=0<n?s.y/n*100:0,s.total=n},getCenter:function(){var i,s,t=this.options,e=this.chart,n=2*(t.slicedOffset||0),o=e.plotWidth-2*n,r=e.plotHeight-2*n,a=(t=[O((e=t.center)[0],"50%"),O(e[1],"50%"),t.size||"100%",t.innerSize||0],vt(o,r));return re(t,function(t,e){return s=/%$/.test(t),i=e<2||2===e&&s,(s?[o,r,a,a][e]*k(t)/100:t)+(i?n:0)})},translate:function(i){this.generatePoints();var t,e,s,n,o,r=0,a=(u=this.options).slicedOffset,h=a+u.borderWidth,l=u.startAngle||0,c=this.startAngleRad=Tt/180*(l-90),d=(l=(this.endAngleRad=Tt/180*((u.endAngle||l+360)-90))-c,this.points),p=u.dataLabels.distance,u=u.ignoreHiddenPoint,g=d.length;for(i||(this.center=i=this.getCenter()),this.getX=function(t,e){return s=gt.asin((t-i[1])/(i[2]/2+p)),i[0]+(e?-1:1)*kt(s)*(i[2]/2+p)},n=0;n<g;n++)o=d[n],t=c+r*l,u&&!o.visible||(r+=o.percentage/100),e=c+r*l,o.shapeType="arc",o.shapeArgs={x:i[0],y:i[1],r:i[2]/2,innerR:i[3]/2,start:ft(1e3*t)/1e3,end:ft(1e3*e)/1e3},.75*l<(s=(e+t)/2)&&(s-=2*Tt),o.slicedTranslation={translateX:ft(kt(s)*a),translateY:ft(wt(s)*a)},t=kt(s)*i[2]/2,e=wt(s)*i[2]/2,o.tooltipPos=[i[0]+.7*t,i[1]+.7*e],o.half=s<-Tt/2||Tt/2<s?1:0,o.angle=s,h=vt(h,p/2),o.labelPos=[i[0]+t+kt(s)*p,i[1]+e+wt(s)*p,i[0]+t+kt(s)*h,i[1]+e+wt(s)*h,i[0]+t,i[1]+e,p<0?"center":o.half?"right":"left",s]},setTooltipPoints:V,drawGraph:null,drawPoints:function(){var e,i,s,n,o=this,r=o.chart.renderer,a=o.options.shadow;a&&!o.shadowGroup&&(o.shadowGroup=r.g("shadow").add(o.group)),se(o.points,function(t){i=t.graphic,n=t.shapeArgs,s=t.shadowGroup,a&&!s&&(s=t.shadowGroup=r.g("shadow").add(o.shadowGroup)),e=t.sliced?t.slicedTranslation:{translateX:0,translateY:0},s&&s.attr(e),i?i.animate(D(n,e)):t.graphic=i=r.arc(n).setRadialReference(o.center).attr(t.pointAttr[t.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(e).add(o.group).shadow(a,s),!1===t.visible&&t.setVisible(!1)})},sortByAngle:function(t,i){t.sort(function(t,e){return void 0!==t.angle&&(e.angle-t.angle)*i})},drawDataLabels:function(){function t(t,e){return e.y-t.y}var e,i,s,n,o,r,a,h,l,c,d,p,u=this,g=u.data,f=u.chart,m=u.options.dataLabels,x=O(m.connectorPadding,10),y=O(m.connectorWidth,1),v=f.plotWidth,b=(f=f.plotHeight,O(m.softConnector,!0)),k=m.distance,w=u.center,T=w[2]/2,S=w[1],L=0<k,P=[[],[]],A=[0,0,0,0];if(u.visible&&(m.enabled||u._hasPointLabels)){for(Te.prototype.drawDataLabels.apply(u),se(g,function(t){t.dataLabel&&P[t.half].push(t)}),d=0;!a&&g[d];)a=g[d]&&g[d].dataLabel&&(g[d].dataLabel.getBBox().height||21),d++;for(d=2;d--;){g=[];var C,M=[],D=P[d],I=D.length;if(u.sortByAngle(D,d-.5),0<k){for(p=S-T-k;p<=S+T+k;p+=a)g.push(p);if((o=g.length)<I){for((e=[].concat(D)).sort(t),p=I;p--;)e[p].rank=p;for(p=I;p--;)D[p].rank>=o&&D.splice(p,1);I=D.length}for(p=0;p<I;p++){var z,B;for(e=D[p],r=e.labelPos,e=9999,B=0;B<o;B++)(z=bt(g[B]-r[1]))<e&&(e=z,C=B);if(C<p&&null!==g[p])C=p;else for(o<I-p+C&&null!==g[p]&&(C=o-I+p);null===g[C];)C++;M.push({i:C,y:g[C]}),g[C]=null}M.sort(t)}for(p=0;p<I;p++)e=D[p],r=e.labelPos,n=e.dataLabel,c=!1===e.visible?"hidden":"visible",e=r[1],0<k?(C=(o=M.pop()).i,((l=o.y)<e&&null!==g[C+1]||e<l&&null!==g[C-1])&&(l=e)):l=e,h=m.justify?w[0]+(d?-1:1)*(T+k):u.getX(0===C||C===g.length-1?e:l,d),n._attr={visibility:c,align:r[6]},n._pos={x:h+m.x+({left:x,right:-x}[r[6]]||0),y:l+m.y-10},n.connX=h,n.connY=l,null===this.options.size&&(o=n.width,h-o<x?A[3]=yt(ft(o-h+x),A[3]):v-x<h+o&&(A[1]=yt(ft(h+o-v+x),A[1])),l-a/2<0?A[0]=yt(ft(a/2-l),A[0]):f<l+a/2&&(A[2]=yt(ft(l+a/2-f),A[2])))}0!==H(A)&&!this.verifyDataLabelOverflow(A)||(this.placeDataLabels(),L&&y&&se(this.points,function(t){i=t.connector,r=t.labelPos,(n=t.dataLabel)&&n._pos?(c=n._attr.visibility,h=n.connX,l=n.connY,s=b?["M",h+("left"===r[6]?5:-5),l,"C",h,l,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],"L",r[4],r[5]]:["M",h+("left"===r[6]?5:-5),l,"L",r[2],r[3],"L",r[4],r[5]],i?(i.animate({d:s}),i.attr("visibility",c)):t.connector=i=u.chart.renderer.path(s).attr({"stroke-width":y,stroke:m.connectorColor||t.color||"#606060",visibility:c}).add(u.group)):i&&(t.connector=i.destroy())}))}},verifyDataLabelOverflow:function(t){var e,i=this.center,s=this.options,n=s.center,o=s=s.minSize||80;return null!==n[0]?o=yt(i[2]-yt(t[1],t[3]),s):(o=yt(i[2]-t[1]-t[3],s),i[0]+=(t[3]-t[1])/2),null!==n[1]?o=yt(vt(o,i[2]-yt(t[0],t[2])),s):(o=yt(vt(o,i[2]-t[0]-t[2]),s),i[1]+=(t[0]-t[2])/2),o<i[2]?(i[2]=o,this.translate(i),se(this.points,function(t){t.dataLabel&&(t.dataLabel._pos=null)}),this.drawDataLabels()):e=!0,e},placeDataLabels:function(){se(this.points,function(t){var e;(t=t.dataLabel)&&((e=t._pos)?(t.attr(t._attr),t[t.moved?"animate":"attr"](e),t.moved=!0):t&&t.attr({y:-999}))})},alignDataLabel:V,drawTracker:xe.prototype.drawTracker,drawLegendSymbol:Qt.prototype.drawLegendSymbol,getSymbol:V},ge=t(Te,ge),Jt.pie=ge,D(Highcharts,{Axis:h,Chart:n,Color:fe,Legend:F,Pointer:s,Point:we,Tick:Y,Tooltip:N,Renderer:_,Series:Te,SVGElement:W,SVGRenderer:me,arrayMin:M,arrayMax:H,charts:Yt,dateFormat:K,format:L,pathAnim:q,getOptions:function(){return Z},hasBidiBug:Ot,isTouchDevice:It,numberFormat:d,seriesTypes:Jt,setOptions:function(t){return Z=I(Z,t),i(),Z},addEvent:ae,removeEvent:he,createElement:C,discardElement:r,css:S,each:se,extend:D,map:re,merge:I,pick:O,splat:u,extendClass:t,pInt:k,wrap:e,svg:Bt,canvas:Ht,vml:!Bt&&!Ht,product:"Highcharts",version:"3.0.6"})}();
|