corrade-nucleus-nucleons – Rev 1

Subversion Repositories:
Rev:
/*
 Highstock JS v5.0.10 (2017-03-31)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(I,a){"object"===typeof module&&module.exports?module.exports=I.document?a(I):a:I.Highcharts=a(I)})("undefined"!==typeof window?window:this,function(I){I=function(){var a=window,B=a.document,z=a.navigator&&a.navigator.userAgent||"",A=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,E=/(edge|msie|trident)/i.test(z)&&!window.opera,v=!A,g=/Firefox/.test(z),m=g&&4>parseInt(z.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock",
version:"5.0.10",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:m,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:E,isWebKit:/AppleWebKit/.test(z),isFirefox:g,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(z),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:A,vml:v,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var B=[],z=a.charts,A=a.doc,E=a.win;a.error=function(v,g){v=a.isNumber(v)?"Highcharts error #"+
v+": www.highcharts.com/errors/"+v:v;if(g)throw Error(v);E.console&&console.log(v)};a.Fx=function(a,g,m){this.options=g;this.elem=a;this.prop=m};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],m=[],t=this.now,n=a.length,h;if(1===t)m=this.toD;else if(n===g.length&&1>t)for(;n--;)h=parseFloat(a[n]),m[n]=isNaN(h)?a[n]:t*parseFloat(g[n]-h)+h;else m=g;this.elem.attr("d",m,null,!0)},update:function(){var a=this.elem,g=this.prop,m=this.now,t=this.options.step;if(this[g+"Setter"])this[g+
"Setter"]();else a.attr?a.element&&a.attr(g,m,null,!0):a.style[g]=m+this.unit;t&&t.call(a,m,this)},run:function(a,g,m){var t=this,n=function(a){return n.stopped?!1:t.step(a)},h;this.startTime=+new Date;this.start=a;this.end=g;this.unit=m;this.now=this.start;this.pos=0;n.elem=this.elem;n.prop=this.prop;n()&&1===B.push(n)&&(n.timerId=setInterval(function(){for(h=0;hvar n=t.complete,h=t.duration,e=t.curAnim,c;if(m.attr&&!m.element)m=!1;else if(a||g>=h+this.startTime){this.now=this.end;this.pos=1;this.update();a=e[this.prop]=!0;for(c in e)!0!==e[c]&&(a=!1);a&&n&&n.call(m);m=!1}else this.pos=t.easing((g-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),m=!0;return m},initPath:function(v,g,m){function t(a){var b,d;for(q=a.length;q--;)b="M"===a[q]||"L"===a[q],d=/[a-zA-Z]/.test(a[q+3]),b&&d&&a.splice(q+1,0,a[q+1],a[q+2],a[q+1],a[q+
2])}function n(a,k){for(;a.length<f;){a[0]=k[f-a.length];var d=a.slice(0,b);[].splice.apply(a,[0,0].concat(d));D&&(d=a.slice(a.length-b),[].splice.apply(a,[a.length,0].concat(d)),q--)}a[0]="M"}function h(a,k){for(var d=(f-a.length)/b;0p-b,b*p),x[0]=k[f-b-d*b],u&&(x[b-6]=x[b-2],x[b-5]=x[b-1]),[].splice.apply(a,[a.length/p,0].concat(x)),D&&d--}g=g||"";var e,c=v.startX,r=v.endX,u=-1u&&(t(g),t(m));if(c&&r){for(q=0;qh[r]=n(h[r]||{},c):h[r]=e[r]);return h};!0===g[0]&&(t=g[1],g=Array.prototype.slice.call(g,2));m=g.length;for(v=0;vfunction(a,g){for(var m=a.length;m--;)if(a[m]===g){a.splice(m,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(v,g,m){var t,n;if(a.isString(g))a.defined(m)?v.setAttribute(g,m):v&&v.getAttribute&&(n=v.getAttribute(g));else if(a.defined(g)&&a.isObject(g))for(t in g)v.setAttribute(t,g[t]);return n};a.splat=function(v){return a.isArray(v)?v:[v]};a.syncTimeout=function(a,g,m){if(g)return setTimeout(a,g,m);a.call(0,m)};a.pick=function(){var a=arguments,g,m,t=a.length;for(g=
0;g0)+a};a.relativeLength=function(a,g){return/%$/.test(a)?g*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,g,m){var t=a[g];a[g]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,e=this;e.proceed=function(){t.apply(e,arguments.length?arguments:h)};a.unshift(t);a=m.apply(this,a);e.proceed=null;return a}};a.getTZOffset=function(v){var g=a.Date;return 6E4*(g.hcGetTimezoneOffset&&g.hcGetTimezoneOffset(v)||g.hcTimezoneOffset||0)};a.dateFormat=<FONT COLOR="#A020F0">function(v,g,m){if(!a.defined(g)||isNaN(g))return a.defaultOptions.lang.invalidDate||
"";v=a.pick(v,"%Y-%m-%d %H:%M:%S");var t=a.Date,n=new t(g-a.getTZOffset(g)),h,e=n[t.hcGetHours](),c=n[t.hcGetDay](),r=n[t.hcGetDate](),u=n[t.hcGetMonth](),b=n[t.hcGetFullYear](),f=a.defaultOptions.lang,x=f.weekdays,q=f.shortWeekdays,D=a.pad,t=a.extend({a:q?q[c]:x[c].substr(0,3),A:x[c],d:D(r),e:D(r,2," "),w:c,b:f.shortMonths[u],B:f.months[u],m:D(u+1),y:b.toString().substr(2,2),Y:b,H:D(e),k:e,I:D(e%12||12),l:e%12||12,M:D(n[t.hcGetMinutes]()),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:D(n.getSeconds()),L:D(Math.round(g%
1E3),3)},a.dateFormats);for(h in t)for(;-1!==v.indexOf("%"+h);)v=v.replace("%"+h,"function"===typeof t[h]?t[h](g):t[h]);return m?v.substr(0,1).toUpperCase()+v.substr(1):v};a.formatSingle=function(v,g){var m=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(v)?(m=(m=v.match(m))?m[1]:-1,null!==g&&(g=a.numberFormat(g,m,t.decimalPoint,-1<v.indexOf(",")?t.thousandsSep:""))):g=a.dateFormat(v,g);return g};a.format="#A020F0">function(v,g){for(var m="{",t=!1,n,h,e,c,r=[],u;v;){m=v.indexOf(m);if(-1===m)break;n=v.slice(0,
m);if(t){n=n.split(":");h=n.shift().split(".");c=h.length;u=g;for(e=0;e<c;e++)u=u[h[e]];n.length&&(u=a.formatSingle(n.join(":"),u));r.push(u)}else r.push(n);v=v.slice(m+1);m=(t=!t)?"}":"{"}r.push(v);return r.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(v,g,m,t,n){var h,e=v;m=a.pick(m,1);h=v/m;g||(g=n?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===m?g=a.grep(g,function(a){return 0===a%1}):.1>=m&&(g=[1/m])));
for(t=0;t=v||!n&&h<=(g[t]+(g[t+1]||g[t]))/2);t++);return e=a.correctFloat(e*m,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var m=a.length,t,n;for(n=0;nm&&(m=a[g]);return m};a.destroyObjectProperties=
function(a,g){for(var m in a)a[m]&&a[m]!==g&&a[m].destroy&&a[m].destroy(),delete a[m]};a.discardElement=function(v){var g=a.garbageBin;g||(g=a.createElement("div"));v&&g.appendChild(v);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=function(v,g){g.renderer.globalAnimation=a.pick(v,g.options.chart.animation,!0)};a.animObject=function(v){return a.isObject(v)?a.merge(v):{duration:v?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,
day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(v,g,m,t){v=+v||0;g=+g;var n=a.defaultOptions.lang,h=(v.toString().split(".")[1]||"").length,e,c;-1===g?g=Math.min(h,20):a.isNumber(g)||(g=2);c=(Math.abs(v)+Math.pow(10,-Math.max(g,h)-1)).toFixed(g);h=String(a.pInt(c));e=3v?"-":"")+(e?h.substr(0,e)+t:"");v+=h.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+t);g&&(v+=m+c.slice(-g));return v};Math.easeInOutSine=
function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(v,g){return"width"===g?Math.min(v.offsetWidth,v.scrollWidth)-a.getStyle(v,"padding-left")-a.getStyle(v,"padding-right"):"height"===g?Math.min(v.offsetHeight,v.scrollHeight)-a.getStyle(v,"padding-top")-a.getStyle(v,"padding-bottom"):(v=E.getComputedStyle(v,void 0))&&a.pInt(v.getPropertyValue(g))};a.inArray=function(a,g){return g.indexOf?g.indexOf(a):[].indexOf.call(g,a)};a.grep=function(a,g){return[].filter.call(a,g)};a.find=function(a,
g){return[].find.call(a,g)};a.map=function(a,g){for(var m=[],t=0,n=a.length;tg,m){function t(a){a.target=a.srcElement||E;m.call(v,a)}var n=v.hcEvents=v.hcEvents||{};v.addEventListener?v.addEventListener(g,m,!1):v.attachEvent&&(v.hcEventsIE||(v.hcEventsIE={}),v.hcEventsIE[m.toString()]=t,v.attachEvent("on"+g,t));n[g]||(n[g]=[]);n[g].push(m);return function(){a.removeEvent(v,g,m)}};a.removeEvent=function(v,g,m){function t(a,c){v.removeEventListener?v.removeEventListener(a,c,!1):v.attachEvent&&(c=v.hcEventsIE[c.toString()],v.detachEvent("on"+a,c))}function n(){var a,c;if(v.nodeName)for(c in g?
(a={},a[g]=!0):a=e,a)if(e[c])for(a=e[c].length;a--;)t(c,e[c][a])}var h,e=v.hcEvents,c;e&&(g?(h=e[g]||[],m?(c=a.inArray(m,h),-1!0},target:v,type:g}),g=0;gc))||0,"opacity"!==c&&(n="px")),h||(h=g[c]),h&&h.match&&h.match("px")&&(h=h.replace(/px/g,"")),e.run(t,h,n)};a.seriesType=function(v,g,m,t,n){var h=a.getOptions(),e=a.seriesTypes;h.plotOptions[v]=a.merge(h.plotOptions[g],m);e[v]=a.extendClass(e[g]||function(){},t);e[v].prototype.type=v;n&&(e[v].prototype.pointClass=a.extendClass(a.Point,n));return e[v]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();E.jQuery&&(E.jQuery.fn.highcharts=
function(){var v=[].slice.call(arguments);if(this[0])return v[0]?(new (a[a.isString(v[0])?v.shift():"Chart"])(this[0],v[0],v[1]),this):z[a.attr(this[0],"data-highcharts-chart")]});A&&!A.defaultView&&(a.getStyle=function(v,g){var m={width:"clientWidth",height:"clientHeight"}[g];if(v.style[g])return a.pInt(v.style[g]);"opacity"===g&&(g="filter");if(m)return v.style.zoom=1,Math.max(v[m]-2*a.getStyle(v,"padding"),0);v=v.currentStyle[g.replace(/\-(\w)/g,function(a,g){return g.toUpperCase()})];"filter"===
g&&(v=v.replace(/alpha\(opacity=([0-9]+)\)/,function(a,g){return g/100}));return""===v?1:a.pInt(v)});Array.prototype.forEach||(a.each=function(a,g,m){for(var t=0,n=a.length;t<n;t++)if(!1===g.call(m,a[t],t,a))return t});Array.prototype.indexOf||(a.inArray=function(a,g){var m,t=0;if(g)for(m=g.length;t<m;t++)if(g[t]===a)return t;return-1});Array.prototype.filter||(a.grep=function(a,g){for(var m=[],t=0,n=a.length;t<n;t++)g(a[t],t)&&m.push(a[t]);return m});Array.prototype.find||(a.find=function(a,g){var m,
t=a.length;for(m=0;m<t;m++)if(g(a[m],m))return a[m]})})(I);(function(a){var B=a.each,z=a.isNumber,A=a.map,E=a.merge,v=a.pInt;a.Color=function(g){if(!(this instanceof a.Color))return new a.Color(g);this.init(g)};a.Color.prototype={parsers:[{regex:/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*\)/,parse:function(a){return[v(a[1]),v(a[2]),v(a[3]),parseFloat(a[4],10)]}},{regex:>/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[v(a[1]),
v(a[2]),v(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(g){var m,t,n,h;if((this.input=g=this.names[g&&g.toLowerCase?g.toLowerCase():""]||g)&&g.stops)this.stops=A(g.stops,function(e){return new a.Color(e[1])});else if(g&&"#"===g[0]&&(m=g.length,g=parseInt(g.substr(1),16),7===m?t=[(g&16711680)>>16,(g&65280)>>8,g&255,1]:4===m&&amp;(t=[(g&3840)>>4|(g&3840)>>8,(g&240)>>4|g&240,(g&15)<<4|g&15,1])),!t)for(n=this.parsers.length;n--&&!t;)h=this.parsers[n],(m=h.regex.exec(g))&&(t=h.parse(m));
this.rgba=t||[]},get:function(a){var g=this.input,t=this.rgba,n;this.stops?(n=E(g),n.stops=[].concat(n.stops),B(this.stops,function(h,e){n.stops[e]=[n.stops[e][0],h.get(a)]})):n=t&&z(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?t[3]:"rgba("+t.join(",")+")":g;return n},brighten:function(a){var g,t=this.rgba;if(this.stops)B(this.stops,function(g){g.brighten(a)});else if(z(a)&&0!==a)for(g=0;3>g;g++)t[g]+=v(255*a),0>t[g]&&(t[g]=0),255<t[g]&&(t[g]=255);return this},setOpacity:function(a){this.rgba[3]=
a;return this}};a.color=function(g){return new a.Color(g)}})(I);(function(a){var B,z,A=a.addEvent,E=a.animate,v=a.attr,g=a.charts,m=a.color,t=a.css,n=a.createElement,h=a.defined,e=a.deg2rad,c=a.destroyObjectProperties,r=a.doc,u=a.each,b=a.extend,f=a.erase,x=a.grep,q=a.hasTouch,D=a.inArray,p=a.isArray,K=a.isFirefox,H=a.isMS,k=a.isObject,d=a.isString,w=a.isWebKit,y=a.merge,C=a.noop,G=a.pick,l=a.pInt,F=a.removeEvent,M=a.splat,L=a.stop,P=a.svg,R=a.SVG_NS,S=a.symbolSizes,O=a.win;B=a.SVGElement=function(){return this};
B.prototype={opacity:1,SVG_NS:R,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,l){this.element="span"===l?n(l):r.createElementNS(this.SVG_NS,l);this.renderer=a},animate:function(l,d,b){d=a.animObject(G(d,this.renderer.globalAnimation,!0));0!==d.duration?(b&&(d.complete=b),E(this,l,d)):(this.attr(l,null,b),d.step&&d.step.call(this));return this},colorGradient:function(d,l,b){var J=this.renderer,
k,F,f,c,w,C,x,q,e,N,G,r=[],D;d.radialGradient?F="radialGradient":d.linearGradient&&(F="linearGradient");if(F){f=d[F];w=J.gradients;x=d.stops;N=b.radialReference;p(f)&&(d[F]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===F&&N&&!h(f.gradientUnits)&&(c=f,f=y(f,J.getRadialAttr(N,c),{gradientUnits:"userSpaceOnUse"}));for(G in f)"id"!==G&&r.push(G,f[G]);for(G in x)r.push(x[G]);r=r.join(",");w[r]?N=w[r].attr(&quot;id"):(f.id=N=a.uniqueKey(),w[r]=C=J.createElement(F).attr(f).add(J.defs),
C.radAttr=c,C.stops=[],u(x,function(d){0===d[1].indexOf("rgba")?(k=a.color(d[1]),q=k.get("rgb"),e=k.get("a")):(q=d[1],e=1);d=J.createElement("stop").attr({offset:d[0],"stop-color":q,"stop-opacity":e}).add(C);C.stops.push(d)}));D="url("+J.url+"#"+N+")";b.setAttribute(l,D);b.gradient=r;d.toString=function(){return D}}},applyTextOutline:function(d){var l=this.element,b,J,k,F,c;-1!==d.indexOf(<B>"contrast")&&(d=d.replace(/contrast/g,this.renderer.getContrast(l.style.fill)));d=d.split(" ");J=d[d.length-1];
if((k=d[0])&&"none"!==k&&a.svg){this.fakeTS=!0;d=[].slice.call(l.getElementsByTagName("tspan"));this.ySetter=this.xSetter;k=k.replace(/(^[\d\.]+)(.*?)$/g,function(a,d,l){return 2*d+l});for(c=d.length;c--;)b=d[c],"highcharts-text-outline"===b.getAttribute("class")&&f(d,l.removeChild(b));F=l.firstChild;u(d,function(a,d){0===d&&(a.setAttribute("x",l.getAttribute("x")),d=l.getAttribute(NT COLOR="#BC8F8F">"y"),a.setAttribute("y",d||0),null===d&&l.setAttribute("y",0));a=a.cloneNode(1);v(a,{"class":"highcharts-text-outline",
fill:J,stroke:J,"stroke-width":k,"stroke-linejoin":"round"});l.insertBefore(a,F)})}},attr:function(a,d,l,b){var J,k=this.element,F,f=this,c;"string"===typeof a&&void 0!==d&&(J=a,a={},a[J]=d);if("string"===typeof a)f=(this[a+"Getter"]||this._defaultGetter).call(this,a,k);else{for(J in a)d=a[J],c=!1,b||L(this,J),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(J)&&(F||(this.symbolAttr(a),F=!0),c=!0),!this.rotation||"x"!==J&&"y"!==J||(this.doTransform=!0),c||(c=this[J+
"Setter"]||this._defaultSetter,c.call(this,d,J,k));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}l&&l();return f},addClass:function(a,d){var l=this.attr("class")||"";-1===l.indexOf(a)&&(d||(a=(l+(l?" ":"")+a).replace("  "," ")),this.attr("class",a));<FONT COLOR="#A020F0">return this},hasClass:function(a){return-1!==v(this.element,"class").indexOf(a)},removeClass:function(a){v(this.element,"class",(v(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var d=this;u("x y r start end width height innerR anchorX anchorY".split(<B>" "),
function(l){d[l]=G(a[l],d[l])});d.attr({d:d.renderer.symbols[d.symbolName](d.x,d.y,d.width,d.height,d)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,d){var l,b={},k;d=d||a.strokeWidth||0;k=Math.round(d)%2/2;a.x=Math.floor(a.x||this.x||0)+k;a.y=Math.floor(a.y||this.y||0)+k;a.width=Math.floor((a.width||this.width||0)-2*k);a.height=Math.floor((a.height||this.height||0)-2*k);h(a.strokeWidth)&&(a.strokeWidth=d);for(l in a)this[l]!==a[l]&&
(this[l]=b[l]=a[l]);return b},css:function(a){var d=this.styles,k={},F=this.element,f,J="",c=!d,w=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);if(d)for(f in a)a[f]!==d[f]&&(k[f]=a[f],c=!0);if(c){d&&(a=b(d,k));d=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===F.nodeName.toLowerCase()&&l(a.width);this.styles=a;d&&!P&&this.renderer.forExport&&delete a.width;if(H&&!P)t(this.element,a);else{d=function(a,d){return"-"+d.toLowerCase()};for(f in a)-1===D(f,w)&&(J+=f.replace(/([A-Z])/g,
d)+":"+a[f]+";");J&&v(F,"style",J)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},getStyle:function(a){return O.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),d;a.indexOf("px")===a.length-2?a=l(a):(d=r.createElementNS(R,"rect"),v(d,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(d),a=d.getBBox().width,d.parentNode.removeChild(d));
return a},on:function(a,d){var l=this,b=l.element;q&&"click"===a?(b.ontouchstart=function(a){l.touchEventFired=Date.now();a.preventDefault();d.call(b,a)},b.onclick=function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100d){return this.attr({translateX:a,translateY:d})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,d=this.translateY||0,l=this.scaleX,b=this.scaleY,k=this.inverted,F=this.rotation,f=this.element;k&&(a+=this.width,d+=this.height);a=["translate("+a+","+d+")"];k?a.push("rotate(90) scale(-1,1)"):F&&a.push("rotate("+F+" "+(f.getAttribute("x")||0)+" "+(f.getAttribute("y")||0)+")");(h(l)||h(b))&&a.push("scale("+G(l,1)+" "+G(b,1)+")");
a.length&&f.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,l,b){var k,F,c,w,J={};F=this.renderer;c=F.alignedObjects;var p,C;if(a){if(this.alignOptions=a,this.alignByTranslate=l,!b||d(b))this.alignTo=k=b||"renderer",f(c,this),c.push(this),b=null}else a=this.alignOptions,l=this.alignByTranslate,k=this.alignTo;b=G(b,F[k],F);k=a.align;F=a.verticalAlign;c=(b.x||0)+(a.x||0);w=(b.y||0)+(a.y||0);"right"===k?p=1:"center"===
k&&(p=2);p&&(c+=(b.width-(a.width||0))/p);J[l?"translateX":"x"]=Math.round(c);"bottom"===F?C=1:"middle"===F&&(C=2);C&&(w+=(b.height-(a.height||0))/C);J[l?"translateY":"y"]=Math.round(w);this[this.placed?"animate":"attr"](J);this.placed=!0;this.alignAttr=J;return this},getBBox:function(a,d){var l,k=this.renderer,F,f=this.element,c=this.styles,w,J=this.textStr,p,C=k.cache,x=k.cacheKeys,y;d=G(d,this.rotation);F=d*e;w=f&&B.prototype.getStyle.call(f,"font-size");void 0!==J&&(y=J.toString(),-1===y.indexOf("\x3c")&&
(y=y.replace(/[0-9]/g,"0")),y+=["",d||0,w,c&&c.width,c&&c.textOverflow].join());y&&!a&&(l=C[y]);if(!l){if(f.namespaceURI===this.SVG_NS||k.forExport){try{(p=this.fakeTS&&function(a){u(f.querySelectorAll(".highcharts-text-outline"),function(d){d.style.display=a})})&&p("none"),l=f.getBBox?b({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},p&&p("")}catch(T){}if(!l||0>l.width)l={width:0,height:0}}else l=this.htmlGetBBox();k.isSVG&&(a=l.width,k=l.height,c&&"11px"===c.fontSize&&17===Math.round(k)&&
(l.height=k=14),d&&(l.width=Math.abs(k*Math.sin(F))+Math.abs(a*Math.cos(F)),l.height=Math.abs(k*Math.cos(F))+Math.abs(a*Math.sin(F))));if(y&&0l=this.element,b;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&d.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)b=this.zIndexSetter();b||(a?a.element:d.box).appendChild(l);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var d=a.parentNode;d&&d.removeChild(a)},destroy:function(){var a=this,d=a.element||{},l=a.renderer.isSVG&&"SPAN"===d.nodeName&&a.parentGroup,b,k;d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null;L(a);
a.clipPath&&(u(a.element.ownerSVGElement.querySelectorAll("[clip-path]"),function(d){-1this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=G(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,d,l){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");l.setAttribute(d,a);this[d]=a},alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,d,l){this[d]=a;
l.setAttribute(d,a)},titleSetter:function(a){var d=this.element.getElementsByTagName("title")[0];d||(d=r.createElementNS(this.SVG_NS,"title"),this.element.appendChild(d));d.firstChild&&d.removeChild(d.firstChild);d.appendChild(r.createTextNode(String(G(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,d,l){"string"===typeof a?l.setAttribute(d,a):a&&this.colorGradient(a,d,l)},
visibilitySetter:function(a,d,l){"inherit"===a?l.removeAttribute(d):l.setAttribute(d,a)},zIndexSetter:function(a,d){var b=this.renderer,k=this.parentGroup,F=(k||b).element||b.box,f,c=this.element,w;f=this.added;var p;h(a)&&(c.zIndex=a,a=+a,this[d]===a&&(f=!1),this[d]=a);if(f){(a=this.zIndex)&&k&&(k.handleZ=!0);d=F.childNodes;for(p=0;pa||!h(a)&&h(f)||0>a&&!h(f)&&F!==b.box)&&(F.insertBefore(c,k),w=!0);w||F.appendChild(c)}return w},_defaultSetter:function(a,
d,l){l.setAttribute(d,a)}};B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=function(a,d){this[d]=a;this.doTransform=!0};z=a.SVGRenderer=function(){this.init.apply(this,arguments)};z.prototype={Element:B,SVG_NS:R,init:function(a,d,l,b,k,F){var f;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});f=b.element;a.appendChild(f);
-1===a.innerHTML.indexOf("xmlns")&&v(f,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=f;this.boxWrapper=b;this.alignedObjects=[];this.url=(K||w)&&r.getElementsByTagName("base").length?O.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(r.createTextNode("Created with Highstock 5.0.10"));this.defs=this.createElement("defs").add();this.allowHTML=F;this.forExport=k;this.gradients={};this.cache=
{};this.cacheKeys=[];this.imgCount=0;this.setSize(d,l,!1);var c;K&&a.getBoundingClientRect&&(d=function(){t(a,{left:0,top:0});c=a.getBoundingClientRect();t(a,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},d(),this.unSubPixelFix=A(O,"resize",d))},definition:function(a){function d(a,b){var k;u(M(a),function(a){var F=l.createElement(a.tagName),f,c={};for(f in a)"tagName"!==f&&"children"!==f&&"textContent"!==f&&(c[f]=a[f]);F.attr(c);F.add(b||l.defs);a.textContent&&F.element.appendChild(r.createTextNode(a.textContent));
d(a.children||[],F);k=F});return k}var l=this;return d(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();c(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var d=new this.Element;d.init(this,a);return d},draw:C,getRadialAttr:function(a,d){return{cx:a[0]-a[2]/2+d.cx*a[2],cy:a[1]-
a[2]/2+d.cy*a[2],r:d.r*a[2]}},getSpanWidth:function(a,d){var l=a.getBBox(!0).width;!P&&this.forExport&&(l=this.measureSpanWidth(d.firstChild.data,a.styles));return l},applyEllipsis:function(a,d,l,b){var k=this.getSpanWidth(a,d),F=k>b,k=l,f,c=0,w=l.length,p=function(a){d.removeChild(d.firstChild);a&&d.appendChild(r.createTextNode(a))};if(F){for(;c<=w;)f=Math.ceil((c+w)/2),k=l.substring(0,f)+"\u2026",p(k),k=this.getSpanWidth(a,d),c===w?c=w+1:k>b?w=f-1:c=f;0===w&&p("")}return F},buildText:function(a){var d=
a.element,b=this,k=b.forExport,F=G(a.textStr,"").toString(),f=-1!==F.indexOf("\x3c"),c=d.childNodes,w,p,C,y,q=v(d,"x"),e=a.styles,D=a.textWidth,h=e&&e.lineHeight,J=e&&e.textOutline,g=e&&"ellipsis"===e.textOverflow,M=e&&"nowrap"===e.whiteSpace,K,n=c.length,L=D&&!a.added&&this.box,m=function(a){return h?l(h):b.fontMetrics(void 0,a.getAttribute("style")?a:d).h},e=[F,g,M,h,J,e&&e.fontSize,D].join();if(e!==a.textCache){for(a.textCache=e;n--;)d.removeChild(c[n]);f||J||g||D||-1!==F.indexOf(" ")?(w=/<.*class="([^"]+)".*>/,
p=/<.*style="([^"]+)".*>/,C=/<.*href="(http[^"]+)".*>/,L&&L.appendChild(d),F=f?F.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[F],F=x(F,function(a){return""!==a}),u(F,function(l,F){var f,c=0;l=l.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");f=l.split("|||");u(f,function(l){if(""!==
l||1===f.length){var x={},e=r.createElementNS(b.SVG_NS,"tspan"),u,G;w.test(l)&&(u=l.match(w)[1],v(e,"class",u));p.test(l)&&(G=l.match(p)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),v(e,"style",G));C.test(l)&&!k&&(v(e,"onclick",'location.href\x3d"'+l.match(C)[1]+'"'),t(e,{cursor:"pointer"}));l=(l.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==l){e.appendChild(r.createTextNode(l));c?x.dx=0:F&&null!==q&&(x.x=q);v(e,x);d.appendChild(e);!c&&K&&(!P&&k&&t(e,{display:"block"}),
v(e,"dy",m(e)));if(D){x=l.replace(/([^\^])-/g,"$1- ").split(" ");u=1<f.length||F||1<x.length&&!M;var h=[],J,n=m(e),L=a.rotation;for(g&&(y=b.applyEllipsis(a,e,l,D));!g&&u&&(x.length||h.length);)a.rotation=0,J=b.getSpanWidth(a,e),l=J>D,void 0===y&&(y=l),l&&1!==x.length?(e.removeChild(e.firstChild),h.unshift(x.pop())):(x=h,h=[],x.length&&!M&&(e=r.createElementNS(R,"tspan"),v(e,{dy:n,x:q}),G&&v(e,"style",G),d.appendChild(e)),J>D&&(D=J)),x.length&&e.appendChild(r.createTextNode(x.join(" ").replace(/- /g,
"-")));a.rotation=L}c++}}});K=K||d.childNodes.length}),y&&a.attr("title",a.textStr),L&&L.removeChild(d),J&&a.applyTextOutline&&a.applyTextOutline(J)):d.appendChild(r.createTextNode(F.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=m(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,d,l,b,k,F,f,c,w){var p=this.label(a,d,l,w,null,null,null,null,"button"),x=0;p.attr(y({padding:8,r:2},k));A(p.element,H?"mouseover":"mouseenter",function(){3!==x&&p.setState(1)});
A(p.element,H?"mouseout":"mouseleave",function(){3!==x&&p.setState(x)});p.setState=function(a){1!==a&&(p.state=x=a);p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return p.on("click",function(a){3!==x&&b.call(p,a)})},crispLine:function(a,d){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-d%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+d%2/2);return a},path:function(a){var d={};p(a)?d.d=a:k(a)&&b(d,a);return this.createElement("path").attr(d)},
circle:function(a,d,l){a=k(a)?a:{x:a,y:d,r:l};d=this.createElement("circle");d.xSetter=d.ySetter=function(a,d,l){l.setAttribute("c"+d,a)};return d.attr(a)},arc:function(a,d,l,b,F,f){k(a)?(b=a,d=b.y,l=b.r,a=b.x):b={innerR:b,start:F,end:f};a=this.symbol("arc",a,d,l,l,b);a.r=l;return a},rect:function(a,d,l,b,F,f){F=k(a)?a.r:F;f=this.createElement("rect");a=k(a)?a:void 0===a?{}:{x:a,y:d,width:Math.max(l,0),height:Math.max(b,0)};F&&(a.r=F);f.rSetter=function(a,d,l){v(l,{rx:a,ry:a})};return f.attr(a)},
setSize:function(a,d,l){var b=this.alignedObjects,k=b.length;this.width=a;this.height=d;for(this.boxWrapper.animate({width:a,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:G(l,!0)?void 0:0});k--;)b[k].align()},g:function(a){var d=this.createElement("g");return a?d.attr({"class":"highcharts-"+a}):d},image:function(a,d,l,k,F){var f={preserveAspectRatio:"none"};1<arguments.length&&b(f,{x:d,y:l,width:k,height:F});f=this.createElement("image").attr(f);
f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,d,l,k,F,f){var c=this,w,p=this.symbols[a],x=h(d)&&p&&this.symbols[a](Math.round(d),Math.round(l),k,F,f),C=/^url\((.*?)\)$/,y,e;p?(w=this.path(x),b(w,{symbolName:a,x:d,y:l,width:k,height:F}),f&&b(w,f)):C.test(a)&&(y=a.match(C)[1],w=this.image(y),w.imgwidth=G(S[y]&&S[y].width,f&&f.width),w.imgheight=G(S[y]&&S[y].height,f&&f.height),e=function(){w.attr({width:w.width,
height:w.height})},u(["width","height"],function(a){w[a+"Setter"]=function(a,d){var l={},b=this["img"+d],k="width"===d?"translateX":"translateY";this[d]=a;h(b)&&(this.element&&this.element.setAttribute(d,b),this.alignByTranslate||(l[k]=((this[d]||0)-b)/2,this.attr(l)))}}),h(d)&&w.attr({x:d,y:l}),w.isImg=!0,h(w.imgwidth)&&h(w.imgheight)?e():(w.attr({width:0,height:0}),n("img",{onload:function(){var a=g[c.chartIndex];0===this.width&&(t(this,{position:"absolute",top:"-999em"}),r.body.appendChild(this));
S[y]={width:this.width,height:this.height};w.imgwidth=this.width;w.imgheight=this.height;w.element&&e();this.parentNode&&this.parentNode.removeChild(this);c.imgCount--;if(!c.imgCount&&a&&a.onload)a.onload()},src:y}),this.imgCount++));return w},symbols:{circle:function(a,d,l,b){return this.arc(a+l/2,d+b/2,l/2,b/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,d,l,b){return["M",a,d,"L",a+l,d,a+l,d+b,a,d+b,"Z"]},triangle:function(a,d,l,b){return["M",a+l/2,d,"L",a+l,d+b,a,d+b,"Z"]},"triangle-down":function(a,
d,l,b){return["M",a,d,"L",a+l,d,a+l/2,d+b,"Z"]},diamond:function(a,d,l,b){return["M",a+l/2,d,"L",a+l,d+b/2,a+l/2,d+b,a,d+b/2,"Z"]},arc:function(a,d,l,b,k){var F=k.start,f=k.r||l,c=k.r||b||l,w=k.end-.001;l=k.innerR;b=k.open;var p=Math.cos(F),x=Math.sin(F),y=Math.cos(w),w=Math.sin(w);k=k.end-F<Math.PI?0:1;f=["M",a+f*p,d+c*x,"A",f,c,0,k,1,a+f*y,d+c*w];h(l)&&f.push(b?"M":"L",a+l*y,d+l*w,"A",l,l,0,k,0,a+l*p,d+l*x);f.push(b?"":"Z");return f},callout:function(a,d,l,b,k){var F=Math.min(k&&k.r||0,l,b),f=F+
6,c=k&&k.anchorX;k=k&&k.anchorY;var w;w=["M",a+F,d,"L",a+l-F,d,"C",a+l,d,a+l,d,a+l,d+F,"L",a+l,d+b-F,"C",a+l,d+b,a+l,d+b,a+l-F,d+b,"L",a+F,d+b,"C",a,d+b,a,d+b,a,d+b-F,"L",a,d+F,"C",a,d,a,d,a+F,d];c&&c>l?k>d+f&&k<d+b-f?w.splice(13,3,"L",a+l,k-6,a+l+6,k,a+l,k+6,a+l,d+b-F):w.splice(13,3,"L",a+l,b/2,c,k,a+l,b/2,a+l,d+b-F):c&&0>c?k>d+f&&k<d+b-f?w.splice(33,3,"L",a,k+6,a-6,k,a,k-6,a,d+F):w.splice(33,3,"L",a,b/2,c,k,a,b/2,a,d+F):k&&k>b&&c>a+f&&c<a+l-f?w.splice(23,3,"L",c+6,d+b,c,d+b+6,c-6,d+b,a+F,d+b):k&&
0>k&&c>a+f&&c<a+l-f&&w.splice(3,3,"L",c-6,d,c,d-6,c+6,d,l-F,d);return w}},clipRect:function(d,l,b,k){var F=a.uniqueKey(),f=this.createElement("clipPath").attr({id:F}).add(this.defs);d=this.rect(d,l,b,k,0).add(f);d.id=F;d.clipPath=f;d.count=0;return d},text:function(a,d,l,b){var k=!P&&this.forExport,F={};if(b&&(this.allowHTML||!this.forExport))return this.html(a,d,l);F.x=Math.round(d||0);l&&(F.y=Math.round(l));if(a||0===a)F.text=a;a=this.createElement("text").attr(F);k&&a.css({position:"absolute"});
b||(a.xSetter=function(a,d,l){var b=l.getElementsByTagName("tspan"),k,F=l.getAttribute(d),f;for(f=0;f<b.length;f++)k=b[f],k.getAttribute(d)===F&&k.setAttribute(d,a);l.setAttribute(d,a)});return a},fontMetrics:function(a,d){a=d&&B.prototype.getStyle.call(d,"font-size");a=/px/.test(a)?l(a):/em/.test(a)?parseFloat(a)*(d?this.fontMetrics(null,d.parentNode).f:16):12;d=24>a?a+3:Math.round(1.2*a);return{h:d,b:Math.round(.8*d),f:a}},rotCorr:function(a,d,l){var b=a;d&&l&&(b=Math.max(b*Math.cos(d*e),4));return{x:-a/
3*Math.sin(d*e),y:b}},label:function(d,l,k,f,c,w,p,x,C){var e=this,q=e.g("button"!==C&&"label"),G=q.text=e.text("",0,0,p).attr({zIndex:1}),r,D,g=0,M=3,K=0,n,L,m,S,t,H={},P,O=/^url\((.*?)\)$/.test(f),J=O,R,v,N,Q;C&&q.addClass("highcharts-"+C);J=!0;R=function(){return r.strokeWidth()%2/2};v=function(){var a=G.element.style,d={};D=(void 0===n||void 0===L||t)&&h(G.textStr)&&G.getBBox();q.width=(n||D.width||0)+2*M+K;q.height=(L||D.height||0)+2*M;P=M+e.fontMetrics(a&&a.fontSize,G).b;J&&(r||(q.box=r=e.symbols[f]||
O?e.symbol(f):e.rect(),r.addClass(("button"===C?"":"highcharts-label-box")+(C?" highcharts-"+C+"-box":"")),r.add(q),a=R(),d.x=a,d.y=(x?-P:0)+a),d.width=Math.round(q.width),d.height=Math.round(q.height),r.attr(b(d,H)),H={})};N=function(){var a=K+M,d;d=x?0:P;h(n)&&D&&("center"===t||"right"===t)&&(a+={center:.5,right:1}[t]*(n-D.width));if(a!==G.x||d!==G.y)G.attr("x",a),void 0!==d&&G.attr("y",d);G.x=a;G.y=d};Q=function(a,d){r?r.attr(a,d):H[a]=d};q.onAdd=function(){G.add(q);q.attr({text:d||0===d?d:"",
x:l,y:k});r&&h(c)&&q.attr({anchorX:c,anchorY:w})};q.widthSetter=function(d){n=a.isNumber(d)?d:null};q.heightSetter=function(a){L=a};q["text-alignSetter"]=function(a){t=a};q.paddingSetter=function(a){h(a)&&a!==M&&(M=q.padding=a,N())};q.paddingLeftSetter=function(a){h(a)&&a!==K&&(K=a,N())};q.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==g&&(g=a,D&&q.attr({x:m}))};q.textSetter=function(a){void 0!==a&&G.textSetter(a);v();N()};q["stroke-widthSetter"]=function(a,d){a&&(J=!0);this["stroke-width"]=
a;Q(d,a)};q.rSetter=function(a,d){Q(d,a)};q.anchorXSetter=function(a,d){c=a;Q(d,Math.round(a)-R()-m)};q.anchorYSetter=function(a,d){w=a;Q(d,a-S)};q.xSetter=function(a){q.x=a;g&&(a-=g*((n||D.width)+2*M));m=Math.round(a);q.attr("translateX",m)};q.ySetter=function(a){S=q.y=Math.round(a);q.attr("translateY",S)};var z=q.css;return b(q,{css:function(a){if(a){var d={};a=y(a);u(q.textProps,function(l){void 0!==a[l]&&(d[l]=a[l],delete a[l])});G.css(d)}return z.call(q,a)},getBBox:function(){return{width:D.width+
2*M,height:D.height+2*M,x:D.x-M,y:D.y-M}},destroy:function(){F(q.element,"mouseenter");F(q.element,"mouseleave");G&&(G=G.destroy());r&&(r=r.destroy());B.prototype.destroy.call(q);q=e=v=N=Q=null}})}};a.Renderer=z})(I);(function(a){var B=a.attr,z=a.createElement,A=a.css,E=a.defined,v=a.each,g=a.extend,m=a.isFirefox,t=a.isMS,n=a.isWebKit,h=a.pInt,e=a.SVGRenderer,c=a.win,r=a.wrap;g(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=
b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);A(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,f=this.x||0,c=this.y||0,q=this.textAlign||"left",e={left:0,center:.5,right:1}[q],p=this.styles;
A(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&v(b.childNodes,function(d){a.invertChild(d,b)});if("SPAN"===b.tagName){var r=this.rotation,g=h(this.textWidth),k=p&&p.whiteSpace,d=[r,q,b.innerHTML,this.textWidth,this.textAlign].join();d!==this.cTT&&(p=a.fontMetrics(b.style.fontSize).b,E(r)&&this.setSpanRotation(r,e,p),A(b,{width:"",whiteSpace:k||"nowrap"}),b.offsetWidth>g&&/[ \-]/.test(b.textContent||b.innerText)&&A(b,{width:g+"px",display:"block",whiteSpace:k||"normal"}),
this.getSpanCorrection(b.offsetWidth,p,e,r,q));A(b,{left:f+(this.xCorr||0)+"px",top:c+(this.yCorr||0)+"px"});n&&(p=b.offsetHeight);this.cTT=d}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,f){var x={},q=t?"-ms-transform":n?"-webkit-transform":m?"MozTransform":c.opera?"-o-transform":"";x[q]=x.transform="rotate("+a+"deg)";x[q+(m?"Origin":"-origin")]=x.transformOrigin=100*b+"% "+f+"px";A(this.element,x)},getSpanCorrection:function(a,b,f){this.xCorr=-a*f;this.yCorr=-b}});g(e.prototype,{html:function(a,
b,f){var c=this.createElement("span"),q=c.element,e=c.renderer,p=e.isSVG,u=function(a,b){v(["opacity","visibility"],function(d){r(a,d+"Setter",function(a,d,k,f){a.call(this,d,k,f);b[k]=d})})};c.textSetter=function(a){a!==q.innerHTML&&delete this.bBox;q.innerHTML=this.textStr=a;c.htmlUpdateTransform()};p&&u(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.htmlUpdateTransform()};c.attr({text:a,x:Math.round(b),y:Math.round(f)}).css({position:"absolute"});
q.style.whiteSpace="nowrap";c.css=c.htmlCss;p&&(c.add=function(a){var b,d=e.box.parentNode,f=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)f.push(a),a=a.parentGroup;v(f.reverse(),function(a){var k,w=B(a.element,"class");w&&(w={className:w});b=a.div=a.div||z("div",w,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||d);k=b.style;g(a,{on:function(){c.on.apply({element:f[0].div},arguments);
return a},translateXSetter:function(d,b){k.left=d+"px";a[b]=d;a.doTransform=!0},translateYSetter:function(d,b){k.top=d+"px";a[b]=d;a.doTransform=!0}});u(a,k)})}}else b=d;b.appendChild(q);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(I);(function(a){function B(){var g=a.defaultOptions.global,n=m.moment;if(g.timezone){if(n)return function(a){return-n.tz(a,g.timezone).utcOffset()};a.error(25)}return g.useUTC&&g.getTimezoneOffset}function z(){var t=a.defaultOptions.global,
n,h=t.useUTC,e=h?"getUTC":"get",c=h?"setUTC":"set";a.Date=n=t.Date||m.Date;n.hcTimezoneOffset=h&&t.timezoneOffset;n.hcGetTimezoneOffset=B();n.hcMakeTime=function(a,c,b,f,e,q){var x;h?(x=n.UTC.apply(0,arguments),x+=E(x)):x=(new n(a,c,g(b,1),g(f,0),g(e,0),g(q,0))).getTime();return x};A("Minutes Hours Day Date Month FullYear".split(" "),function(a){n["hcGet"+a]=e+a});A("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){n["hcSet"+a]=c+a})}var A=a.each,E=a.getTZOffset,v=a.merge,
g=a.pick,m=a.win;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},
global:{useUTC:!0},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},
borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?
25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(g){a.defaultOptions=v(!0,a.defaultOptions,g);z();return a.defaultOptions};
a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;z()})(I);(function(a){var B=a.arrayMax,z=a.arrayMin,A=a.defined,E=a.destroyObjectProperties,v=a.each,g=a.erase,m=a.merge,t=a.pick;a.PlotLineOrBand=function(a,h){this.axis=a;h&&(this.options=h,this.id=h.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,h=a.axis,e=h.horiz,c=a.options,r=c.label,u=a.label,b=c.to,f=c.from,x=c.value,q=A(f)&&A(b),D=A(x),p=a.svgElem,g=!p,H=[],k,d=t(c.zIndex,0),w=
c.events,H={"class":"highcharts-plot-"+(q?"band ":"line ")+(c.className||"")},y={},C=h.chart.renderer,G=q?"bands":"lines",l;l=h.log2lin;h.isLog&&(f=l(f),b=l(b),x=l(x));y.zIndex=d;G+="-"+d;(l=h.plotLinesAndBandsGroups[G])||(h.plotLinesAndBandsGroups[G]=l=C.g("plot-"+G).attr(y).add());g&&(a.svgElem=p=C.path().attr(H).add(l));if(D)H=h.getPlotLinePath(x,p.strokeWidth());else if(q)H=h.getPlotBandPath(f,b,c);else return;if(g&&H&&H.length){if(p.attr({d:H}),w)for(k in c=function(d){p.on(d,function(l){w[d].apply(a,
[l])})},w)c(k)}else p&&(H?(p.show(),p.animate({d:H})):(p.hide(),u&&(a.label=u=u.destroy())));r&&A(r.text)&&H&&H.length&&0"")},r.zIndex=c,this.label=r=u.text(a.text,0,0,a.useHTML).attr(r).add());c=[h[1],h[4],e?h[6]:h[1]];h=[h[2],h[5],e?h[7]:h[2]];e=z(c);u=z(h);r.align(a,!1,{x:e,y:u,width:B(c)-e,height:B(h)-u});r.show()},destroy:function(){g(this.axis.plotLinesAndBands,this);delete this.axis;E(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,h){var e=this.getPlotLinePath(h,null,null,!0),c=this.getPlotLinePath(a,null,null,!0),r=this.horiz,u=1;a=athis.max&&h>this.max;c&&e?(a&&(c.flat=
c.toString()===e.toString(),u=0),c.push(r&&e[4]===c[4]?e[4]+u:e[4],r||e[5]!==c[5]?e[5]:e[5]+u,r&&e[1]===c[1]?e[1]+u:e[1],r||e[2]!==c[2]?e[2]:e[2]+u)):c=null;return c},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(g,h){var e=(new a.PlotLineOrBand(this,g)).render(),c=this.userOptions;e&&(h&&(c[h]=c[h]||[],c[h].push(g)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var h=
this.plotLinesAndBands,e=this.options,c=this.userOptions,r=h.length;r--;)h[r].id===a&&h[r].destroy();v([e.plotLines||[],c.plotLines||[],e.plotBands||[],c.plotBands||[]],function(c){for(r=c.length;r--;)c[r].id===a&&g(c,c[r])})}}})(I);(function(a){var B=a.correctFloat,z=a.defined,A=a.destroyObjectProperties,E=a.isNumber,v=a.pick,g=a.deg2rad;a.Tick=function(a,g,n,h){this.axis=a;this.pos=g;this.type=n||"";this.isNew=!0;n||h||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,g=a.options,
n=a.chart,h=a.categories,e=a.names,c=this.pos,r=g.labels,u=a.tickPositions,b=c===u[0],f=c===u[u.length-1],e=h?v(h[c],e[c],c):c,h=this.label,u=u.info,x;a.isDatetimeAxis&&u&&(x=g.dateTimeLabelFormats[u.higherRanks[c]||u.unitName]);this.isFirst=b;this.isLast=f;g=a.labelFormatter.call({axis:a,chart:n,isFirst:b,isLast:f,dateTimeLabelFormat:x,value:a.isLog?B(a.lin2log(e)):e});z(h)?h&&h.attr({text:g}):(this.labelLength=(this.label=h=z(g)&&r.enabled?n.renderer.text(g,0,0,r.useHTML).add(a.labelGroup):null)&&
h.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var m=this.axis,n=a.x,h=m.chart.chartWidth,e=m.chart.spacing,c=v(m.labelLeft,Math.min(m.pos,e[3])),e=v(m.labelRight,Math.max(m.pos+m.len,h-e[1])),r=this.label,u=this.rotation,b={left:0,center:.5,right:1}[m.labelAlign],f=r.getBBox().width,x=m.getSlotWidth(),q=x,D=1,p,K={};if(u)0>u&&n-b*fMath.cos(u*g)-c):0<u&&n+b*f>e&&(p=
Math.round((h-n)/Math.cos(u*g)));else if(h=n+(1-b)*f,n-b*fe&&(q=e-a.x+q*b,D=-1),q=Math.min(x,q),qq||m.autoRotation&&(r.styles||{}).width)p=q;p&&(K.width=p,(m.options.labels.style||{}).textOverflow||(K.textOverflow="ellipsis"),r.css(K))},getPosition:function(a,g,n,h){var e=this.axis,c=e.chart,r=h&&c.oldChartHeight||c.chartHeight;return{x:a?e.translate(g+n,null,null,h)+e.transB:e.left+e.offset+(e.opposite?(h&&c.oldChartWidth||
c.chartWidth)-e.right-e.left:0),y:a?r-e.bottom+e.offset-(e.opposite?e.height:0):r-e.translate(g+n,null,null,h)-e.transB}},getLabelPosition:function(a,t,n,h,e,c,r,u){var b=this.axis,f=b.transA,x=b.reversed,q=b.staggerLines,D=b.tickRotCorr||{x:0,y:0},p=e.y;z(p)||(p=0===b.side?n.rotation?-8:-n.getBBox().height:2===b.side?D.y+8:Math.cos(n.rotation*g)*(D.y-n.getBBox(!1,0).height/2));a=a+e.x+D.x-(c&&h?c*f*(x?-1:1):0);t=t+p-(c&&!h?c*f*(x?1:-1):0);q&&(n=r/(u||1)%q,b.opposite&&(n=q-n-1),t+=b.labelOffset/q*
n);return{x:a,y:Math.round(t)}},getMarkPath:function(a,g,n,h,e,c){return c.crispLine(["M",a,g,"L",a+(e?0:-n),g+(e?n:0)],h)},renderGridLine:function(a,g,n){var h=this.axis,e=this.gridLine,c={},r=this.pos,u=this.type,b=h.tickmarkOffset,f=h.chart.renderer;e||(u||(c.zIndex=1),a&&(c.opacity=0),this.gridLine=e=f.path().attr(c).addClass("highcharts-"+(u?u+"-":"")+";grid-line").add(h.gridGroup));if(!a&&e&&(a=h.getPlotLinePath(r+b,e.strokeWidth()*n,a,!0)))e[this.isNew?"attr":"animate"]({d:a,opacity:g})},renderMark:function(a,
g,n){var h=this.axis,e=h.chart.renderer,c=this.type,r=h.tickSize(c?c+"Tick":"tick"),u=this.mark,b=!u,f=a.x;a=a.y;r&&(h.opposite&&(r[0]=-r[0]),b&&(this.mark=u=e.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(h.axisGroup)),u[b?"attr":"animate"]({d:this.getMarkPath(f,a,r[0],u.strokeWidth()*n,h.horiz,e),opacity:g}))},renderLabel:function(a,g,n,h){var e=this.axis,c=e.horiz,r=e.options,u=this.label,b=r.labels,f=b.step,x=e.tickmarkOffset,q=!0,D=a.x;a=a.y;u&&E(D)&&(u.xy=a=this.getLabelPosition(D,
a,u,c,b,x,h,f),this.isFirst&&!this.isLast&&!v(r.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(r.showLastLabel,1)?q=!1:!c||e.isRadial||b.step||b.rotation||g||0===n||this.handleOverflow(a),f&&h%f&&(q=!1),q&&E(a.y)?(a.opacity=n,u[this.isNew?"attr":"animate"](a)):u.attr("y",-9999),this.isNew=!1)},render:function(a,g,n){var h=this.axis,e=h.horiz,c=this.getPosition(e,this.pos,h.tickmarkOffset,g),r=c.x,u=c.y,h=e&&r===h.pos+h.len||!e&&u===h.pos?-1:1;n=v(n,1);this.isActive=!0;this.renderGridLine(g,n,h);
this.renderMark(c,n,h);this.renderLabel(c,g,n,a)},destroy:function(){A(this,this.axis)}}})(I);(function(a){var B=a.addEvent,z=a.animObject,A=a.arrayMax,E=a.arrayMin,v=a.AxisPlotLineOrBandExtension,g=a.correctFloat,m=a.defaultOptions,t=a.defined,n=a.deg2rad,h=a.destroyObjectProperties,e=a.each,c=a.extend,r=a.fireEvent,u=a.format,b=a.getMagnitude,f=a.grep,x=a.inArray,q=a.isArray,D=a.isNumber,p=a.isString,K=a.merge,H=a.normalizeTickInterval,k=a.pick,d=a.PlotLineOrBand,w=a.removeEvent,y=a.splat,C=a.syncTimeout,
G=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},
defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},
title:{rotation:0}},init:function(a,d){var l=d.isX;this.chart=a;this.horiz=a.inverted?!l:l;this.isXAxis=l;this.coll=this.coll||(l?"xAxis":"yAxis");this.opposite=d.opposite;this.side=d.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(d);var b=this.options,f=b.type;this.labelFormatter=b.labels.formatter||this.defaultLabelFormatter;this.userOptions=d;this.minPixelPadding=0;this.reversed=b.reversed;this.visible=!1!==b.visible;this.zoomEnabled=!1!==b.zoomEnabled;this.hasNames="category"===
f||!0===b.categories;this.categories=b.categories||this.hasNames;this.names=this.names||[];this.plotLinesAndBandsGroups={};this.isLog="logarithmic"===f;this.isDatetimeAxis="datetime"===f;this.positiveValuesOnly=this.isLog&&!this.allowNegativeLog;this.isLinked=t(b.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];thisONT>.alternateBands={};this.len=0;this.minRange=this.userMinRange=b.minRange||b.maxZoom;this.range=b.range;this.offset=b.offset||0;this.stacks={};this.oldStacks=
{};this.stacksTouched=0;this.min=this.max=null;this.crosshair=k(b.crosshair,y(a.options.tooltip.crosshairs)[l?0:1],!1);var F;d=this.options.events;-1===x(this,a.axes)&&(l?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&l&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(F in d)B(this,F,d[F]);this.lin2log=b.linearToLogConverter||this.lin2log;this.isLog&&(this.val2lin=
this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=K(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],K(m[this.coll],a))},defaultLabelFormatter:function(){var d=this.axis,b=="#A020F0">this.value,k=d.categories,f=this.dateTimeLabelFormat,c=m.lang,w=c.numericSymbols,c=c.numericSymbolMagnitude||1E3,p=w&&w.length,e,C=d.options.labels.format,d=d.isLog?
Math.abs(b):d.tickInterval;if(C)e=u(C,this);else if(k)e=b;else if(f)e=a.dateFormat(f,b);else if(p&&1E3<=d)for(;p--&&void 0===e;)k=Math.pow(c,p+1),d>=k&&0===10*b%k&&null!==w[p]&&0!==b&&(e=a.numberFormat(b/k,-1)+w[p]);void 0===e&&(e=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return e},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(l){if(l.visible||
!d.options.chart.ignoreHiddenSeries){var b=l.options,c=b.threshold,F;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=c&&(c=null);if(a.isXAxis)b=l.xData,b.length&&(l=E(b),D(l)||l instanceof Date||(b=f(b,function(a){return D(a)}),l=E(b)),a.dataMin=Math.min(k(a.dataMin,b[0]),l),a.dataMax=Math.max(k(a.dataMax,b[0]),A(b)));else if(l.getExtremes(),F=l.dataMax,l=l.dataMin,t(l)&&t(F)&&(a.dataMin=Math.min(k(a.dataMin,l),l),a.dataMax=Math.max(k(a.dataMax,F),F)),t(c)&&(a.threshold=c),!b.softThreshold||a.positiveValuesOnly)a.softThreshold=
!1}})},translate:function(a,d,b,k,f,c){var l=this.linkedParent||this,F=1,w=0,p=k?l.oldTransA:l.transA;k=k?l.oldMin:l.min;var e=l.minPixelPadding;f=(l.isOrdinal||l.isBroken||l.isLog&&f)&&l.lin2val;p||(p=l.transA);b&&(F*=-1,w=l.len);l.reversed&&(F*=-1,w-=F*(l.sector||l.len));d?(a=(a*F+w-e)/p+k,f&&(a=l.lin2val(a))):(f&&(a=l.val2lin(a)),a=F*(a-k)*p+w+F*e+(D(c)?p*c:0));return a},toPixels:function(a,d){return this.translate(a,!1,!this.horiz,null,!0)+(d?0:this.pos)},toValue:function(a,d){return this.translate(a-
(d?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,d,b,f,c){var l=this.chart,F=this.left,w=this.top,p,e,C=b&&l.oldChartHeight||l.chartHeight,q=b&&l.oldChartWidth||l.chartWidth,x;p=this.transB;var y=function(a,d,l){if(a<d||a>l)f?a=Math.min(Math.max(d,a),l):x=!0;return a};c=k(c,this.translate(a,null,null,b));a=b=Math.round(c+p);p=e=Math.round(C-c-p);D(c)?this.horiz?(p=w,e=C-this.bottom,a=b=y(a,F,F+this.width)):(a=F,b=q-this.right,p=e=y(p,w,w+this.height)):x=!0;return x&&!f?null:l.renderer.crispLine(["M",
a,p,"L",b,e],d||1)},getLinearTickPositions:function(a,d,b){var l,k=g(Math.floor(d/a)*a);b=g(Math.ceil(b/a)*a);var f=[];if(this.single)return[d];for(d=k;d<=b;){f.push(d);d=g(d+a);if(d===l)break;l=d}return f},getMinorTickPositions:function(){var a=this,d=a.options,b=a.tickPositions,k=a.minorTickInterval,f=[],c=a.pointRangePadding||0,w=a.min-c,c=a.max+c,p=c-w;if(p&&p>/k3)if(a.isLog)e(this.paddedTicks,function(d,l,b){l&&f.push.apply(f,a.getLogTickPositions(k,b[l-1],b[l],!0))});else if(a.isDatetimeAxis&&
"auto"===d.minorTickInterval)f=f.concat(a.getTimeTicks(a.normalizeTimeTickInterval(k),w,c,d.startOfWeek));else for(d=w+(b[0]-w)%k;d<=c&&d!==f[0];d+=k)f.push(d);0!==f.length&&a.trimTicks(f);return f},adjustForMinRange:function(){var a=this.options,d=this.min,b=this.max,f,c=this.dataMax-this.dataMin>=this.minRange,w,p,C,q,x,y;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,function(a){q=a.xData;for(p=x=a.xIncrement?1:q.length-1;0<p;p--)if(C=q[p]-
q[p-1],void 0===w||C<w)w=C}),this.minRange=Math.min(5*w,this.dataMax-this.dataMin)));b-d<this.minRange&&(y=this.minRange,f=(y-b+d)/2,f=[d-f,k(a.min,d-f)],c&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),d=A(f),b=[d+y,k(a.max,d+y)],c&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=E(b),b-d!d.noSharedTooltip&&t(l)&&b&&(a=t(a)?Math.min(a,l):l)});return a},nameToX:function(a){var d=q(this.categories),l=d?this.categories:this.names,b=a.options.x,k;a.series.requireSorting=!1;t(b)||(b=!1===this.options.uniqueNames?a.series.autoIncrement():x(a.name,l));-1===b?d||(k=l.length):k=b;void 0!==k&&(this.names[k]=a.name);return k},updateNames:function(){var a=this;0d.generatePoints();e(d.points,function(l,b){var k;l.options&&(k=a.nameToX(l),void 0!==k&&k!==l.x&&(l.x=k,d.xData[b]=k))})}))},setAxisTranslation:function(a){var d=this,l=d.max-d.min,b=d.axisPointRange||0,f,c=0,w=0,C=d.linkedParent,q=!!d.categories,x=d.transA,y=d.isXAxis;if(y||q||b)f=d.getClosest(),C?(c=C.minPointOffset,w=C.pointRangePadding):e(d.series,function(a){var l=q?1:y?k(a.options.pointRange,f,0):d.axisPointRange||0;a=a.options.pointPlacement;b=Math.max(b,l);d.single||(c=Math.max(c,p(a)?0:
l/2),w=Math.max(w,"on"===a?0:l))}),C=d.ordinalSlope&&f?d.ordinalSlope/f:1,d.minPointOffset=c*=C,d.pointRangePadding=w*=C,d.pointRange=Math.min(b,l),y&&(d.closestPointRange=f);a&&(d.oldTransA=x);d.translationSlope=d.transA=x=d.options.staticScale||d.len/(l+w||1);d.transB=d.horiz?d.left:d.bottom;d.minPixelPadding=x*c},minFromRange:function(){return this.max-this.range},setTickInterval:function(d){var l=this,f=l.chart,c=l.options,w=l.isLog,p=l.log2lin,C=l.isDatetimeAxis,q=l.isXAxis,x=l.isLinked,y=c.maxPadding,
G=c.minPadding,h=c.tickInterval,u=c.tickPixelInterval,K=l.categories,n=l.threshold,m=l.softThreshold,v,z,B,A;C||K||x||this.getTickAmount();B=k(l.userMin,c.min);A=k(l.userMax,c.max);x?(l.linkedParent=f[l.coll][c.linkedTo],f=l.linkedParent.getExtremes(),l.min=k(f.min,f.dataMin),l.max=k(f.max,f.dataMax),c.type!==l.linkedParent.options.type&&a.error(11,1)):(!m&&t(n)&&(l.dataMin>=n?(v=n,G=0):l.dataMax<=n&&(z=n,y=0)),l.min=k(B,v,l.dataMin),l.max=k(A,z,l.dataMax));w&&(l.positiveValuesOnly&&!d&&0>=Math.min(l.min,
k(l.dataMin,l.min))&&a.error(10,1),l.min=g(p(l.min),15),l.max=g(p(l.max),15));l.range&&t(l.max)&&(l.userMin=l.min=B=Math.max(l.min,l.minFromRange()),l.userMax=A=l.max,l.range=null);r(l,"foundExtremes");l.beforePadding&&l.beforePadding();l.adjustForMinRange();!(K||l.axisPointRange||l.usePercentage||x)&&t(l.min)&&t(l.max)&&(p=l.max-l.min)&&(!t(B)&&G&&(l.min-=p*G),!t(A)&&y&&(l.max+=p*y));D(c.softMin)&&(l.min=Math.min(l.min,c.softMin));D(c.softMax)&&(l.max=Math.max(l.max,c.softMax));D(c.floor)&&(l.min=
Math.max(l.min,c.floor));D(c.ceiling)&&(l.max=Math.min(l.max,c.ceiling));m&&t(l.dataMin)&&(n=n||0,!t(B)&&l.min<n&&l.dataMin>=n?l.min=n:!t(A)&&l.max>n&&l.dataMax<=n&&(l.max=n));l.tickInterval=l.min===l.max||void 0===l.min||void 0===l.max?1:x&&!h&&u===l.linkedParent.options.tickPixelInterval?h=l.linkedParent.tickInterval:k(h,this.tickAmount?(l.max-l.min)/Math.max(this.tickAmount-1,1):void 0,K?1:(l.max-l.min)*u/Math.max(l.len,u));q&&!d&&e(l.series,function(a){a.processData(l.min!==l.oldMin||l.max!==
l.oldMax)});l.setAxisTranslation(!0);l.beforeSetTickPositions&&l.beforeSetTickPositions();l.postProcessTickInterval&&(l.tickInterval=l.postProcessTickInterval(l.tickInterval));l.pointRange&&!h&&(l.tickInterval=Math.max(l.pointRange,l.tickInterval));d=k(c.minTickInterval,l.isDatetimeAxis&&l.closestPointRange);!h&&l.tickInterval<d&&(l.tickInterval=d);C||w||h||(l.tickInterval=H(l.tickInterval,null,b(l.tickInterval),k(c.allowDecimals,!(.5<l.tickInterval&&5>l.tickInterval&&1E3<l.max&&9999>l.max)),!!this.tickAmount));
this.tickAmount||(l.tickInterval=l.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,d,b=a.tickPositions,k=a.tickPositioner,f=a.startOnTick,c=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&!1!==a.allowDecimals;this.tickPositions=d=
b&&b.slice();!d&&(d=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),d.length>this.len&&(d=[d[0],d.pop()]),this.tickPositions=d,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=d=k);this.paddedTicks=d.slice(0);this.trimTicks(d,
f,c);this.isLinked||(this.single&&(this.min-=.5,this.max+=.5),b||k||this.adjustTickAmount())},trimTicks:function(a,d,b){var l=a[0],k=a[a.length-1],f=this.minPointOffset||0;if(!this.isLinked){if(d&&-Infinity!==l)this.min=l;else for(;this.min-f>a[0];)a.shift();if(b)this.max=k;else for(;this.max+f2)}},alignToOthers:function(){var a={},d,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||this.isLog||e(this.chart[this.coll],
function(l){var b=l.options,b=[l.horiz?b.left:b.top,b.width,b.height,b.pane].join();l.series.length&&(a[b]?d=!0:a[b]=1)});return d},getTickAmount:function(){var a=this.options,d=a.tickAmount,b=a.tickPixelInterval;!t(a.tickInterval)&&this.len<b&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(d=2);!d&&this.alignToOthers()&&(d=Math.ceil(this.len/b)+1);4>d&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var a=this.tickInterval,d=this.tickPositions,b=this.tickAmount,
k=this.finalTickAmt,f=d&&d.length;if(f(b-1);this.max=d[d.length-1]}else f>b&&(this.tickInterval*=2,this.setTickPositions());if(t(k)){for(a=b=d.length;a--;)(3===k&&1===a%2||2>=k&&0<a&&a<b-1)&&d.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,d;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=thisONT>.len;this.setAxisSize();d=this.len!==this.oldAxisLength;e(this.series,function(d){if(d.isDirtyData||d.isDirty||
d.xAxis.isDirty)a=!0});d||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=d||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(a,d,b,f,w){var l=this,p=l.chart;b=k(b,!0);e(l.series,
function(a){delete a.kdTree});w=c(w,{min:a,max:d});r(l,"setExtremes",w,function(){l.userMin=a;l.userMax=d;l.eventArgs=w;b&&p.redraw(f)})},zoom:function(a,d){var l=this.dataMin,b=this.dataMax,f=this.options,c=Math.min(l,k(f.min,l)),f=Math.max(b,k(f.max,b));if(a!==this.min||d!==this.max)this.allowZoomOutside||(t(l)&&(a<c&&(a=c),a>f&&(a=f)),t(b)&&(d<c&&(d=c),d>f&&(d=f))),this.displayBtn=void 0!==a||void 0!==d,this.setExtremes(a,d,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,
d=this.options,b=d.offsets||[0,0,0,0],f=this.horiz,c=k(d.width,a.plotWidth-b[3]+b[1]),w=k(d.height,a.plotHeight-b[0]+b[2]),p=k(d.top,a.plotTop+b[0]),d=k(d.left,a.plotLeft+b[3]),b=/%$/;b.test(w)&&(w=Math.round(parseFloat(w)/100*a.plotHeight));b.test(p)&&(p=Math.round(parseFloat(p)/100*a.plotHeight+a.plotTop));this.left=d;this.top=p;this.width=c;this.height=w;this.bottom=a.chartHeight-w-p;this.right=a.chartWidth-c-d;this.len=Math.max(f?c:w,0);this.pos=f?d:p},getExtremes:>function(){var a=this.isLog,
d=this.lin2log;return{min:a?g(d(this.min)):this.min,max:a?g(d(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var d=this.isLog,l=this.lin2log,b=d?l(this.min):this.min,d=d?l(this.max):this.max;null===a?a=b:b>a?a=b:d<a&&(a=d);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(k(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var d=this.options,l=d[a+
"Length"],b=k(d[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(b&&l)return"inside"===d[a+"Position"]&&(l=-l),[l,b]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,d=this.horiz,b=this.tickInterval,f=b,c=this.len/(((this.categories?1:0)+this.max-this.min)/b),w,p=a.rotation,C=this.labelMetrics(),q,x=Number.MAX_VALUE,y,G=function(a){a/=c||1;a=1<
a?Math.ceil(a):1;return a*b};d?(y=!a.staggerLines&&!a.step&&(t(p)?[p]:c=a)q=G(Math.abs(C.h/Math.sin(n*a))),d=q+Math.abs(a/360),d(b.step||0)&&!b.rotation&&
(this.staggerLines||1)*this.len/f||!d&&(k&&k-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,f=this.ticks,k=this.options.labels,c=this.horiz,w=this.getSlotWidth(),C=Math.max(1,Math.round(w-2*(k.padding||5))),q={},x=this.labelMetrics(),y=k.style&&k.style.textOverflow,G,r=0,g,D;p(k.rotation)||(q.rotation=k.rotation||0);e(b,function(a){(a=f[a])&&a.labelLength>r&&(r=a.labelLength)});this.maxLabelLength=r;if</B>(this.autoRotation)r>C&&r>x.h?q.rotation=
this.labelRotation:this.labelRotation=0;else if(w&&(G={width:C+"px"},!y))for(G.textOverflow="clip",g=b.length;!c&&g--;)if(D=b[g],C=f[D].label)C.styles&&"ellipsis"===C.styles.textOverflow?C.css({textOverflow:"clip"}):f[D].labelLength>w&&C.css({width:w+"px"}),C.getBBox().height>this.len/b.length-(x.h-x.f)&&(C.specCss={textOverflow:"ellipsis"});q.rotation&&(G={width:(r>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},y||(G.textOverflow="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))q.align=
this.labelAlign;e(b,function(a){var d=(a=f[a])&&a.label;d&&(d.attr(q),G&&d.css(K(G,d.specCss)),delete d.specCss,a.rotation=q.rotation)});this.tickRotCorr=d.rotCorr(x.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&!!this.tickPositions},addTitle:function(a){var d=this.chart.renderer,b=this.horiz,l=this.opposite,f=this.options.title,k;this.axisTitle||((k=f.textAlign)||(k=(b?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",
middle:"center",high:l?"left":"right"})[f.align]),this.axisTitle=d.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:k}).addClass("highcharts-axis-title").add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var d=this.ticks;d[a]?d[a].addLabel():d[a]=new G(this,a)},getOffset:function(){var a=this,d=a.chart,b=d.renderer,f=a.options,c=a.tickPositions,w=a.ticks,p=a.horiz,C=a.side,q=d.inverted?[1,0,3,2][C]:C,x,y,G=0,r,g=0,D=f.title,
h=f.labels,u=0,K=d.axisOffset,d=d.clipOffset,n=[-1,1,1,-1][C],H,m=f.className,v=a.axisParent,z=this.tickSize("tick");x=a.hasData();a.showAxis=y=x||k(f.showEmpty,!0);a.staggerLines=a.horiz&&h.staggerLines;a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(m||"")).add(v),a.axisGroup=b.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(m||"")).add(v),a.labelGroup=b.g("axis-labels").attr({zIndex:h.zIndex||
7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(m||"")).add(v));if(x||a.isLinked)e(c,function(d,b){a.generateTick(d,b)}),a.renderUnsquish(),!1===h.reserveSpace||0!==C&&2!==C&&{1:"left",3:"right"}[C]!==a.labelAlign&&"center"!==a.labelAlign||e(c,function(a){u=Math.max(w[a].getLabelSize(),u)}),a.staggerLines&&(u*=a.staggerLines,a.labelOffset=u*(a.opposite?-1:1));else for(H in w)w[H].destroy(),delete w[H];D&&D.text&&!1!==D.enabled&&(a.addTitle(y),y&&(G=a.axisTitle.getBBox()[p?"height":"width"],
r=D.offset,g=t(r)?0:k(D.margin,p?5:10)));a.renderLine();a.offset=n*k(f.offset,K[C]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===C?-a.labelMetrics().h:2===C?a.tickRotCorr.y:0;g=Math.abs(u)+g;u&&(g=g-b+n*(p?k(h.y,a.tickRotCorr.y+8*n):h.x));a.axisTitleMargin=k(r,g);K[C]=Math.max(K[C],a.axisTitleMargin+G+n*a.offset,g,x&&c.length&&z?z[0]+n*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);d[q]=Math.max(d[q],f)},getLinePath:function(a){var d=this.chart,b=this.opposite,l=this.offset,f=this.horiz,
k=this.left+(b?this.width:0)+l,l=d.chartHeight-this.bottom-(b?this.height:0)+l;b&&(a*=-1);return d.renderer.crispLine(["M",f?this.left:k,f?l:this.top,"L",f?d.chartWidth-this.right:k,f?l:d.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:ONT COLOR="#A020F0">function(){var a=this.horiz,d=this.left,b=this.top,f=this.len,k=this.options.title,c=a?d:b,w=this.opposite,p=this.offset,C=k.x||0,q=k.y||
0,e=this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,this.axisTitle).f,f={low:c+(a?0:f),middle:c+f/2,high:c+(a?f:0)}[k.align],d=(a?b+this.height:d)+(a?1:-1)*(w?-1:1)*this.axisTitleMargin+(2===this.side?e:0);return{x:a?f+C:d+(w?this.width:0)+p+C,y:a?d+q-(w?this.height:0)+p:f+q}},renderMinorTick:function(a){var d=this.chart.hasRendered&&D(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new G(this,a,"minor"));d&&b[a].isNew&&b[a].render(null,!0);b[a].render(null,!1,1)},renderTick:function(a,d){var b=
this.isLinked,l=this.ticks,f=this.chart.hasRendered&&D(this.oldMin);if(!b||a>=this.min&&a<=this.max)l[a]||(l[a]=new G(this,a)),f&&l[a].isNew&&l[a].render(d,!0,.1),l[a].render(d)},render:function(){var a=this,b=a.chart,f=a.options,k=a.isLog,c=a.lin2log,w=a.isLinked,p=a.tickPositions,q=a.axisTitle,x=a.ticks,y=a.minorTicks,r=a.alternateBands,g=f.stackLabels,D=f.alternateGridColor,h=a.tickmarkOffset,u=a.axisLine,K=a.showAxis,n=z(b.renderer.globalAnimation),H,m;a.labelEdge.length=0;a.overlap=!1;e([x,y,
r],function(a){for(var d in a)a[d].isActive=!1});if(a.hasData()||w)a.minorTickInterval&&!a.categories&&e(a.getMinorTickPositions(),function(d){a.renderMinorTick(d)}),p.length&&(e(p,function(d,b){a.renderTick(d,b)}),h&&(0===a.min||a.single)&&(x[-1]||(x[-1]=new G(a,-1,null,!0)),x[-1].render(-1))),D&&e(p,function(l,f){m=void 0!==p[f+1]?p[f+1]+h:a.max-h;0===f%2&&l!0)}),a._addedPlotLB||(e((f.plotLines||[]).concat(f.plotBands||[]),function(d){a.addPlotBandOrLine(d)}),a._addedPlotLB=!0);e([x,y,r],function(a){var d,l,f=[],k=n.duration;for(d in a)a[d].isActive||(a[d].render(d,!1,0),a[d].isActive=!1,f.push(d));C(function(){for(l=f.length;l--;)a[f[l]]&&!a[f[l]].isActive&&(a[f[l]].destroy(),delete a[f[l]])},a!==r&&b.hasRendered&&k?k:0)});u&&(u[u.isPlaced?"animate":"attr"]({d:this.getLinePath(u.strokeWidth())}),u.isPlaced=!0,u[K?"show":"hide"](!0));q&&K&&(q[q.isNew?
"attr":"animate"](a.getTitlePosition()),q.isNew=!1);g&&g.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.visible&&(this.render(),e(this.plotLinesAndBands,function(a){a.render()}));e(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var d=this,b=d.stacks,f,l=d.plotLinesAndBands,k,c;a||w(d);for(f in b)h(b[f]),b[f]=null;e([d.ticks,d.minorTicks,d.alternateBands],function(a){h(a)});if(l)for(a=l.length;a--;)l[a].destroy();
e("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){d[a]&&(d[a]=d[a].destroy())});for(k in d.plotLinesAndBandsGroups)d.plotLinesAndBandsGroups[k]=d.plotLinesAndBandsGroups[k].destroy();for(c in d)d.hasOwnProperty(c)&&-1===x(c,d.keepProps)&&delete d[c]},drawCrosshair:function(a,d){var b,f=this.crosshair,l=k(f.snap,!0),c,w=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&!1!==(t(d)||!l)?(l?t(d)&&(c=this.isXAxis?d.plotX:this.len-d.plotY):c=a&&
(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),t(c)&&(b=this.getPlotLinePath(d&&(this.isXAxis?d.x:k(d.stackY,d.y)),null,null,null,c)||null),t(b)?(d=this.categories&&!this.isRadial,w||(this.cross=w=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(d?"category ":"thin ")+f.className).attr({zIndex:k(f.zIndex,2)}).add()),w.show().attr({d:b}),d&&!f.width&&w.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&
this.cross.hide()}};c(a.Axis.prototype,v)})(I);(function(a){var B=a.Axis,z=a.Date,A=a.dateFormat,E=a.defaultOptions,v=a.defined,g=a.each,m=a.extend,t=a.getMagnitude,n=a.getTZOffset,h=a.normalizeTickInterval,e=a.pick,c=a.timeUnits;B.prototype.getTimeTicks=function(a,h,b,f){var x=[],q={},r=E.global.useUTC,p,u=new z(h-Math.abs(n(h))),H=z.hcMakeTime,k=a.unitRange,d=a.count,w;if(v(h)){u[z.hcSetMilliseconds](k>=c.second?0:d*Math.floor(u.getMilliseconds()/d));if(k>=c.second)u[z.hcSetSeconds](k>=c.minute?
0:d*Math.floor(u.getSeconds()/d));if(k>=c.minute)u[z.hcSetMinutes](k>=c.hour?0:d*Math.floor(u[z.hcGetMinutes]()/d));if(k>=c.hour)u[z.hcSetHours](k>=c.day?0:d*Math.floor(u[z.hcGetHours]()/d));if(k>=c.day)u[z.hcSetDate](k>=c.month?1:d*Math.floor(u[z.hcGetDate]()/d));k>=c.month&&(u[z.hcSetMonth](k>=c.year?0:d*Math.floor(u[z.hcGetMonth]()/d)),p=u[z.hcGetFullYear]());if(k>=c.year)u[z.hcSetFullYear](p-p%d);if(k===c.week)u[z.hcSetDate](u[z.hcGetDate]()-u[z.hcGetDay]()+e(f,1));p=u[z.hcGetFullYear]();f=u[z.hcGetMonth]();
var y=u[z.hcGetDate](),C=u[z.hcGetHours]();if(z.hcTimezoneOffset||z.hcGetTimezoneOffset)w=(!r||!!z.hcGetTimezoneOffset)&&(b-h>4*c.month||n(h)!==n(b)),u=u.getTime(),u=new z(u+n(u));r=u.getTime();for(h=1;rx.length&&g(x,function(a){0===a%18E5&&"000000000"===A("%H%M%S%L",a)&&(q[a]="day")})}x.info=m(a,{higherRanks:q,totalRange:k*
d});return x};B.prototype.normalizeTimeTickInterval=function(a,e){var b=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];e=b[b.length-1];var f=c[e[0]],x=e[1],q;for(q=0;q2);q++);f===c.year&&a<5*f&&(x=[1,2,5]);a=h(a/f,x,"year"===e[0]?Math.max(t(a/f),1):1);return{unitRange:f,
count:a,unitName:e[0]}}})(I);(function(a){var B=a.Axis,z=a.getMagnitude,A=a.map,E=a.normalizeTickInterval,v=a.pick;B.prototype.getLogTickPositions=function(a,m,t,n){var h=this.options,e=this.len,c=this.lin2log,r=this.log2lin,u=[];n||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),u=this.getLinearTickPositions(a,m,t);else if(.08<=a)for(var e=Math.floor(m),b,f,x,q,D,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];e<t+1&&!D;e++)for(f=h.length,b=0;b<f&&!D;b++)x=r(c(e)*h[b]),x>m&&(!n||q<=
t)&&void 0!==q&&u.push(q),q>t&&(D=!0),q=x;else m=c(m),t=c(t),a=h[n?"minorTickInterval":"tickInterval"],a=v("auto"===a?null:a,this._minorAutoInterval,h.tickPixelInterval/(n?5:1)*(t-m)/((n?e/this.tickPositions.length:e)||1)),a=E(a,null,z(a)),u=A(this.getLinearTickPositions(a,m,t),r),n||(this._minorAutoInterval=a/5);n||(this.tickInterval=a);return u};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,a)}})(I);(function(a){var B=a.dateFormat,
z=a.each,A=a.extend,E=a.format,v=a.isNumber,g=a.map,m=a.merge,t=a.pick,n=a.splat,h=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){z(this.chart.series,function(c){var e=c&&c.tt;e&&(!e.isActive||a?c.tt=e.destroy():e.isActive=!1)})},applyFilter:function(){var a=
this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},
getLabel:function(){var a=this.chart.renderer,e=this.options;this.label||(this.label=this.split?a.g("tooltip"):a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,m(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&
this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,h,b){var f=this,c=f.now,q=!1!==f.options.animation&&!f.isHidden&&(13:a,y:q?(c.y+e)/2:e,anchorX:r?void 0:q?(2*c.anchorX+h)/3:h,anchorY:r?void 0:q?(c.anchorY+b)/2:b});f.getLabel().attr(c);q&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&
f.move(a,e,h,b)},32))},hide:function(a){var c=this;clearTimeout(this.hideTimer);a=t(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=h(function(){c.getLabel()[a?"fadeOut":"hide"]();c.isHidden=!0},a))},getAnchor:function(a,e){var c,b=this.chart,f=b.inverted,x=b.plotTop,q=b.plotLeft,h=0,p=0,r,m;a=n(a);c=a[0].tooltipPos;this.followPointer&&e&&(void 0===e.chartX&&(e=b.pointer.normalize(e)),c=[e.chartX-b.plotLeft,e.chartY-x]);c||(z(a,function(a){r=a.series.yAxis;m=a.series.xAxis;h+=a.plotX+
(!f&&m?m.left-q:0);p+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!f&&r?r.top-x:0)}),h/=a.length,p/=a.length,c=[f?b.plotWidth-p:h,this.shared&&!f&&1<a.length&&e?e.chartY-x:f?b.plotHeight-h:p]);return g(c,Math.round)},getPosition:function(a,e,h){var b=this.chart,f=this.distance,c={},q=h.h||0,r,p=["y",b.chartHeight,e,h.plotY+b.plotTop,b.plotTop,b.plotTop+b.plotHeight],g=["x",b.chartWidth,a,h.plotX+b.plotLeft,b.plotLeft,b.plotLeft+b.plotWidth],u=!this.followPointer&&t(h.ttBelow,!b.inverted===!!h.negative),
k=function(a,d,b,k,w,p){var l=b<k-f,e=k+f+b<d,C=k-f-b;k+=f;if(u&&e)c[a]=k;else if(!u&&l)c[a]=C;else if(l)c[a]=Math.min(p-b,0>C-q?C:C-q);else if(e)c[a]=Math.max(w,k+q+b>d?k:k+q);else return!1},d=function(a,d,b,k){var l;k<f||k>d-f?l=!1:c[a]=k<b/2?1:k>d-b/2?d-b-2:k-b/2;return l},w=function(a){var d=p;p=g;g=d;r=a},y=function(){!1!==k.apply(0,p)?!1!==d.apply(0,g)||r||(w(!0),y()):r?c.x=c.y=0:(w(!0),y())};(b.inverted||1e;e=[a.tooltipFooterHeaderFormatter(c[0])];e=e.concat(a.bodyFormatter(c));e.push(a.tooltipFooterHeaderFormatter(c[0],!0));return e},refresh:function(a,e){var c,b,f=a,x,q={},h=[];c=this.options.formatter||this.defaultFormatter;var q=this.shared,p;clearTimeout(this.hideTimer);this.followPointer=n(f)[0].series.tooltipOptions.followPointer;x=this.getAnchor(f,e);e=x[0];b=x[1];!q||f.series&&f.series.noSharedTooltip?q=f.getLabelConfig():(z(f,function(a){a.setState("hover");h.push(a.getLabelConfig())}),q=
{x:f[0].category,y:f[0].y},q.points=h,f=f[0]);this.len=h.length;q=c.call(q,this);p=f.series;this.distance=t(p.tooltipOptions.distance,16);!1===q?this.hide():(c=this.getLabel(),this.isHidden&&c.attr({opacity:1}).show(),this.split?this.renderSplit(q,a):(c.attr({text:q&&q.join?q.join(""):q}),c.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(f.colorIndex,p.colorIndex)),this.updatePosition({plotX:e,plotY:b,negative:f.negative,ttBelow:f.ttBelow,h:x[2]||0})),this.isHidden=!1)},renderSplit:function(c,
e){var h=this,b=[],f=this.chart,x=f.renderer,q=!0,g=this.options,p,r=this.getLabel();z(c.slice(0,e.length+1),function(a,k){k=e[k-1]||{isHeader:!0,plotX:e[0].plotX};var d=k.series||h,c=d.tt,y="highcharts-color-"+t(k.colorIndex,(k.series||{}).colorIndex,"none");c||(d.tt=c=x.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+y).attr({padding:g.padding,r:g.borderRadius}).add(r));c.isActive=!0;c.attr({text:a});a=c.getBBox();y=a.width+c.strokeWidth();k.isHeader?(p=a.height,y=Math.max(0,
Math.min(k.plotX+f.plotLeft-y/2,f.chartWidth-y))):y=k.plotX+f.plotLeft-t(g.distance,16)-y;0>y&&(q=!1);a=(k.series&&k.series.yAxis&&k.series.yAxis.pos)+(k.plotY||0);a-=f.plotTop;b.push({target:k.isHeader?f.plotHeight+p:a,rank:k.isHeader?1:0,size:d.tt.getBBox().height+1,point:k,x:y,tt:c})});this.cleanSplit();a.distribute(b,f.plotHeight+p);z(b,function(a){var b=a.point,d=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||b.isHeader?a.x:b.plotX+f.plotLeft+t(g.distance,16),y:a.pos+f.plotTop,
anchorX:b.isHeader?b.plotX+f.plotLeft:b.plotX+d.xAxis.pos,anchorY:b.isHeader?a.pos+f.plotTop-15:b.plotY+d.yAxis.pos})})},updatePosition:function(a){var c=this.chart,e=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+c.plotLeft,a.plotY+c.plotTop)},getDateFormat:function(a,h,g,b){var f=B("%m-%d %H:%M:%S.%L",h),c,q,r={millisecond:15,second:12,minute:9,hour:6,day:3},p="millisecond";for(q in e){if(a===e.week&&
+B("%w",h)===g&&"00:00:00.000"===f.substr(6)){q="week";break}if(e[q]>a){q=p;break}if(r[q]&&f.substr(r[q])!=="01-01 00:00:00.000".substr(r[q]))break;"week"!==q&&(p=q)}q&&(c=b[q]);return c},getXDateFormat:function(a,e,h){e=e.dateTimeLabelFormats;var b=h&&h.closestPointRange;return(b?this.getDateFormat(b,a.x,h.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:R="#A020F0">function(a,e){var c=e?"footer":"header";e=a.series;var b=e.tooltipOptions,f=b.xDateFormat,x=e.xAxis,q=x&&"datetime"===x.options.type&&
v(a.key),c=b[c+"Format"];q&&!f&&(f=this.getXDateFormat(a,b,x));q&&f&&(c=c.replace("{point.key}","{point.key:"+f+"}"));return E(c,{point:a,series:e})},bodyFormatter:function(a){return g(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}}})(I);(function(a){var B=a.addEvent,z=a.attr,A=a.charts,E=a.css,v=a.defined,g=a.doc,m=a.each,t=a.extend,n=a.fireEvent,h=a.offset,e=a.pick,c=a.removeEvent,r=a.splat,u=a.Tooltip,b=a.win;a.Pointer=
function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};u&&b.tooltip.enabled&&(a.tooltip=new u(a,b.tooltip),this.followTouchMove=e(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,f=b.options.chart,c=f.zoomType||"",b=b.inverted;/touch/T>.test(a.type)&&(c=e(f.pinchType,c));this.zoomX=a=/x/.test(c);this.zoomY=c=/y/.test(c);
this.zoomHor=a&&!b||c&&b;this.zoomVert=c&&!b||a&&b;this.hasZoom=a||c},normalize:function(a,c){var f,e;a=a||b.event;a.target||(a.target=a.srcElement);e=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=c=h(this.chart.container));void 0===e.pageX?(f=Math.max(a.x,a.clientX-c.left),c=a.y):(f=e.pageX-c.left,c=e.pageY-c.top);return t(a,{chartX:Math.round(f),chartY:Math.round(c)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};m(="#A020F0">this.chart.axes,function(f){b[f.isXAxis?
"xAxis":"yAxis"].push({axis:f,value:f.toValue(a[f.horiz?"chartX":"chartY"])})});return b},getKDPoints:function(a,b,c){var f=[],p,q,h;m(a,function(a){p=a.noSharedTooltip&&b;q=!b&&a.directTouch;a.visible&&!q&&e(a.options.enableMouseTracking,!0)&&(h=a.searchPoint(c,!p&&0>a.options.findNearestPointBy.indexOf("y")))&&h.series&&f.push(h)});f.sort(function(a,d){var f=a.distX-d.distX,c=a.dist-d.dist,k=(d.series.group&&d.series.group.zIndex)-(a.series.group&&a.series.group.zIndex);return 0!==f&&b?f:0!==c?
c:0!==k?k:a.series.index>d.series.index?-1:1});if(b&&f[0]&&!f[0].series.noSharedTooltip)for(a=f.length;a--;)(f[a].x!==f[0].x||f[a].series.noSharedTooltip)&&f.splice(a,1);return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getHoverData:function(b,c,q,h,p,g){var f=b,k=c,d;h?p?(d=[],m(q,function(a){var b=a.noSharedTooltip&&p,c=!p&&a.directTouch;a.visible&&!b&&!c&&e(a.options.enableMouseTracking,!0)&&(a=a.searchKDTree({clientX:f.clientX,plotY:f.plotY},
!b&&1===a.kdDimensions))&&a.series&&d.push(a)}),0===d.length&&(d=[f])):d=[f]:k&&!k.stickyTracking?(p||(q=[k]),d=this.getKDPoints(q,p,g),f=a.find(d,function(a){return a.series===k})):(b=a.grep(q,function(a){return a.stickyTracking}),d=this.getKDPoints(b,p,g),k=(f=d[0])&&f.series,p&&(d=this.getKDPoints(q,p,g)));d.sort(function(a,d){return a.series.index-d.series.index});return{hoverPoint:f,hoverSeries:k,hoverPoints:d}},runPointActions:function(b,c){var f=this.chart,h=f.tooltip,p=h?h.shared:!1,x=c||
f.hoverPoint,r=x&&x.series||f.hoverSeries;c=this.getHoverData(x,r,f.series,!!c||!p&&r&&r.directTouch,p,b);var k,d,x=c.hoverPoint;k=(r=c.hoverSeries)&&r.tooltipOptions.followPointer;d=(p=p&&x&&!x.series.noSharedTooltip)?c.hoverPoints:x?[x]:[];if(x&&(x!==f.hoverPoint||h&&h.isHidden)){m(f.hoverPoints||[],function(b){-1===a.inArray(b,d)&&b.setState()});m(d||[],function(a){a.setState("hover")});if(f.hoverSeries!==r)r.onMouseOver();r&&!r.directTouch&&(f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut"),
x.firePointEvent("mouseOver"));f.hoverPoints=d;f.hoverPoint=x;h&&h.refresh(p?d:x,b)}else k&&h&&!h.isHidden&&(x=h.getAnchor([{}],b),h.updatePosition({plotX:x[0],plotY:x[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(g,"mousemove",function(d){var b=A[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(d)}));m(f.axes,function(a){e(a.crosshair.snap,!0)?m(d,function(d){d.series[a.coll]===a&&a.drawCrosshair(b,d)}):a.drawCrosshair(b)})},reset:function(a,b){var f=this.chart,c=f.hoverSeries,p=f.hoverPoint,
e=f.hoverPoints,h=f.tooltip,k=h&&h.shared?e:p;a&&k&&m(r(k),function(d){d.series.isCartesian&&void 0===d.plotX&&(a=!1)});if(a)h&&k&&(h.refresh(k),p&&(p.setState(p.state,!0),m(f.axes,function(a){a.crosshair&&a.drawCrosshair(null,p)})));else{if(p)p.onMouseOut();e&&m(e,function(a){a.setState()});if(c)c.onMouseOut();h&&h.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());m(f.axes,function(a){a.hideCrosshair()});this.hoverX=f.hoverPoints=f.hoverPoint=null}},scaleGroups:function(a,
b){var f=this.chart,c;m(f.series,function(p){c=a||p.getPlotBox();p.xAxis&&p.xAxis.zoomEnabled&&p.group&&(p.group.attr(c),p.markerGroup&&(p.markerGroup.attr(c),p.markerGroup.clip(b?f.clipRect:null)),p.dataLabelsGroup&&p.dataLabelsGroup.attr(c))});f.clipRect.attr(b||f.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,f=b.options.chart,c=a.chartX,p=a.chartY,
e=this.zoomHor,h=this.zoomVert,k=b.plotLeft,d=b.plotTop,w=b.plotWidth,y=b.plotHeight,C,G=this.selectionMarker,l=this.mouseDownX,g=this.mouseDownY,r=f.panKey&&a[f.panKey+"Key"];G&&G.touch||(c<k?c=k:c>k+w&&(c=k+w),p<d?p=d:p>d+y&&(p=d+y),this.hasDragged=Math.sqrt(Math.pow(l-c,2)+Math.pow(g-p,2)),10<this.hasDragged&&(C=b.isInsidePlot(l-k,g-d),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&C&&!r&&!G&&(this.selectionMarker=G=b.renderer.rect(k,d,e?1:w,h?1:y,0).attr({"class":"highcharts-selection-marker",
zIndex:7}).add()),G&&e&&(c-=l,G.attr({width:Math.abs(c),x:(0<c?0:c)+l})),G&&h&&(c=p-g,G.attr({height:Math.abs(c),y:(0<c?0:c)+g})),C&&!G&&f.panning&&b.pan(a,f.panning)))},drop:function(a){var b=this,c=this.chart,f=this.hasPinched;if(this.selectionMarker){var e={originalEvent:a,xAxis:[],yAxis:[]},h=this.selectionMarker,g=h.attr?h.attr("x"):h.x,k=h.attr?h.attr("y"):h.y,d=h.attr?h.attr("width"):h.width,w=h.attr?h.attr(COLOR="#BC8F8F">"height"):h.height,y;if(this.hasDragged||f)m(c.axes,function(c){if(c.zoomEnabled&&v(c.min)&&
(f||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var p=c.horiz,l="touchend"===a.type?c.minPixelPadding:0,C=c.toValue((p?g:k)+l),p=c.toValue((p?g+d:k+w)-l);e[c.coll].push({axis:c,min:Math.min(C,p),max:Math.max(C,p)});y=!0}}),y&&n(c,"selection",e,function(a){c.zoom(t(a,f?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();f&&this.scaleGroups()}c&&(E(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this</B>.hasDragged=this.hasPinched=!1,this.pinchDown=
[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){A[a.hoverChartIndex]&&A[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=A[a.hoverChartIndex];c&&(b.relatedTarget||
b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;v(a.hoverChartIndex)&&A[a.hoverChartIndex]&&A[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=z(a,"class")){if(-1!==
c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b="#A020F0">this.chart,c=b.hoverPoint,f=b.plotLeft,e=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?
(n(c.series,"click",t(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(t(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-f,a.chartY-e)&&n(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};B(c,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&B(g,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(c.ontouchstart="#A020F0">function(a){b.onContainerTouchStart(a)},
c.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&B(g,"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;this.unDocMouseMove&&this.unDocMouseMove();c(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||(c(g,"mouseup",this.onDocumentMouseUp),c(g,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in LOR="#A020F0">this)this[b]=null}}})(I);(function(a){var B=a.charts,z=a.each,A=a.extend,E=a.map,v=a.noop,g=a.pick;A(a.Pointer.prototype,
{pinchTranslate:function(a,g,n,h,e,c){this.zoomHor&&this.pinchTranslateDirection(!0,a,g,n,h,e,c);this.zoomVert&&this.pinchTranslateDirection(!1,a,g,n,h,e,c)},pinchTranslateDirection:function(a,g,n,h,e,c,r,u){var b=this.chart,f=a?"x":"y",x=a?"X":"Y",q="chart"+x,D=a?"width":"height",p=b["plot"+(a?"Left":>"Top")],m,t,k=u||1,d=b.inverted,w=b.bounds[a?"h":"v"],y=1===g.length,C=g[0][q],G=n[0][q],l=!y&&g[1][q],F=!y&&n[1][q],v;n=function(){!y&&20<Math.abs(C-l)&&(k=u||Math.abs(G-F)/Math.abs(C-l));t=(p-G)/k+
C;m=b["plot"+(a?"Width":"Height")]/k};n();g=t;gw.max&&(g=w.max-m,v=!0);v?(G-=.8*(G-r[f][0]),y||(F-=.8*(F-r[f][1])),n()):r[f]=[G,F];d||(c[f]=t-p,c[D]=m);c=d?1/k:k;e[D]=m;e[f]=g;h[d?a?"scaleY":"scaleX":"scale"+x]=k;h["translate"+x]=c*p+(G-c*C)},pinch:function(a){var m=this,n=m.chart,h=m.pinchDown,e=a.touches,c=e.length,r=m.lastValidTouch,u=m.hasZoom,b=m.selectionMarker,f={},x=1===c&&(m.inClass(a.target,"highcharts-tracker")&&n.runTrackerClick||m.runChartClick),q={};1<c&&(m.initiated=
!0);u&&m.initiated&&!x&&a.preventDefault();E(e,function(a){return m.normalize(a)});"touchstart"===a.type?(z(e,function(a,b){h[b]={chartX:a.chartX,chartY:a.chartY}}),r.x=[h[0].chartX,h[1]&&h[1].chartX],r.y=[h[0].chartY,h[1]&&h[1].chartY],z(n.axes,function(a){if(a.zoomEnabled){var b=n.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,f=a.toPixels(g(a.options.min,a.dataMin)),k=a.toPixels(g(a.options.max,a.dataMax)),d=Math.max(f,k);b.min=Math.min(a.pos,Math.min(f,k)-c);b.max=Math.max(a.pos+a.len,d+c)}}),m.res=
!0):m.followTouchMove&&1===c?this.runPointActions(m.normalize(a)):h.length&&(b||(m.selectionMarker=b=A({destroy:v,touch:!0},n.plotBox)),m.pinchTranslate(h,e,f,b,q,r),m.hasPinched=u,m.scaleGroups(f,q),m.res&&(m.res=!1,this.reset(!1,0)))},touch:function(m,t){var n=this.chart,h,e;if(n.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=n.index;1===m.touches.length?(m=this.normalize(m),(e=n.isInsidePlot(m.chartX-n.plotLeft,m.chartY-n.plotTop))&&!n.openMenu?(t&&this.runPointActions(m),
"touchmove"===m.type&&(t=this.pinchDown,h=t[0]?4<=Math.sqrt(Math.pow(t[0].chartX-m.chartX,2)+Math.pow(t[0].chartY-m.chartY,2)):!1),g(h,!0)&&this.pinch(m)):t&&this.reset()):2===m.touches.length&&this.pinch(m)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(g)}})})(I);(function>(a){var B=a.addEvent,z=a.charts,A=a.css,E=a.doc,v=a.extend,g=a.noop,
m=a.Pointer,t=a.removeEvent,n=a.win,h=a.wrap;if(n.PointerEvent||n.MSPointerEvent){var e={},c=!!n.PointerEvent,r=function(){var a,c=[];c.item=function(a){return this[a]};for(a in e)e.hasOwnProperty(a)&&c.push({pageX:e[a].pageX,pageY:e[a].pageY,target:e[a].target});return c},u=function(b,c,e,h){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!z[a.hoverChartIndex]||(h(b),h=z[a.hoverChartIndex].pointer,h[c]({type:e,target:b.currentTarget,preventDefault:g,touches:r()}))};v(m.prototype,
{onContainerPointerDown:function(a){u(a,"onContainerTouchStart","touchstart",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){u(a,"onContainerTouchMove","touchmove",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY};e[a.pointerId].target||(e[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){u(a,"onDocumentTouchEnd","touchend",function(a){delete e[a.pointerId]})},batchMSEvents:function(a){a(ONT COLOR="#A020F0">this.chart.container,
c?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,c?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(E,c?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});h(m.prototype,"init",function(a,c,e){a.call(this,c,e);this.hasZoom&&A(c.container,{"-ms-touch-action":"none","touch-action":"none"})});h(m.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});h(m.prototype,"destroy",function(a){this.batchMSEvents(t);
a.call(this)})}})(I);(function(a){var B,z=a.addEvent,A=a.css,E=a.discardElement,v=a.defined,g=a.each,m=a.isFirefox,t=a.marginNames,n=a.merge,h=a.pick,e=a.setAnimation,c=a.stableSort,r=a.win,u=a.wrap;B=a.Legend=function(a,c){this.init(a,c)};B.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),z(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=h(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=
b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=h(a.symbolWidth,16);this.pages=[]},update:function(a,c){var b=this.chart;this.setOptions(n(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;h(c,!0)&&b.redraw()},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden")},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,h=e[0],e=e[1],p=a.checkbox;(a=a.legendGroup)&&a.element&&
a.translate(b?h:this.legendWidth-h-2*c-4,e);p&&(p.x=h,p.y=e)},destroyItem:function(a){var b=a.checkbox;g(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&E(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}g(this.getAllItems(),function(b){g(["legendItem","legendGroup"],a,b)});g("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,
c,e=this.clipHeight||this.legendHeight,h=this.titleHeight;b&&(c=b.translateY,g(this.allItems,function(f){var p=f.checkbox,g;p&&(g=c+h+p.y+(a||0)+3,A(p,{left:b.translateX+f.checkboxOffset+p.x-20+"px",top:g+"px",display:g>c-6&&g<c+e-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,c=this.options.title,e=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),e=a.height,this.offsetWidth=
a.width,this.contentGroup.attr({translateY:e}));this.titleHeight=e},setText:function(b){var c=this.options;b.legendItem.attr({text:c.labelFormat?a.format(c.labelFormat,b):c.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,c=b.renderer,e=this.options,g="horizontal"===e.layout,p=this.symbolWidth,r=e.symbolPadding,u=this.padding,k=g?h(e.itemDistance,20):0,d=!e.rtl,w=e.width,y=e.itemMarginBottom||0,C=this.itemMarginTop,G=a.legendItem,l=!a.series,n=!l&&a.series.drawLegendSymbol?a.series:
a,m=n.options,m=this.createCheckboxForItem&&m&&m.showCheckbox,t=e.useHTML,v=a.options.className;G||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+n.type+"-series highcharts-color-"+a.colorIndex+(v?" "+v:"")+(l?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=G=c.text("",d?p+r:-r,this.baseline||0,t).attr({align:d?"left":"right",zIndex:2}).add(a.legendGroup),thisONT>.baseline||(this.fontMetrics=c.fontMetrics(12,G),this.baseline=this.fontMetrics.f+3+C,G.attr("y",
this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,n.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,G,t),m&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);c=G.getBBox();p=a.checkboxOffset=e.itemWidth||a.legendItemWidth||p+r+c.width+k+(m?20:0);this.itemHeight=r=Math.round(a.legendItemHeight||c.height||this.symbolHeight);g&&this.itemX-u+p>(w||b.spacingBox.width-2*u-e.x)&&(this.itemX=u,this</FONT>.itemY+=C+this.lastLineHeight+y,this.lastLineHeight=
0);this.maxItemWidth=Math.max(this.maxItemWidth,p);this.lastItemY=C+this.itemY+y;this.lastLineHeight=Math.max(r,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];g?this.itemX+=p:(this.itemY+=C+r+y,this.lastLineHeight=r);this.offsetWidth=w||Math.max((g?this.itemX-u-k:p)+u,this.offsetWidth)},getAllItems:function(){var a=[];g(>this.chart.series,function(b){var c=b&&b.options;b&&h(c.showInLegend,v(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},
adjustMargins:function(a,c){var b=this.chart,f=this.options,e=f.align.charAt(0)+f.verticalAlign.charAt(0)+f.layout.charAt(0);f.floating||g([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(p,g){p.test(e)&&!v(a[g])&&(b[t[g]]=Math.max(b[t[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*f[g%2?"x":"y"]+h(f.margin,12)+c[g]))})},render:function(){var a=this,f=a.chart,e=f.renderer,h=a.group,r,p,u,m,k=a.box,d=a.options,w=a.padding;a.itemX=w;a.itemY=a.initialItemY;a.offsetWidth=
0;a.lastItemY=0;h||(a.group=h=e.g("legend").attr({zIndex:7}).add(),a.contentGroup=e.g().attr({zIndex:1}).add(h),a.scrollGroup=e.g().add(a.contentGroup));a.renderTitle();r=a.getAllItems();c(r,function(a,d){return(a.options&&a.options.legendIndex||0)-(d.options&&d.options.legendIndex||0)});d.reversed&&r.reverse();a.allItems=r;a.display=p=!!r.length;a.lastLineHeight=0;g(r,function(d){a.renderItem(d)});u=(d.width||a.offsetWidth)+w;m=a.lastItemY+a.lastLineHeight+a.titleHeight;m=a.handleOverflow(m);m+=
w;k||(a.box=k=e.rect().addClass("highcharts-legend-box").attr({r:d.borderRadius}).add(h),k.isNew=!0);0<u&&0<m&&(k[k.isNew?"attr":"animate"](k.crisp({x:0,y:0,width:u,height:m},k.strokeWidth())),k.isNew=!1);k[p?"show":"hide"]();"none"===h.getStyle("display")&&(u=m=0);a.legendWidth=u;a.legendHeight=m;g(r,function(d){a.positionItem(d)});p&&h.align(n(d,{width:u,height:m}),!0,"spacingBox");f.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=OR="#A020F0">this,c=this.chart,e=c.renderer,r=this.options,
p=r.y,u=this.padding,c=c.spacingBox.height+("top"===r.verticalAlign?-p:p)-u,p=r.maxHeight,n,k=this.clipRect,d=r.navigation,w=h(d.animation,!0),y=d.arrowSize||12,C=this.nav,G=this.pages,l,m=this.allItems,t=function(a){a?k.attr({height:a}):k&&(b.clipRect=k.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+u+"px,9999px,"+(u+a)+"px,0)":"auto")};"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(c"#BC8F8F">/=2);p&&(c=Math.min(c,p));G.length=0;a>c&&!1!==
d.enabled?(this.clipHeight=n=Math.max(c-20-this.titleHeight-u,0),this.currentPage=h(this.currentPage,1),this.fullHeight=a,g(m,function(a,d){var b=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var c=G.length;if(!c||b-G[c-1]>n&&(l||b)!==G[c-1])G.push(l||b),c++;d===m.length-1&&b+a-G[c-1]>n&&G.push(b);b!==l&&(l=b)}),k||(k=b.clipRect=e.clipRect(0,u,9999,0),b.contentGroup.clip(k)),t(n),C||(this.nav=C=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,y,y).on("click",
function(){b.scroll(-1,w)}).add(C),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").add(C),this.down=e.symbol("triangle-down",0,0,y,y).on("click",function(){b.scroll(1,w)}).add(C)),b.scroll(0),a=c):C&&(t(),this.nav=C.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,f=b.length;a=this.currentPage+a;var h=this.clipHeight,p=this.pager,g=this.padding;a>f&&(a=f);0translateY:h+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),p.attr({text:a+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),c=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:c}),this.currentPage=a,this.positionCheckboxes(c))}};a.LegendSymbolMixin={drawRectangle:function(a,c){var b=a.symbolHeight,
f=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(f?(a.symbolWidth-b)/2:0,a.baseline-b+1,f?b:a.symbolWidth,b,h(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,e=a.symbolWidth,g=a.symbolHeight;c=g/2;var p=this.chart.renderer,r=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);this.legendLine=p.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr({}).add(r);b&&!1!==b.enabled&&
(c=Math.min(h(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=n(b,{width:g,height:g}),c=0),this.legendSymbol=b=p.symbol(this.symbol,e/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(r),b.isMarker=!0)}};(/Trident\/7\.0/.test(r.navigator.userAgent)||m)&&u(B.prototype,"positionItem",function(a,c){var b=this,f=function(){c._legendItemPos&&a.call(b,c)};f();setTimeout(f)})})(I);(function(a){var B=a.addEvent,z=a.animObject,A=a.attr,E=a.doc,v=a.Axis,g=a.createElement,m=a.defaultOptions,t=a.discardElement,
n=a.charts,h=a.css,e=a.defined,c=a.each,r=a.extend,u=a.find,b=a.fireEvent,f=a.getStyle,x=a.grep,q=a.isNumber,D=a.isObject,p=a.isString,K=a.Legend,H=a.marginNames,k=a.merge,d=a.Pointer,w=a.pick,y=a.pInt,C=a.removeEvent,G=a.seriesTypes,l=a.splat,F=a.svg,M=a.syncTimeout,L=a.win,P=a.Renderer,R=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,d,b){return new R(a,d,b)};R.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(p(a[0])||a[0].nodeName)this.renderTo=
a.shift();this.init(a[0],a[1])},init:function(d,b){var c,l=d.series;d.series=null;c=k(m,d);c.series=d.series=l;this.userOptions=d;d=c.chart;l=d.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f;this.index=n.length;n.push(this);a.chartCount++;if(l)for(f in l)B(this,f,l[f]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},
initSeries:function(d){var b=this.options.chart;(b=G[d.type||b.type||b.defaultSeriesType])||a.error(17,!0);b=new b;b.init(this,d);return b},orderSeries:function(a){var d=this.series;for(a=a||0;a<d.length;a++)d[a]&&(d[a].index=a,d[a].name=d[a].name||"Series "+(d[a].index+1))},isInsidePlot:function(a,d,b){var c=b?d:a;a=b?a:d;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(d){var l=this.axes,k=this.series,f=this.pointer,e=this.legend,w=this.isDirtyLegend,p,h,C=this.hasCartesianSeries,
y=this.isDirtyBox,g,G=this.renderer,q=G.isHidden(),u=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(d,this);q&&this.cloneRenderTo();this.layOutTitles();for(d=k.length;d--;)if(g=k[d],g.options.stacking&&(p=!0,g.isDirty)){h=!0;break}if(h)for(d=k.length;d--;)g=k[d],g.options.stacking&&(g.isDirty=!0);c(k,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),w=!0);a.isDirtyData&&b(a,"updatedData")});w&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);
p&&this.getStacks();C&&c(l,function(a){a.updateNames();a.setScale()});this.getMargins();C&&(c(l,function(a){a.isDirty&&(y=!0)}),c(l,function(a){var d=a.min+","+a.max;a.extKey!==d&&(a.extKey=d,u.push(function(){b(a,"afterSetExtremes",r(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(y||p)&&a.redraw()}));y&&this.drawChartBox();b(this,"predraw");c(k,function(a){(y||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});f&&f.reset(!0);G.draw();b(this,"redraw");b(this,"render");q&&this.cloneRenderTo(!0);
c(u,function(a){a.call()})},get:function(a){function d(d){return d.id===a||d.options&&d.options.id===a}var b,c=this.series,l;b=u(this.axes,d)||u(this.series,d);for(l=0;!b&&l<c.length;l++)b=u(c[l].points||[],d);return b},getAxes:function(){var a=this,d=this.options,b=d.xAxis=l(d.xAxis||{}),d=d.yAxis=l(d.yAxis||{});c(b,function(a,d){a.index=d;a.isX=!0});c(d,function(a,d){a.index=d});b=b.concat(d);c(b,function(d){new v(a,d)})},getSelectedPoints:function(){var a=[];c(this.series,function(d){a=a.concat(x(d.points||
[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return x(this.series,function(a){return a.selected})},setTitle:function(a,d,b){var l=this,f=l.options,e;e=f.title=k(f.title,a);f=f.subtitle=k(f.subtitle,d);c([["title",a,e],["subtitle",d,f]],function(a,d){var b=a[0],c=l[b],k=a[1];a=a[2];c&&k&&(l[b]=c=c.destroy());a&&a.text&&!c&&(l[b]=l.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),l[b].update=function(a){l.setTitle(!d&&
a,d&&a)})});l.layOutTitles(b)},layOutTitles:function(a){var d=0,b,l=this.renderer,k=this.spacingBox;c(["title","subtitle"],function(a){var b=this[a],c=this.options[a],f;b&&(f=l.fontMetrics(f,b).b,b.css({width:(c.width||k.width+c.widthAdjust)+"px"}).align(r({y:d+f+("title"===a?-3:2)},c),!1,"spacingBox"),c.floating||c.verticalAlign||(d=Math.ceil(d+b.getBBox(c.useHTML).height)))},this);b=this.titleOffset!==d;this.titleOffset=d;!this.isDirtyBox&&b&&(this.isDirtyBox=b,this.hasRendered&&w(a,!0)&&this.isDirtyBox&&
this.redraw())},getChartSize:function(){var d=this.options.chart,b=d.width,d=d.height,c=this.renderToClone||this.renderTo;e(b)||(this.containerWidth=f(c,"width"));e(d)||(this.containerHeight=f(c,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(d,this.chartWidth)||this.containerHeight||400)},cloneRenderTo:function(a){var d=this.renderToClone,b=this.container;if(a){if(d){for(;d.childNodes.length;)this.renderTo.appendChild(d.firstChild);
t(d);delete this.renderToClone}}else b&&b.parentNode===this.renderTo&&this.renderTo.removeChild(b),this.renderToClone=d=this.renderTo.cloneNode(0),h(d,{position:"absolute",top:"-9999px",display:"block"}),d.style.setProperty&&d.style.setProperty("display","block","important"),E.body.appendChild(d),b&&d.appendChild(b)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d,b=this.options,c=b.chart,l,k;d=this.renderTo;var f=a.uniqueKey(),e;d||
(this.renderTo=d=c.renderTo);p(d)&&(this.renderTo=d=E.getElementById(d));d||a.error(13,!0);l=y(A(d,"data-highcharts-chart"));q(l)&&n[l]&&n[l].hasRendered&&n[l].destroy();A(d,"data-highcharts-chart",this.index);d.innerHTML="";c.skipClone||d.offsetWidth||this.cloneRenderTo();this.getChartSize();l=this.chartWidth;k=this.chartHeight;this.container=d=g("div",{id:f},void 0,this.renderToClone||d);this._cursor=d.style.cursor;this.renderer=new (a[c.renderer]||P)(d,l,k,null,c.forExport,b.exporting&&b.exporting.allowHTML);
this.setClassName(c.className);for(e in b.defs)this.renderer.definition(b.defs[e]);this.renderer.chartIndex=this.index},getMargins:function(a){var d=this.spacing,b=this.margin,c=this.titleOffset;this.resetMargins();c&&!e(b[0])&&(this.plotTop=Math.max(this.plotTop,c+this.options.title.margin+d[0]));this.legend.display&&this.legend.adjustMargins(b,d);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);
a||this.getAxisMargins()},getAxisMargins:function(){var a=this,d=a.axisOffset=[0,0,0,0],b=a.margin;a.hasCartesianSeries&&c(a.axes,function(a){a.visible&&a.getOffset()});c(H,function(c,l){e(b[l])||(a[c]+=d[l])});a.setChartSize()},reflow:function(a){var d=this,b=d.options.chart,c=d.renderTo,l=e(b.width),k=b.width||f(c,"width"),b=b.height||f(c,"height"),c=a?a.target:L;if(!l&&!d.isPrinting&&k&&b&&(c===L||c===E)){if(k!==d.containerWidth||b!==d.containerHeight)clearTimeout(d.reflowTimeout),d.reflowTimeout=
M(function(){d.container&&d.setSize(void 0,void 0,!1)},a?100:0);d.containerWidth=k;d.containerHeight=b}},initReflow:function(){var a=this,d;d=B(L,"resize",function(d){a.reflow(d)});B(a,"destroy",d)},setSize:function(d,l,k){var f=this,e=f.renderer;f.isResizing+=1;a.setAnimation(k,f);f.oldChartHeight=f.chartHeight;f.oldChartWidth=f.chartWidth;void 0!==d&&(f.options.chart.width=d);void 0!==l&&(f.options.chart.height=l);f.getChartSize();f.setChartSize(!0);e.setSize(f.chartWidth,f.chartHeight,k);c(f.axes,
function(a){a.isDirty=!0;a.setScale()});f.isDirtyLegend=!0;f.isDirtyBox=!0;f.layOutTitles();f.getMargins();f.redraw(k);f.oldChartHeight=null;b(f,"resize");M(function(){f&&b(f,"endResize",null,function(){--f.isResizing})},z(void 0).duration)},setChartSize:function(a){var d=this.inverted,b=this.renderer,l=this.chartWidth,k=this.chartHeight,f=this.options.chart,e=this.spacing,w=this.clipOffset,p,h,C,y;this.plotLeft=p=Math.round(this.plotLeft);this.plotTop=h=Math.round(this.plotTop);this.plotWidth=C=
Math.max(0,Math.round(l-p-this.marginRight));this.plotHeight=y=Math.max(0,Math.round(k-h-this.marginBottom));this.plotSizeX=d?y:C;this.plotSizeY=d?C:y;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=b.spacingBox={x:e[3],y:e[0],width:l-e[3]-e[1],height:k-e[0]-e[2]};this.plotBox=b.plotBox={x:p,y:h,width:C,height:y};l=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(l,w[3])/2);b=Math.ceil(Math.max(l,w[0])/2);this.clipBox={x:d,y:b,width:Math.floor(this.plotSizeX-Math.max(l,w[1])/2-
d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(l,w[2])/2-b))};a||c(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,d=a.options.chart;c(["margin","spacing"],function(b){var l=d[b],k=D(l)?l:[l,l,l,l];c(["Top","Right","Bottom","Left"],function(c,l){a[b][l]=w(d[b+c],k[l])})});c(H,function(d,b){a[d]=w(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,d=this.renderer,b=this.chartWidth,
c=this.chartHeight,l=this.chartBackground,k=this.plotBackground,f=this.plotBorder,e,w,p=this.plotLeft,h=this.plotTop,C=this.plotWidth,y=this.plotHeight,g=this.plotBox,G=this.clipRect,r=this.clipBox,q="animate";l||(this.chartBackground=l=d.rect().addClass("highcharts-background").add(),q="attr");e=w=l.strokeWidth();l[q]({x:w/2,y:w/2,width:b-w-e%2,height:c-w-e%2,r:a.borderRadius});q="animate";k||(q="attr",this.plotBackground=k=d.rect().addClass("highcharts-plot-background").add());k[q](g);G?G.animate({width:r.width,
height:r.height}):this.clipRect=d.clipRect(r);q="animate";f||(q="attr",this.plotBorder=f=d.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f[q](f.crisp({x:p,y:h,width:C,height:y},-f.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,d=a.options.chart,b,l=a.options.series,k,f;c(["inverted","angular","polar"],function(c){b=G[d.type||d.defaultSeriesType];f=d[c]||b&&b.prototype[c];for(k=l&&l.length;!f&&k--;)(b=G[l[k].type])&&b.prototype[c]&&(f=!0);a[c]=f})},linkSeries:function(){var a=
this,d=a.series;c(d,function(a){a.linkedSeries.length=0});c(d,function(d){var b=d.options.linkedTo;p(b)&&(b=":previous"===b?a.series[d.index-1]:a.get(b))&&b.linkedParent!==d&&(b.linkedSeries.push(d),d.linkedParent=b,d.visible=w(d.options.visible,b.options.visible,d.visible))})},renderSeries:function(){c(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,d=a.options.labels;d.items&&c(d.items,function(b){var c=r(d.style,b.style),l=y(c.left)+a.plotLeft,k=y(c.top)+
a.plotTop+12;delete c.left;delete c.top;a.renderer.text(b.html,l,k).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,d=this.renderer,b=this.options,l,k,f;this.setTitle();this.legend=new K(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;l=this.plotHeight-=21;c(a,function(a){a.setScale()});this.getAxisMargins();k=1.1<b/this.plotWidth;f=1.05<l/this.plotHeight;if(k||f)c(a,function(a){(a.horiz&&k||!a.horiz&&f)&&a.setTickInterval(!0)}),
this.getMargins();this.drawChartBox();this.hasCartesianSeries&&c(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=d.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var d=this;a=k(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",
function(){a.href&&(L.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).add().align(a.position),this.credits.update=function(a){d.credits=d.credits.destroy();d.addCredits(a)})},destroy:function(){var d=this,l=d.axes,k=d.series,f=d.container,e,w=f&&f.parentNode;b(d,"destroy");n[d.index]=void 0;a.chartCount--;d.renderTo.removeAttribute("data-highcharts-chart");C(d);for(e=l.length;e--;)l[e]=l[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=k.length;e--;)k[e]=
k[e].destroy();c("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var b=d[a];b&&b.destroy&&(d[a]=b.destroy())});f&&(f.innerHTML="",C(f),w&&t(f));for(e in d)delete d[e]},isReadyToRender:function(){var a=this;return F||L!=L.top||"complete"===E.readyState?!0:(E.attachEvent("onreadystatechange",function(){E.detachEvent("onreadystatechange",a.firstRender);"complete"===
E.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,l=a.options;if(a.isReadyToRender()){a.getContainer();b(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();c(l.series||[],function(d){a.initSeries(d)});a.linkSeries();b(a,"beforeRender");d&&(a.pointer=new d(a,l));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){c([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},
this);b(this,"load");b(this,"render");e(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(I);(function(a){var B,z=a.each,A=a.extend,E=a.erase,v=a.fireEvent,g=a.format,m=a.isArray,t=a.isNumber,n=a.pick,h=a.removeEvent;B=a.Point=function(){};B.prototype={init:function(a,c,h){var e=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(c,h);a.options.colorByPoint?(c=a.colorCounter,a.colorCounter++,a.colorCounter===e&&(a.colorCounter=0)):c=a.colorIndex;this.colorIndex=
n(this.colorIndex,c);a.chart.pointCount++;return this},applyOptions:function(a,c){var e=this.series,h=e.options.pointValKey||e.pointValKey;a=B.prototype.optionsToObject.call(this,a);A(this,a);this.options=this.options?A(this.options,a):a;a.group&&delete this.group;h&&(this.y=this[h]);this.isNull=n(this.isValid&&!this.isValid(),null===this.x||!t(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===c&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&
(this.x=void 0===c?e.autoIncrement(this):c);return this},optionsToObject:function(a){var c={},e=this.series,h=e.options.keys,b=h||e.pointArrayMap||["y"],f=b.length,g=0,q=0;if(t(a)||null===a)c[b[0]]=a;else if(m(a))for(!h&&a.length>f&&(e=typeof a[0],"string"===e?c.name=a[0]:"number"===e&&(c.x=a[0]),g++);q<f;)h&&void 0===a[g]||(c[b[q]]=a[g]),g++,q++;else"object"===typeof a&&(c=a,a.dataLabels&&(e._hasPointLabels=!0),a.marker&&(e._hasPointMarkers=!0));return c},getClassName:function(){return"highcharts-point"+
(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,c=a.zones,a=a.zoneAxis||"y",h=0,g;for(g=c[h];this[a]>=g.value;)g=c[++h];g&&g.color&&!this.options.color&&(this.color=
g.color);return g},destroy:function(){var a=this.series.chart,c=a.hoverPoints,g;a.pointCount--;c&&(this.setState(),E(c,this),c.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)h(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],c,h=6;h--;)c=a[h],this[c]&&(this[c]=this[c].destroy())},getLabelConfig:function(){return{x:this.category,
y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,e=c.tooltipOptions,h=n(e.valueDecimals,""),b=e.valuePrefix||"",f=e.valueSuffix||"";z(c.pointArrayMap||["y"],function(c){c="{point."+c;if(b||f)a=a.replace(c+"}",b+c+"}"+f);a=a.replace(c+"}",c+":,."+h+"f}")});return g(a,{point:this,series:this.series})},firePointEvent:function(a,c,
h){var e=this,b=this.series.options;(b.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&b.allowPointSelect&&(h=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});v(this,a,c,h)},visible:!0}})(I);(function(a){var B=a.addEvent,z=a.animObject,A=a.arrayMax,E=a.arrayMin,v=a.correctFloat,g=a.Date,m=a.defaultOptions,t=a.defined,n=a.each,h=a.erase,e=a.extend,c=a.fireEvent,r=a.grep,u=a.isArray,b=a.isNumber,f=a.isString,x=a.merge,q=a.pick,
D=a.removeEvent,p=a.splat,K=a.SVGElement,H=a.syncTimeout,k=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,
marker:{},halo:{size:10}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var d=this,c,k,l=a.series,f;d.chart=a;d.options=b=d.setOptions(b);d.linkedSeries=[];d.bindAxes();e(d,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});k=b.events;for(c in k)B(d,c,k[c]);if(k&&k.click||
b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;d.getColor();d.getSymbol();n(d.parallelArrays,function(a){d[a+"Data"]=[]});d.setData(b.data,!1);d.isCartesian&&(a.hasCartesianSeries=!0);l.length&&(f=l[l.length-1]);d._i=q(f&&f._i,-1)+1;a.orderSeries(this.insert(l))},insert:function(a){var d=this.options.index,c;if(b(d)){for(c=a.length;c--;)if(d>=q(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return q(c,
a.length-1)},bindAxes:function(){var d=this,b=d.options,c=d.chart,k;n(d.axisTypes||[],function(f){n(c[f],function(a){k=a.options;if(b[f]===k.index||void 0!==b[f]&&b[f]===k.id||void 0===b[f]&&0===k.index)d.insert(a.series),d[f]=a,a.isDirty=!0});d[f]||d.optionalAxis===f||a.error(18,!0)})},updateParallelArrays:function(a,c){var d=a.series,k=arguments,f=b(c)?function(b){var l="y"===b&&d.toYData?d.toYData(a):a[b];d[b+"Data"][c]=l}:function(a){Array.prototype[c].apply(d[a+"Data"],Array.prototype.slice.call(k,
2))};n(d.parallelArrays,f)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,k=a.pointIntervalUnit,b=q(b,a.pointStart,0);this.pointInterval=c=q(this.pointInterval,a.pointInterval,1);k&&(a=new g(b),"day"===k?a=+a[g.hcSetDate](a[g.hcGetDate]()+c):"month"===k?a=+a[g.hcSetMonth](a[g.hcGetMonth]()+c):"year"===k&&(a=+a[g.hcSetFullYear](a[g.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var d=this.chart,b=d.options.plotOptions,d=d.userOptions||{},c=d.plotOptions||
{},k=b[this.type];this.userOptions=a;b=x(k,b.series,a);this.tooltipOptions=x(m.tooltip,m.plotOptions[this.type].tooltip,d.tooltip,c.series&&c.series.tooltip,c[this.type]&&c[this.type].tooltip,a.tooltip);this.stickyTracking=q(a.stickyTracking,c[this.type]&&c[this.type].stickyTracking,c.series&&c.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===k.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||
b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative"});a.length&&t(a[a.length-1].value)&&a.push({});return b},getCyclic:function(a,b,c){var d,k=this.chart,l=this.userOptions,f=a+"Index",e=a+"Counter",p=c?c.length:q(k.options.chart[a+"Count"],k[a+"Count"]);b||(d=q(l[f],l["_"+f]),t(d)||(k.series.length||(k[e]=0),l["_"+f]=d=k[e]%p,k[e]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",
this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(d,c,k,e){var p=this,l=p.points,w=l&&l.length||0,h,C=p.options,g=p.chart,y=null,r=p.xAxis,m=C.turboThreshold,x=this.xData,D=this.yData,t=(h=p.pointArrayMap)&&h.length;d=d||[];h=d.length;c=q(c,!0);if(!1!==e&&h&&w===h&&!p.cropped&&!p.hasGroupedData&&p.visible)n(d,function(a,d){l[d].update&&a!==C.data[d]&&l[d].update(a,!1,null,!1)});else{p.xIncrement=null;p.colorCounter=0;n(this.parallelArrays,
function(a){p[a+"Data"].length=0});if(m&&h>m){for(k=0;null===y&&k<h;)y=d[k],k++;if(b(y))for(k=0;k<h;k++)x[k]=this.autoIncrement(),D[k]=d[k];else if(u(y))if(t)for(k=0;k<h;k++)y=d[k],x[k]=y[0],D[k]=y.slice(1,t+1);else for(k=0;k<h;k++)y=d[k],x[k]=y[0],D[k]=y[1];else a.error(12)}else for(k=0;k<h;k++)void 0!==d[k]&&(y={series:p},p.pointClass.prototype.applyOptions.apply(y,[d[k]]),p.updateParallelArrays(y,k));f(D[0])&&a.error(14,!0);p.data=[];p.options.data=p.userOptions.data=d;for(k=w;k--;)l[k]&&l[k].destroy&&
l[k].destroy();r&&(r.minRange=r.userMinRange);p.isDirty=g.isDirtyBox=!0;p.isDirtyData=!!l;k=!1}"point"===C.legendType&&(this.processData(),this.generatePoints());c&&g.redraw(k)},processData:function(d){var b=this.xData,c=this.yData,k=b.length,f;f=0;var l,e,p=this.xAxis,h,g=this.options;h=g.cropThreshold;var q=this.getExtremesFromAll||g.getExtremesFromAll,r=this.isCartesian,g=p&&p.val2lin,u=p&&p.isLog,n,m;if(r&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!d)return!1;p&&(d=p.getExtremes(),n=d.min,
m=d.max);if(r&&this.sorted&&!q&&(!h||k>h||this.forceCrop))if(b[k-1]<n||b[0]>m)b=[],c=[];else if(b[0]<n||b[k-1]>m)f=this.cropData(this.xData,this.yData,n,m),b=f.xData,c=f.yData,f=f.start,l=!0;for(h=b.length||1;--h;)k=u?g(b[h])-g(b[h-1]):b[h]-b[h-1],0<k&&(void 0===e||k<e)?e=k:0>k&&this.requireSorting&&a.error(15);this.cropped=l;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=e},cropData:function(a,b,c,k){var d=a.length,l=0,f=d,e=q(this.cropShoulder,1),p;for(p=0;p<
d;p++)if(a[p]>=c){l=Math.max(0,p-e);break}for(c=p;c<d;c++)if(a[c]>k){f=c+e;break}return{xData:a.slice(l,f),yData:b.slice(l,f),start:l,end:f}},generatePoints:function(){var a=this.options.data,b=this.data,c,k=this.processedXData,f=this.processedYData,l=this.pointClass,e=k.length,h=this.cropStart||0,g,q=this.hasGroupedData,r,u=[],n;b||q||(b=[],b.length=a.length,b=this.data=b);for(n=0;n<e;n++)g=h+n,q?(r=(new l).init(this,[k[n]].concat(p(f[n]))),r.dataGroup=this.groupMap[n]):(r=b[g])||void 0===a[g]||
(b[g]=r=(new l).init(this,a[g],k[n])),r&&(r.index=g,u[n]=r);if(b&&(e!==(c=b.length)||q))for(n=0;n<c;n++)n!==h||q||(n+=e),b[n]&&(b[n].destroyElements(),b[n].plotX=void 0);this.data=b;this.points=u},getExtremes:function(a){var d=this.yAxis,c=this.processedXData,k,f=[],l=0;k=this.xAxis.getExtremes();var e=k.min,p=k.max,h,g,r,q;a=a||this.stackedYData||this.processedYData||[];k=a.length;for(q=0;q<k;q++)if(g=c[q],r=a[q],h=(b(r,!0)||u(r))&&(!d.positiveValuesOnly||r.length||0<r),g=this.getExtremesFromAll||
this.options.getExtremesFromAll||this.cropped||(c[q]||g)>=e&&(c[q]||g)<=p,h&&g)if(h=r.length)for(;h--;)null!==r[h]&&(f[l++]=r[h]);else f[l++]=r;this.dataMin=E(f);this.dataMax=A(f)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,c=a.stacking,k=this.xAxis,f=k.categories,e=this.yAxis,l=this.points,p=l.length,h=!!this.modifyValue,g=a.pointPlacement,r="between"===g||b(g),u=a.threshold,n=a.startFromThreshold?u:0,m,x,D,K,H=Number.MAX_VALUE;"between"===
g&&(g=.5);b(g)&&(g*=q(a.pointRange||k.pointRange));for(a=0;a<p;a++){var z=l[a],B=z.x,A=z.y;x=z.low;var E=c&&e.stacks[(this.negStacks&&A<(n?0:u)?"-":"")+this.stackKey],I;e.positiveValuesOnly&&null!==A&&0>=A&&(z.isNull=!0);z.plotX=m=v(Math.min(Math.max(-1E5,k.translate(B,0,0,0,1,g,"flags"===this.type)),1E5));c&&this.visible&&!z.isNull&&E&&E[B]&&(K=this.getStackIndicator(K,B,this.index),I=E[B],A=I.points[K.key],x=A[0],A=A[1],x===n&&K.key===E[B].base&&(x=q(u,e.min)),e.positiveValuesOnly&&0>=x&&(x=null),
z.total=z.stackTotal=I.total,z.percentage=I.total&&z.y/I.total*100,z.stackY=A,I.setOffset(this.pointXOffset||0,this.barW||0));z.yBottom=t(x)?e.translate(x,0,1,0,1):null;h&&(A=this.modifyValue(A,z));z.plotY=x="number"===typeof A&&Infinity!==A?Math.min(Math.max(-1E5,e.translate(A,0,1,0,1)),1E5):void 0;z.isInside=void 0!==x&&0<=x&&x<=e.len&&0<=m&&m<=k.len;z.clientX=r?v(k.translate(B,0,0,0,1,g)):m;z.negative=z.y<(u||0);z.category=f&&void 0!==f[z.x]?f[z.x]:z.x;z.isNull||(void 0!==D&&(H=Math.min(H,Math.abs(m-
D))),D=m);z.zone=this.zones.length&&z.getZone()}this.closestPointRangePx=H},getValidPoints:function(a,b){var d=this.chart;return r(a||this.points||[],function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:!a.isNull})},setClip:function(a){var d=this.chart,b=this.options,c=d.renderer,k=d.inverted,l=this.clipBox,f=l||d.clipBox,e=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,b.xAxis,b.yAxis].join(),p=d[e],h=d[e+"m"];p||(a&&(f.width=0,d[e+"m"]=h=c.clipRect(-99,k?-d.plotLeft:
-d.plotTop,99,k?d.chartWidth:d.chartHeight)),d[e]=p=c.clipRect(f),p.count={length:0});a&&!p.count[this.index]&&(p.count[this.index]=!0,p.count.length+=1);!1!==b.clip&&(this.group.clip(a||l?p:d.clipRect),this.markerGroup.clip(h),this.sharedClipKey=e);a||(p.count[this.index]&&(delete p.count[this.index],--p.count.length),0===p.count.length&&e&&d[e]&&(l||(d[e]=d[e].destroy()),d[e+"m"]&&(d[e+"m"]=d[e+"m"].destroy())))},animate:function(a){var d=this.chart,b=z(this.options.animation),c;a?this.setClip(b):
(c=this.sharedClipKey,(a=d[c])&&a.animate({width:d.plotSizeX},b),d[c+"m"]&&d[c+"m"].animate({width:d.plotSizeX+99},b),this.animate=null)},afterAnimate:function(){this.setClip();c(this,"afterAnimate")},drawPoints:function(){var a=this.points,c=this.chart,k,f,e,l,p=this.options.marker,h,g,r,u,n=this.markerGroup,m=q(p.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(f=0;f<a.length;f++)e=a[f],k=e.plotY,l=e.graphic,h=e.marker||{},g=
!!e.marker,r=m&&void 0===h.enabled||h.enabled,u=e.isInside,r&&b(k)&&null!==e.y?(k=q(h.symbol,this.symbol),e.hasImage=0===k.indexOf("url"),r=this.markerAttribs(e,e.selected&&"select"),l?l[u?"show":"hide"](!0).animate(r):u&&(0<r.width||e.hasImage)&&(e.graphic=l=c.renderer.symbol(k,r.x,r.y,r.width,r.height,g?h:p).add(n)),l&&l.addClass(e.getClassName(),!0)):l&&(e.graphic=l.destroy())},markerAttribs:function(a,b){var d=this.options.marker,c=a.marker||{},k=q(c.radius,d.radius);b&&(d=d.states[b],b=c.states&&
c.states[b],k=q(b&&b.radius,d&&d.radius,k+(d&&d.radiusPlus||0)));a.hasImage&&(k=0);a={x:Math.floor(a.plotX)-k,y:a.plotY-k};k&&(a.width=a.height=2*k);return a},destroy:function(){var a=this,b=a.chart,f=/AppleWebKit\/533/.test(k.navigator.userAgent),e,p=a.data||[],l,g,r;c(a,"destroy");D(a);n(a.axisTypes||[],function(d){(r=a[d])&&r.series&&(h(r.series,a),r.isDirty=r.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(e=p.length;e--;)(l=p[e])&&l.destroy&&l.destroy();a.points=null;clearTimeout(a.animationTimeout);
for(g in a)a[g]instanceof K&&!a[g].survive&&(e=f&&"group"===g?"hide":"destroy",a[g][e]());b.hoverSeries===a&&(b.hoverSeries=null);h(b.series,a);b.orderSeries();for(g in a)delete a[g]},getGraphPath:function(a,b,c){var d=this,k=d.options,l=k.step,f,e=[],p=[],h;a=a||d.points;(f=a.reversed)&&a.reverse();(l={right:1,center:2}[l]||l&&3)&&f&&(l=4-l);!k.connectNulls||b||c||(a=this.getValidPoints(a));n(a,function(f,g){var w=f.plotX,r=f.plotY,C=a[g-1];(f.leftCliff||C&&C.rightCliff)&&!c&&(h=!0);f.isNull&&!t(b)&&
0<g?h=!k.connectNulls:f.isNull&&!b?h=!0:(0===g||h?g=["M",f.plotX,f.plotY]:d.getPointSpline?g=d.getPointSpline(a,f,g):l?(g=1===l?["L",C.plotX,r]:2===l?["L",(C.plotX+w)/2,C.plotY,"L",(C.plotX+w)/2,r]:["L",w,C.plotY],g.push("L",w,r)):g=["L",w,r],p.push(f.x),l&&p.push(f.x),e.push.apply(e,g),h=!1)});e.xMap=p;return d.graphPath=e},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph"]];n(this.zones,function(a,d){c.push(["zone-graph-"+d,"highcharts-graph highcharts-zone-graph-"+
d+" "+(a.className||"")])});n(c,function(d,c){c=d[0];var k=a[c];k?(k.endX=b.xMap,k.animate({d:b})):b.length&&(a[c]=a.chart.renderer.path(b).addClass(d[1]).attr({zIndex:1}).add(a.group));k&&(k.startX=b.xMap,k.isArea=b.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,k=this.zones,f,l,e=this.clips||[],p,h=this.graph,g=this.area,r=Math.max(b.chartWidth,b.chartHeight),u=this[(this.zoneAxis||"y")+"Axis"],m,x,D=b.inverted,t,K,H,v,z=!1;k.length&&(h||g)&&u&&void 0!==u.min&&(x=u.reversed,
t=u.horiz,h&&h.hide(),g&&g.hide(),m=u.getExtremes(),n(k,function(d,k){f=x?t?b.plotWidth:0:t?0:u.toPixels(m.min);f=Math.min(Math.max(q(l,f),0),r);l=Math.min(Math.max(Math.round(u.toPixels(q(d.value,m.max),!0)),0),r);z&&(f=l=u.toPixels(m.max));K=Math.abs(f-l);H=Math.min(f,l);v=Math.max(f,l);u.isXAxis?(p={x:D?v:H,y:0,width:K,height:r},t||(p.x=b.plotHeight-p.x)):(p={x:0,y:D?v:H,width:r,height:K},t&&(p.y=b.plotWidth-p.y));e[k]?e[k].animate(p):(e[k]=c.clipRect(p),h&&a["zone-graph-"+k].clip(e[k]),g&&a["zone-area-"+
k].clip(e[k]));z=d.value>m.max}),this.clips=e)},invertGroups:function(a){function d(){n(["group","markerGroup"],function(d){b[d]&&(c.renderer.isVML&&b[d].attr({width:b.yAxis.len,height:b.xAxis.len}),b[d].width=b.yAxis.len,b[d].height=b.xAxis.len,b[d].invert(a))})}var b=this,c=b.chart,k;b.xAxis&&(k=B(c,"resize",d),B(b,"destroy",k),d(a),b.invertGroups=d)},plotGroup:function(a,b,c,k,f){var d=this[a],e=!d;e&&(this[a]=d=this.chart.renderer.g(b).attr({zIndex:k||.1}).add(f),d.addClass("highcharts-series-"+
this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));d.attr({visibility:c})[e?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,k=a.options,f=!!a.animate&&b.renderer.isSVG&&z(k.animation).duration,l=a.visible?"inherit":
"hidden",e=k.zIndex,p=a.hasRendered,h=b.seriesGroup,g=b.inverted;c=a.plotGroup("group","series",l,e,h);a.markerGroup=a.plotGroup("markerGroup","markers",l,e,h);f&&a.animate(!0);c.inverted=a.isCartesian?g:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(g);!1===k.clip||a.sharedClipKey||p||c.clip(b.clipRect);f&&a.animate();p||(a.animationTimeout=H(function(){a.afterAnimate()},
f));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,k=this.xAxis,f=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:q(k&&k.left,a.plotLeft),translateY:q(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var d=this.xAxis,c=this.yAxis,k=this.chart.inverted;return this.searchKDTree({clientX:k?d.len-a.chartY+
d.pos:a.chartX-d.pos,plotY:k?c.len-a.chartX+c.pos:a.chartY-c.pos},b)},buildKDTree:function(){function a(d,c,k){var l,f;if(f=d&&d.length)return l=b.kdAxisArray[c%k],d.sort(function(a,d){return a[l]-d[l]}),f=Math.floor(f/2),{point:d[f],left:a(d.slice(0,f),c+1,k),right:a(d.slice(f+1),c+1,k)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;H(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},
searchKDTree:function(a,b){function d(a,b,e,p){var h=b.point,g=c.kdAxisArray[e%p],w,r,q=h;r=t(a[k])&&t(h[k])?Math.pow(a[k]-h[k],2):null;w=t(a[l])&&t(h[l])?Math.pow(a[l]-h[l],2):null;w=(r||0)+(w||0);h.dist=t(w)?Math.sqrt(w):Number.MAX_VALUE;h.distX=t(r)?Math.sqrt(r):Number.MAX_VALUE;g=a[g]-h[g];w=0>g?"left":"right";r=0>g?"right":"left";b[w]&&(w=d(a,b[w],e+1,p),q=w[f]<q[f]?w:h);b[r]&&Math.sqrt(g*g)<q[f]&&(a=d(a,b[r],e+1,p),q=a[f]<q[f]?a:q);return q}var c=this,k=this.kdAxisArray[0],l=this.kdAxisArray[1],
f=b?"distX":"dist";b=-1<c.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return d(a,this.kdTree,b,b)}})})(I);(function(a){function B(a,e,c,g,u){var b=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=e;this.x=g;this.total=null;this.points={};this.stack=u;this.rightCliff=this.leftCliff=0;this.alignOptions={align:e.align||(b?c?"left":"right":"center"),verticalAlign:e.verticalAlign||(b?"middle":c?"bottom":"top"),y:n(e.y,b?4:c?
14:-6),x:n(e.x,b?c?-6:6:0)};this.textAlign=e.textAlign||(b?c?"right":"left":"center")}var z=a.Axis,A=a.Chart,E=a.correctFloat,v=a.defined,g=a.destroyObjectProperties,m=a.each,t=a.format,n=a.pick;a=a.Series;B.prototype={destroy:function(){g(this,this.axis)},render:function(a){var e=this.options,c=e.format,c=c?t(c,this):e.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,null,null,e.useHTML).css(e.style).attr({align:this.textAlign,
rotation:e.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,e){var c=this.axis,h=c.chart,g=h.inverted,b=c.reversed,b=this.isNegative&&!b||!this.isNegative&&b,f=c.translate(c.usePercentage?100:this.total,0,0,0,1),c=c.translate(0),c=Math.abs(f-c);a=h.xAxis[0].translate(this.x)+a;var n=h.plotHeight,g={x:g?b?f:f-c:a,y:g?n-a-e:b?n-f-c:n-f,width:g?c:e,height:g?e:c};if(e=this.label)e.align(this.alignOptions,null,g),g=e.alignAttr,e[!1===this.options.crop||h.isInsidePlot(g.x,g.y)?"show":"hide"](!0)}};
A.prototype.getStacks=function(){var a=this;m(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});m(a.series,function(e){!e.options.stacking||!0!==e.visible&&!1!==a.options.chart.ignoreHiddenSeries||(e.stackKey=e.type+n(e.options.stack,""))})};z.prototype.buildStacks=function(){var a=this.series,e,c=n(this.options.reversedStacks,!0),g=a.length,u;if(!this.isXAxis){this.usePercentage=!1;for(u=g;u--;)a[c?u:g-u-1].setStackedPoints();for(u=g;u--;)e=a[c?u:g-u-1],e.setStackCliffs&&
e.setStackCliffs();if(this.usePercentage)for(u=0;u<g;u++)a[u].setPercentStacks()}};z.prototype.renderStackTotals=function(){var a=this.chart,e=a.renderer,c=this.stacks,g,u,b=this.stackTotalGroup;b||(this.stackTotalGroup=b=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());b.translate(a.plotLeft,a.plotTop);for(g in c)for(u in a=c[g],a)a[u].render(b)};z.prototype.resetStacks=function(){var a=this.stacks,e,c;if(!this.isXAxis)for(e in a)for(c in a[e])a[e][c].touched<this.stacksTouched?(a[e][c].destroy(),
delete a[e][c]):(a[e][c].total=null,a[e][c].cum=null)};z.prototype.cleanStacks=function(){var a,e,c;if(!this.isXAxis)for(e in this.oldStacks&&(a=this.stacks=this.oldStacks),a)for(c in a[e])a[e][c].cum=a[e][c].total};a.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var a=this.processedXData,e=this.processedYData,c=[],g=e.length,u=this.options,b=u.threshold,f=u.startFromThreshold?b:0,m=u.stack,u=u.stacking,q=this.stackKey,
D="-"+q,p=this.negStacks,t=this.yAxis,H=t.stacks,k=t.oldStacks,d,w,y,C,G,l,F;t.stacksTouched+=1;for(G=0;G<g;G++)l=a[G],F=e[G],d=this.getStackIndicator(d,l,this.index),C=d.key,y=(w=p&&F<(f?0:b))?D:q,H[y]||(H[y]={}),H[y][l]||(k[y]&&k[y][l]?(H[y][l]=k[y][l],H[y][l].total=null):H[y][l]=new B(t,t.options.stackLabels,w,l,m)),y=H[y][l],null!==F&&(y.points[C]=y.points[this.index]=[n(y.cum,f)],v(y.cum)||(y.base=C),y.touched=t.stacksTouched,0<d.index&&!1===this.singleStacks&&(y.points[C][0]=y.points[this.index+
","+l+",0"][0])),"percent"===u?(w=w?q:D,p&&H[w]&&H[w][l]?(w=H[w][l],y.total=w.total=Math.max(w.total,y.total)+Math.abs(F)||0):y.total=E(y.total+(Math.abs(F)||0))):y.total=E(y.total+(F||0)),y.cum=n(y.cum,f)+(F||0),null!==F&&(y.points[C].push(y.cum),c[G]=y.cum);"percent"===u&&(t.usePercentage=!0);this.stackedYData=c;t.oldStacks={}}};a.prototype.setPercentStacks=function(){var a=this,e=a.stackKey,c=a.yAxis.stacks,g=a.processedXData,u;m([e,"-"+e],function(b){for(var f=g.length,e,h;f--;)if(e=g[f],u=a.getStackIndicator(u,
e,a.index,b),e=(h=c[b]&&c[b][e])&&h.points[u.key])h=h.total?100/h.total:0,e[0]=E(e[0]*h),e[1]=E(e[1]*h),a.stackedYData[f]=e[1]})};a.prototype.getStackIndicator=function(a,e,c,g){!v(a)||a.x!==e||g&&a.key!==g?a={x:e,index:0,key:g}:a.index++;a.key=[c,e,a.index].join();return a}})(I);(function(a){var B=a.addEvent,z=a.Axis,A=a.createElement,E=a.css,v=a.defined,g=a.each,m=a.erase,t=a.extend,n=a.fireEvent,h=a.inArray,e=a.isNumber,c=a.isObject,r=a.merge,u=a.pick,b=a.Point,f=a.Series,x=a.seriesTypes,q=a.setAnimation,
D=a.splat;t(a.Chart.prototype,{addSeries:function(a,b,c){var k,d=this;a&&(b=u(b,!0),n(d,"addSeries",{options:a},function(){k=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();b&&d.redraw(c)}));return k},addAxis:function(a,b,c,k){var d=b?"xAxis":"yAxis",f=this.options;a=r(a,{index:this[d].length,isX:b});new z(this,a);f[d]=D(f[d]||{});f[d].push(a);u(c,!0)&&this.redraw(k)},showLoading:function(a){var b=this,c=b.options,k=b.loadingDiv,d=function(){k&&E(k,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+
"px",height:b.plotHeight+"px"})};k||(b.loadingDiv=k=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=A("span",{className:"highcharts-loading-inner"},null,k),B(b,"redraw",d));k.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.loadingShown=!0;d()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,b){var c,k={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},d=a.chart,f,p;if(d){r(!0,this.options.chart,d);"className"in d&&this.setClassName(d.className);if("inverted"in d||"polar"in d)this.propFromSeries(),f=!0;"alignTicks"in d&&(f=!0);for(c in d)d.hasOwnProperty(c)&&(-1!==h("chart."+c,this.propsRequireUpdateSeries)&&(p=!0),-1!==h(c,this.propsRequireDirtyBox)&&
(this.isDirtyBox=!0))}for(c in a){if(this[c]&&"function"===typeof this[c].update)this[c].update(a[c],!1);else if("function"===typeof this[k[c]])this[k[c]](a[c]);"chart"!==c&&-1!==h(c,this.propsRequireUpdateSeries)&&(p=!0)}a.plotOptions&&r(!0,this.options.plotOptions,a.plotOptions);g(["xAxis","yAxis","series","colorAxis","pane"],function(d){a[d]&&g(D(a[d]),function(a,b){(b=v(a.id)&&this.get(a.id)||this[d][b])&&b.coll===d&&b.update(a,!1)},this)},this);f&&g(this.axes,function(a){a.update({},!1)});p&&
g(this.series,function(a){a.update({},!1)});a.loading&&r(!0,this.options.loading,a.loading);c=d&&d.width;d=d&&d.height;e(c)&&c!==this.chartWidth||e(d)&&d!==this.chartHeight?this.setSize(c,d):u(b,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});t(b.prototype,{update:function(a,b,f,k){function d(){e.applyOptions(a);null===e.y&&g&&(e.graphic=g.destroy());c(a,!0)&&(g&&g.element&&a&&a.marker&&a.marker.symbol&&(e.graphic=g.destroy()),a&&a.dataLabels&&e.dataLabel&&(e.dataLabel=e.dataLabel.destroy()));
h=e.index;p.updateParallelArrays(e,h);r.data[h]=c(r.data[h],!0)||c(a,!0)?e.options:a;p.isDirty=p.isDirtyData=!0;!p.fixedBox&&p.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===r.legendType&&(l.isDirtyLegend=!0);b&&l.redraw(f)}var e=this,p=e.series,g=e.graphic,h,l=p.chart,r=p.options;b=u(b,!0);!1===k?d():e.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(h(this,this.series.data),a,b)}});t(f.prototype,{addPoint:function(a,b,c,k){var d=this.options,f=this.data,e=this.chart,
p=this.xAxis,p=p&&p.hasNames&&p.names,g=d.data,l,h,r=this.xData,q,n;b=u(b,!0);l={series:this};this.pointClass.prototype.applyOptions.apply(l,[a]);n=l.x;q=r.length;if(this.requireSorting&&n<r[q-1])for(h=!0;q&&r[q-1]>n;)q--;this.updateParallelArrays(l,"splice",q,0,0);this.updateParallelArrays(l,q);p&&l.name&&(p[n]=l.name);g.splice(q,0,a);h&&(this.data.splice(q,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(l,
"shift"),g.shift()));this.isDirtyData=this.isDirty=!0;b&&e.redraw(k)},removePoint:function(a,b,c){var k=this,d=k.data,f=d[a],e=k.points,p=k.chart,g=function(){e&&e.length===d.length&&e.splice(a,1);d.splice(a,1);k.options.data.splice(a,1);k.updateParallelArrays(f||{series:k},"splice",a,1);f&&f.destroy();k.isDirty=!0;k.isDirtyData=!0;b&&p.redraw()};q(c,p);b=u(b,!0);f?f.firePointEvent("remove",null,g):g()},remove:function(a,b,c){function k(){d.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();
u(a,!0)&&f.redraw(b)}var d=this,f=d.chart;!1!==c?n(d,"remove",null,k):k()},update:function(a,b){var c=this,k=this.chart,d=this.userOptions,f=this.oldType||this.type,e=a.type||d.type||k.options.chart.type,p=x[f].prototype,h=["group","markerGroup","dataLabelsGroup"],l;if(e&&e!==f||void 0!==a.zIndex)h.length=0;g(h,function(a){h[a]=c[a];delete c[a]});a=r(d,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(l in p)this[l]=void 0;t(this,x[e||
f].prototype);g(h,function(a){c[a]=h[a]});this.init(k,a);this.oldType=f;k.linkSeries();u(b,!0)&&k.redraw(!1)}});t(z.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=r(this.userOptions,a);this.destroy(!0);this.init(c,t(a,{events:void 0}));c.isDirtyBox=!0;u(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,k=this.series,d=k.length;d--;)k[d]&&k[d].remove(!1);m(b.axes,this);m(b[c],this);b.options[c].splice(this.options.index,1);g(b[c],function(a,
d){a.options.index=d});this.destroy();b.isDirtyBox=!0;u(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(I);(function(a){var B=a.each,z=a.map,A=a.pick,E=a.Series,v=a.seriesType;v("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],m=[],t=this.xAxis,n=this.yAxis,h=n.stacks[this.stackKey],e={},c=this.points,r=this.index,u=n.series,b=u.length,f,x=A(n.options.reversedStacks,!0)?
1:-1,q,D;if(this.options.stacking){for(q=0;q<c.length;q++)e[c[q].x]=c[q];for(D in h)null!==h[D].total&&m.push(D);m.sort(function(a,b){return a-b});f=z(u,function(){return this.visible});B(m,function(c,g){var p=0,k,d;if(e[c]&&!e[c].isNull)a.push(e[c]),B([-1,1],function(a){var p=1===a?"rightNull":"leftNull",w=0,u=h[m[g+a]];if(u)for(q=r;0<=q&&q<b;)k=u.points[q],k||(q===r?e[c][p]=!0:f[q]&&(d=h[c].points[q])&&(w-=d[1]-d[0])),q+=x;e[c][1===a?"rightCliff":"leftCliff"]=w});else{for(q=r;0<=q&&q<b;){if(k=h[c].points[q]){p=
k[1];break}q+=x}p=n.translate(p,0,1,0,1);a.push({isNull:!0,plotX:t.translate(c,0,0,0,1),x:c,plotY:p,yBottom:p})}})}return a},getGraphPath:function(a){var g=E.prototype.getGraphPath,t=this.options,n=t.stacking,h=this.yAxis,e,c,r=[],u=[],b=this.index,f,x=h.stacks[this.stackKey],q=t.threshold,D=h.getThreshold(t.threshold),p,t=t.connectNulls||"percent"===n,v=function(c,k,d){var e=a[c];c=n&&x[e.x].points[b];var p=e[d+"Null"]||0;d=e[d+"Cliff"]||0;var g,m,e=!0;d||p?(g=(p?c[0]:c[1])+d,m=c[0]+d,e=!!p):!n&&
a[k]&&a[k].isNull&&(g=m=q);void 0!==g&&(u.push({plotX:f,plotY:null===g?D:h.getThreshold(g),isNull:e,isCliff:!0}),r.push({plotX:f,plotY:null===m?D:h.getThreshold(m),doCurve:!1}))};a=a||this.points;n&&(a=this.getStackPoints());for(e=0;e<a.length;e++)if(c=a[e].isNull,f=A(a[e].rectPlotX,a[e].plotX),p=A(a[e].yBottom,D),!c||t)t||v(e,e-1,"left"),c&&!n&&t||(u.push(a[e]),r.push({x:e,plotX:f,plotY:p})),t||v(e,e+1,"right");e=g.call(this,u,!0,!0);r.reversed=!0;c=g.call(this,r,!0,!0);c.length&&(c[0]="L");c=e.concat(c);
g=g.call(this,u,!1,t);c.xMap=e.xMap;this.areaPath=c;return g},drawGraph:function(){this.areaPath=[];E.prototype.drawGraph.apply(this);var a=this,m=this.areaPath,t=this.options,n=[["area","highcharts-area"]];B(this.zones,function(a,e){n.push(["zone-area-"+e,"highcharts-area highcharts-zone-area-"+e+" "+a.className])});B(n,function(g){var e=g[0],c=a[e];c?(c.endX=m.xMap,c.animate({d:m})):(c=a[e]=a.chart.renderer.path(m).addClass(g[1]).attr({zIndex:0}).add(a.group),c.isArea=!0);c.startX=m.xMap;c.shiftUnit=
t.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(I);(function(a){var B=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,A,E){var v=A.plotX,g=A.plotY,m=a[E-1];E=a[E+1];var t,n,h,e;if(m&&!m.isNull&&!1!==m.doCurve&&!A.isCliff&&E&&!E.isNull&&!1!==E.doCurve&&!A.isCliff){a=m.plotY;h=E.plotX;E=E.plotY;var c=0;t=(1.5*v+m.plotX)/2.5;n=(1.5*g+a)/2.5;h=(1.5*v+h)/2.5;e=(1.5*g+E)/2.5;h!==t&&(c=(e-n)*(h-v)/(h-t)+g-e);n+=c;e+=c;n>a&&n>g?(n=Math.max(a,g),e=2*g-n):n<a&&n<g&&
(n=Math.min(a,g),e=2*g-n);e>E&&e>g?(e=Math.max(E,g),n=2*g-e):e<E&&e<g&&(e=Math.min(E,g),n=2*g-e);A.rightContX=h;A.rightContY=e}A=["C",B(m.rightContX,m.plotX),B(m.rightContY,m.plotY),B(t,v),B(n,g),v,g];m.rightContX=m.rightContY=null;return A}})})(I);(function(a){var B=a.seriesTypes.area.prototype,z=a.seriesType;z("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:B.getStackPoints,getGraphPath:B.getGraphPath,setStackCliffs:B.setStackCliffs,drawGraph:B.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(I);
(function(a){var B=a.animObject,z=a.each,A=a.extend,E=a.isNumber,v=a.merge,g=a.pick,m=a.Series,t=a.seriesType,n=a.svg;t("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,
init:function(){m.prototype.init.apply(this,arguments);var a=this,e=a.chart;e.hasRendered&&z(e.series,function(c){c.type===a.type&&(c.isDirty=!0)})},getColumnMetrics:function(){var a=this,e=a.options,c=a.xAxis,r=a.yAxis,u=c.reversed,b,f={},n=0;!1===e.grouping?n=1:z(a.chart.series,function(c){var e=c.options,k=c.yAxis,d;c.type===a.type&&c.visible&&r.len===k.len&&r.pos===k.pos&&(e.stacking?(b=c.stackKey,void 0===f[b]&&(f[b]=n++),d=f[b]):!1!==e.grouping&&(d=n++),c.columnIndex=d)});var q=Math.min(Math.abs(c.transA)*
(c.ordinalSlope||e.pointRange||c.closestPointRange||c.tickInterval||1),c.len),m=q*e.groupPadding,p=(q-2*m)/(n||1),e=Math.min(e.maxPointWidth||c.len,g(e.pointWidth,p*(1-2*e.pointPadding)));a.columnMetrics={width:e,offset:(p-e)/2+(m+((a.columnIndex||0)+(u?1:0))*p-q/2)*(u?-1:1)};return a.columnMetrics},crispCol:function(a,e,c,g){var h=this.chart,b=this.borderWidth,f=-(b%2?.5:0),b=b%2?.5:1;h.inverted&&h.renderer.isVML&&(b+=1);this.options.crisp&&(c=Math.round(a+c)+f,a=Math.round(a)+f,c-=a);g=Math.round(e+
g)+b;f=.5>=Math.abs(e)&&.5<g;e=Math.round(e)+b;g-=e;f&&g&&(--e,g+=1);return{x:a,y:e,width:c,height:g}},translate:function(){var a=this,e=a.chart,c=a.options,r=a.dense=2>a.closestPointRange*a.xAxis.transA,r=a.borderWidth=g(c.borderWidth,r?0:1),n=a.yAxis,b=a.translatedThreshold=n.getThreshold(c.threshold),f=g(c.minPointLength,5),x=a.getColumnMetrics(),q=x.width,D=a.barW=Math.max(q,1+2*r),p=a.pointXOffset=x.offset;e.inverted&&(b-=.5);c.pointPadding&&(D=Math.ceil(D));m.prototype.translate.apply(a);z(a.points,
function(c){var h=g(c.yBottom,b),k=999+Math.abs(h),k=Math.min(Math.max(-k,c.plotY),n.len+k),d=c.plotX+p,r=D,u=Math.min(k,h),C,m=Math.max(k,h)-u;Math.abs(m)<f&&f&&(m=f,C=!n.reversed&&!c.negative||n.reversed&&c.negative,u=Math.abs(u-b)>f?h-f:b-(C?f:0));c.barX=d;c.pointWidth=q;c.tooltipPos=e.inverted?[n.len+n.pos-e.plotLeft-k,a.xAxis.len-d-r/2,m]:[d+r/2,k+n.pos-e.plotTop,m];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[c.plotX,n.len/2,0,0]:[d,u,r,m])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,
drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,e=this.chart,c=e.renderer,g=a.options.animationLimit||250,n;z(a.points,function(b){var f=b.graphic;if(E(b.plotY)&&null!==b.y){n=b.shapeArgs;if(f)f[e.pointCount<g?"animate":"attr"](v(n));else b.graphic=f=c[b.shapeType](n).add(b.group||a.group);f.addClass(b.getClassName(),!0)}else f&&(b.graphic=f.destroy())})},animate:function(a){var e=this,c=this.yAxis,g=e.options,h=this.chart.inverted,
b={};n&&(a?(b.scaleY=.001,a=Math.min(c.pos+c.len,Math.max(c.pos,c.toPixels(g.threshold))),h?b.translateX=a-c.len:b.translateY=a,e.group.attr(b)):(b[h?"translateX":"translateY"]=c.pos,e.group.animate(b,A(B(e.options.animation),{step:function(a,b){e.group.attr({scaleY:Math.max(.001,b.pos)})}})),e.animate=null))},remove:function(){var a=this,e=a.chart;e.hasRendered&&z(e.series,function(c){c.type===a.type&&(c.isDirty=!0)});m.prototype.remove.apply(a,arguments)}})})(I);(function(a){a=a.seriesType;a("bar",
"column",null,{inverted:!0})})(I);(function(a){var B=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group",
"markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&B.prototype.drawGraph.call(this)}})})(I);(function(a){var B=a.pick,z=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,E=this.chart,v=2*(a.slicedOffset||0),g=E.plotWidth-2*v,E=E.plotHeight-2*v,m=a.center,m=[B(m[0],"50%"),B(m[1],"50%"),a.size||"100%",a.innerSize||0],t=Math.min(g,E),n,h;for(n=0;4>n;++n)h=m[n],a=2>n||2===n&&/%$/.test(h),m[n]=z(h,[g,E,t,m[2]][n])+(a?v:0);
m[3]>m[2]&&(m[3]=m[2]);return m}}})(I);(function(a){var B=a.addEvent,z=a.defined,A=a.each,E=a.extend,v=a.inArray,g=a.noop,m=a.pick,t=a.Point,n=a.Series,h=a.seriesType,e=a.setAnimation;h("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0}},{isCartesian:!1,
requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,e=c.points,b=c.startAngleRad;a||(A(e,function(a){var f=a.graphic,e=a.shapeArgs;f&&(f.attr({r:a.startR||c.center[3]/2,start:b,end:b}),f.animate({r:e.r,start:e.start,end:e.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,e=0,g=this.points,b=g.length,f,h=this.options.ignoreHiddenPoint;
for(a=0;a<b;a++)f=g[a],0>f.y&&(f.y=null),e+=h&&!f.visible?0:f.y;this.total=e;for(a=0;a<b;a++)f=g[a],f.percentage=0<e&&(f.visible||!h)?f.y/e*100:0,f.total=e},generatePoints:function(){n.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var c=0,e=this.options,b=e.slicedOffset,f=b+(e.borderWidth||0),g,h,n,p=e.startAngle||0,t=this.startAngleRad=Math.PI/180*(p-90),p=(this.endAngleRad=Math.PI/180*(m(e.endAngle,p+360)-90))-t,v=this.points,k=e.dataLabels.distance,
e=e.ignoreHiddenPoint,d,w=v.length,y;a||(this.center=a=this.getCenter());this.getX=function(d,b){n=Math.asin(Math.min((d-a[1])/(a[2]/2+k),1));return a[0]+(b?-1:1)*Math.cos(n)*(a[2]/2+k)};for(d=0;d<w;d++){y=v[d];g=t+c*p;if(!e||y.visible)c+=y.percentage/100;h=t+c*p;y.shapeType="arc";y.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*g)/1E3,end:Math.round(1E3*h)/1E3};n=(h+g)/2;n>1.5*Math.PI?n-=2*Math.PI:n<-Math.PI/2&&(n+=2*Math.PI);y.slicedTranslation={translateX:Math.round(Math.cos(n)*
b),translateY:Math.round(Math.sin(n)*b)};g=Math.cos(n)*a[2]/2;h=Math.sin(n)*a[2]/2;y.tooltipPos=[a[0]+.7*g,a[1]+.7*h];y.half=n<-Math.PI/2||n>Math.PI/2?1:0;y.angle=n;f=Math.min(f,k/5);y.labelPos=[a[0]+g+Math.cos(n)*k,a[1]+h+Math.sin(n)*k,a[0]+g+Math.cos(n)*f,a[1]+h+Math.sin(n)*f,a[0]+g,a[1]+h,0>k?"center":y.half?"right":"left",n]}},drawGraph:null,drawPoints:function(){var a=this,e=a.chart.renderer,g,b,f;A(a.points,function(c){null!==c.y&&(b=c.graphic,f=c.shapeArgs,g=c.getTranslate(),b?b.setRadialReference(a.center).animate(E(f,
g)):(c.graphic=b=e[c.shapeType](f).setRadialReference(a.center).attr(g).add(a.group),c.visible||b.attr({visibility:"hidden"})),b.addClass(c.getClassName()))})},searchPoint:g,sortByAngle:function(a,e){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*e})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:g},{init:function(){t.prototype.init.apply(this,arguments);var a=this,e;a.name=m(a.name,"Slice");e=function(c){a.slice("select"===
c.type)};B(a,"select",e);B(a,"unselect",e);return a},setVisible:function(a,e){var c=this,b=c.series,f=b.chart,g=b.options.ignoreHiddenPoint;e=m(e,g);a!==c.visible&&(c.visible=c.options.visible=a=void 0===a?!c.visible:a,b.options.data[v(c,b.data)]=c.options,A(["graphic","dataLabel","connector","shadowGroup"],function(b){if(c[b])c[b][a?"show":"hide"](!0)}),c.legendItem&&f.legend.colorizeItem(c,a),a||"hover"!==c.state||c.setState(""),g&&(b.isDirty=!0),e&&f.redraw())},slice:function(a,g,h){var b=this.series;
e(h,b.chart);m(g,!0);this.sliced=this.options.sliced=z(a)?a:!this.sliced;b.options.data[v(this,b.data)]=this.options;this.graphic.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r,start:c.start,end:c.end})}})})(I);(function(a){var B=a.addEvent,z=a.arrayMax,A=a.defined,
E=a.each,v=a.extend,g=a.format,m=a.map,t=a.merge,n=a.noop,h=a.pick,e=a.relativeLength,c=a.Series,r=a.seriesTypes,u=a.stableSort;a.distribute=function(a,c){function b(a,d){return a.target-d.target}var f,e=!0,p=a,g=[],h;h=0;for(f=a.length;f--;)h+=a[f].size;if(h>c){u(a,function(a,d){return(d.rank||0)-(a.rank||0)});for(h=f=0;h<=c;)h+=a[f].size,f++;g=a.splice(f-1,a.length)}u(a,b);for(a=m(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(f=a.length;f--;)e=a[f],h=(Math.min.apply(0,e.targets)+
Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,h-e.size/2),c-e.size);f=a.length;for(e=!1;f--;)0<f&&a[f-1].pos+a[f-1].size>a[f].pos&&(a[f-1].size+=a[f].size,a[f-1].targets=a[f-1].targets.concat(a[f].targets),a[f-1].pos+a[f-1].size>c&&(a[f-1].pos=c-a[f-1].size),a.splice(f,1),e=!0)}f=0;E(a,function(a){var d=0;E(a.targets,function(){p[f].pos=a.pos+d;d+=p[f].size;f++})});p.push.apply(p,g);u(p,b)};c.prototype.drawDataLabels=function(){var a=this,c=a.options,e=c.dataLabels,n=a.points,r,p,m=a.hasRendered||
0,u,k,d=h(e.defer,!0),w=a.chart.renderer;if(e.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(e),k=a.plotGroup("dataLabelsGroup","data-labels",d&&!m?"hidden":"visible",e.zIndex||6),d&&(k.attr({opacity:+m}),m||B(a,"afterAnimate",function(){a.visible&&k.show(!0);k[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),p=e,E(n,function(d){var b,c=d.dataLabel,f,n,q,m=d.connector,y=!c;r=d.dlOptions||d.options&&d.options.dataLabels;if(b=h(r&&r.enabled,p.enabled)&&null!==d.y)for(n in e=
t(p,r),f=d.getLabelConfig(),u=e.format?g(e.format,f):e.formatter.call(f,e),q=e.rotation,f={r:e.borderRadius||0,rotation:q,padding:e.padding,zIndex:1},f)void 0===f[n]&&delete f[n];!c||b&&A(u)?b&&A(u)&&(c?f.text=u:(c=d.dataLabel=w[q?"text":"label"](u,0,-9999,e.shape,null,null,e.useHTML,null,"data-label"),c.addClass("highcharts-data-label-color-"+d.colorIndex+" "+(e.className||"")+(e.useHTML?"highcharts-tracker":""))),c.attr(f),c.added||c.add(k),a.alignDataLabel(d,c,e,null,y)):(d.dataLabel=c.destroy(),
m&&(d.connector=m.destroy()))})};c.prototype.alignDataLabel=function(a,c,e,g,n){var b=this.chart,f=b.inverted,r=h(a.plotX,-9999),k=h(a.plotY,-9999),d=c.getBBox(),w,m=e.rotation,C=e.align,q=this.visible&&(a.series.forceDL||b.isInsidePlot(r,Math.round(k),f)||g&&b.isInsidePlot(r,f?g.x+1:g.y+g.height-1,f)),l="justify"===h(e.overflow,"justify");q&&(w=b.renderer.fontMetrics(void 0,c).b,g=v({x:f?b.plotWidth-k:r,y:Math.round(f?b.plotHeight-r:k),width:0,height:0},g),v(e,{width:d.width,height:d.height}),m?
(l=!1,f=b.renderer.rotCorr(w,m),f={x:g.x+e.x+g.width/2+f.x,y:g.y+e.y+{top:0,middle:.5,bottom:1}[e.verticalAlign]*g.height},c[n?"attr":"animate"](f).attr({align:C}),r=(m+720)%360,r=180<r&&360>r,"left"===C?f.y-=r?d.height:0:"center"===C?(f.x-=d.width/2,f.y-=d.height/2):"right"===C&&(f.x-=d.width,f.y-=r?0:d.height)):(c.align(e,null,g),f=c.alignAttr),l?a.isLabelJustified=this.justifyDataLabel(c,e,f,d,g,n):h(e.crop,!0)&&(q=b.isInsidePlot(f.x,f.y)&&b.isInsidePlot(f.x+d.width,f.y+d.height)),e.shape&&!m&&
c.attr({anchorX:a.plotX,anchorY:a.plotY}));q||(c.attr({y:-9999}),c.placed=!1)};c.prototype.justifyDataLabel=function(a,c,e,g,h,p){var b=this.chart,f=c.align,k=c.verticalAlign,d,n,r=a.box?0:a.padding||0;d=e.x+r;0>d&&("right"===f?c.align="left":c.x=-d,n=!0);d=e.x+g.width-r;d>b.plotWidth&&("left"===f?c.align="right":c.x=b.plotWidth-d,n=!0);d=e.y+r;0>d&&("bottom"===k?c.verticalAlign="top":c.y=-d,n=!0);d=e.y+g.height-r;d>b.plotHeight&&("top"===k?c.verticalAlign="bottom":c.y=b.plotHeight-d,n=!0);n&&(a.placed=
!p,a.align(c,null,h));return n};r.pie&&(r.pie.prototype.drawDataLabels=function(){var b=this,f=b.data,e,g=b.chart,n=b.options.dataLabels,p=h(n.connectorPadding,10),r=h(n.connectorWidth,1),u=g.plotWidth,k=g.plotHeight,d,w=n.distance,t=b.center,C=t[2]/2,G=t[1],l=0<w,v,M,L,P,B=[[],[]],A,O,J,N,Q=[0,0,0,0];b.visible&&(n.enabled||b._hasPointLabels)&&(E(f,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=
!1)}),c.prototype.drawDataLabels.apply(b),E(f,function(a){a.dataLabel&&a.visible&&(B[a.half].push(a),a.dataLabel._pos=null)}),E(B,function(d,c){var f,l,h=d.length,r,q,y;if(h)for(b.sortByAngle(d,c-.5),0<w&&(f=Math.max(0,G-C-w),l=Math.min(G+C+w,g.plotHeight),r=m(d,function(a){if(a.dataLabel)return y=a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-f+y/2,size:y,rank:a.y}}),a.distribute(r,l+y-f)),N=0;N<h;N++)e=d[N],L=e.labelPos,v=e.dataLabel,J=!1===e.visible?"hidden":"inherit",q=L[1],r?void 0===
r[N].pos?J="hidden":(P=r[N].size,O=f+r[N].pos):O=q,A=n.justify?t[0]+(c?-1:1)*(C+w):b.getX(O<f+2||O>l-2?q:O,c),v._attr={visibility:J,align:L[6]},v._pos={x:A+n.x+({left:p,right:-p}[L[6]]||0),y:O+n.y-10},L.x=A,L.y=O,null===b.options.size&&(M=v.getBBox().width,q=null,A-M<p?(q=Math.round(M-A+p),Q[3]=Math.max(q,Q[3])):A+M>u-p&&(q=Math.round(A+M-u+p),Q[1]=Math.max(q,Q[1])),0>O-P/2?Q[0]=Math.max(Math.round(-O+P/2),Q[0]):O+P/2>k&&(Q[2]=Math.max(Math.round(O+P/2-k),Q[2])),v.sideOverflow=q)}),0===z(Q)||this.verifyDataLabelOverflow(Q))&&
(this.placeDataLabels(),l&&r&&E(this.points,function(a){var c;d=a.connector;if((v=a.dataLabel)&&v._pos&&a.visible){J=v._attr.visibility;if(c=!d)a.connector=d=g.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(b.dataLabelsGroup);d[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});d.attr("visibility",J)}else d&&(a.connector=d.destroy())}))},r.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return h(this.options.dataLabels.softConnector,!0)?["M",
b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},r.pie.prototype.placeDataLabels=function(){E(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},r.pie.prototype.alignDataLabel=
n,r.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,g=c.center,h=c.minSize||80,p,n;null!==g[0]?p=Math.max(b[2]-Math.max(a[1],a[3]),h):(p=Math.max(b[2]-a[1]-a[3],h),b[0]+=(a[3]-a[1])/2);null!==g[1]?p=Math.max(Math.min(p,b[2]-Math.max(a[0],a[2])),h):(p=Math.max(Math.min(p,b[2]-a[0]-a[2]),h),b[1]+=(a[0]-a[2])/2);p<b[2]?(b[2]=p,b[3]=Math.min(e(c.innerSize||0,p),p),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):n=!0;return n});r.column&&(r.column.prototype.alignDataLabel=
function(a,f,e,g,n){var b=this.chart.inverted,r=a.series,m=a.dlBox||a.shapeArgs,k=h(a.below,a.plotY>h(this.translatedThreshold,r.yAxis.len)),d=h(e.inside,!!this.options.stacking);m&&(g=t(m),0>g.y&&(g.height+=g.y,g.y=0),m=g.y+g.height-r.yAxis.len,0<m&&(g.height-=m),b&&(g={x:r.yAxis.len-g.y-g.height,y:r.xAxis.len-g.x-g.width,width:g.height,height:g.width}),d||(b?(g.x+=k?0:g.width,g.width=0):(g.y+=k?g.height:0,g.height=0)));e.align=h(e.align,!b||d?"center":k?"right":"left");e.verticalAlign=h(e.verticalAlign,
b||d?"middle":k?"top":"bottom");c.prototype.alignDataLabel.call(this,a,f,e,g,n);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(I);(function(a){var B=a.Chart,z=a.each,A=a.pick,E=a.addEvent;B.prototype.callbacks.push(function(a){function g(){var g=[];z(a.series||[],function(a){var n=a.options.dataLabels,h=a.dataLabelCollections||["dataLabel"];(n.enabled||a._hasPointLabels)&&!n.allowOverlap&&a.visible&&z(h,function(e){z(a.points,function(a){a[e]&&(a[e].labelrank=A(a.labelrank,
a.shapeArgs&&a.shapeArgs.height),g.push(a[e]))})})});a.hideOverlappingLabels(g)}g();E(a,"redraw",g)});B.prototype.hideOverlappingLabels=function(a){var g=a.length,m,t,n,h,e,c,r,u,b,f=function(a,b,c,f,e,g,k,d){return!(e>a+c||e+k<a||g>b+f||g+d<b)};for(t=0;t<g;t++)if(m=a[t])m.oldOpacity=m.opacity,m.newOpacity=1;a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(t=0;t<g;t++)for(n=a[t],m=t+1;m<g;++m)if(h=a[m],n&&h&&n!==h&&n.placed&&h.placed&&0!==n.newOpacity&&0!==h.newOpacity&&(e=n.alignAttr,
c=h.alignAttr,r=n.parentGroup,u=h.parentGroup,b=2*(n.box?0:n.padding),e=f(e.x+r.translateX,e.y+r.translateY,n.width-b,n.height-b,c.x+u.translateX,c.y+u.translateY,h.width-b,h.height-b)))(n.labelrank<h.labelrank?n:h).newOpacity=0;z(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(I);(function(a){var B=a.addEvent,z=a.Chart,A=a.createElement,E=a.css,v=a.defaultOptions,
g=a.defaultPlotOptions,m=a.each,t=a.extend,n=a.fireEvent,h=a.hasTouch,e=a.inArray,c=a.isObject,r=a.Legend,u=a.merge,b=a.pick,f=a.Point,x=a.Series,q=a.seriesTypes,D=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var d=b.getPointFromEvent(a);if(void 0!==d)d.onMouseOver(a)};m(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(m(a.trackerGroups,
function(k){if(a[k]&&(a[k].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),h))a[k].on("touchstart",c)}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),k=c.length,d=a.chart,f=d.pointer,e=d.renderer,g=d.options.tooltip.snap,n=a.tracker,l,r=function(){if(d.hoverSeries!==a)a.onMouseOver()},u="rgba(192,192,192,"+(D?.0001:.002)+")";if(k&&!b)for(l=k+1;l--;)"M"===c[l]&&c.splice(l+
1,0,c[l+1]-g,c[l+2],"L"),(l&&"M"===c[l]||l===k)&&c.splice(l,0,"L",c[l-2]+g,c[l-1]);n?n.attr({d:c}):a.graph&&(a.tracker=e.path(c).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:u,fill:b?u:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*g),zIndex:2}).add(a.group),m([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(a){f.onTrackerMouseOut(a)});if(h)a.on("touchstart",r)}))}};q.column&&(q.column.prototype.drawTracker=
a.drawTrackerPoint);q.pie&&(q.pie.prototype.drawTracker=a.drawTrackerPoint);q.scatter&&(q.scatter.prototype.drawTracker=a.drawTrackerPoint);t(r.prototype,{setItemEvents:function(a,b,c){var k=this.chart.renderer.boxWrapper,d="highcharts-legend-"+(a.series?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");k.addClass(d)}).on("mouseout",function(){k.removeClass(d);a.setState()}).on("click",function(d){var b=function(){a.setVisible&&a.setVisible()};d={browserEvent:d};
a.firePointEvent?a.firePointEvent("legendItemClick",d,b):n(a,"legendItemClick",d,b)})},createCheckboxForItem:function(a){a.checkbox=A("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);B(a.checkbox,"click",function(b){n(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});t(z.prototype,{showResetZoom:function(){var a=this,b=v.lang,c=a.options.chart.resetZoomButton,k=c.theme,d=k.states,f=
"chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},k,d&&d.hover).attr({align:c.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,!1,f)},zoomOut:function(){var a=this;n(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var f,e=this.pointer,k=!1,d;!a||a.resetSelection?m(this.axes,function(a){f=a.zoom()}):m(a.xAxis.concat(a.yAxis),function(a){var d=a.axis;e[d.isXAxis?
"zoomX":"zoomY"]&&(f=d.zoom(a.min,a.max),d.displayBtn&&(k=!0))});d=this.resetZoomButton;k&&!d?this.showResetZoom():!k&&c(d)&&(this.resetZoomButton=d.destroy());f&&this.redraw(b(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,k=c.hoverPoints,d;k&&m(k,function(a){a.setState()});m("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var k=b.horiz,f=a[k?"chartX":"chartY"],k=k?"mouseDownX":"mouseDownY",e=c[k],l=(b.pointRange||0)/2,g=b.getExtremes(),h=
b.toValue(e-f,!0)+l,l=b.toValue(e+b.len-f,!0)-l,p=l<h,e=p?l:h,h=p?h:l,p=b.toValue(b.toPixels(g.min)-b.minPixelPadding),l=b.toValue(b.toPixels(g.max)+b.minPixelPadding),p=Math.min(g.dataMin,p)-e,g=h-Math.max(g.dataMax,l);b.series.length&&0>p&&0>g&&(b.setExtremes(e,h,!1,!1,{trigger:"pan"}),d=!0);c[k]=f});d&&c.redraw(!1);E(c.container,{cursor:"move"})}});t(f.prototype,{select:function(a,c){var f=this,k=f.series,d=k.chart;a=b(a,!f.selected);f.firePointEvent(a?"select":"unselect",{accumulate:c},function(){f.selected=
f.options.selected=a;k.options.data[e(f,k.data)]=f.options;f.setState(a&&"select");c||m(d.getSelectedPoints(),function(a){a.selected&&a!==f&&(a.selected=a.options.selected=!1,k.options.data[e(a,k.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart.pointer;this.firePointEvent("mouseOver");b.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");m(a.hoverPoints||[],function(a){a.setState()});
a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=u(this.series.options.point,this.options).events,b;this.events=a;for(b in a)B(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,c){var f=Math.floor(this.plotX),k=this.plotY,d=this.series,e=d.options.states[a]||{},h=g[d.type].marker&&d.options.marker,p=h&&!1===h.enabled,n=h&&h.states&&h.states[a]||{},l=!1===n.enabled,r=d.stateMarkerGraphic,m=this.marker||{},u=d.chart,q=d.halo,t,D=h&&d.markerAttribs;
a=a||"";if(!(a===this.state&&!c||this.selected&&"select"!==a||!1===e.enabled||a&&(l||p&&!1===n.enabled)||a&&m.states&&m.states[a]&&!1===m.states[a].enabled)){D&&(t=d.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),t&&this.graphic.animate(t,b(u.options.chart.animation,n.animation,h.animation)),r&&r.hide();else{if(a&&n)if(h=m.symbol||d.symbol,r&&r.currentSymbol!==h&&(r=r.destroy()),r)r[c?"animate":
"attr"]({x:t.x,y:t.y});else h&&(d.stateMarkerGraphic=r=u.renderer.symbol(h,t.x,t.y,t.width,t.height).add(d.markerGroup),r.currentSymbol=h);r&&(r[a&&u.isInsidePlot(f,k,u.inverted)?"show":"hide"](),r.element.point=this)}(f=e.halo)&&f.size?(q||(d.halo=q=u.renderer.path().add(D?d.markerGroup:d.group)),q[c?"animate":"attr"]({d:this.haloPath(f.size)}),q.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,d.colorIndex)}),q.point=this):q&&q.point&&q.point.haloPath&&q.animate({d:q.point.haloPath(0)});
this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});t(x.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&n(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,k=b.hoverPoint;b.hoverSeries=null;if(k)k.onMouseOut();this&&a.events.mouseOut&&n(this,"mouseOut");!c||this.stickyTracking||
c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;a=a||"";b.state!==a&&(m([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,k=c.chart,d=c.legendItem,f,e=k.options.chart.ignoreHiddenSeries,g=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!g:a)?"show":"hide";m(["group","dataLabelsGroup",
"markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(k.hoverSeries===c||(k.hoverPoint&&k.hoverPoint.series)===c)c.onMouseOut();d&&k.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&m(k.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});m(c.linkedSeries,function(d){d.setVisible(a,!1)});e&&(k.isDirtyBox=!0);!1!==b&&k.redraw();n(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:
a;this.checkbox&&(this.checkbox.checked=a);n(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(I);(function(a){var B=a.Chart,z=a.each,A=a.inArray,E=a.isArray,v=a.isObject,g=a.pick,m=a.splat;B.prototype.setResponsive=function(g){var n=this.options.responsive,h=[],e=this.currentResponsive;n&&n.rules&&z(n.rules,function(c){void 0===c._id&&(c._id=a.uniqueKey());this.matchResponsiveRule(c,h,g)},this);var c=a.merge.apply(0,a.map(h,function(c){return a.find(n.rules,function(a){return a._id===
c}).chartOptions})),h=h.toString()||void 0;h!==(e&&e.ruleIds)&&(e&&this.update(e.undoOptions,g),h?(this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:this.currentOptions(c)},this.update(c,g)):this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,n){var h=a.condition;(h.callback||function(){return this.chartWidth<=g(h.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=g(h.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=g(h.minWidth,0)&&this.chartHeight>=g(h.minHeight,0)}).call(this)&&
n.push(a._id)};B.prototype.currentOptions=function(a){function g(a,c,h,n){var b,f;for(b in a)if(!n&&-1<A(b,["series","xAxis","yAxis"]))for(a[b]=m(a[b]),h[b]=[],f=0;f<a[b].length;f++)c[b][f]&&(h[b][f]={},g(a[b][f],c[b][f],h[b][f],n+1));else v(a[b])?(h[b]=E(a[b])?[]:{},g(a[b],c[b]||{},h[b],n+1)):h[b]=c[b]||null}var h={};g(a,this.options,h,0);return h}})(I);(function(a){var B=a.addEvent,z=a.Axis,A=a.Chart,E=a.css,v=a.dateFormat,g=a.defined,m=a.each,t=a.extend,n=a.noop,h=a.Series,e=a.timeUnits;a=a.wrap;
a(h.prototype,"init",function(a){var c;a.apply(this,Array.prototype.slice.call(arguments,1));(c=this.xAxis)&&c.options.ordinal&&B(this,"updatedData",function(){delete c.ordinalIndex})});a(z.prototype,"getTimeTicks",function(a,h,n,b,f,m,q,t){var c=0,r,u,k={},d,w,y,C=[],G=-Number.MAX_VALUE,l=this.options.tickPixelInterval;if(!this.options.ordinal&&!this.options.breaks||!m||3>m.length||void 0===n)return a.call(this,h,n,b,f);w=m.length;for(r=0;r<w;r++){y=r&&m[r-1]>b;m[r]<n&&(c=r);if(r===w-1||m[r+1]-m[r]>
5*q||y){if(m[r]>G){for(u=a.call(this,h,m[c],m[r],f);u.length&&u[0]<=G;)u.shift();u.length&&(G=u[u.length-1]);C=C.concat(u)}c=r+1}if(y)break}a=u.info;if(t&&a.unitRange<=e.hour){r=C.length-1;for(c=1;c<r;c++)v("%d",C[c])!==v("%d",C[c-1])&&(k[C[c]]="day",d=!0);d&&(k[C[0]]="day");a.higherRanks=k}C.info=a;if(t&&g(l)){t=a=C.length;r=[];var D;for(d=[];t--;)c=this.translate(C[t]),D&&(d[t]=D-c),r[t]=D=c;d.sort();d=d[Math.floor(d.length/2)];d<.6*l&&(d=null);t=C[a-1]>b?a-1:a;for(D=void 0;t--;)c=r[t],b=Math.abs(D-
c),D&&b<.8*l&&(null===d||b<.8*d)?(k[C[t]]&&!k[C[t+1]]?(b=t+1,D=c):b=t,C.splice(b,1)):D=c}return C});t(z.prototype,{beforeSetTickPositions:function(){var a,e=[],g=!1,b,f=this.getExtremes(),h=f.min,n=f.max,t,p=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,v=this.chart.options.chart.ignoreHiddenSeries;if(f||p){m(this.series,function(b,c){if(!(v&&!1===b.visible||!1===b.takeOrdinalPosition&&!p)&&(e=e.concat(b.processedXData),a=e.length,e.sort(function(a,b){return a-b}),a))for(c=a-1;c--;)e[c]===
e[c+1]&&e.splice(c,1)});a=e.length;if(2<a){b=e[1]-e[0];for(t=a-1;t--&&!g;)e[t+1]-e[t]!==b&&(g=!0);!this.options.keepOrdinalPadding&&(e[0]-h>b||n-e[e.length-1]>b)&&(g=!0)}g?(this.ordinalPositions=e,b=this.ordinal2lin(Math.max(h,e[0]),!0),t=Math.max(this.ordinal2lin(Math.min(n,e[e.length-1]),!0),1),this.ordinalSlope=n=(n-h)/(t-b),this.ordinalOffset=h-b*n):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=f&&g;this.groupIntervalFactor=null},val2lin:function(a,e){var c=
this.ordinalPositions;if(c){var b=c.length,f,g;for(f=b;f--;)if(c[f]===a){g=f;break}for(f=b-1;f--;)if(a>c[f]||0===f){a=(a-c[f])/(c[f+1]-c[f]);g=f+a;break}e=e?g:this.ordinalSlope*(g||0)+this.ordinalOffset}else e=a;return e},lin2val:function(a,e){var c=this.ordinalPositions;if(c){var b=this.ordinalSlope,f=this.ordinalOffset,g=c.length-1,h;if(e)0>a?a=c[0]:a>g?a=c[g]:(g=Math.floor(a),h=a-g);else for(;g--;)if(e=b*g+f,a>=e){b=b*(g+1)+f;h=(a-e)/(b-e);break}return void 0!==h&&void 0!==c[g]?c[g]+(h?h*(c[g+
1]-c[g]):0):a}return a},getExtendedPositions:function(){var a=this.chart,e=this.series[0].currentDataGrouping,g=this.ordinalIndex,b=e?e.count+e.unitName:"raw",f=this.getExtremes(),h,q;g||(g=this.ordinalIndex={});g[b]||(h={series:[],chart:a,getExtremes:function(){return{min:f.dataMin,max:f.dataMax}},options:{ordinal:!0},val2lin:z.prototype.val2lin,ordinal2lin:z.prototype.ordinal2lin},m(this.series,function(b){q={xAxis:h,xData:b.xData,chart:a,destroyGroupedData:n};q.options={dataGrouping:e?{enabled:!0,
forced:!0,approximation:"open",units:[[e.unitName,[e.count]]]}:{enabled:!1}};b.processData.apply(q);h.series.push(q)}),this.beforeSetTickPositions.apply(h),g[b]=h.ordinalPositions);return g[b]},getGroupIntervalFactor:function(a,e,g){var b;g=g.processedXData;var c=g.length,h=[];b=this.groupIntervalFactor;if(!b){for(b=0;b<c-1;b++)h[b]=g[b+1]-g[b];h.sort(function(a,b){return a-b});h=h[Math.floor(c/2)];a=Math.max(a,g[0]);e=Math.min(e,g[c-1]);this.groupIntervalFactor=b=c*h/(e-a)}return b},postProcessTickInterval:function(a){var c=
this.ordinalSlope;return c?this.options.breaks?this.closestPointRange:a/(c/this.closestPointRange):a}});z.prototype.ordinal2lin=z.prototype.val2lin;a(A.prototype,"pan",function(a,e){var c=this.xAxis[0],b=e.chartX,f=!1;if(c.options.ordinal&&c.series.length){var g=this.mouseDownX,h=c.getExtremes(),n=h.dataMax,p=h.min,r=h.max,t=this.hoverPoints,k=c.closestPointRange,g=(g-b)/(c.translationSlope*(c.ordinalSlope||k)),d={ordinalPositions:c.getExtendedPositions()},k=c.lin2val,w=c.val2lin,y;d.ordinalPositions?
1<Math.abs(g)&&(t&&m(t,function(a){a.setState()}),0>g?(t=d,y=c.ordinalPositions?c:d):(t=c.ordinalPositions?c:d,y=d),d=y.ordinalPositions,n>d[d.length-1]&&d.push(n),this.fixedRange=r-p,g=c.toFixedRange(null,null,k.apply(t,[w.apply(t,[p,!0])+g,!0]),k.apply(y,[w.apply(y,[r,!0])+g,!0])),g.min>=Math.min(h.dataMin,p)&&g.max<=Math.max(n,r)&&c.setExtremes(g.min,g.max,!0,!1,{trigger:"pan"}),this.mouseDownX=b,E(this.container,{cursor:"move"})):f=!0}else f=!0;f&&a.apply(this,Array.prototype.slice.call(arguments,
1))});h.prototype.gappedPath=function(){var a=this.options.gapSize,e=this.points.slice(),g=e.length-1;if(a&&0<g)for(;g--;)e[g+1].x-e[g].x>this.closestPointRange*a&&e.splice(g+1,0,{isNull:!0});return this.getGraphPath(e)}})(I);(function(a){function B(){return Array.prototype.slice.call(arguments,1)}function z(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,A(this.pointArrayMap,["y"]))}var A=a.pick,E=a.wrap,v=a.each,g=a.extend,m=a.isArray,t=a.fireEvent,n=a.Axis,h=a.Series;
g(n.prototype,{isInBreak:function(a,c){var e=a.repeat||Infinity,g=a.from,b=a.to-a.from;c=c>=g?(c-g)%e:e-(g-c)%e;return a.inclusive?c<=b:c<b&&0!==c},isInAnyBreak:function(a,c){var e=this.options.breaks,g=e&&e.length,b,f,h;if(g){for(;g--;)this.isInBreak(e[g],a)&&(b=!0,f||(f=A(e[g].showPoints,this.isXAxis?!1:!0)));h=b&&c?b&&!f:b}return h}});E(n.prototype,"setTickPositions",function(a){a.apply(this,Array.prototype.slice.call(arguments,1));if(this.options.breaks){var c=this.tickPositions,e=this.tickPositions.info,
g=[],b;for(b=0;b<c.length;b++)this.isInAnyBreak(c[b])||g.push(c[b]);this.tickPositions=g;this.tickPositions.info=e}});E(n.prototype,"init",function(a,c,g){var e=this;g.breaks&&g.breaks.length&&(g.ordinal=!1);a.call(this,c,g);a=this.options.breaks;e.isBroken=m(a)&&!!a.length;e.isBroken&&(e.val2lin=function(a){var b=a,c,g;for(g=0;g<e.breakArray.length;g++)if(c=e.breakArray[g],c.to<=a)b-=c.len;else if(c.from>=a)break;else if(e.isInBreak(c,a)){b-=a-c.from;break}return b},e.lin2val=function(a){var b,c;
for(c=0;c<e.breakArray.length&&!(b=e.breakArray[c],b.from>=a);c++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a},e.setExtremes=function(a,c,e,g,h){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(c);)c-=this.closestPointRange;n.prototype.setExtremes.call(this,a,c,e,g,h)},e.setAxisTranslation=function(a){n.prototype.setAxisTranslation.call(this,a);var b=e.options.breaks;a=[];var c=[],g=0,h,p,m=e.userMin||e.min,r=e.userMax||e.max,k=A(e.pointRangePadding,0),d,w;for(w in b)p=
b[w],h=p.repeat||Infinity,e.isInBreak(p,m)&&(m+=p.to%h-m%h),e.isInBreak(p,r)&&(r-=r%h-p.from%h);for(w in b){p=b[w];d=p.from;for(h=p.repeat||Infinity;d-h>m;)d-=h;for(;d<m;)d+=h;for(;d<r;d+=h)a.push({value:d,move:"in"}),a.push({value:d+(p.to-p.from),move:"out",size:p.breakSize})}a.sort(function(a,d){return a.value===d.value?("in"===a.move?0:1)-("in"===d.move?0:1):a.value-d.value});b=0;d=m;for(w in a)p=a[w],b+="in"===p.move?1:-1,1===b&&"in"===p.move&&(d=p.value),0===b&&(c.push({from:d,to:p.value,len:p.value-
d-(p.size||0)}),g+=p.value-d-(p.size||0));e.breakArray=c;e.unitLength=r-m-g+k;t(e,"afterBreaks");e.transA=e.options.staticScale?e.options.staticScale:(r-e.min+k)/e.unitLength*e.transA;k&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=m;e.max=r})});E(h.prototype,"generatePoints",function(a){a.apply(this,B(arguments));var c=this.xAxis,e=this.yAxis,g=this.points,b,f=g.length,h=this.options.connectNulls,n;if(c&&e&&(c.options.breaks||e.options.breaks))for(;f--;)b=g[f],n=null===b.y&&!1===h,n||!c.isInAnyBreak(b.x,
!0)&&!e.isInAnyBreak(b.y,!0)||(g.splice(f,1),this.data[f]&&this.data[f].destroyElements())});a.Series.prototype.drawBreaks=function(a,c){var e=this,g=e.points,b,f,h,n;a&&v(c,function(c){b=a.breakArray||[];f=a.isXAxis?a.min:A(e.options.threshold,a.min);v(g,function(e){n=A(e["stack"+c.toUpperCase()],e[c]);v(b,function(b){h=!1;if(f<b.from&&n>b.to||f>b.from&&n<b.from)h="pointBreak";else if(f<b.from&&n>b.from&&n<b.to||f>b.from&&n>b.to&&n<b.from)h="pointInBreak";h&&t(a,h,{point:e,brk:b})})})})};E(a.seriesTypes.column.prototype,
"drawPoints",z);E(a.Series.prototype,"drawPoints",z)})(I);(function(a){var B=a.arrayMax,z=a.arrayMin,A=a.Axis,E=a.defaultPlotOptions,v=a.defined,g=a.each,m=a.extend,t=a.format,n=a.isNumber,h=a.merge,e=a.pick,c=a.Point,r=a.Tooltip,u=a.wrap,b=a.Series.prototype,f=b.processData,x=b.generatePoints,q=b.destroy,D={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S",
"-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["B>%Y","%Y","-%Y"]}},p={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},
candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},K=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],H={sum:function(a){var d=a.length,b;if(!d&&a.hasNulls)b=null;else if(d)for(b=0;d--;)b+=a[d];return b},average:function(a){var d=a.length;a=H.sum(a);n(a)&&d&&(a/=d);return a},open:function(a){return a.length?
a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?B(a):a.hasNulls?null:void 0},low:function(a){return a.length?z(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,d,b,c){a=H.open(a);d=H.high(d);b=H.low(b);c=H.close(c);if(n(a)||n(d)||n(b)||n(c))return[a,d,b,c]},range:function(a,d){a=H.low(a);d=H.high(d);if(n(a)||n(d))return[a,d]}};b.groupData=function(a,d,b,c){var e=this.data,k=this.options.data,f=[],g=[],h=[],p=a.length,
m,r,w=!!d,q=[[],[],[],[]];c="function"===typeof c?c:H[c];var t=this.pointArrayMap,u=t&&t.length,y,v=0;for(y=r=0;y<=p&&!(a[y]>=b[0]);y++);for(y;y<=p;y++){for(;(void 0!==b[v+1]&&a[y]>=b[v+1]||y===p)&&(m=b[v],this.dataGroupInfo={start:r,length:q[0].length},r=c.apply(this,q),void 0!==r&&(f.push(m),g.push(r),h.push(this.dataGroupInfo)),r=y,q[0]=[],q[1]=[],q[2]=[],q[3]=[],v+=1,y!==p););if(y===p)break;if(t){m=this.cropStart+y;m=e&&e[m]||this.pointClass.prototype.applyOptions.apply({series:this},[k[m]]);
var D,x;for(D=0;D<u;D++)x=m[t[D]],n(x)?q[D].push(x):null===x&&(q[D].hasNulls=!0)}else m=w?d[y]:null,n(m)?q[0].push(m):null===m&&(q[0].hasNulls=!0)}return[f,g,h]};b.processData=function(){var a=this.chart,d=this.options.dataGrouping,c=!1!==this.allowDG&&d&&e(d.enabled,a.options.isStock),g=this.visible||!a.options.chart.ignoreHiddenSeries,h;this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==f.apply(this,arguments)&&c){this.destroyGroupedData();var p=this.processedXData,l=this.processedYData,
n=a.plotSizeX,a=this.xAxis,m=a.options.ordinal,r=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(r){this.isDirty=h=!0;var q=a.getExtremes(),c=q.min,q=q.max,m=m&&a.getGroupIntervalFactor(c,q,this)||1,n=r*(q-c)/n*m,r=a.getTimeTicks(a.normalizeTimeTickInterval(n,d.units||K),Math.min(c,p[0]),Math.max(q,p[p.length-1]),a.options.startOfWeek,p,this.closestPointRange),p=b.groupData.apply(this,[p,l,r,d.approximation]),l=p[0],m=p[1];if(d.smoothed){d=l.length-1;for(l[d]=Math.min(l[d],q);d--&&
0<d;)l[d]+=n/2;l[0]=Math.max(l[0],c)}this.currentDataGrouping=r.info;this.closestPointRange=r.info.totalRange;this.groupMap=p[2];v(l[0])&&l[0]<a.dataMin&&g&&(a.min===a.dataMin&&(a.min=l[0]),a.dataMin=l[0]);this.processedXData=l;this.processedYData=m}else this.currentDataGrouping=this.groupMap=null;this.hasGroupedData=h}};b.destroyGroupedData=function(){var a=this.groupedData;g(a||[],function(d,b){d&&(a[b]=d.destroy?d.destroy():null)});this.groupedData=null};b.generatePoints=function(){x.apply(this);
this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};u(c.prototype,"update",function(b){this.dataGroup?a.error(24):b.apply(this,[].slice.call(arguments,1))});u(r.prototype,"tooltipFooterHeaderFormatter",function(b,d,c){var e=d.series,f=e.tooltipOptions,k=e.options.dataGrouping,l=f.xDateFormat,g,h=e.xAxis,p=a.dateFormat;return h&&"datetime"===h.options.type&&k&&n(d.key)?(b=e.currentDataGrouping,k=k.dateTimeLabelFormats,b?(h=k[b.unitName],1===b.count?l=h[0]:(l=h[1],g=h[2])):
!l&&k&&(l=this.getXDateFormat(d,f,h)),l=p(l,d.key),g&&(l+=p(g,d.key+b.totalRange-1)),t(f[(c?"footer":"header")+"Format"],{point:m(d.point,{key:l}),series:e})):b.call(this,d,c)});b.destroy=function(){for(var a=this.groupedData||[],d=a.length;d--;)a[d]&&a[d].destroy();q.apply(this)};u(b,"setOptions",function(a,d){a=a.call(this,d);var b=this.type,c=this.chart.options.plotOptions,e=E[b].dataGrouping;p[b]&&(e||(e=h(D,p[b])),a.dataGrouping=h(e,c.series&&c.series.dataGrouping,c[b].dataGrouping,d.dataGrouping));
this.chart.options.isStock&&(this.requireSorting=!0);return a});u(A.prototype,"setScale",function(a){a.call(this);g(this.series,function(a){a.hasProcessed=!1})});A.prototype.getGroupPixelWidth=function(){var a=this.series,d=a.length,b,c=0,e=!1,f;for(b=d;b--;)(f=a[b].options.dataGrouping)&&(c=Math.max(c,f.groupPixelWidth));for(b=d;b--;)(f=a[b].options.dataGrouping)&&a[b].hasProcessed&&(d=(a[b].processedXData||a[b].data).length,a[b].groupPixelWidth||d>this.chart.plotSizeX/c||d&&f.forced)&&(e=!0);return e?
c:0};A.prototype.setDataGrouping=function(a,d){var b;d=e(d,!0);a||(a={forced:!1,units:null});if(this instanceof A)for(b=this.series.length;b--;)this.series[b].update({dataGrouping:a},!1);else g(this.chart.options.series,function(d){d.dataGrouping=a},!1);d&&this.chart.redraw()}})(I);(function(a){var B=a.each,z=a.Point,A=a.seriesType,E=a.seriesTypes;A("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},
threshold:null},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"high",translate:function(){var a=this,g=a.yAxis,m=!!a.modifyValue,t=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];E.column.prototype.translate.apply(a);B(a.points,function(n){B([n.open,n.high,n.low,n.close,n.low],function(h,e){null!==h&&(m&&(h=a.modifyValue(h)),n[t[e]]=g.toPixels(h,!0))})})},drawPoints:function(){var a=this,g=a.chart;B(a.points,
function(m){var t,n,h,e,c=m.graphic,r,u=!c;void 0!==m.plotY&&(c||(m.graphic=c=g.renderer.path().add(a.group)),n=c.strokeWidth()%2/2,r=Math.round(m.plotX)-n,h=Math.round(m.shapeArgs.width/2),e=["M",r,Math.round(m.yBottom),"L",r,Math.round(m.plotY)],null!==m.open&&(t=Math.round(m.plotOpen)+n,e.push("M",r,t,"L",r-h,t)),null!==m.close&&(t=Math.round(m.plotClose)+n,e.push("M",r,t,"L",r+h,t)),c[u?"attr":"animate"]({d:e}).addClass(m.getClassName(),!0))})},animate:null},{getClassName:function(){return z.prototype.getClassName.call(this)+
(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(I);(function(a){var B=a.defaultPlotOptions,z=a.each,A=a.merge;a=a.seriesType;a("candlestick","ohlc",A(B.column,{states:{hover:{lineWidth:2}},tooltip:B.ohlc.tooltip,threshold:null}),{drawPoints:function(){var a=this,v=a.chart;z(a.points,function(g){var m=g.graphic,t,n,h,e,c,r,u,b=!m;void 0!==g.plotY&&(m||(g.graphic=m=v.renderer.path().add(a.group)),c=m.strokeWidth()%2/2,r=Math.round(g.plotX)-c,t=g.plotOpen,n=g.plotClose,h=
Math.min(t,n),t=Math.max(t,n),u=Math.round(g.shapeArgs.width/2),n=Math.round(h)!==Math.round(g.plotY),e=t!==g.yBottom,h=Math.round(h)+c,t=Math.round(t)+c,c=[],c.push("M",r-u,t,"L",r-u,h,"L",r+u,h,"L",r+u,t,"Z","M",r,h,"L",r,n?Math.round(g.plotY):h,"M",r,t,"L",r,e?Math.round(g.yBottom):t),m[b?"attr":"animate"]({d:c}).addClass(g.getClassName(),!0))})}})})(I);(function(a){var B=a.addEvent,z=a.each,A=a.noop,E=a.seriesType,v=a.seriesTypes,g=a.TrackerMixin,m=a.SVGRenderer.prototype.symbols,t=a.stableSort;
E("flags","column",{pointRange:0,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,translate:function(){v.column.prototype.translate.apply(this);var a=this.options,g=this.chart,e=this.points,c=e.length-1,m,u,b=a.onSeries;m=b&&g.get(b);var a=a.onKey||"y",b=m&&m.options.step,f=m&&m.points,x=f&&f.length,
q=this.xAxis,D=this.yAxis,p=q.getExtremes(),B=0,A,k,d;if(m&&m.visible&&x)for(B=(m.pointXOffset||0)+(m.barW||0)/2,m=m.currentDataGrouping,k=f[x-1].x+(m?m.totalRange:0),t(e,function(a,d){return a.x-d.x}),a="plot"+a[0].toUpperCase()+a.substr(1);x--&&e[c]&&!(m=e[c],A=f[x],A.x<=m.x&&void 0!==A[a]&&(m.x<=k&&(m.plotY=A[a],A.x<m.x&&!b&&(d=f[x+1])&&void 0!==d[a]&&(m.plotY+=(m.x-A.x)/(d.x-A.x)*(d[a]-A[a]))),c--,x++,0>c)););z(e,function(a,d){var b;void 0===a.plotY&&(a.x>=p.min&&a.x<=p.max?a.plotY=g.chartHeight-
q.bottom-(q.opposite?q.height:0)+q.offset-D.top:a.shapeArgs={});a.plotX+=B;(u=e[d-1])&&u.plotX===a.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),b=u.stackIndex+1);a.stackIndex=b})},drawPoints:function(){var g=this.points,h=this.chart,e=h.renderer,c,m,t=this.options,b=t.y,f,v,q,D,p,z,A,k=this.yAxis;for(v=g.length;v--;)q=g[v],A=q.plotX>this.xAxis.len,c=q.plotX,D=q.stackIndex,f=q.options.shape||t.shape,m=q.plotY,void 0!==m&&(m=q.plotY+b-(void 0!==D&&D*t.stackDistance)),p=D?void 0:q.plotX,z=D?void 0:
q.plotY,D=q.graphic,void 0!==m&&0<=c&&!A?(D||(D=q.graphic=e.label("",null,null,f,null,null,t.useHTML).attr({align:"flag"===f?"left":"center",width:t.width,height:t.height,"text-align":t.textAlign}).addClass("highcharts-point").add(this.markerGroup),q.graphic.div&&(q.graphic.div.point=q)),0t.useHTML&&a.wrap(this.markerGroup,"on",function(d){return a.SVGElement.prototype.on.apply(d.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;g.drawTrackerPoint.apply(this);z(a,function(g){var e=g.graphic;e&&B(e.element,"mouseover",function(){0function(a,g,e,c,m){return["M",m&&m.anchorX||a,m&&m.anchorY||g,"L",a,g+c,a,g,a+e,g,a+e,g+c,a,g+c,"Z"]};z(["circle","square"],function(a){m[a+"pin"]=function(g,e,c,n,t){var b=t&&t.anchorX;t=t&&t.anchorY;"circle"===a&&n>c&&(g-=Math.round((n-c)/2),c=n);g=m[a](g,e,c,n);b&&t&&g.push("M",b,e>t?e:e+n,"L",b,t);return g}})})(I);(function(a){function B(a,b,c){this.init(a,b,c)}var z=a.addEvent,A=a.Axis,E=a.correctFloat,v=a.defaultOptions,g=a.defined,m=a.destroyObjectProperties,t=a.doc,n=a.each,h=a.fireEvent,
e=a.hasTouch,c=a.isTouchDevice,r=a.merge,u=a.pick,b=a.removeEvent,f=a.wrap,x,q={height:c?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!c,margin:10,minWidth:6,step:.2,zIndex:3};v.scrollbar=r(!0,q,v.scrollbar);a.swapXY=x=function(a,b){var c=a.length,e;if(b)for(b=0;b<c;b+=3)e=a[b+1],a[b+1]=a[b+2],a[b+2]=e;return a};B.prototype={init:function(a,b,c){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=r(q,b);this.chart=c;this.size=u(this.options.size,this.options.height);
b.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,c=this.size,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:c,width:c}).add(e);this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2<B>/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,
width:c,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(x(["M",-3,c/4,"L",-3,2*c/3,"M",0,c/4,"L",0,2*c/3,"M",3,c/4,"L",3,2*c/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,b,c,e){var f=this.options.vertical,d=0,g=
this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=c;this.xOffset=this.height=e;this.yOffset=d;f?(this.width=this.yOffset=c=d=this.size,this.xOffset=b=0,this.barWidth=e-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=c-2*e,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:c,height:e});this.scrollbarButtons[1][g]({translateX:f?0:c-b,translateY:f?e-d:0})},drawScrollbarButton:function(a){var b=
this.renderer,c=this.scrollbarButtons,e=this.options,f=this.size,d;d=b.g().add(this.group);c.push(d);d=b.rect().addClass("highcharts-scrollbar-button").add(d);d.attr(d.crisp({x:-.5,y:-.5,width:f+1,height:f+1,r:e.buttonBorderRadius},d.strokeWidth()));b.path(x(["M",f/2+(a?-1:1),f/2-3,"L",f/2+(a?-1:1),f/2+3,"L",f/2+(a?2:-2),f/2],e.vertical)).addClass("highcharts-scrollbar-arrow").add(c[a])},setRange:function(a,b){var c=this.options,e=c.vertical,f=c.minWidth,d=this.barWidth,h,p,n=this.rendered&&!this.hasDragged?
"animate":"attr";g(d)&&(a=Math.max(a,0),h=Math.ceil(d*a),this.calculatedWidth=p=E(d*Math.min(b,1)-h),p2-.5,this.from=a,this.to=b,e?(this.scrollbarGroup[n]({translateY:f}),this.scrollbar[n]({height:p}),this.scrollbarRifles[n]({translateY:d}),this.scrollbarTop=f,this.scrollbarLeft=0):(this.scrollbarGroup[n]({translateX:f}),this.scrollbar[n]({width:p}),this.scrollbarRifles[n]({translateX:d}),this.scrollbarLeft=f,this.scrollbarTop=0),
12>=p?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===c.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var c=a.chart.pointer.normalize(b),e=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(c=a.cursorToScrollbarPosition(c)[e],e=a[e],e=c-e,a.hasDragged=!0,a.updatePosition(f[0]+e,f[1]+e),a.hasDragged&&h(a,"changed",{from:a.from,to:a.to,
trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&h(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=E(a.to-a.from)*a.options.step;a.updatePosition(E(a.from-
c),E(a.to-c));h(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);h(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),e=a.to-a.from,f=a.y+a.scrollbarTop,d=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>f||!a.options.vertical&&c.chartX>d?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);
h(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=E(1-E(b-a)),b=1);0>a&&(b=E(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,r(!0,this.options,a),this.chart)},addEvents:function(){var a=
this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,c=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,d=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[c,"mousedown",f],[t,"mousemove",g],[t,"mouseup",d]];e&&a.push([c,LOR="#BC8F8F">"touchstart",f],[t,"touchmove",g],[t,"touchend",d]);n(a,function(a){z.apply(null,a)});this._events=a},removeEvents:function(){n(this._events,
function(a){b.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();n(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&NT COLOR="#A020F0">this===a.scrollbar&&(a.scrollbar=null,m(a.scrollbarButtons))}};f(A.prototype,"init",function(a){var b=this;a.apply(b,Array.prototype.slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,
b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new B(b.chart.renderer,b.options.scrollbar,b.chart),z(b.scrollbar,"changed",function(a){var c=Math.min(u(b.options.min,b.min),b.min,b.dataMin),e=Math.max(u(b.options.max,b.max),b.max,b.dataMax)-c,d;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(d=c+e*this.to,c+=e*this.from):(d=c+e*(1-this.from),c+=e*(1-this.to));b.setExtremes(c,d,!0,!1,a)}))});f(A.prototype,"render",function(a){var b=Math.min(u(thisFONT>.options.min,this.min),this.min,this.dataMin),
c=Math.max(u(this.options.max,this.max),this.max,this.dataMax),e=this.scrollbar,f;a.apply(this,Array.prototype.slice.call(arguments,1));if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:this.axisTitleMargin+this.offset),this.width,this.height),f=1):(e.position(this.left+T COLOR="#A020F0">this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),f=0);if(!this.opposite&&!this.horiz||this.opposite&&
this.horiz)this.chart.scrollbarsOffsets[f]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(b)||isNaN(c)||!g(this.min)||!g(this.max)?e.setRange(0,0):(f=(this.min-b)/(c-b),b=(this.max-b)/(c-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(f,b):e.setRange(1-b,1-f))}});f(A.prototype,"getOffset",function(a){var b=this.horiz?2:1,c=this.scrollbar;a.apply(NT COLOR="#A020F0">this,Array.prototype.slice.call(arguments,1));c&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[b]+=c.size+c.options.margin)});
f(A.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,Array.prototype.slice.call(arguments,1))});a.Scrollbar=B})(I);(function(a){function B(a){this.init(a)}var z=a.addEvent,A=a.Axis,E=a.Chart,v=a.defaultOptions,g=a.defined,m=a.destroyObjectProperties,t=a.doc,n=a.each,h=a.erase,e=a.error,c=a.extend,r=a.grep,u=a.hasTouch,b=a.isNumber,f=a.isObject,x=a.merge,q=a.pick,D=a.removeEvent,p=a.Scrollbar,I=a.Series,H=a.seriesTypes,k=a.wrap,d=a.swapXY,w=[].concat(a.defaultDataGroupingUnits),
y=function(a){var d=r(arguments,b);if(d.length)return Math[a].apply(0,d)};w[4]=["day",[1,2,3,4]];w[5]=["week",[1,2,3]];c(v,{navigator:{height:40,margin:25,maskInside:!0,series:{type:void 0===H.areaspline?"line":"areaspline",compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:w},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor: COLOR="#A020F0">null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},
xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,tickPixelInterval:200,labels:{align:"left",x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});B.prototype={drawHandle:function(a,b,d,c){this.handles[b][c](d?{translateX:Math.round(this.left+this.height/2-8),translateY:Math.round(this.top+parseInt(a,10)+.5)}:{translateX:Math.round(this.left+
parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},getHandlePath:function(a){return d(["M",-4.5,.5,"L",3.5,.5,"L",3.5,15.5,"L",-4.5,15.5,"L",-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12],a)},drawOutline:function(a,b,d,c){var e=this.navigatorOptions.maskInside,f=this.outline.strokeWidth(),g=f/2,f=f%2/2,l=this.outlineHeight,k=this.scrollbarHeight,h=this.size,n=this.left-k,m=this.top;d?(n-=g,d=m+b+f,b=m+a+f,a=["M",n+l,m-k-f,"L",n+l,d,"L",n,d,"L",n,b,"L",n+l,b,"L",n+l,m+h+k].concat(e?
["M",n+l,d-g,"L",n+l,b+g]:[])):(a+=n+k-f,b+=n+k-f,m+=g,a=["M",n,m,"L",a,m,"L",a,m+l,"L",b,m+l,"L",b,m,"L",n+h+2*k,m].concat(e?["M",a-g,m,"L",b+g,m]:[]));this.outline[c]({d:a})},drawMasks:function(a,b,d,c){var e=this.left,f=this.top,g=this.height,l,k,h,m;d?(h=[e,e,e],m=[f,f+a,f+b],k=[g,g,g],l=[a,b-a,this.size-b]):(h=[e,e+a,e+b],m=[f,f,f],k=[a,b-a,this.size-b],l=[g,g,g]);n(this.shades,function(a,b){a[c]({x:h[b],y:m[b],width:k[b],height:l[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions.maskInside,
d=a.chart,c=d.inverted,e=d.renderer,f;a.navigatorGroup=f=e.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();n([!b,b,!b],function(b,d){a.shades[d]=e.rect().addClass("highcharts-navigator-mask"+(1===d?"-inside":"-outside")).add(f)});a.outline=e.path().addClass("highcharts-navigator-outline").add(f);n([0,1],function(b){a.handles[b]=e.path(a.getHandlePath(c)).attr({zIndex:7-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(f)})},update:function(a){this.destroy();
x(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,d,c,e){var f=this.chart,k,l,h=this.scrollbarHeight,n,m=this.xAxis;k=this.navigatorEnabled;var p,r=this.rendered;l=f.inverted;var t=f.xAxis[0].minRange;if(!this.hasDragged||g(c)){if(!b(a)||!b(d))if(r)c=0,e=m.width;else return;this.left=q(m.left,f.plotLeft+h+(l?f.plotWidth:0));this.size=p=n=q(m.len,(l?f.plotHeight:f.plotWidth)-2*h);f=l?h:n+2*h;c=q(c,m.toPixels(a,!0));e=q(e,m.toPixels(d,!0));b(c)&&Infinity!==Math.abs(c)||
(c=0,e=f);a=m.toValue(c,!0);d=m.toValue(e,!0);if(Math.abs(d-a)<t)if(this.grabbedLeft)c=m.toPixels(d-t,!0);else if(this.grabbedRight)e=m.toPixels(a+t,!0);else return;this.zoomedMax=Math.min(Math.max(c,e,0),p);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0),p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);k&&(this.navigatorGroup.attr({visibility:"visible"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(c,
p,l,r),this.drawOutline(c,p,l,r),this.drawHandle(c,0,l,r),this.drawHandle(p,1,l,r));this.scrollbar&&(l?(l=this.top-h,k=this.left-h+(k?0:this.height),h=n+2*h):(l=this.top+(k?this.height:-h),k=this.left-h),this.scrollbar.position(k,l,f,h),this.scrollbar.setRange(this.zoomedMin/n,this.zoomedMax/n));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,d=b.container,c=[],e,f;a.mouseMoveHandler=e=function(b){a.onMouseMove(b)};a.mouseUpHandler=f=function(b){a.onMouseUp(b)};c=a.getPartsEvents("mousedown");
c.push(z(d,"mousemove",e),z(t,"mouseup",f));u&&(c.push(z(d,"touchmove",e),z(t,"touchend",f)),c.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=c;a.series&&a.series[0]&&c.push(z(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,d=[];n(["shades","handles"],function(c){n(b[c],function(e,f){d.push(z(e.element,a,function(a){b[c+"Mousedown"](a,f)}))})});return d},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);
var d=this.chart,c=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,k=this.range,h=a.chartX,n;d.inverted&&(h=a.chartY,f=this.top);1===b?(this.grabbedCenter=h,this.fixedWidth=k,this.dragOffset=h-e):(a=h-f-k/2,0===b?a=Math.max(0,a):2===b&&a+k>=g&&(a=g-k,n=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=k,b=c.toFixedRange(a,a+k,null,n),d.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);
a=this.chart;var d=a.xAxis[0],c=a.inverted&&!d.reversed||!a.inverted&&d.reversed;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=c?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=c?d.max:d.min);a.fixedRange=null},onMouseMove:function(a){var b=this,d=b.chart,c=b.left,e=b.navigatorSize,f=b.range,g=b.dragOffset,k=d.inverted;a.touches&&0===a.touches[0].pageX||(a=d.pointer.normalize(a),d=a.chartX,k&&(c=b.top,d=a.chartY),b.grabbedLeft?
(b.hasDragged=!0,b.render(0,0,d-c,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,d-c)):b.grabbedCenter&&(b.hasDragged=!0,de+g-f&&(d=e+g-f),b.render(0,0,d-g,d-g+f)),b.hasDragged&&b.scrollbar&&b.scrollbar.options.liveRedraw&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,d=this.xAxis,c=this.scrollbar,e,f,k=a.DOMEvent||a;(!this.hasDragged||c&&c.hasDragged)&&"scrollbar"!==a.trigger||(this.zoomedMin===this.otherHandlePos?
e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.getUnionExtremes().dataMax),d=d.toFixedRange(this.zoomedMin,this.zoomedMax,e,f),g(d.min)&&b.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:k}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=
this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(n(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&!1!==this.navigatorOptions.adaptToUpdatedData&&(n(a,function(a){D(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&D(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,d=b.navigator,c=d.enabled,
e=b.scrollbar,f=e.enabled,b=c?d.height:0,g=f?e.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=g;this.scrollbarEnabled=f;this.navigatorEnabled=c;this.navigatorOptions=d;this.scrollbarOptions=e;this.outlineHeight=b+g;this.opposite=q(d.opposite,!c&&a.inverted);var h=this,e=h.baseSeries,f=a.xAxis.length,n=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraMargin={type:h.opposite?"plotTop":"marginBottom",value:(c||!a.inverted?h.outlineHeight:
0)+d.margin};a.inverted&&(a.extraMargin.type=h.opposite?"marginRight":"plotLeft");a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=new A(a,x({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[g,0,-g,0],width:b}:{offsets:[0,-g,0,g],height:b})),h.yAxis=new A(a,x(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,
offset:0,index:n,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),e||d.series.data?h.addBaseSeries():0===a.series.length&&k(a,"redraw",function(b,d){0f+k:f*(b-k)/c},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,
!0)},toFixedRange:A.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=h.scrollbar=new p(a.renderer,x(a.options.scrollbar,{margin:h.navigatorEnabled?0:10,vertical:a.inverted}),a),z(h.scrollbar,"changed",function(b){var d=h.size,c=d*this.to,d=d*this.from;h.hasDragged=h.scrollbar.hasDragged;h.render(0,0,d,c);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType)&&setTimeout(function(){h.onMouseUp(b)})}));h.addBaseSeriesEvents();h.addChartEvents()},getUnionExtremes:function(a){var b=
this.chart.xAxis[0],d=this.xAxis,c=d.options,e=b.options,f;a&&null===b.dataMin||(f={dataMin:q(c&&c.min,y("min",e.min,b.dataMin,d.dataMin,d.min)),dataMax:q(c&&c.max,y("max",e.max,b.dataMax,d.dataMax,d.max))});return f},setBaseSeries:function(a){var b=this.chart,d;a=a||b.options&&b.options.navigator.baseSeries||0;this.series&&(this.removeBaseSeriesEvents(),n(this.series,function(a){a.destroy()}));d=this.baseSeries=[];n(b.series||[],function(b,c){(b.options.showInNavigator||(c===a||b.options.id===a)&&
!1!==b.options.showInNavigator)&&d.push(b)});this.xAxis&&!this.xAxis.fake&&this.addBaseSeries()},addBaseSeries:function(){var a=this,b=a.chart,d=a.series=[],c=a.baseSeries,e,f,g=a.navigatorOptions.series,k,h={enableMouseTracking:!1,index:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,visible:!0};c?n(c,function(c,l){h.name="Navigator "+(l+1);e=c.options||{};k=e.navigatorOptions||{};f=x(e,h,g,k);l=k.data||g.data;a.hasNavigatorData=
a.hasNavigatorData||!!l;f.data=l||e.data&&e.data.slice(0);c.navigatorSeries=b.initSeries(f);d.push(c.navigatorSeries)}):(f=x(g,h),f.data=g.data,a.hasNavigatorData=!!f.data,d.push(b.initSeries(f)));this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&z(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);!1!==this.navigatorOptions.adaptToUpdatedData&&n(b,function(b){b.xAxis&&z(b,"updatedData",this.updatedDataHandler);z(b,"remove",function(){this.navigatorSeries&&
(h(a.series,this.navigatorSeries),this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,d=this.getExtremes(),c=d.dataMin,e=d.dataMax,d=d.max-d.min,f=a.stickToMin,g=a.stickToMax,k,h,n=a.series&&a.series[0],m=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===
this.eventArgs.trigger||(f&&(h=c,k=h+d),g&&(k=e,f||(h=Math.max(k-d,n&&n.xData?n.xData[0]:-Number.MAX_VALUE))),m&&(f||g)&&b(h)&&(this.min=this.userMin=h,this.max=this.userMax=k));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,d=this.navigatorSeries;a.stickToMin=b(this.xAxis.min)&&this.xAxis.min<=this.xData[0];a.stickToMax=Math.round(a.zoomedMax)>=Math.round(a.size);d&&!a.hasNavigatorData&&(d.options.pointStart=this.xData[0],d.setData(this.options.data,!1,null,
!1))},addChartEvents:function(){z(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)})},destroy:function(){this.removeEvents();this.xAxis&&(h(this.chart.xAxis,this.xAxis),h(this.chart.axes,this.xAxis));this.yAxis&&(h(this.chart.yAxis,this.yAxis),h(this.chart.axes,this.yAxis));n(this.series||[],function(a){a.destroy&&a.destroy()});n("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),
function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);n([this.handles],function(a){m(a)},this)}};a.Navigator=B;k(A.prototype,"zoom",function(a,b,d){var c=this.chart,e=c.options,f=e.chart.zoomType,k=e.navigator,e=e.rangeSelector,l;this.isXAxis&&(k&&k.enabled||e&&e.enabled)&&("x"===f?c.resetZoomButton="blocked":"y"===f?l=!1:"xy"===f&&(c=this.previousZoom,g(b)?this.previousZoom=[this.min,this.max]:c&&(b=c[0],d=c[1],delete this.previousZoom)));return void 0!==l?l:a.call(this,b,d)});
k(E.prototype,"init",function(a,b,d){z(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new B(this)});a.call(this,b,d)});k(E.prototype,"setChartSize",function(a){var b=this.legend,d=this.navigator,c,e,f,g;a.apply(this,[].slice.call(arguments,1));d&&(e=b.options,f=d.xAxis,g=d.yAxis,c=d.scrollbarHeight,this.inverted?(d.left=d.opposite?this.chartWidth-c-d.height:this.spacing[3]+c,d.top=this.plotTop+c):(d.left=this.plotLeft+c,d.top=
d.navigatorOptions.top||this.chartHeight-d.height-c-this.spacing[2]-("bottom"===e.verticalAlign&&e.enabled&&!e.floating?b.legendHeight+q(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=d.left:f.options.top=g.options.top=d.top,f.setAxisSize(),g.setAxisSize()))});k(I.prototype,"addPoint",function(a,b,d,c,g){var k=this.options.turboThreshold;k&&this.xData.length>k&&f(b,!0)&&this.chart.navigator&&e(20,!0);a.call(this,b,d,c,g)});k(E.prototype,"addSeries",function(a,b,d,c){a=a.call(this,
b,!1,c);this.navigator&&this.navigator.setBaseSeries();q(d,!0)&&this.redraw();return a});k(I.prototype,"update",function(a,b,d){a.call(this,b,!1);this.chart.navigator&&this.chart.navigator.setBaseSeries();q(d,!0)&&this.chart.redraw()});E.prototype.callbacks.push(function(a){var b=a.navigator;b&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(I);(function(a){function B(a){this.init(a)}var z=a.addEvent,A=a.Axis,E=a.Chart,v=a.css,g=a.createElement,m=a.dateFormat,t=a.defaultOptions,n=t.global.useUTC,
h=a.defined,e=a.destroyObjectProperties,c=a.discardElement,r=a.each,u=a.extend,b=a.fireEvent,f=a.Date,x=a.isNumber,q=a.merge,D=a.pick,p=a.pInt,I=a.splat,H=a.wrap;u(t,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}}});t.lang=q(t.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});B.prototype={clickButton:function(a,b){var d=this,c=d.chart,e=d.buttonOptions[a],f=c.xAxis[0],g=c.scroller&&c.scroller.getUnionExtremes()||
f||{},k=g.dataMin,h=g.dataMax,m,p=f&&Math.round(Math.min(f.max,D(h,f.max))),t=e.type,q,g=e._range,u,v,B,E=e.dataGrouping;if(null!==k&&null!==h){c.fixedRange=g;E&&(this.forcedDataGrouping=!0,A.prototype.setDataGrouping.call(f||{chart:this.chart},E,!1));if("month"===t||"year"===t)f?(t={range:e,max:p,dataMin:k,dataMax:h},m=f.minFromRange.call(t),x(t.newMax)&&(p=t.newMax)):g=e;else if(g)m=Math.max(p-g,k),p=Math.min(m+g,h);else if("ytd"===t)if(f)void 0===h&&(k=Number.MAX_VALUE,h=Number.MIN_VALUE,r(c.series,
function(a){a=a.xData;k=Math.min(a[0],k);h=Math.max(a[a.length-1],h)}),b=!1),p=d.getYTDExtremes(h,k,n),m=u=p.min,p=p.max;else{z(c,"beforeRender",function(){d.clickButton(a)});return}else"all"===t&&f&&(m=k,p=h);d.setSelected(a);f?f.setExtremes(m,p,D(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(q=I(c.options.xAxis)[0],B=q.range,q.range=g,v=q.min,q.min=u,z(c,"load",function(){q.range=B;q.min=v}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",
count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var d=this,c=a.options.rangeSelector,e=c.buttons||[].concat(d.defaultButtons),f=c.selected,g=function(){var a=d.minInput,c=d.maxInput;a&&a.blur&&b(a,"blur");c&&c.blur&&b(c,"blur")};d.chart=a;d.options=c;d.buttons=[];a.extraTopMargin=c.height;d.buttonOptions=e;this.unMouseDown=z(a.container,"mousedown",g);this.unResize=
z(a,"resize",g);r(e,d.computeButtonRange);void 0!==f&&e[f]&&this.clickButton(f,!1);z(a,"load",function(){z(a.xAxis[0],"setExtremes",function(b){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==b.trigger&&"updatedData"!==b.trigger&&d.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,f=a.dataMin,g=a.dataMax,a=this.getYTDExtremes(g,f,n),
l=a.min,h=a.max,m=this.selected,p=x(m),t=this.options.allButtonsEnabled,q=this.buttons;r(this.buttonOptions,function(a,d){var k=a._range,n=a.type,r=a.count||1;a=q[d];var w=0;d=d===m;var u=k>g-f,v=k=864E5*{month:28,year:365}[n]*r&&c<=864E5*{month:31,year:366}[n]*r?k=!0:"ytd"===n?(k=h-l===c,y=!d):"all"===n&&(k=b.max-b.min>=g-f,x=!d&&p&&k);n=!t&&(u||v||x||e);k=d&&k||k&&!p&&!y;n?w=3:k&&(p=!0,w=2);a.state!==w&&a.setState(w)})},computeButtonRange:function(a){var b=
a.type,c=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var d=this.chart.options.rangeSelector,c=this[a+"Input"];h(b)&&(c.previousValue=c.HCTime,c.HCTime=b);c.value=m(d.inputEditDateFormat||"%Y-%m-%d",c.HCTime);this[a+"DateBox"].attr({text:m(d.inputDateFormat||"%b %e, %Y",c.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];
v(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){v(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=m.value,b=(k.inputDateParser||Date.parse)(a),d=e.xAxis[0],f=e.scroller&&e.scroller.xAxis?e.scroller.xAxis:d,g=f.dataMin,f=f.dataMax;b!==m.previousValue&&(m.previousValue=b,x(b)||(b=a.split("-"),b=Date.UTC(p(b[0]),p(b[1])-
1,p(b[2]))),x(b)&&(n||(b+=6E4*(new Date).getTimezoneOffset()),h?b>c.maxInput.HCTime?b=void 0:bf&&(b=f),void 0!==b&&d.setExtremes(h?b:d.min,h?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var c=this,e=c.chart,f=e.renderer,k=e.options.rangeSelector,l=c.div,h="min"===a,m,r,q=this.inputGroup;this[a+"Label"]=r=f.label(t.lang[h?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(q);q.offset+=
r.width+5;this[a+"DateBox"]=f=f.label("",q.offset).addClass("highcharts-range-input").attr({padding:2,width:k.inputBoxWidth||90,height:k.inputBoxHeight||17,stroke:k.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",function(){c.showInput(a);c[a+"Input"].focus()}).add(q);q.offset+=f.width+(h?10:0);this[a+"Input"]=m=g("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:e.plotTop+"px"},l);m.onfocus=function(){c.showInput(a)};m.onblur=function(){c.hideInput(a)};
m.onchange=b;m.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=D((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,c){var d=new f(a),e=d[f.hcGetFullYear]();c=c?f.UTC(e,0,1):+new f(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var d=this,c=d.chart,e=c.renderer,f=c.container,k=c.options,m=k.exporting&&!1!==k.exporting.enabled&&
k.navigation&&k.navigation.buttonOptions,n=k.rangeSelector,p=d.buttons,k=t.lang,q=d.div,q=d.inputGroup,v=n.buttonTheme,x=n.buttonPosition||{},z=n.inputEnabled,A=v&&v.states,B=c.plotLeft,E,H=this.getPosition(),I=d.group,K=d.rendered;!1!==n.enabled&&(K||(d.group=I=e.g("range-selector-buttons").add(),d.zoomText=e.text(k.rangeSelectorZoom,D(x.x,B),15).css(n.labelStyle).add(I),E=D(x.x,B)+d.zoomText.getBBox().width+5,r(d.buttonOptions,function(a,b){p[b]=e.button(a.text,E,0,function(){d.clickButton(b);d.isActive=
!0},v,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(I);E+=p[b].width+D(n.buttonSpacing,5)}),!1!==z&&(d.div=q=g("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(q,f),d.inputGroup=q=e.g("input-group").add(),q.offset=0,d.drawInput("min"),d.drawInput("max"))),d.updateButtonStates(),I[K?"animate":"attr"]({translateY:H.buttonTop}),!1!==z&&(q.align(u({y:H.inputTop,width:q.offset,x:m&&H.inputTop<(m.y||0)+m.height-c.spacing[0]?-40:0},n.inputPosition),
!0,c.spacingBox),h(z)||(c=I.getBBox(),q[q.alignAttr.translateXthis[f].destroy():this[f].nodeType&&c(this[f])),this[f]!==B.prototype[f]&&(this[f]=null)}};A.prototype.toFixedRange=function(a,b,c,e){var d=this.chart&&this.chart.fixedRange;a=D(c,this.translate(a,!0,!this.horiz));b=D(e,this.translate(b,!0,!this.horiz));c=d&&(b-a)/d;.7<c&&1.3>c&&(e?a=b-d:b=a+d);x(a)||(a=b=void 0);return{min:a,max:b}};A.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,f,g,h=function(a,d){var c=new Date(a);c["set"+b](c["get"+
b]()+d);return c.getTime()-a};x(a)?(c=e-a,g=a):(c=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));f=D(this.dataMin,Number.MIN_VALUE);x(c)||(c=f);c<=f&&(c=f,void 0===g&&(g=h(c,a.count)),this.newMax=Math.min(c+g,this.dataMax));x(e)||(c=void 0);return c};H(E.prototype,"init",function(a,b,c){z(this,"init",function(){this.options.rangeSelector.enabled&&(thisONT>.rangeSelector=new B(this))});a.call(this,b,c)});E.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();x(c.min)&&
e.render(c.min,c.max)}var c,e=a.rangeSelector,f,g;e&&(g=z(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=z(a,"redraw",b),b());z(a,"destroy",function(){e&&(f(),g())})});a.RangeSelector=B})(I);(function(a){var B=a.arrayMax,z=a.arrayMin,A=a.Axis,E=a.Chart,v=a.defined,g=a.each,m=a.format,t=a.inArray,n=a.isNumber,h=a.isString,e=a.map,c=a.merge,r=a.pick,u=a.Point,b=a.Series,f=a.splat,x=a.SVGRenderer,q=a.wrap,D=b.prototype,p=D.init,I=D.processData,H=u.prototype.tooltipFormatter;a.StockChart=
a.stockChart=function(b,d,g){var k=h(b)||b.nodeName,m=arguments[k?1:0],n=m.series,l=a.getOptions(),p,q=r(m.navigator&&m.navigator.enabled,l.navigator.enabled,!0),t=q?{startOnTick:!1,endOnTick:!1}:null,u={marker:{enabled:!1,radius:2}},v={shadow:!1,borderWidth:0};m.xAxis=e(f(m.xAxis||{}),function(a){return c({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},l.xAxis,a,{type:"datetime",categories:null},t)});m.yAxis=e(f(m.yAxis||{}),function(a){p=r(a.opposite,
!0);return c({labels:{y:-2},opposite:p,showLastLabel:!1,title:{text:null}},l.yAxis,a)});m.series=null;m=c({chart:{panning:!0,pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:r(l.scrollbar.enabled,!0)},rangeSelector:{enabled:r(l.rangeSelector.enabled,!0)},title:{text:null},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:u,spline:u,area:u,areaspline:u,arearange:u,areasplinerange:u,column:v,columnrange:v,candlestick:v,ohlc:v}},m,{isStock:!0});m.series=n;return k?new E(b,
m,g):new E(m,d)};q(A.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},e=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&e.enabled)?(15===e.x&&(e.x=0),void 0===e.align&&(e.align="right"),b[c]=this,"right"):a.call(thisONT>,[].slice.call(arguments,1))});q(A.prototype,"destroy",function(a){var b=this.chart,c=this.options&&this.options.top+","+this.options.height;c&&b._labelPanes&&b._labelPanes[c]===
this&&delete b._labelPanes[c];return a.call(this,Array.prototype.slice.call(arguments,1))});q(A.prototype,"getPlotLinePath",function(a,b,c,f,m,p){var d=this,k=this.isLinked&&!this.series?this.linkedParent.series:this.series,q=d.chart,u=q.renderer,w=d.left,x=d.top,y,z,C,A,B=[],D=[],E,G;if("colorAxis"===d.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return n(a)?[q[b][a]]:h(a)?[q.get(a)]:e(k,function(a){return a[b]})}(d.coll);g(d.isXAxis?
q.yAxis:q.xAxis,function(a){if(v(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=v(a.options[b])?q[b][a.options[b]]:q[b][0];d===b&&D.push(a)}});E=D.length?[]:[d.isXAxis?q.yAxis[0]:q.xAxis[0]];g(D,function(a){-1===t(a,E)&&E.push(a)});G=r(p,d.translate(b,null,null,f));n(G)&&(d.horiz?g(E,function(a){var b;z=a.pos;A=z+a.len;y=C=Math.round(G+d.transB);if(y<w||y>w+d.width)m?y=C=Math.min(MathNT>.max(w,y),w+d.width):b=!0;b||B.push("M",y,z,"L",C,A)}):g(E,function(a){var b;
y=a.pos;C=y+a.len;z=A=Math.round(x+d.height-G);if(z<x||z>x+d.height)m?z=A=Math.min(Math.max(x,z),d.top+d.height):b=!0;b||B.push("M",y,z,"L",C,A)}));return 0<B.length?u.crispPolyLine(B,c||1):null});A.prototype.getPlotBandPath=function(a,b){b=this.getPlotLinePath(b,null,null,!0);a=this.getPlotLinePath(a,null,null,!0);var d=[],c;if(a&&b)if(a.toString()===b.toString())d=a,d.flat=!0;else for(c=0;c<a.length;c+=6)d.push("M",a[c+1],a[c+2],"L",a[c+4],a[c+5],b[c+4],b[c+5],b[c+1],b[c+2],"z");else d=null;return d};
x.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};q(A.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});q(A.prototype,"drawCrosshair",function(a,b,c){var d,e;a.call(this,b,c);if(v(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){a=this.chart;var f=this.options.crosshair.label,
g=this.horiz;d=this.opposite;e=this.left;var k=this.top,h=this.crossLabel,n,p=f.format,q="",t="inside"===this.options.tickPosition,u=!1!==this.crosshair.snap,w=0;b||(b=this.cross&&this.cross.e);n=g?"center":d?"right"===this.labelAlign?"right":"left":"left"===thisB>.labelAlign?"left":"center";h||(h=this.crossLabel=a.renderer.label(null,null,null,f.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:f.align||n,padding:r(f.padding,
8),r:r(f.borderRadius,3),zIndex:2}).add(this.labelGroup));g?(n=u?c.plotX+e:b.chartX,k+=d?0:this.height):(n=d?this.width+e:0,k=u?c.plotY+k:b.chartY);p||f.formatter||(this.isDatetimeAxis&&(q="%b %d, %Y"),p="{value"+(q?":"+q:"")+"}");b=u?c[this.isXAxis?"x":"y"]:this.toValue(g?b.chartX:b.chartY);h.attr({text:p?m(p,{value:b}):f.formatter.call(this,b),x:n,y:k,visibility:"visible"});b=h.getBBox();>if(g){if(t&&!d||!t&&d)k=h.y-b.height}else k=h.y-b.height/2;g?(d=e-b.x,e=e+this.width-b.x):(d="left"===this.labelAlign?
e:0,e="right"===this.labelAlign?e+this.width:a.chartWidth);h.translateX=e&&(w=-(h.translateX+b.width-e));h.attr({x:n+w,y:k,anchorX:g?n:this.opposite?0:a.chartWidth,anchorY:g?this.opposite?a.chartHeight:0:k+b.height/2})}});D.init=function(){p.apply(this,arguments);this.setCompare(this.options.compare)};D.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?
b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};D.processData=function(){var a,b=-1,c,e,f,g;I.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,e=this.processedYData,f=e.length,this.pointArrayMap&&(b=t("close",this.pointArrayMap),-1===b&&(b=t(this.pointValKey||"y",this.pointArrayMap))),a=0;a=this.xAxis.min&&0!==g){this.compareValue=
g;break}};q(D,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=z(b),this.dataMax=B(b))});A.prototype.setCompare=function(a,b){this.isXAxis||(g(this.series,function(b){b.setCompare(a)}),r(b,!0)&&this.chart.redraw())};u.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(02)));return H.apply(this,[b])};q(b.prototype,"render",function(a){this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(!this.clipBox&&this.animate?(this.clipBox=c(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:this.yAxis.len}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len));a.call(this)})})(I);
return I});

Generated by GNU Enscript 1.6.5.90.