/*
 Highcharts JS v7.1.2 (2019-06-03)

 (c) 2009-2018 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(Q,I){"object"===typeof module&&module.exports?(I["default"]=I,module.exports=Q.document?I(Q):I):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return I(Q)}):(Q.Highcharts&&Q.Highcharts.error(16,!0),Q.Highcharts=I(Q))})("undefined"!==typeof window?window:this,function(Q){function I(a,C,A,E){a.hasOwnProperty(C)||(a[C]=E.apply(null,A))}var H={};I(H,"parts/Globals.js",[],function(){var a="undefined"===typeof Q?"undefined"!==typeof window?window:{}:Q,C=a.document,
    A=a.navigator&&a.navigator.userAgent||"",E=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,m=/(edge|msie|trident)/i.test(A)&&!a.opera,g=-1!==A.indexOf("Firefox"),v=-1!==A.indexOf("Chrome"),x=g&&4>parseInt(A.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.2",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:x,hasTouch:C&&"undefined"!==typeof C.documentElement.ontouchstart,isMS:m,isWebKit:-1!==A.indexOf("AppleWebKit"),isFirefox:g,isChrome:v,isSafari:!v&&
        -1!==A.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});I(H,"parts/Utilities.js",[H["parts/Globals.js"]],function(a){a.timers=[];var C=a.charts,A=a.doc,E=a.win;a.error=function(m,g,v){var x=a.isNumber(m)?"Highcharts error #"+m+": www.highcharts.com/errors/"+m:m,y=function(){if(g)throw Error(x);
    E.console&&console.log(x)};v?a.fireEvent(v,"displayError",{code:m,message:x},y):y()};a.Fx=function(a,g,v){this.options=g;this.elem=a;this.prop=v};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],v=[],x=this.now,y=a.length,z;if(1===x)v=this.toD;else if(y===g.length&&1>x)for(;y--;)z=parseFloat(a[y]),v[y]=isNaN(z)?g[y]:x*parseFloat(g[y]-z)+z;else v=g;this.elem.attr("d",v,null,!0)},update:function(){var a=this.elem,g=this.prop,v=this.now,x=this.options.step;if(this[g+"Setter"])this[g+
    "Setter"]();else a.attr?a.element&&a.attr(g,v,null,!0):a.style[g]=v+this.unit;x&&x.call(a,v,this)},run:function(m,g,v){var x=this,y=x.options,z=function(a){return z.stopped?!1:x.step(a)},n=E.requestAnimationFrame||function(a){setTimeout(a,13)},f=function(){for(var h=0;h<a.timers.length;h++)a.timers[h]()||a.timers.splice(h--,1);a.timers.length&&n(f)};m!==g||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=m,this.end=g,this.unit=v,this.now=this.start,this.pos=0,z.elem=this.elem,
        z.prop=this.prop,z()&&1===a.timers.push(z)&&n(f)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},step:function(m){var g=+new Date,v,x=this.options,y=this.elem,z=x.complete,n=x.duration,f=x.curAnim;y.attr&&!y.element?m=!1:m||g>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),v=f[this.prop]=!0,a.objectEach(f,function(a){!0!==a&&(v=!1)}),v&&z&&z.call(y),m=!1):(this.pos=x.easing((g-this.startTime)/n),this.now=this.start+(this.end-
        this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,g,v){function x(a){var b,d;for(c=a.length;c--;)b="M"===a[c]||"L"===a[c],d=/[a-zA-Z]/.test(a[c+3]),b&&d&&a.splice(c+1,0,a[c+1],a[c+2],a[c+1],a[c+2])}function y(a,l){for(;a.length<b;){a[0]=l[b-a.length];var d=a.slice(0,e);[].splice.apply(a,[0,0].concat(d));t&&(d=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(d)),c--)}a[0]="M"}function z(a,c){for(var d=(b-a.length)/e;0<d&&d--;)l=a.slice().splice(a.length/F-e,e*F),l[0]=
        c[b-e-d*e],r&&(l[e-6]=l[e-2],l[e-5]=l[e-1]),[].splice.apply(a,[a.length/F,0].concat(l)),t&&d--}g=g||"";var n,f=m.startX,h=m.endX,r=-1<g.indexOf("C"),e=r?7:3,b,l,c;g=g.split(" ");v=v.slice();var t=m.isArea,F=t?2:1,w;r&&(x(g),x(v));if(f&&h){for(c=0;c<f.length;c++)if(f[c]===h[0]){n=c;break}else if(f[0]===h[h.length-f.length+c]){n=c;w=!0;break}else if(f[f.length-1]===h[h.length-f.length+c]){n=f.length-c;break}"undefined"===typeof n&&(g=[])}g.length&&a.isNumber(n)&&(b=v.length+n*F*e,w?(y(g,v),z(v,g)):
        (y(v,g),z(g,v)));return[g,v]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var m,g=arguments,v,x={},y=function(g,n){"object"!==typeof g&&(g={});a.objectEach(n,function(f,h){!a.isObject(f,!0)||a.isClass(f)||a.isDOMElement(f)?g[h]=n[h]:g[h]=y(g[h]||{},f)});return g};!0===g[0]&&(x=g[1],g=Array.prototype.slice.call(g,2));v=g.length;for(m=0;m<
v;m++)x=y(x,g[m]);return x};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(m,g){return!!m&&"object"===typeof m&&(!g||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&&"number"===typeof m.nodeType};a.isClass=function(m){var g=m&&m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!g||!g.name||
    "Object"===g.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,g){for(var m=a.length;m--;)if(a[m]===g){a.splice(m,1);break}};a.defined=function(a){return"undefined"!==typeof a&&null!==a};a.attr=function(m,g,v){var x;a.isString(g)?a.defined(v)?m.setAttribute(g,v):m&&m.getAttribute&&((x=m.getAttribute(g))||"class"!==g||(x=m.getAttribute(g+"Name"))):a.defined(g)&&a.isObject(g)&&a.objectEach(g,function(a,g){m.setAttribute(g,a)});return x};
    a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,g,v){if(g)return setTimeout(a,g,v);a.call(0,v)};a.clearTimeout=function(m){a.defined(m)&&clearTimeout(m)};a.extend=function(a,g){var m;a||(a={});for(m in g)a[m]=g[m];return a};a.pick=function(){var a=arguments,g,v,x=a.length;for(g=0;g<x;g++)if(v=a[g],"undefined"!==typeof v&&null!==v)return v};a.css=function(m,g){a.isMS&&!a.svg&&g&&"undefined"!==typeof g.opacity&&(g.filter="alpha(opacity\x3d"+100*g.opacity+")");a.extend(m.style,
        g)};a.createElement=function(m,g,v,x,y){m=A.createElement(m);var z=a.css;g&&a.extend(m,g);y&&z(m,{padding:"0",border:"none",margin:"0"});v&&z(m,v);x&&x.appendChild(m);return m};a.extendClass=function(m,g){var v=function(){};v.prototype=new m;a.extend(v.prototype,g);return v};a.pad=function(a,g,v){return Array((g||2)+1-String(a).replace("-","").length).join(v||"0")+a};a.relativeLength=function(a,g,v){return/%$/.test(a)?g*parseFloat(a)/100+(v||0):parseFloat(a)};a.wrap=function(a,g,v){var m=a[g];a[g]=
        function(){var a=Array.prototype.slice.call(arguments),g=arguments,n=this;n.proceed=function(){m.apply(n,arguments.length?arguments:g)};a.unshift(m);a=v.apply(this,a);n.proceed=null;return a}};a.datePropsToTimestamps=function(m){a.objectEach(m,function(g,v){a.isObject(g)&&"function"===typeof g.getTime?m[v]=g.getTime():(a.isObject(g)||a.isArray(g))&&a.datePropsToTimestamps(g)})};a.formatSingle=function(m,g,v){var x=/\.([0-9])/,y=a.defaultOptions.lang;/f$/.test(m)?(v=(v=m.match(x))?v[1]:-1,null!==g&&
    (g=a.numberFormat(g,v,y.decimalPoint,-1<m.indexOf(",")?y.thousandsSep:""))):g=(v||a.time).dateFormat(m,g);return g};a.format=function(m,g,v){for(var x="{",y=!1,z,n,f,h,r=[],e;m;){x=m.indexOf(x);if(-1===x)break;z=m.slice(0,x);if(y){z=z.split(":");n=z.shift().split(".");h=n.length;e=g;for(f=0;f<h;f++)e&&(e=e[n[f]]);z.length&&(e=a.formatSingle(z.join(":"),e,v));r.push(e)}else r.push(z);m=m.slice(x+1);x=(y=!y)?"}":"{"}r.push(m);return r.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/
        Math.LN10))};a.normalizeTickInterval=function(m,g,v,x,y){var z,n=m;v=a.pick(v,1);z=m/v;g||(g=y?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===x&&(1===v?g=g.filter(function(a){return 0===a%1}):.1>=v&&(g=[1/v])));for(x=0;x<g.length&&!(n=g[x],y&&n*v>=m||!y&&z<=(g[x]+(g[x+1]||g[x]))/2);x++);return n=a.correctFloat(n*v,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var m=a.length,x,y;for(y=0;y<m;y++)a[y].safeI=y;a.sort(function(a,n){x=g(a,n);return 0===x?a.safeI-n.safeI:x});for(y=
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  0;y<m;y++)delete a[y].safeI};a.arrayMin=function(a){for(var g=a.length,m=a[0];g--;)a[g]<m&&(m=a[g]);return m};a.arrayMax=function(a){for(var g=a.length,m=a[0];g--;)a[g]>m&&(m=a[g]);return m};a.destroyObjectProperties=function(m,g){a.objectEach(m,function(a,x){a&&a!==g&&a.destroy&&a.destroy();delete m[x]})};a.discardElement=function(m){var g=a.garbageBin;g||(g=a.createElement("div"));m&&g.appendChild(m);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=
        function(m,g){g.renderer.globalAnimation=a.pick(m,g.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,g,v,x){m=+m||0;g=+g;var y=a.defaultOptions.lang,z=(m.toString().split(".")[1]||"").split("e")[0].length,n,f,h=m.toString().split("e");-1===g?g=Math.min(z,20):a.isNumber(g)?g&&h[1]&&0>h[1]&&(n=g+ +h[1],0<=n?(h[0]=
        (+h[0]).toExponential(n).split("e")[0],g=n):(h[0]=h[0].split(".")[0]||0,m=20>g?(h[0]*Math.pow(10,h[1])).toFixed(g):0,h[1]=0)):g=2;f=(Math.abs(h[1]?h[0]:m)+Math.pow(10,-Math.max(g,z)-1)).toFixed(g);z=String(a.pInt(f));n=3<z.length?z.length%3:0;v=a.pick(v,y.decimalPoint);x=a.pick(x,y.thousandsSep);m=(0>m?"-":"")+(n?z.substr(0,n)+x:"");m+=z.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+x);g&&(m+=v+f.slice(-g));h[1]&&0!==+m&&(m+="e"+h[1]);return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*
        a)-1)};a.getStyle=function(m,g,v){if("width"===g)return Math.max(0,Math.min(m.offsetWidth,m.scrollWidth,m.getBoundingClientRect&&"none"===a.getStyle(m,"transform",!1)?Math.floor(m.getBoundingClientRect().width):Infinity)-a.getStyle(m,"padding-left")-a.getStyle(m,"padding-right"));if("height"===g)return Math.max(0,Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,"padding-top")-a.getStyle(m,"padding-bottom"));E.getComputedStyle||a.error(27,!0);if(m=E.getComputedStyle(m,void 0))m=m.getPropertyValue(g),
    a.pick(v,"opacity"!==g)&&(m=a.pInt(m));return m};a.inArray=function(a,g,v){return g.indexOf(a,v)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var m,x=a.length;for(m=0;m<x;m++)if(g(a[m],m))return a[m]};a.keys=Object.keys;a.offset=function(a){var g=A.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(E.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(E.pageXOffset||g.scrollLeft)-(g.clientLeft||0)}};a.stop=function(m,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 g){for(var v=a.timers.length;v--;)a.timers[v].elem!==m||g&&g!==a.timers[v].prop||(a.timers[v].stopped=!0)};a.objectEach=function(a,g,v){for(var m in a)a.hasOwnProperty(m)&&g.call(v||a[m],a[m],m,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(m,g){a[g]=function(a){return Array.prototype[m].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(m,g,v,x){void 0===x&&(x={});var y,z=m.addEventListener||a.addEventListenerPolyfill;y="function"===typeof m&&
    m.prototype?m.prototype.protoEvents=m.prototype.protoEvents||{}:m.hcEvents=m.hcEvents||{};a.Point&&m instanceof a.Point&&m.series&&m.series.chart&&(m.series.chart.runTrackerClick=!0);z&&z.call(m,g,v,!1);y[g]||(y[g]=[]);y[g].push({fn:v,order:"number"===typeof x.order?x.order:Infinity});y[g].sort(function(a,f){return a.order-f.order});return function(){a.removeEvent(m,g,v)}};a.removeEvent=function(m,g,v){function x(n,f){var h=m.removeEventListener||a.removeEventListenerPolyfill;h&&h.call(m,n,f,!1)}
        function y(n){var f,h;m.nodeName&&(g?(f={},f[g]=!0):f=n,a.objectEach(f,function(a,e){if(n[e])for(h=n[e].length;h--;)x(e,n[e][h].fn)}))}var z;["protoEvents","hcEvents"].forEach(function(a){var f=m[a];f&&(g?(z=f[g]||[],v?(f[g]=z.filter(function(a){return v!==a.fn}),x(g,v)):(y(f),f[g]=[])):(y(f),m[a]={}))})};a.fireEvent=function(m,g,v,x){var y,z;v=v||{};A.createEvent&&(m.dispatchEvent||m.fireEvent)?(y=A.createEvent("Events"),y.initEvent(g,!0,!0),a.extend(y,v),m.dispatchEvent?m.dispatchEvent(y):m.fireEvent(g,
        y)):(v.target||a.extend(v,{preventDefault:function(){v.defaultPrevented=!0},target:m,type:g}),function(a,f){void 0===a&&(a=[]);void 0===f&&(f=[]);var h=0,r=0,e=a.length+f.length;for(z=0;z<e;z++)!1===(a[h]?f[r]?a[h].order<=f[r].order?a[h++]:f[r++]:a[h++]:f[r++]).fn.call(m,v)&&v.preventDefault()}(m.protoEvents&&m.protoEvents[g],m.hcEvents&&m.hcEvents[g]));x&&!v.defaultPrevented&&x.call(m,v)};a.animate=function(m,g,v){var x,y="",z,n,f;a.isObject(v)||(f=arguments,v={duration:f[2],easing:f[3],complete:f[4]});
        a.isNumber(v.duration)||(v.duration=400);v.easing="function"===typeof v.easing?v.easing:Math[v.easing]||Math.easeInOutSine;v.curAnim=a.merge(g);a.objectEach(g,function(h,f){a.stop(m,f);n=new a.Fx(m,v,f);z=null;"d"===f?(n.paths=n.initPath(m,m.d,g.d),n.toD=g.d,x=0,z=1):m.attr?x=m.attr(f):(x=parseFloat(a.getStyle(m,f))||0,"opacity"!==f&&(y="px"));z||(z=h);z&&z.match&&z.match("px")&&(z=z.replace(/px/g,""));n.run(x,z,y)})};a.seriesType=function(m,g,v,x,y){var z=a.getOptions(),n=a.seriesTypes;z.plotOptions[m]=
        a.merge(z.plotOptions[g],v);n[m]=a.extendClass(n[g]||function(){},x);n[m].prototype.type=m;y&&(n[m].prototype.pointClass=a.extendClass(a.Point,y));return n[m]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();a.isFunction=function(a){return"function"===typeof a};E.jQuery&&(E.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]?(new (a[a.isString(m[0])?m.shift():"Chart"])(this[0],m[0],m[1]),
        this):C[a.attr(this[0],"data-highcharts-chart")]})});I(H,"parts/Color.js",[H["parts/Globals.js"]],function(a){var C=a.isNumber,A=a.merge,E=a.pInt;a.Color=function(m){if(!(this instanceof a.Color))return new a.Color(m);this.init(m)};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[E(a[1]),E(a[2]),E(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[E(a[1]),E(a[2]),E(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(m){var g,v,x,y;if((this.input=m=this.names[m&&m.toLowerCase?m.toLowerCase():""]||m)&&m.stops)this.stops=m.stops.map(function(g){return new a.Color(g[1])});else if(m&&m.charAt&&"#"===m.charAt()&&(g=m.length,m=parseInt(m.substr(1),16),7===g?v=[(m&16711680)>>16,(m&65280)>>8,m&255,1]:4===g&&(v=[(m&3840)>>4|(m&3840)>>8,(m&240)>>4|m&240,(m&15)<<4|m&15,1])),!v)for(x=this.parsers.length;x--&&!v;)y=
        this.parsers[x],(g=y.regex.exec(m))&&(v=y.parse(g));this.rgba=v||[]},get:function(a){var g=this.input,m=this.rgba,x;this.stops?(x=A(g),x.stops=[].concat(x.stops),this.stops.forEach(function(g,m){x.stops[m]=[x.stops[m][0],g.get(a)]})):x=m&&C(m[0])?"rgb"===a||!a&&1===m[3]?"rgb("+m[0]+","+m[1]+","+m[2]+")":"a"===a?m[3]:"rgba("+m.join(",")+")":g;return x},brighten:function(a){var g,m=this.rgba;if(this.stops)this.stops.forEach(function(g){g.brighten(a)});else if(C(a)&&0!==a)for(g=0;3>g;g++)m[g]+=E(255*
        a),0>m[g]&&(m[g]=0),255<m[g]&&(m[g]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var m=this.rgba,x=a.rgba;x.length&&m&&m.length?(a=1!==x[3]||1!==m[3],g=(a?"rgba(":"rgb(")+Math.round(x[0]+(m[0]-x[0])*(1-g))+","+Math.round(x[1]+(m[1]-x[1])*(1-g))+","+Math.round(x[2]+(m[2]-x[2])*(1-g))+(a?","+(x[3]+(m[3]-x[3])*(1-g)):"")+")"):g=a.input||"none";return g}};a.color=function(m){return new a.Color(m)}});I(H,"parts/SvgRenderer.js",[H["parts/Globals.js"]],function(a){var C,
    A,E=a.addEvent,m=a.animate,g=a.attr,v=a.charts,x=a.color,y=a.css,z=a.createElement,n=a.defined,f=a.deg2rad,h=a.destroyObjectProperties,r=a.doc,e=a.extend,b=a.erase,l=a.hasTouch,c=a.isArray,t=a.isFirefox,F=a.isMS,w=a.isObject,B=a.isString,p=a.isWebKit,d=a.merge,k=a.noop,u=a.objectEach,D=a.pick,G=a.pInt,q=a.removeEvent,K=a.splat,N=a.stop,O=a.svg,L=a.SVG_NS,R=a.symbolSizes,M=a.win;C=a.SVGElement=function(){return this};e(C.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
    init:function(d,q){this.element="span"===q?z(q):r.createElementNS(this.SVG_NS,q);this.renderer=d;a.fireEvent(this,"afterInit")},animate:function(d,q,b){var J=a.animObject(D(q,this.renderer.globalAnimation,!0));D(r.hidden,r.msHidden,r.webkitHidden,!1)&&(J.duration=0);0!==J.duration?(b&&(J.complete=b),m(this,d,J)):(this.attr(d,void 0,b),a.objectEach(d,function(a,d){J.step&&J.step.call(this,a,{prop:d,pos:1})},this));return this},complexColor:function(q,b,k){var J=this.renderer,e,l,t,p,K,h,f,D,r,w,G,
        L=[],O;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){q.radialGradient?l="radialGradient":q.linearGradient&&(l="linearGradient");l&&(t=q[l],K=J.gradients,f=q.stops,w=k.radialReference,c(t)&&(q[l]=t={x1:t[0],y1:t[1],x2:t[2],y2:t[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===l&&w&&!n(t.gradientUnits)&&(p=t,t=d(t,J.getRadialAttr(w,p),{gradientUnits:"userSpaceOnUse"})),u(t,function(a,d){"id"!==d&&L.push(d,a)}),u(f,function(a){L.push(a)}),L=L.join(","),K[L]?G=K[L].attr("id"):
        (t.id=G=a.uniqueKey(),K[L]=h=J.createElement(l).attr(t).add(J.defs),h.radAttr=p,h.stops=[],f.forEach(function(d){0===d[1].indexOf("rgba")?(e=a.color(d[1]),D=e.get("rgb"),r=e.get("a")):(D=d[1],r=1);d=J.createElement("stop").attr({offset:d[0],"stop-color":D,"stop-opacity":r}).add(h);h.stops.push(d)})),O="url("+J.url+"#"+G+")",k.setAttribute(b,O),k.gradient=L,q.toString=function(){return O})})},applyTextOutline:function(d){var q=this.element,b,J,k;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,
        this.renderer.getContrast(q.style.fill)));d=d.split(" ");b=d[d.length-1];(J=d[0])&&"none"!==J&&a.svg&&(this.fakeTS=!0,d=[].slice.call(q.getElementsByTagName("tspan")),this.ySetter=this.xSetter,J=J.replace(/(^[\d\.]+)(.*?)$/g,function(a,d,q){return 2*d+q}),this.removeTextOutline(d),k=q.firstChild,d.forEach(function(a,d){0===d&&(a.setAttribute("x",q.getAttribute("x")),d=q.getAttribute("y"),a.setAttribute("y",d||0),null===d&&q.setAttribute("y",0));a=a.cloneNode(1);g(a,{"class":"highcharts-text-outline",
        fill:b,stroke:b,"stroke-width":J,"stroke-linejoin":"round"});q.insertBefore(a,k)}))},removeTextOutline:function(a){for(var d=a.length,q;d--;)q=a[d],"highcharts-text-outline"===q.getAttribute("class")&&b(a,this.element.removeChild(q))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(d,q,b,k){var J,e=this.element,c,l=this,t,p,K=this.symbolCustomAttribs;"string"===typeof d&&void 0!==q&&(J=d,d={},d[J]=q);"string"===typeof d?l=(this[d+"Getter"]||
        this._defaultGetter).call(this,d,e):(u(d,function(q,b){t=!1;k||N(this,b);this.symbolName&&-1!==a.inArray(b,K)&&(c||(this.symbolAttr(d),c=!0),t=!0);!this.rotation||"x"!==b&&"y"!==b||(this.doTransform=!0);t||(p=this[b+"Setter"]||this._defaultSetter,p.call(this,q,b,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b)&&this.updateShadows(b,q,p))},this),this.afterSetters());b&&b.call(this);return l},afterSetters:function(){this.doTransform&&(this.updateTransform(),
        this.doTransform=!1)},updateShadows:function(a,d,q){for(var b=this.shadows,J=b.length;J--;)q.call(b[J],"height"===a?Math.max(d-(b[J].cutHeight||0),0):"d"===a?this.d:d,a,b[J])},addClass:function(a,d){var q=this.attr("class")||"";d||(a=(a||"").split(/ /g).reduce(function(a,d){-1===q.indexOf(d)&&a.push(d);return a},q?[q]:[]).join(" "));a!==q&&this.attr("class",a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",
        (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var d=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(q){d[q]=D(a[q],d[q])});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 q;d=d||a.strokeWidth||0;q=Math.round(d)%2/2;a.x=Math.floor(a.x||this.x||0)+q;a.y=Math.floor(a.y||this.y||0)+q;a.width=
        Math.floor((a.width||this.width||0)-2*q);a.height=Math.floor((a.height||this.height||0)-2*q);n(a.strokeWidth)&&(a.strokeWidth=d);return a},css:function(a){var d=this.styles,q={},b=this.element,k,J="",c,l=!d,t=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);d&&u(a,function(a,b){a!==d[b]&&(q[b]=a,l=!0)});l&&(d&&(a=e(d,q)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===b.nodeName.toLowerCase()&&a.width&&(k=this.textWidth=G(a.width))),this.styles=a,k&&!O&&this.renderer.forExport&&
    delete a.width,b.namespaceURI===this.SVG_NS?(c=function(a,d){return"-"+d.toLowerCase()},u(a,function(a,d){-1===t.indexOf(d)&&(J+=d.replace(/([A-Z])/g,c)+":"+a+";")}),J&&g(b,"style",J)):y(b,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return M.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||
        0;var a=this.getStyle("stroke-width"),d;a.indexOf("px")===a.length-2?a=G(a):(d=r.createElementNS(L,"rect"),g(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 q=this,b=q.element;l&&"click"===a?(b.ontouchstart=function(a){q.touchEventFired=Date.now();a.preventDefault();d.call(b,a)},b.onclick=function(a){(-1===M.navigator.userAgent.indexOf("Android")||1100<Date.now()-(q.touchEventFired||0))&&d.call(b,
        a)}):b["on"+a]=d;return this},setRadialReference:function(a){var d=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;d&&d.radAttr&&d.animate(this.renderer.getRadialAttr(a,d.radAttr));return this},translate:function(a,d){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,q=this.scaleX,b=this.scaleY,k=this.inverted,e=this.rotation,c=
        this.matrix,l=this.element;k&&(a+=this.width,d+=this.height);a=["translate("+a+","+d+")"];n(c)&&a.push("matrix("+c.join(",")+")");k?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+D(this.rotationOriginX,l.getAttribute("x"),0)+" "+D(this.rotationOriginY,l.getAttribute("y")||0)+")");(n(q)||n(b))&&a.push("scale("+D(q,1)+" "+D(b,1)+")");a.length&&l.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,d,q){var k,
        e,l,c,t={};e=this.renderer;l=e.alignedObjects;var u,J;if(a){if(this.alignOptions=a,this.alignByTranslate=d,!q||B(q))this.alignTo=k=q||"renderer",b(l,this),l.push(this),q=null}else a=this.alignOptions,d=this.alignByTranslate,k=this.alignTo;q=D(q,e[k],e);k=a.align;e=a.verticalAlign;l=(q.x||0)+(a.x||0);c=(q.y||0)+(a.y||0);"right"===k?u=1:"center"===k&&(u=2);u&&(l+=(q.width-(a.width||0))/u);t[d?"translateX":"x"]=Math.round(l);"bottom"===e?J=1:"middle"===e&&(J=2);J&&(c+=(q.height-(a.height||0))/J);t[d?
        "translateY":"y"]=Math.round(c);this[this.placed?"animate":"attr"](t);this.placed=!0;this.alignAttr=t;return this},getBBox:function(a,d){var q,b=this.renderer,k,l=this.element,c=this.styles,t,u=this.textStr,J,p=b.cache,K=b.cacheKeys,h=l.namespaceURI===this.SVG_NS,r;d=D(d,this.rotation);k=d*f;t=b.styledMode?l&&C.prototype.getStyle.call(l,"font-size"):c&&c.fontSize;n(u)&&(r=u.toString(),-1===r.indexOf("\x3c")&&(r=r.replace(/[0-9]/g,"0")),r+=["",d||0,t,this.textWidth,c&&c.textOverflow].join());r&&!a&&
    (q=p[r]);if(!q){if(h||b.forExport){try{(J=this.fakeTS&&function(a){[].forEach.call(l.querySelectorAll(".highcharts-text-outline"),function(d){d.style.display=a})})&&J("none"),q=l.getBBox?e({},l.getBBox()):{width:l.offsetWidth,height:l.offsetHeight},J&&J("")}catch(Z){""}if(!q||0>q.width)q={width:0,height:0}}else q=this.htmlGetBBox();b.isSVG&&(a=q.width,b=q.height,h&&(q.height=b={"11px,17":14,"13px,20":16}[c&&c.fontSize+","+Math.round(b)]||b),d&&(q.width=Math.abs(b*Math.sin(k))+Math.abs(a*Math.cos(k)),
        q.height=Math.abs(b*Math.cos(k))+Math.abs(a*Math.sin(k))));if(r&&0<q.height){for(;250<K.length;)delete p[K.shift()];p[r]||K.push(r);p[r]=q}}return q},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var d=this;d.animate({opacity:0},{duration:a||150,complete:function(){d.attr({y:-9999})}})},add:function(a){var d=this.renderer,q=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(q);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||{},q=a.renderer,k=q.isSVG&&"SPAN"===d.nodeName&&a.parentGroup,e=d.ownerSVGElement,l=a.clipPath;d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null;N(a);l&&e&&([].forEach.call(e.querySelectorAll("[clip-path],[CLIP-PATH]"),
        function(a){-1<a.getAttribute("clip-path").indexOf(l.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=l.destroy());if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(d);for(q.styledMode||a.destroyShadows();k&&k.div&&0===k.div.childNodes.length;)d=k.parentGroup,a.safeRemoveChild(k.div),delete k.div,k=d;a.alignTo&&b(q.alignedObjects,a);u(a,function(d,q){delete a[q]})},shadow:function(a,d,q){var b=[],k,e,l=this.element,c,t,u,p;if(!a)this.destroyShadows();
    else if(!this.shadows){t=D(a.width,3);u=(a.opacity||.15)/t;p=this.parentInverted?"(-1,-1)":"("+D(a.offsetX,1)+", "+D(a.offsetY,1)+")";for(k=1;k<=t;k++)e=l.cloneNode(0),c=2*t+1-2*k,g(e,{stroke:a.color||"#000000","stroke-opacity":u*k,"stroke-width":c,transform:"translate"+p,fill:"none"}),e.setAttribute("class",(e.getAttribute("class")||"")+" highcharts-shadow"),q&&(g(e,"height",Math.max(g(e,"height")-c,0)),e.cutHeight=c),d?d.element.appendChild(e):l.parentNode&&l.parentNode.insertBefore(e,l),b.push(e);
        this.shadows=b}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=D(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,d,q){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a=
        "M 0 0");this[d]!==a&&(q.setAttribute(d,a),this[d]=a)},dashstyleSetter:function(a){var d,q=this["stroke-width"];"inherit"===q&&(q=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(d=a.length;d--;)a[d]=G(a[d])*q;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",
        a)}},alignSetter:function(a){var d={left:"start",center:"middle",right:"end"};d[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",d[a]))},opacitySetter:function(a,d,q){this[d]=a;q.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(D(a,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,
        "\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(q,b){var e=this.element,l={textAnchor:"text-anchor"},c,t=!1,u,p=this.textPathWrapper,K=!p;b=d(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},b);c=b.attributes;if(q&&b&&b.enabled){this.options&&this.options.padding&&(c.dx=-this.options.padding);p||(this.textPathWrapper=p=this.renderer.createElement("textPath"),
        t=!0);u=p.element;(b=q.element.getAttribute("id"))||q.element.setAttribute("id",b=a.uniqueKey());if(K)for(q=e.getElementsByTagName("tspan");q.length;)q[0].setAttribute("y",0),u.appendChild(q[0]);t&&p.add({element:this.text?this.text.element:e});u.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+b);n(c.dy)&&(u.parentNode.setAttribute("dy",c.dy),delete c.dy);n(c.dx)&&(u.parentNode.setAttribute("dx",c.dx),delete c.dx);a.objectEach(c,function(a,d){u.setAttribute(l[d]||d,a)});
        e.removeAttribute("transform");this.removeTextOutline.call(p,[].slice.call(e.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=k}else p&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(e,q));return this},destroyTextPath:function(a,d){var q;d.element.setAttribute("id","");for(q=this.textPathWrapper.element.childNodes;q.length;)a.firstChild.appendChild(q[0]);a.firstChild.removeChild(this.textPathWrapper.element);
        delete d.textPathWrapper},fillSetter:function(a,d,q){"string"===typeof a?q.setAttribute(d,a):a&&this.complexColor(a,d,q)},visibilitySetter:function(a,d,q){"inherit"===a?q.removeAttribute(d):this[d]!==a&&q.setAttribute(d,a);this[d]=a},zIndexSetter:function(a,d){var q=this.renderer,b=this.parentGroup,k=(b||q).element||q.box,e,l=this.element,c=!1,t,q=k===q.box;e=this.added;var u;n(a)?(l.setAttribute("data-z-index",a),a=+a,this[d]===a&&(e=!1)):n(this[d])&&l.removeAttribute("data-z-index");this[d]=a;if(e){(a=
        this.zIndex)&&b&&(b.handleZ=!0);d=k.childNodes;for(u=d.length-1;0<=u&&!c;u--)if(b=d[u],e=b.getAttribute("data-z-index"),t=!n(e),b!==l)if(0>a&&t&&!q&&!u)k.insertBefore(l,d[u]),c=!0;else if(G(e)<=a||t&&(!n(a)||0<=a))k.insertBefore(l,d[u+1]||null),c=!0;c||(k.insertBefore(l,d[q?3:0]||null),c=!0)}return c},_defaultSetter:function(a,d,q){q.setAttribute(d,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=
    C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,d){this[d]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,d,q){this[d]=a;this.stroke&&this["stroke-width"]?(C.prototype.fillSetter.call(this,this.stroke,"stroke",q),q.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===d&&0===a&&this.hasStroke&&(q.removeAttribute("stroke"),
    this.hasStroke=!1)};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(A.prototype,{Element:C,SVG_NS:L,init:function(a,d,q,b,k,e,l){var c;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});l||c.css(this.getStyle(b));b=c.element;a.appendChild(b);g(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&g(b,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=b;this.boxWrapper=c;this.alignedObjects=[];this.url=(t||p)&&r.getElementsByTagName("base").length?M.location.href.split("#")[0].replace(/<[^>]*>/g,
        "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(r.createTextNode("Created with Highcharts 7.1.2"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=k;this.styledMode=l;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,q,!1);var u;t&&a.getBoundingClientRect&&(d=function(){y(a,{left:0,top:0});u=a.getBoundingClientRect();y(a,{left:Math.ceil(u.left)-u.left+"px",top:Math.ceil(u.top)-u.top+
            "px"})},d(),this.unSubPixelFix=E(M,"resize",d))},definition:function(a){function d(a,b){var k;K(a).forEach(function(a){var e=q.createElement(a.tagName),c={};u(a,function(a,d){"tagName"!==d&&"children"!==d&&"textContent"!==d&&(c[d]=a)});e.attr(c);e.add(b||q.defs);a.textContent&&e.element.appendChild(r.createTextNode(a.textContent));d(a.children||[],e);k=e});return k}var q=this;return d(a)},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
        fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();h(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:k,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]}},truncate:function(a,d,q,b,k,e,c){var l=this,u=a.rotation,t,p=b?1:0,K=(q||b).length,h=K,f=[],D=function(a){d.firstChild&&d.removeChild(d.firstChild);a&&d.appendChild(r.createTextNode(a))},w=function(e,u){u=u||e;if(void 0===f[u])if(d.getSubStringLength)try{f[u]=k+d.getSubStringLength(0,b?u+1:u)}catch(ea){""}else l.getSpanWidth&&(D(c(q||b,e)),f[u]=k+l.getSpanWidth(a,d));return f[u]},n,L;a.rotation=0;n=w(d.textContent.length);if(L=k+n>e){for(;p<=K;)h=
        Math.ceil((p+K)/2),b&&(t=c(b,h)),n=w(h,t&&t.length-1),p===K?p=K+1:n>e?K=h-1:p=h;0===K?D(""):q&&K===q.length-1||D(t||c(q||b,h))}b&&b.splice(0,h);a.actualWidth=n;a.rotation=u;return L},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var d=a.element,q=this,b=q.forExport,k=D(a.textStr,"").toString(),e=-1!==k.indexOf("\x3c"),c=d.childNodes,l,t=g(d,"x"),p=a.styles,K=a.textWidth,h=p&&p.lineHeight,f=p&&p.textOutline,w=p&&"ellipsis"===p.textOverflow,
        n=p&&"nowrap"===p.whiteSpace,J=p&&p.fontSize,F,N,R=c.length,p=K&&!a.added&&this.box,B=function(a){var b;q.styledMode||(b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:J||q.style.fontSize||12);return h?G(h):q.fontMetrics(b,a.getAttribute("style")?a:d).h},m=function(a,d){u(q.escapes,function(q,b){d&&-1!==d.indexOf(q)||(a=a.toString().replace(new RegExp(q,"g"),b))});return a},M=function(a,d){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(d+"\x3d");if(-1!==q&&(q=q+
            d.length+1,d=a.charAt(q),'"'===d||"'"===d))return a=a.substring(q+1),a.substring(0,a.indexOf(d))};F=[k,w,n,h,f,J,K].join();if(F!==a.textCache){for(a.textCache=F;R--;)d.removeChild(c[R]);e||f||w||K||-1!==k.indexOf(" ")?(p&&p.appendChild(d),e?(k=q.styledMode?k.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):k.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
        k=k.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):k=[k],k=k.filter(function(a){return""!==a}),k.forEach(function(k,e){var c,u=0,p=0;k=k.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");c=k.split("|||");c.forEach(function(k){if(""!==k||1===c.length){var h={},f=r.createElementNS(q.SVG_NS,"tspan"),D,G;(D=M(k,"class"))&&g(f,"class",D);if(D=M(k,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),g(f,"style",
        D);(G=M(k,"href"))&&!b&&(g(f,"onclick",'location.href\x3d"'+G+'"'),g(f,"class","highcharts-anchor"),q.styledMode||y(f,{cursor:"pointer"}));k=m(k.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==k){f.appendChild(r.createTextNode(k));u?h.dx=0:e&&null!==t&&(h.x=t);g(f,h);d.appendChild(f);!u&&N&&(!O&&b&&y(f,{display:"block"}),g(f,"dy",B(f)));if(K){var F=k.replace(/([^\^])-/g,"$1- ").split(" "),h=!n&&(1<c.length||e||1<F.length);G=0;var R=B(f);if(w)l=q.truncate(a,f,k,void 0,0,Math.max(0,K-parseInt(J||
        12,10)),function(a,d){return a.substring(0,d)+"\u2026"});else if(h)for(;F.length;)F.length&&!n&&0<G&&(f=r.createElementNS(L,"tspan"),g(f,{dy:R,x:t}),D&&g(f,"style",D),f.appendChild(r.createTextNode(F.join(" ").replace(/- /g,"-"))),d.appendChild(f)),q.truncate(a,f,null,F,0===G?p:0,K,function(a,d){return F.slice(0,d).join(" ").replace(/- /g,"-")}),p=a.actualWidth,G++}u++}}});N=N||d.childNodes.length}),w&&l&&a.attr("title",m(a.textStr,["\x26lt;","\x26gt;"])),p&&p.removeChild(d),f&&a.applyTextOutline&&
    a.applyTextOutline(f)):d.appendChild(r.createTextNode(m(k)))}},getContrast:function(a){a=x(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,q,b,k,c,l,u,t,p,K){var h=this.label(a,q,b,p,null,null,K,null,"button"),f=0,D=this.styledMode;h.attr(d({padding:8,r:2},c));if(!D){var r,w,n,G;c=d({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},c);r=c.style;delete c.style;l=d(c,{fill:"#e6e6e6"},l);
        w=l.style;delete l.style;u=d(c,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},u);n=u.style;delete u.style;t=d(c,{style:{color:"#cccccc"}},t);G=t.style;delete t.style}E(h.element,F?"mouseover":"mouseenter",function(){3!==f&&h.setState(1)});E(h.element,F?"mouseout":"mouseleave",function(){3!==f&&h.setState(f)});h.setState=function(a){1!==a&&(h.state=f=a);h.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
    0]);D||h.attr([c,l,u,t][a||0]).css([r,w,n,G][a||0])};D||h.attr(c).css(e({cursor:"default"},r));return h.on("click",function(a){3!==f&&k.call(h,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=this.styledMode?{}:{fill:"none"};c(a)?d.d=a:w(a)&&e(d,a);return this.createElement("path").attr(d)},circle:function(a,d,q){a=w(a)?a:void 0===a?{}:{x:a,y:d,r:q};d=this.createElement("circle");d.xSetter=
        d.ySetter=function(a,d,q){q.setAttribute("c"+d,a)};return d.attr(a)},arc:function(a,d,q,b,k,e){w(a)?(b=a,d=b.y,q=b.r,a=b.x):b={innerR:b,start:k,end:e};a=this.symbol("arc",a,d,q,q,b);a.r=q;return a},rect:function(a,d,q,b,k,e){k=w(a)?a.r:k;var c=this.createElement("rect");a=w(a)?a:void 0===a?{}:{x:a,y:d,width:Math.max(q,0),height:Math.max(b,0)};this.styledMode||(void 0!==e&&(a.strokeWidth=e,a=c.crisp(a)),a.fill="none");k&&(a.r=k);c.rSetter=function(a,d,q){c.r=a;g(q,{rx:a,ry:a})};c.rGetter=function(){return c.r};
        return c.attr(a)},setSize:function(a,d,q){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:D(q,!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,q,b,k,c){var l={preserveAspectRatio:"none"},u,t=function(a,d){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
        "href",d):a.setAttribute("hc-svg-href",d)},p=function(d){t(u.element,a);c.call(u,d)};1<arguments.length&&e(l,{x:d,y:q,width:b,height:k});u=this.createElement("image").attr(l);c?(t(u.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),l=new M.Image,E(l,"load",p),l.src=a,l.complete&&p({})):t(u.element,a);return u},symbol:function(a,d,q,b,k,c){var l=this,u,t=/^url\((.*?)\)$/,p=t.test(a),K=!p&&(this.symbols[a]?a:"circle"),h=K&&this.symbols[K],f=n(d)&&h&&h.call(this.symbols,
        Math.round(d),Math.round(q),b,k,c),w,G;h?(u=this.path(f),l.styledMode||u.attr("fill","none"),e(u,{symbolName:K,x:d,y:q,width:b,height:k}),c&&e(u,c)):p&&(w=a.match(t)[1],u=this.image(w),u.imgwidth=D(R[w]&&R[w].width,c&&c.width),u.imgheight=D(R[w]&&R[w].height,c&&c.height),G=function(){u.attr({width:u.width,height:u.height})},["width","height"].forEach(function(a){u[a+"Setter"]=function(a,d){var q={},b=this["img"+d],k="width"===d?"translateX":"translateY";this[d]=a;n(b)&&(c&&"within"===c.backgroundSize&&
    this.width&&this.height&&(b=Math.round(b*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(d,b),this.alignByTranslate||(q[k]=((this[d]||0)-b)/2,this.attr(q)))}}),n(d)&&u.attr({x:d,y:q}),u.isImg=!0,n(u.imgwidth)&&n(u.imgheight)?G():(u.attr({width:0,height:0}),z("img",{onload:function(){var a=v[l.chartIndex];0===this.width&&(y(this,{position:"absolute",top:"-999em"}),r.body.appendChild(this));R[w]={width:this.width,height:this.height};u.imgwidth=
            this.width;u.imgheight=this.height;u.element&&G();this.parentNode&&this.parentNode.removeChild(this);l.imgCount--;if(!l.imgCount&&a&&a.onload)a.onload()},src:w}),this.imgCount++));return u},symbols:{circle:function(a,d,q,b){return this.arc(a+q/2,d+b/2,q/2,b/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,d,q,b){return["M",a,d,"L",a+q,d,a+q,d+b,a,d+b,"Z"]},triangle:function(a,d,q,b){return["M",a+q/2,d,"L",a+q,d+b,a,d+b,"Z"]},"triangle-down":function(a,d,q,b){return["M",a,d,"L",a+q,
            d,a+q/2,d+b,"Z"]},diamond:function(a,d,q,b){return["M",a+q/2,d,"L",a+q,d+b/2,a+q/2,d+b,a,d+b/2,"Z"]},arc:function(a,d,q,b,k){var e=k.start,c=k.r||q,u=k.r||b||q,l=k.end-.001;q=k.innerR;b=D(k.open,.001>Math.abs(k.end-k.start-2*Math.PI));var t=Math.cos(e),p=Math.sin(e),K=Math.cos(l),l=Math.sin(l),e=.001>k.end-e-Math.PI?0:1;k=["M",a+c*t,d+u*p,"A",c,u,0,e,D(k.clockwise,1),a+c*K,d+u*l];n(q)&&k.push(b?"M":"L",a+q*K,d+q*l,"A",q,q,0,e,0,a+q*t,d+q*p);k.push(b?"":"Z");return k},callout:function(a,d,q,b,k){var e=
            Math.min(k&&k.r||0,q,b),c=e+6,u=k&&k.anchorX;k=k&&k.anchorY;var l;l=["M",a+e,d,"L",a+q-e,d,"C",a+q,d,a+q,d,a+q,d+e,"L",a+q,d+b-e,"C",a+q,d+b,a+q,d+b,a+q-e,d+b,"L",a+e,d+b,"C",a,d+b,a,d+b,a,d+b-e,"L",a,d+e,"C",a,d,a,d,a+e,d];u&&u>q?k>d+c&&k<d+b-c?l.splice(13,3,"L",a+q,k-6,a+q+6,k,a+q,k+6,a+q,d+b-e):l.splice(13,3,"L",a+q,b/2,u,k,a+q,b/2,a+q,d+b-e):u&&0>u?k>d+c&&k<d+b-c?l.splice(33,3,"L",a,k+6,a-6,k,a,k-6,a,d+e):l.splice(33,3,"L",a,b/2,u,k,a,b/2,a,d+e):k&&k>b&&u>a+c&&u<a+q-c?l.splice(23,3,"L",u+6,d+
            b,u,d+b+6,u-6,d+b,a+e,d+b):k&&0>k&&u>a+c&&u<a+q-c&&l.splice(3,3,"L",u-6,d,u,d-6,u+6,d,q-e,d);return l}},clipRect:function(d,q,b,k){var e=a.uniqueKey()+"-",c=this.createElement("clipPath").attr({id:e}).add(this.defs);d=this.rect(d,q,b,k,0).add(c);d.id=e;d.clipPath=c;d.count=0;return d},text:function(a,d,q,b){var k={};if(b&&(this.allowHTML||!this.forExport))return this.html(a,d,q);k.x=Math.round(d||0);q&&(k.y=Math.round(q));n(a)&&(k.text=a);a=this.createElement("text").attr(k);b||(a.xSetter=function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   d,q){var b=q.getElementsByTagName("tspan"),k,e=q.getAttribute(d),c;for(c=0;c<b.length;c++)k=b[c],k.getAttribute(d)===e&&k.setAttribute(d,a);q.setAttribute(d,a)});return a},fontMetrics:function(a,d){a=!this.styledMode&&/px/.test(a)||!M.getComputedStyle?a||d&&d.style&&d.style.fontSize||this.style&&this.style.fontSize:d&&C.prototype.getStyle.call(d,"font-size");a=/px/.test(a)?G(a):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,q){var b=a;d&&q&&(b=Math.max(b*
        Math.cos(d*f),4));return{x:-a/3*Math.sin(d*f),y:b}},label:function(b,k,c,u,l,t,p,K,h){var f=this,D=f.styledMode,w=f.g("button"!==h&&"label"),r=w.text=f.text("",0,0,p).attr({zIndex:1}),G,L,O=0,F=3,g=0,N,R,B,m,J,M={},z,v,x=/^url\((.*?)\)$/.test(u),y=D||x,da=function(){return D?G.strokeWidth()%2/2:(z?parseInt(z,10):0)%2/2},ba,P,A;h&&w.addClass("highcharts-"+h);ba=function(){var a=r.element.style,d={};L=(void 0===N||void 0===R||J)&&n(r.textStr)&&r.getBBox();w.width=(N||L.width||0)+2*F+g;w.height=(R||
        L.height||0)+2*F;v=F+Math.min(f.fontMetrics(a&&a.fontSize,r).b,L?L.height:Infinity);y&&(G||(w.box=G=f.symbols[u]||x?f.symbol(u):f.rect(),G.addClass(("button"===h?"":"highcharts-label-box")+(h?" highcharts-"+h+"-box":"")),G.add(w),a=da(),d.x=a,d.y=(K?-v:0)+a),d.width=Math.round(w.width),d.height=Math.round(w.height),G.attr(e(d,M)),M={})};P=function(){var a=g+F,d;d=K?0:v;n(N)&&L&&("center"===J||"right"===J)&&(a+={center:.5,right:1}[J]*(N-L.width));if(a!==r.x||d!==r.y)r.attr("x",a),r.hasBoxWidthChanged&&
    (L=r.getBBox(!0),ba()),void 0!==d&&r.attr("y",d);r.x=a;r.y=d};A=function(a,d){G?G.attr(a,d):M[a]=d};w.onAdd=function(){r.add(w);w.attr({text:b||0===b?b:"",x:k,y:c});G&&n(l)&&w.attr({anchorX:l,anchorY:t})};w.widthSetter=function(d){N=a.isNumber(d)?d:null};w.heightSetter=function(a){R=a};w["text-alignSetter"]=function(a){J=a};w.paddingSetter=function(a){n(a)&&a!==F&&(F=w.padding=a,P())};w.paddingLeftSetter=function(a){n(a)&&a!==g&&(g=a,P())};w.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
        a!==O&&(O=a,L&&w.attr({x:B}))};w.textSetter=function(a){void 0!==a&&r.attr({text:a});ba();P()};w["stroke-widthSetter"]=function(a,d){a&&(y=!0);z=this["stroke-width"]=a;A(d,a)};D?w.rSetter=function(a,d){A(d,a)}:w.strokeSetter=w.fillSetter=w.rSetter=function(a,d){"r"!==d&&("fill"===d&&a&&(y=!0),w[d]=a);A(d,a)};w.anchorXSetter=function(a,d){l=w.anchorX=a;A(d,Math.round(a)-da()-B)};w.anchorYSetter=function(a,d){t=w.anchorY=a;A(d,a-m)};w.xSetter=function(a){w.x=a;O&&(a-=O*((N||L.width)+2*F),w["forceAnimate:x"]=
        !0);B=Math.round(a);w.attr("translateX",B)};w.ySetter=function(a){m=w.y=Math.round(a);w.attr("translateY",m)};var S=w.css;p={css:function(a){if(a){var q={};a=d(a);w.textProps.forEach(function(d){void 0!==a[d]&&(q[d]=a[d],delete a[d])});r.css(q);"width"in q&&ba();"fontSize"in q&&(ba(),P())}return S.call(w,a)},getBBox:function(){return{width:L.width+2*F,height:L.height+2*F,x:L.x-F,y:L.y-F}},destroy:function(){q(w.element,"mouseenter");q(w.element,"mouseleave");r&&(r=r.destroy());G&&(G=G.destroy());
            C.prototype.destroy.call(w);w=f=ba=P=A=null}};D||(p.shadow=function(a){a&&(ba(),G&&G.shadow(a));return w});return e(w,p)}});a.Renderer=A});I(H,"parts/Html.js",[H["parts/Globals.js"]],function(a){var C=a.attr,A=a.createElement,E=a.css,m=a.defined,g=a.extend,v=a.isFirefox,x=a.isMS,y=a.isWebKit,z=a.pick,n=a.pInt,f=a.SVGElement,h=a.SVGRenderer,r=a.win;g(f.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,e=z(b&&a.width,void 0),c;b&&(delete a.width,this.textWidth=e,c=!0);
        a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);E(this.element,a);c&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;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,l=this.translateX||0,c=this.translateY||0,t=this.x||0,h=this.y||0,f=this.textAlign||"left",r={left:0,center:.5,right:1}[f],p=this.styles,
        d=p&&p.whiteSpace;E(b,{marginLeft:l,marginTop:c});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){E(a,{marginLeft:l+1,marginTop:c+1})});this.inverted&&[].forEach.call(b.childNodes,function(d){a.invertChild(d,b)});if("SPAN"===b.tagName){var p=this.rotation,k=this.textWidth&&n(this.textWidth),u=[p,f,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=k!==this.oldTextWidth)&&!(D=k>this.oldTextWidth)&&((D=this.textPxLength)||(E(b,{width:"",whiteSpace:d||"nowrap"}),D=b.offsetWidth),D=
        D>k);D&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(E(b,{width:k+"px",display:"block",whiteSpace:d||"normal"}),this.oldTextWidth=k,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;u!==this.cTT&&(d=a.fontMetrics(b.style.fontSize,b).b,!m(p)||p===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(p,r,d),this.getSpanCorrection(!m(p)&&this.textPxLength||b.offsetWidth,d,r,p,f));E(b,{left:t+(this.xCorr||0)+"px",top:h+(this.yCorr||0)+"px"});this.cTT=u;
        this.oldRotation=p;this.oldAlign=f}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,l){var c={},e=this.renderer.getTransformKey();c[e]=c.transform="rotate("+a+"deg)";c[e+(v?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+l+"px";E(this.element,c)},getSpanCorrection:function(a,b,l){this.xCorr=-a*l;this.yCorr=-b}});g(h.prototype,{getTransformKey:function(){return x&&!/Edge/.test(r.navigator.userAgent)?"-ms-transform":y?"-webkit-transform":v?"MozTransform":r.opera?"-o-transform":""},html:function(e,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  b,l){var c=this.createElement("span"),t=c.element,h=c.renderer,w=h.isSVG,r=function(a,b){["opacity","visibility"].forEach(function(d){a[d+"Setter"]=function(k,c,q){var e=a.div?a.div.style:b;f.prototype[d+"Setter"].call(this,k,c,q);e&&(e[c]=k)}});a.addedSetters=!0},p=a.charts[h.chartIndex],p=p&&p.styledMode;c.textSetter=function(a){a!==t.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;t.innerHTML=z(a,"");c.doTransform=!0};w&&r(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=
        c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.doTransform=!0};c.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};c.attr({text:e,x:Math.round(b),y:Math.round(l)}).css({position:"absolute"});p||c.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});t.style.whiteSpace="nowrap";c.css=c.htmlCss;w&&(c.add=function(a){var d,b=h.box.parentNode,e=[];if(this.parentGroup=a){if(d=a.div,!d){for(;a;)e.push(a),a=a.parentGroup;e.reverse().forEach(function(a){function q(d,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    q){a[q]=d;"translateX"===q?k.left=d+"px":k.top=d+"px";a.doTransform=!0}var k,u=C(a.element,"class");u&&(u={className:u});d=a.div=a.div||A("div",u,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},d||b);k=d.style;g(a,{classSetter:function(a){return function(d){this.element.setAttribute("class",d);a.className=d}}(d),on:function(){e[0].div&&c.on.apply({element:e[0].div},arguments);return a},
        translateXSetter:q,translateYSetter:q});a.addedSetters||r(a)})}}else d=b;d.appendChild(t);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})});I(H,"parts/Time.js",[H["parts/Globals.js"]],function(a){var C=a.defined,A=a.extend,E=a.merge,m=a.pick,g=a.timeUnits,v=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var g=m(a&&a.useUTC,!0),z=this;this.options=a=E(!0,this.options||{},a);this.Date=a.Date||v.Date||Date;this.timezoneOffset=
        (this.useUTC=g)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(g&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var h=f.getTime(),r=h-z.getTimezoneOffset(f);f.setTime(r);a=f["getUTC"+a]();f.setTime(h);return a},this.set=function(a,f,h){var r;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%60)f["set"+a](h);else r=z.getTimezoneOffset(f),r=f.getTime()-r,f.setTime(r),f["setUTC"+a](h),a=z.getTimezoneOffset(f),
        r=f.getTime()+a,f.setTime(r)}):g?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,h){return f["setUTC"+a](h)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,h){return f["set"+a](h)})},makeTime:function(g,v,z,n,f,h){var r,e,b;this.useUTC?(r=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(r),r+=e,b=this.getTimezoneOffset(r),e!==b?r+=b-e:e-36E5!==this.getTimezoneOffset(r-36E5)||a.isSafari||(r-=36E5)):r=(new this.Date(g,v,m(z,1),m(n,0),m(f,0),m(h,0))).getTime();
        return r},timezoneOffsetFunction:function(){var g=this,m=this.options,z=v.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(m.timezone){if(z)return function(a){return 6E4*-z.tz(a,m.timezone).utcOffset()};a.error(25)}return this.useUTC&&m.getTimezoneOffset?function(a){return 6E4*m.getTimezoneOffset(a)}:function(){return 6E4*(g.timezoneOffset||0)}},dateFormat:function(g,m,v){if(!a.defined(m)||isNaN(m))return a.defaultOptions.lang.invalidDate||"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");
        var n=this,f=new this.Date(m),h=this.get("Hours",f),r=this.get("Day",f),e=this.get("Date",f),b=this.get("Month",f),l=this.get("FullYear",f),c=a.defaultOptions.lang,t=c.weekdays,F=c.shortWeekdays,w=a.pad,f=a.extend({a:F?F[r]:t[r].substr(0,3),A:t[r],d:w(e),e:w(e,2," "),w:r,b:c.shortMonths[b],B:c.months[b],m:w(b+1),o:b+1,y:l.toString().substr(2,2),Y:l,H:w(h),k:h,I:w(h%12||12),l:h%12||12,M:w(n.get("Minutes",f)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:w(f.getSeconds()),L:w(Math.floor(m%1E3),3)},a.dateFormats);
        a.objectEach(f,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(n,m):a)});return v?g.substr(0,1).toUpperCase()+g.substr(1):g},resolveDTLFormat:function(g){return a.isObject(g,!0)?g:(g=a.splat(g),{main:g[0],from:g[1],to:g[2]})},getTimeTicks:function(a,v,z,n){var f=this,h=[],r,e={},b;r=new f.Date(v);var l=a.unitRange,c=a.count||1,t;n=m(n,1);if(C(v)){f.set("Milliseconds",r,l>=g.second?0:c*Math.floor(f.get("Milliseconds",r)/c));l>=g.second&&f.set("Seconds",r,l>=
    g.minute?0:c*Math.floor(f.get("Seconds",r)/c));l>=g.minute&&f.set("Minutes",r,l>=g.hour?0:c*Math.floor(f.get("Minutes",r)/c));l>=g.hour&&f.set("Hours",r,l>=g.day?0:c*Math.floor(f.get("Hours",r)/c));l>=g.day&&f.set("Date",r,l>=g.month?1:Math.max(1,c*Math.floor(f.get("Date",r)/c)));l>=g.month&&(f.set("Month",r,l>=g.year?0:c*Math.floor(f.get("Month",r)/c)),b=f.get("FullYear",r));l>=g.year&&f.set("FullYear",r,b-b%c);l===g.week&&(b=f.get("Day",r),f.set("Date",r,f.get("Date",r)-b+n+(b<n?-7:0)));b=f.get("FullYear",
        r);n=f.get("Month",r);var F=f.get("Date",r),w=f.get("Hours",r);v=r.getTime();f.variableTimezone&&(t=z-v>4*g.month||f.getTimezoneOffset(v)!==f.getTimezoneOffset(z));v=r.getTime();for(r=1;v<z;)h.push(v),v=l===g.year?f.makeTime(b+r*c,0):l===g.month?f.makeTime(b,n+r*c):!t||l!==g.day&&l!==g.week?t&&l===g.hour&&1<c?f.makeTime(b,n,F,w+r*c):v+l*c:f.makeTime(b,n,F+r*c*(l===g.day?1:7)),r++;h.push(v);l<=g.hour&&1E4>h.length&&h.forEach(function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(e[a]="day")})}h.info=
        A(a,{higherRanks:e,totalRange:l*c});return h}}});I(H,"parts/Options.js",[H["parts/Globals.js"]],function(a){var C=a.color,A=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
        weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",
        plotBorderColor:"#cccccc"},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",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",
            textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},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 style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,
        style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=A(!0,a.defaultOptions,C);a.time.update(A(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
    a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(A(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,m,g){return a.time.dateFormat(A,m,g)};""});I(H,"parts/Tick.js",[H["parts/Globals.js"]],function(a){var C=a.correctFloat,A=a.defined,E=a.destroyObjectProperties,m=a.fireEvent,g=a.isNumber,v=a.merge,x=a.pick,y=a.deg2rad;a.Tick=function(a,n,f,h,r){this.axis=a;this.pos=n;this.type=f||"";this.isNewLabel=this.isNew=!0;this.parameters=r||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
    this.options=this.parameters.options;f||h||this.addLabel()};a.Tick.prototype={addLabel:function(){var g=this,n=g.axis,f=n.options,h=n.chart,r=n.categories,e=n.names,b=g.pos,l=x(g.options&&g.options.labels,f.labels),c=n.tickPositions,t=b===c[0],F=b===c[c.length-1],r=this.parameters.category||(r?x(r[b],e[b],b):b),w=g.label,c=c.info,B,p,d,k;n.isDatetimeAxis&&c&&(p=h.time.resolveDTLFormat(f.dateTimeLabelFormats[!f.grid&&c.higherRanks[b]||c.unitName]),B=p.main);g.isFirst=t;g.isLast=F;g.formatCtx={axis:n,
        chart:h,isFirst:t,isLast:F,dateTimeLabelFormat:B,tickPositionInfo:c,value:n.isLog?C(n.lin2log(r)):r,pos:b};f=n.labelFormatter.call(g.formatCtx,this.formatCtx);if(k=p&&p.list)g.shortenLabel=function(){for(d=0;d<k.length;d++)if(w.attr({text:n.labelFormatter.call(a.extend(g.formatCtx,{dateTimeLabelFormat:k[d]}))}),w.getBBox().width<n.getSlotWidth(g)-2*x(l.padding,5))return;w.attr({text:""})};if(A(w))w&&w.textStr!==f&&(!w.textWidth||l.style&&l.style.width||w.styles.width||w.css({width:null}),w.attr({text:f}),
        w.textPxLength=w.getBBox().width);else{if(g.label=w=A(f)&&l.enabled?h.renderer.text(f,0,0,l.useHTML).add(n.labelGroup):null)h.styledMode||w.css(v(l.style)),w.textPxLength=w.getBBox().width;g.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var n=this.axis,f=n.options.labels,h=a.x,r=n.chart.chartWidth,e=n.chart.spacing,b=x(n.labelLeft,Math.min(n.pos,e[3])),e=x(n.labelRight,Math.max(n.isRadial?0:n.pos+n.len,r-
        e[1])),l=this.label,c=this.rotation,t={left:0,center:.5,right:1}[n.labelAlign||l.attr("align")],g=l.getBBox().width,w=n.getSlotWidth(this),B=w,p=1,d,k={};if(c||"justify"!==x(f.overflow,"justify"))0>c&&h-t*g<b?d=Math.round(h/Math.cos(c*y)-b):0<c&&h+t*g>e&&(d=Math.round((r-h)/Math.cos(c*y)));else if(r=h+(1-t)*g,h-t*g<b?B=a.x+B*(1-t)-b:r>e&&(B=e-a.x+B*t,p=-1),B=Math.min(w,B),B<w&&"center"===n.labelAlign&&(a.x+=p*(w-B-t*(w-Math.min(g,B)))),g>B||n.autoRotation&&(l.styles||{}).width)d=B;d&&(this.shortenLabel?
        this.shortenLabel():(k.width=Math.floor(d),(f.style||{}).textOverflow||(k.textOverflow="ellipsis"),l.css(k)))},getPosition:function(g,n,f,h){var r=this.axis,e=r.chart,b=h&&e.oldChartHeight||e.chartHeight;g={x:g?a.correctFloat(r.translate(n+f,null,null,h)+r.transB):r.left+r.offset+(r.opposite?(h&&e.oldChartWidth||e.chartWidth)-r.right-r.left:0),y:g?b-r.bottom+r.offset-(r.opposite?r.height:0):a.correctFloat(b-r.translate(n+f,null,null,h)-r.transB)};g.y=Math.max(Math.min(g.y,1E5),-1E5);m(this,"afterGetPosition",
        {pos:g});return g},getLabelPosition:function(a,n,f,h,r,e,b,l){var c=this.axis,t=c.transA,g=c.reversed,w=c.staggerLines,B=c.tickRotCorr||{x:0,y:0},p=r.y,d=h||c.reserveSpaceDefault?0:-c.labelOffset*("center"===c.labelAlign?.5:1),k={};A(p)||(p=0===c.side?f.rotation?-8:-f.getBBox().height:2===c.side?B.y+8:Math.cos(f.rotation*y)*(B.y-f.getBBox(!1,0).height/2));a=a+r.x+d+B.x-(e&&h?e*t*(g?-1:1):0);n=n+p-(e&&!h?e*t*(g?1:-1):0);w&&(f=b/(l||1)%w,c.opposite&&(f=w-f-1),n+=c.labelOffset/w*f);k.x=a;k.y=Math.round(n);
        m(this,"afterGetLabelPosition",{pos:k,tickmarkOffset:e,index:b});return k},getMarkPath:function(a,n,f,h,r,e){return e.crispLine(["M",a,n,"L",a+(r?0:-f),n+(r?f:0)],h)},renderGridLine:function(a,n,f){var h=this.axis,r=h.options,e=this.gridLine,b={},l=this.pos,c=this.type,t=x(this.tickmarkOffset,h.tickmarkOffset),g=h.chart.renderer,w=c?c+"Grid":"grid",B=r[w+"LineWidth"],p=r[w+"LineColor"],r=r[w+"LineDashStyle"];e||(h.chart.styledMode||(b.stroke=p,b["stroke-width"]=B,r&&(b.dashstyle=r)),c||(b.zIndex=
        1),a&&(n=0),this.gridLine=e=g.path().attr(b).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(h.gridGroup));if(e&&(f=h.getPlotLinePath({value:l+t,lineWidth:e.strokeWidth()*f,force:"pass",old:a})))e[a||this.isNew?"attr":"animate"]({d:f,opacity:n})},renderMark:function(a,n,f){var h=this.axis,r=h.options,e=h.chart.renderer,b=this.type,l=b?b+"Tick":"tick",c=h.tickSize(l),t=this.mark,g=!t,w=a.x;a=a.y;var B=x(r[l+"Width"],!b&&h.isXAxis?1:0),r=r[l+"Color"];c&&(h.opposite&&(c[0]=-c[0]),g&&(this.mark=
        t=e.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(h.axisGroup),h.chart.styledMode||t.attr({stroke:r,"stroke-width":B})),t[g?"attr":"animate"]({d:this.getMarkPath(w,a,c[0],t.strokeWidth()*f,h.horiz,e),opacity:n}))},renderLabel:function(a,n,f,h){var r=this.axis,e=r.horiz,b=r.options,l=this.label,c=b.labels,t=c.step,r=x(this.tickmarkOffset,r.tickmarkOffset),F=!0,w=a.x;a=a.y;l&&g(w)&&(l.xy=a=this.getLabelPosition(w,a,l,e,c,r,h,t),this.isFirst&&!this.isLast&&!x(b.showFirstLabel,1)||this.isLast&&
    !this.isFirst&&!x(b.showLastLabel,1)?F=!1:!e||c.step||c.rotation||n||0===f||this.handleOverflow(a),t&&h%t&&(F=!1),F&&g(a.y)?(a.opacity=f,l[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(l.attr("y",-9999),this.isNewLabel=!0))},render:function(g,n,f){var h=this.axis,r=h.horiz,e=this.pos,b=x(this.tickmarkOffset,h.tickmarkOffset),e=this.getPosition(r,e,b,n),b=e.x,l=e.y,h=r&&b===h.pos+h.len||!r&&l===h.pos?-1:1;f=x(f,1);this.isActive=!0;this.renderGridLine(n,f,h);this.renderMark(e,f,h);this.renderLabel(e,
        n,f,g);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){E(this,this.axis)}}});I(H,"parts/Axis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animObject,E=a.arrayMax,m=a.arrayMin,g=a.color,v=a.correctFloat,x=a.defaultOptions,y=a.defined,z=a.deg2rad,n=a.destroyObjectProperties,f=a.extend,h=a.fireEvent,r=a.format,e=a.getMagnitude,b=a.isArray,l=a.isNumber,c=a.isString,t=a.merge,F=a.normalizeTickInterval,w=a.objectEach,B=a.pick,p=a.removeEvent,d=a.seriesTypes,k=a.splat,u=
    a.syncTimeout,D=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",
        minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,
            text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,
        title:{rotation:0}},init:function(d,b){var q=b.isX,c=this;c.chart=d;c.horiz=d.inverted&&!c.isZAxis?!q:q;c.isXAxis=q;c.coll=c.coll||(q?"xAxis":"yAxis");h(this,"init",{userOptions:b});c.opposite=b.opposite;c.side=b.side||(c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(b);var e=this.options,u=e.type;c.labelFormatter=e.labels.formatter||c.defaultLabelFormatter;c.userOptions=b;c.minPixelPadding=0;c.reversed=e.reversed;c.visible=!1!==e.visible;c.zoomEnabled=!1!==e.zoomEnabled;c.hasNames="category"===
        u||!0===e.categories;c.categories=e.categories||c.hasNames;c.names||(c.names=[],c.names.keys={});c.plotLinesAndBandsGroups={};c.isLog="logarithmic"===u;c.isDatetimeAxis="datetime"===u;c.positiveValuesOnly=c.isLog&&!c.allowNegativeLog;c.isLinked=y(e.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=c.userMinRange=e.minRange||e.maxZoom;c.range=e.range;c.offset=e.offset||0;c.stacks={};c.oldStacks={};c.stacksTouched=0;c.max=null;c.min=null;
        c.crosshair=B(e.crosshair,k(d.options.tooltip.crosshairs)[q?0:1],!1);b=c.options.events;-1===d.axes.indexOf(c)&&(q?d.axes.splice(d.xAxis.length,0,c):d.axes.push(c),d[c.coll].push(c));c.series=c.series||[];d.inverted&&!c.isZAxis&&q&&void 0===c.reversed&&(c.reversed=!0);w(b,function(d,q){a.isFunction(d)&&C(c,q,d)});c.lin2log=e.linearToLogConverter||c.lin2log;c.isLog&&(c.val2lin=c.log2lin,c.lin2val=c.lin2log);h(this,"afterInit")},setOptions:function(a){this.options=t(this.defaultOptions,"yAxis"===this.coll&&
        this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],t(x[this.coll],a));h(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var d=this.axis,b=this.value,c=d.chart.time,k=d.categories,e=this.dateTimeLabelFormat,u=x.lang,l=u.numericSymbols,u=u.numericSymbolMagnitude||1E3,t=l&&l.length,p,h=d.options.labels.format,d=d.isLog?Math.abs(b):d.tickInterval;if(h)p=r(h,this,c);else if(k)p=
        b;else if(e)p=c.dateFormat(e,b);else if(t&&1E3<=d)for(;t--&&void 0===p;)c=Math.pow(u,t+1),d>=c&&0===10*b%c&&null!==l[t]&&0!==b&&(p=a.numberFormat(b/c,-1)+l[t]);void 0===p&&(p=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return p},getSeriesExtremes:function(){var a=this,d=a.chart,b;h(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(q){if(q.visible||
        !d.options.chart.ignoreHiddenSeries){var c=q.options,k=c.threshold,e,u;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&&(k=null);if(a.isXAxis)c=q.xData,c.length&&(b=q.getXExtremes(c),e=b.min,u=b.max,l(e)||e instanceof Date||(c=c.filter(l),b=q.getXExtremes(c),e=b.min,u=b.max),c.length&&(a.dataMin=Math.min(B(a.dataMin,e),e),a.dataMax=Math.max(B(a.dataMax,u),u)));else if(q.getExtremes(),u=q.dataMax,e=q.dataMin,y(e)&&y(u)&&(a.dataMin=Math.min(B(a.dataMin,e),e),a.dataMax=Math.max(B(a.dataMax,u),u)),y(k)&&
    (a.threshold=k),!c.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")},translate:function(a,d,b,c,k,e){var q=this.linkedParent||this,u=1,t=0,p=c?q.oldTransA:q.transA;c=c?q.oldMin:q.min;var K=q.minPixelPadding;k=(q.isOrdinal||q.isBroken||q.isLog&&k)&&q.lin2val;p||(p=q.transA);b&&(u*=-1,t=q.len);q.reversed&&(u*=-1,t-=u*(q.sector||q.len));d?(a=(a*u+t-K)/p+c,k&&(a=q.lin2val(a))):(k&&(a=q.val2lin(a)),a=l(c)?u*(a-c)*p+t+u*K+(l(e)?p*e:0):void 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){var d=this,q=d.chart,b=d.left,c=d.top,k=a.old,e=a.value,u=a.translatedValue,t=a.lineWidth,p=a.force,f,w,r,D,G=k&&q.oldChartHeight||q.chartHeight,n=k&&q.oldChartWidth||q.chartWidth,g,F=d.transB,m=function(a,d,q){if("pass"!==p&&a<d||a>q)p?a=Math.min(Math.max(d,a),q):g=!0;return a};a={value:e,lineWidth:t,old:k,force:p,acrossPanes:a.acrossPanes,
        translatedValue:u};h(this,"getPlotLinePath",a,function(a){u=B(u,d.translate(e,null,null,k));u=Math.min(Math.max(-1E5,u),1E5);f=r=Math.round(u+F);w=D=Math.round(G-u-F);l(u)?d.horiz?(w=c,D=G-d.bottom,f=r=m(f,b,b+d.width)):(f=b,r=n-d.right,w=D=m(w,c,c+d.height)):(g=!0,p=!1);a.path=g&&!p?null:q.renderer.crispLine(["M",f,w,"L",r,D],t||1)});return a.path},getLinearTickPositions:function(a,d,b){var q,c=v(Math.floor(d/a)*a);b=v(Math.ceil(b/a)*a);var k=[],e;v(c+a)===c&&(e=20);if(this.single)return[d];for(d=
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 c;d<=b;){k.push(d);d=v(d+a,e);if(d===q)break;q=d}return k},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?B(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,d=a.options,b=a.tickPositions,c=a.minorTickInterval,k=[],e=a.pointRangePadding||0,u=a.min-e,e=a.max+e,l=e-u;if(l&&l/c<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(d,q,b){q&&k.push.apply(k,a.getLogTickPositions(c,b[q-1],b[q],!0))});else if(a.isDatetimeAxis&&
        "auto"===this.getMinorTickInterval())k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(c),u,e,d.startOfWeek));else for(d=u+(b[0]-u)%c;d<=e&&d!==k[0];d+=c)k.push(d);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,d=this.min,b=this.max,c,k,e,u,l,t,p,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(y(a.min)||y(a.max)?this.minRange=null:(this.series.forEach(function(a){t=a.xData;for(u=p=a.xIncrement?1:t.length-1;0<u;u--)if(l=t[u]-t[u-1],void 0===e||l<e)e=
        l}),this.minRange=Math.min(5*e,this.dataMax-this.dataMin)));b-d<this.minRange&&(k=this.dataMax-this.dataMin>=this.minRange,h=this.minRange,c=(h-b+d)/2,c=[d-c,B(a.min,d-c)],k&&(c[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),d=E(c),b=[d+h,B(a.max,d+h)],k&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=m(b),b-d<h&&(c[0]=b-h,c[1]=B(a.min,b-h),d=E(c)));this.min=d;this.max=b},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(d){var b=d.closestPointRange,
        q=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&y(b)&&q&&(a=y(a)?Math.min(a,b):b)});return a},nameToX:function(a){var d=b(this.categories),q=d?this.categories:this.names,c=a.options.x,k;a.series.requireSorting=!1;y(c)||(c=!1===this.options.uniqueNames?a.series.autoIncrement():d?q.indexOf(a.name):B(q.keys[a.name],-1));-1===c?d||(k=q.length):k=c;void 0!==k&&(this.names[k]=a.name,this.names.keys[a.name]=k);return k},updateNames:function(){var a=this,d=this.names;0<d.length&&
    (Object.keys(d.keys).forEach(function(a){delete d.keys[a]}),d.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(d){d.xIncrement=null;if(!d.points||d.isDirtyData)a.max=Math.max(a.max,d.xData.length-1),d.processData(),d.generatePoints();d.data.forEach(function(b,q){var c;b&&b.options&&void 0!==b.name&&(c=a.nameToX(b),void 0!==c&&c!==b.x&&(b.x=c,d.xData[q]=c))})}))},setAxisTranslation:function(a){var b=this,q=b.max-b.min,k=b.axisPointRange||0,e,u=0,l=0,t=b.linkedParent,p=!!b.categories,
        f=b.transA,w=b.isXAxis;if(w||p||k)e=b.getClosest(),t?(u=t.minPointOffset,l=t.pointRangePadding):b.series.forEach(function(a){var q=p?1:w?B(a.options.pointRange,e,0):b.axisPointRange||0,t=a.options.pointPlacement;k=Math.max(k,q);if(!b.single||p)a=d.xrange&&a instanceof d.xrange?!w:w,u=Math.max(u,a&&c(t)?0:q/2),l=Math.max(l,a&&"on"===t?0:q)}),t=b.ordinalSlope&&e?b.ordinalSlope/e:1,b.minPointOffset=u*=t,b.pointRangePadding=l*=t,b.pointRange=Math.min(k,q),w&&(b.closestPointRange=e);a&&(b.oldTransA=f);
        b.translationSlope=b.transA=f=b.staticScale||b.len/(q+l||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=f*u;h(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(d){var b=this,q=b.chart,c=b.options,k=b.isLog,u=b.isDatetimeAxis,t=b.isXAxis,p=b.isLinked,f=c.maxPadding,w=c.minPadding,r,D=c.tickInterval,G=c.tickPixelInterval,n=b.categories,g=l(b.threshold)?b.threshold:null,m=b.softThreshold,x,z,A;u||n||p||this.getTickAmount();z=B(b.userMin,
        c.min);A=B(b.userMax,c.max);p?(b.linkedParent=q[b.coll][c.linkedTo],r=b.linkedParent.getExtremes(),b.min=B(r.min,r.dataMin),b.max=B(r.max,r.dataMax),c.type!==b.linkedParent.options.type&&a.error(11,1,q)):(!m&&y(g)&&(b.dataMin>=g?(r=g,w=0):b.dataMax<=g&&(x=g,f=0)),b.min=B(z,r,b.dataMin),b.max=B(A,x,b.dataMax));k&&(b.positiveValuesOnly&&!d&&0>=Math.min(b.min,B(b.dataMin,b.min))&&a.error(10,1,q),b.min=v(b.log2lin(b.min),15),b.max=v(b.log2lin(b.max),15));b.range&&y(b.max)&&(b.userMin=b.min=z=Math.max(b.dataMin,
        b.minFromRange()),b.userMax=A=b.max,b.range=null);h(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(n||b.axisPointRange||b.usePercentage||p)&&y(b.min)&&y(b.max)&&(q=b.max-b.min)&&(!y(z)&&w&&(b.min-=q*w),!y(A)&&f&&(b.max+=q*f));l(c.softMin)&&!l(b.userMin)&&c.softMin<b.min&&(b.min=z=c.softMin);l(c.softMax)&&!l(b.userMax)&&c.softMax>b.max&&(b.max=A=c.softMax);l(c.floor)&&(b.min=Math.min(Math.max(b.min,c.floor),Number.MAX_VALUE));l(c.ceiling)&&(b.max=Math.max(Math.min(b.max,
        c.ceiling),B(b.userMax,-Number.MAX_VALUE)));m&&y(b.dataMin)&&(g=g||0,!y(z)&&b.min<g&&b.dataMin>=g?b.min=b.options.minRange?Math.min(g,b.max-b.minRange):g:!y(A)&&b.max>g&&b.dataMax<=g&&(b.max=b.options.minRange?Math.max(g,b.min+b.minRange):g));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:p&&!D&&G===b.linkedParent.options.tickPixelInterval?D=b.linkedParent.tickInterval:B(D,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,n?1:(b.max-b.min)*G/Math.max(b.len,G));t&&
    !d&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!D&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));d=B(c.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!D&&b.tickInterval<d&&(b.tickInterval=d);u||k||D||(b.tickInterval=F(b.tickInterval,null,e(b.tickInterval),B(c.allowDecimals,
        !(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var d=this.options,b,c=d.tickPositions;b=this.getMinorTickInterval();var k=d.tickPositioner,e=d.startOnTick,u=d.endOnTick;this.tickmarkOffset=this.categories&&"between"===d.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&
        y(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==d.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,!1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,d.units),this.min,this.max,d.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,
        this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=b=k);this.paddedTicks=b.slice(0);this.trimTicks(b,e,u);this.isLinked||(this.single&&2>b.length&&!this.categories&&(this.min-=.5,this.max+=.5),c||k||this.adjustTickAmount());h(this,"afterSetTickPositions")},trimTicks:function(a,d,b){var q=a[0],c=a[a.length-1],k=this.minPointOffset||
        0;h(this,"trimTicks");if(!this.isLinked){if(d&&-Infinity!==q)this.min=q;else for(;this.min-k>a[0];)a.shift();if(b)this.max=c;else for(;this.max+k<a[a.length-1];)a.pop();0===a.length&&y(q)&&!this.options.tickPositions&&a.push((c+q)/2)}},alignToOthers:function(){var a={},d,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.isLog||this.chart[this.coll].forEach(function(b){var q=b.options,q=[b.horiz?q.left:q.top,q.width,q.height,q.pane].join();
        b.series.length&&(a[q]?d=!0:a[q]=1)});return d},getTickAmount:function(){var a=this.options,d=a.tickAmount,b=a.tickPixelInterval;!y(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.options,d=this.tickInterval,b=this.tickPositions,c=this.tickAmount,k=this.finalTickAmt,e=b&&b.length,u=B(this.threshold,this.softThreshold?
        0:null),l;if(this.hasData()){if(e<c){for(l=this.min;b.length<c;)b.length%2||l===u?b.push(v(b[b.length-1]+d)):b.unshift(v(b[0]-d));this.transA*=(e-1)/(c-1);this.min=a.startOnTick?b[0]:Math.min(this.min,b[0]);this.max=a.endOnTick?b[b.length-1]:Math.max(this.max,b[b.length-1])}else e>c&&(this.tickInterval*=2,this.setTickPositions());if(y(k)){for(d=a=b.length;d--;)(3===k&&1===d%2||2>=k&&0<d&&d<a-1)&&b.splice(d,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||
        a.isDirty||a.xAxis.isDirty}),d;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(d=this.len!==this.oldAxisLength)||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();h(this,"afterSetScale")},setExtremes:function(a,d,b,c,k){var q=this,e=q.chart;b=B(b,!0);q.series.forEach(function(a){delete a.kdTree});k=f(k,{min:a,max:d});h(q,"setExtremes",k,function(){q.userMin=a;q.userMax=d;q.eventArgs=k;b&&e.redraw(c)})},zoom:function(a,d){var b=this.dataMin,q=this.dataMax,c=this.options,k=Math.min(b,B(c.min,b)),e=Math.max(q,B(c.max,q));a={newMin:a,newMax:d};h(this,"zoom",a,function(a){var d=a.newMin,c=a.newMax;if(d!==this.min||
        c!==this.max)this.allowZoomOutside||(y(b)&&(d<k&&(d=k),d>e&&(d=e)),y(q)&&(c<k&&(c=k),c>e&&(c=e))),this.displayBtn=void 0!==d||void 0!==c,this.setExtremes(d,c,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var d=this.chart,b=this.options,c=b.offsets||[0,0,0,0],k=this.horiz,e=this.width=Math.round(a.relativeLength(B(b.width,d.plotWidth-c[3]+c[1]),d.plotWidth)),u=this.height=Math.round(a.relativeLength(B(b.height,d.plotHeight-c[0]+c[2]),d.plotHeight)),l=this.top=Math.round(a.relativeLength(B(b.top,
        d.plotTop+c[0]),d.plotHeight,d.plotTop)),b=this.left=Math.round(a.relativeLength(B(b.left,d.plotLeft+c[3]),d.plotWidth,d.plotLeft));this.bottom=d.chartHeight-u-l;this.right=d.chartWidth-e-b;this.len=Math.max(k?e:u,0);this.pos=k?b:l},getExtremes:function(){var a=this.isLog;return{min:a?v(this.lin2log(this.min)):this.min,max:a?v(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var d=this.isLog,b=d?this.lin2log(this.min):
        this.min,d=d?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=d:b>a?a=b:d<a&&(a=d);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var d=(B(a,0)-90*this.side+720)%360;a={align:"center"};h(this,"autoLabelAlign",a,function(a){15<d&&165>d?a.align="right":195<d&&345>d&&(a.align="left")});return a.align},tickSize:function(a){var d=this.options,b=d[a+"Length"],c=B(d[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),q;c&&b&&("inside"===d[a+"Position"]&&(b=
        -b),q=[b,c]);a={tickSize:q};h(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,d=this.horiz,b=this.tickInterval,c=b,k=this.len/(((this.categories?1:0)+this.max-this.min)/b),e,u=a.rotation,l=this.labelMetrics(),t,p=Number.MAX_VALUE,h,f=this.max-this.min,
        w=function(a){var d=a/(k||1),d=1<d?Math.ceil(d):1;d*b>f&&Infinity!==a&&Infinity!==k&&(d=Math.ceil(f/b));return v(d*b)};d?(h=!a.staggerLines&&!a.step&&(y(u)?[u]:k<B(a.autoRotationLimit,80)&&a.autoRotation))&&h.forEach(function(a){var d;if(a===u||a&&-90<=a&&90>=a)t=w(Math.abs(l.h/Math.sin(z*a))),d=t+Math.abs(a/360),d<p&&(p=d,e=a,c=t)}):a.step||(c=w(l.h));this.autoRotation=h;this.labelRotation=B(e,u);return c},getSlotWidth:function(a){var d=this.chart,b=this.horiz,c=this.options.labels,k=Math.max(this.tickPositions.length-
        (this.categories?0:1),1),q=d.margin[3];return a&&a.slotWidth||b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/k||!b&&(c.style&&parseInt(c.style.width,10)||q&&q-d.spacing[3]||.33*d.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,k=this.ticks,e=this.options.labels,u=e&&e.style||{},l=this.horiz,t=this.getSlotWidth(),p=Math.max(1,Math.round(t-2*(e.padding||5))),h={},f=this.labelMetrics(),w=e.style&&e.style.textOverflow,r,D,G=0,g;c(e.rotation)||
    (h.rotation=e.rotation||0);b.forEach(function(a){(a=k[a])&&a.label&&a.label.textPxLength>G&&(G=a.label.textPxLength)});this.maxLabelLength=G;if(this.autoRotation)G>p&&G>f.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(t&&(r=p,!w))for(D="clip",p=b.length;!l&&p--;)if(g=b[p],g=k[g].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>t&&g.css({width:t+"px"}),g.getBBox().height>this.len/b.length-(f.h-f.f)&&(g.specificTextOverflow="ellipsis");h.rotation&&
    (r=G>.5*a.chartHeight?.33*a.chartHeight:G,w||(D="ellipsis"));if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))h.align=this.labelAlign;b.forEach(function(a){var d=(a=k[a])&&a.label,b=u.width,c={};d&&(d.attr(h),a.shortenLabel?a.shortenLabel():r&&!b&&"nowrap"!==u.whiteSpace&&(r<d.textPxLength||"SPAN"===d.element.tagName)?(c.width=r,w||(c.textOverflow=d.specificTextOverflow||D),d.css(c)):d.styles&&d.styles.width&&!c.width&&!b&&d.css({width:null}),delete d.specificTextOverflow,a.rotation=
        h.rotation)},this);this.tickRotCorr=d.rotCorr(f.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&y(this.min)&&y(this.max)},addTitle:function(a){var d=this.chart.renderer,b=this.horiz,c=this.opposite,k=this.options.title,q,e=this.chart.styledMode;this.axisTitle||((q=k.textAlign)||(q=(b?{low:"left",middle:"center",high:"right"}:{low:c?"right":"left",middle:"center",high:c?"left":"right"})[k.align]),this.axisTitle=
        d.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:q}).addClass("highcharts-axis-title"),e||this.axisTitle.css(t(k.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);e||k.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var d=this.ticks;d[a]?d[a].addLabel():d[a]=new D(this,a)},getOffset:function(){var a=this,d=a.chart,b=d.renderer,c=a.options,k=a.tickPositions,e=a.ticks,u=a.horiz,l=
        a.side,t=d.inverted&&!a.isZAxis?[1,0,3,2][l]:l,p,f,r=0,D,G=0,g=c.title,n=c.labels,F=0,m=d.axisOffset,d=d.clipOffset,v=[-1,1,1,-1][l],x=c.className,z=a.axisParent;p=a.hasData();a.showAxis=f=p||B(c.showEmpty,!0);a.staggerLines=a.horiz&&n.staggerLines;a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:c.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(x||"")).add(z),a.axisGroup=b.g("axis").attr({zIndex:c.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(x||"")).add(z),
        a.labelGroup=b.g("axis-labels").attr({zIndex:n.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(x||"")).add(z));p||a.isLinked?(k.forEach(function(d,b){a.generateTick(d,b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===a.labelAlign,B(n.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&k.forEach(function(a){F=Math.max(e[a].getLabelSize(),F)}),a.staggerLines&&(F*=a.staggerLines),a.labelOffset=F*(a.opposite?-1:1)):w(e,function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             d){a.destroy();delete e[d]});g&&g.text&&!1!==g.enabled&&(a.addTitle(f),f&&!1!==g.reserveSpace&&(a.titleOffset=r=a.axisTitle.getBBox()[u?"height":"width"],D=g.offset,G=y(D)?0:B(g.margin,u?5:10)));a.renderLine();a.offset=v*B(c.offset,m[l]?m[l]+(c.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===l?-a.labelMetrics().h:2===l?a.tickRotCorr.y:0;G=Math.abs(F)+G;F&&(G=G-b+v*(u?B(n.y,a.tickRotCorr.y+8*v):n.x));a.axisTitleMargin=B(D,G);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(e,
        k));u=this.tickSize("tick");m[l]=Math.max(m[l],a.axisTitleMargin+r+v*a.offset,G,k&&k.length&&u?u[0]+v*a.offset:0);c=c.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);d[t]=Math.max(d[t],c);h(this,"afterGetOffset")},getLinePath:function(a){var d=this.chart,b=this.opposite,c=this.offset,k=this.horiz,e=this.left+(b?this.width:0)+c,c=d.chartHeight-this.bottom-(b?this.height:0)+c;b&&(a*=-1);return d.renderer.crispLine(["M",k?this.left:e,k?c:this.top,"L",k?d.chartWidth-this.right:e,k?c:d.chartHeight-this.bottom],
        a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,d=this.left,b=this.top,c=this.len,k=this.options.title,e=a?d:b,u=this.opposite,l=this.offset,t=k.x||0,p=k.y||0,f=this.axisTitle,w=this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,f),f=Math.max(f.getBBox(null,
        0).height-w.h-1,0),c={low:e+(a?0:c),middle:e+c/2,high:e+(a?c:0)}[k.align],d=(a?b+this.height:d)+(a?1:-1)*(u?-1:1)*this.axisTitleMargin+[-f,f,w.f,-f][this.side],a={x:a?c+t:d+(u?this.width:0)+l+t,y:a?d+p-(u?this.height:0)+l:c+p};h(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var d=this.chart.hasRendered&&l(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new D(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,c=this.ticks,k=this.chart.hasRendered&&l(this.oldMin);if(!b||a>=this.min&&a<=this.max)c[a]||(c[a]=new D(this,a)),k&&c[a].isNew&&c[a].render(d,!0,-1),c[a].render(d)},render:function(){var d=this,b=d.chart,c=d.options,k=d.isLog,e=d.isLinked,t=d.tickPositions,p=d.axisTitle,f=d.ticks,r=d.minorTicks,G=d.alternateBands,g=c.stackLabels,n=c.alternateGridColor,F=d.tickmarkOffset,B=d.axisLine,m=d.showAxis,v=A(b.renderer.globalAnimation),x,z;d.labelEdge.length=0;d.overlap=!1;[f,r,G].forEach(function(a){w(a,
        function(a){a.isActive=!1})});if(d.hasData()||e)d.minorTickInterval&&!d.categories&&d.getMinorTickPositions().forEach(function(a){d.renderMinorTick(a)}),t.length&&(t.forEach(function(a,b){d.renderTick(a,b)}),F&&(0===d.min||d.single)&&(f[-1]||(f[-1]=new D(d,-1,null,!0)),f[-1].render(-1))),n&&t.forEach(function(c,e){z=void 0!==t[e+1]?t[e+1]+F:d.max-F;0===e%2&&c<d.max&&z<=d.max+(b.polar?-F:F)&&(G[c]||(G[c]=new a.PlotLineOrBand(d)),x=c+F,G[c].options={from:k?d.lin2log(x):x,to:k?d.lin2log(z):z,color:n},
        G[c].render(),G[c].isActive=!0)}),d._addedPlotLB||((c.plotLines||[]).concat(c.plotBands||[]).forEach(function(a){d.addPlotBandOrLine(a)}),d._addedPlotLB=!0);[f,r,G].forEach(function(a){var d,c=[],k=v.duration;w(a,function(a,d){a.isActive||(a.render(d,!1,0),a.isActive=!1,c.push(d))});u(function(){for(d=c.length;d--;)a[c[d]]&&!a[c[d]].isActive&&(a[c[d]].destroy(),delete a[c[d]])},a!==G&&b.hasRendered&&k?k:0)});B&&(B[B.isPlaced?"animate":"attr"]({d:this.getLinePath(B.strokeWidth())}),B.isPlaced=!0,B[m?
        "show":"hide"](!0));p&&m&&(c=d.getTitlePosition(),l(c.y)?(p[p.isNew?"attr":"animate"](c),p.isNew=!1):(p.attr("y",-9999),p.isNew=!0));g&&g.enabled&&d.renderStackTotals();d.isDirty=!1;h(this,"afterRender")},redraw:function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var d=this,b=d.stacks,c=d.plotLinesAndBands,k;h(this,"destroy",
        {keepEvents:a});a||p(d);w(b,function(a,d){n(a);b[d]=null});[d.ticks,d.minorTicks,d.alternateBands].forEach(function(a){n(a)});if(c)for(a=c.length;a--;)c[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){d[a]&&(d[a]=d[a].destroy())});for(k in d.plotLinesAndBandsGroups)d.plotLinesAndBandsGroups[k]=d.plotLinesAndBandsGroups[k].destroy();w(d,function(a,b){-1===d.keepProps.indexOf(b)&&delete d[b]})},drawCrosshair:function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           d){var b,c=this.crosshair,k=B(c.snap,!0),e,u=this.cross;h(this,"drawCrosshair",{e:a,point:d});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(y(d)||!k)){k?y(d)&&(e=B(d.crosshairPos,this.isXAxis?d.plotX:this.len-d.plotY)):e=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);y(e)&&(b=this.getPlotLinePath({value:d&&(this.isXAxis?d.x:B(d.stackY,d.y)),translatedValue:e})||null);if(!y(b)){this.hideCrosshair();return}k=this.categories&&!this.isRadial;u||(this.cross=u=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
        (k?"category ":"thin ")+c.className).attr({zIndex:B(c.zIndex,2)}).add(),this.chart.styledMode||(u.attr({stroke:c.color||(k?g("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":B(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&u.attr({dashstyle:c.dashStyle})));u.show().attr({d:b});k&&!c.width&&u.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:a,point:d})},hideCrosshair:function(){this.cross&&this.cross.hide();h(this,"afterHideCrosshair")}});
    return a.Axis=G});I(H,"parts/DateTimeAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.getMagnitude,E=a.normalizeTickInterval,m=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};C.prototype.normalizeTimeTickInterval=function(a,v){var g=v||[["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]];v=g[g.length-1];var y=m[v[0]],z=v[1],n;for(n=0;n<g.length&&!(v=g[n],y=m[v[0]],z=v[1],g[n+1]&&a<=(y*z[z.length-1]+m[g[n+1][0]])/2);n++);y===m.year&&a<5*y&&(z=[1,2,5]);a=E(a/y,z,"year"===v[0]?Math.max(A(a/y),1):1);return{unitRange:y,count:a,unitName:v[0]}}});I(H,"parts/LogarithmicAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.getMagnitude,E=a.normalizeTickInterval,m=a.pick;C.prototype.getLogTickPositions=function(a,v,x,y){var g=this.options,n=this.len,f=[];y||(this._minorAutoInterval=
    null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,v,x);else if(.08<=a)for(var n=Math.floor(v),h,r,e,b,l,g=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];n<x+1&&!l;n++)for(r=g.length,h=0;h<r&&!l;h++)e=this.log2lin(this.lin2log(n)*g[h]),e>v&&(!y||b<=x)&&void 0!==b&&f.push(b),b>x&&(l=!0),b=e;else v=this.lin2log(v),x=this.lin2log(x),a=y?this.getMinorTickInterval():g.tickInterval,a=m("auto"===a?null:a,this._minorAutoInterval,g.tickPixelInterval/(y?5:1)*(x-v)/((y?n/this.tickPositions.length:
    n)||1)),a=E(a,null,A(a)),f=this.getLinearTickPositions(a,v,x).map(this.log2lin),y||(this._minorAutoInterval=a/5);y||(this.tickInterval=a);return f};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}});I(H,"parts/PlotLineOrBand.js",[H["parts/Globals.js"],H["parts/Axis.js"]],function(a,C){var A=a.arrayMax,E=a.arrayMin,m=a.defined,g=a.destroyObjectProperties,v=a.erase,x=a.merge,y=a.pick;a.PlotLineOrBand=function(a,n){this.axis=a;n&&(this.options=
    n,this.id=n.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var g=this,n=g.axis,f=n.horiz,h=g.options,r=h.label,e=g.label,b=h.to,l=h.from,c=h.value,t=m(l)&&m(b),F=m(c),w=g.svgElem,B=!w,p=[],d=h.color,k=y(h.zIndex,0),u=h.events,p={"class":"highcharts-plot-"+(t?"band ":"line ")+(h.className||"")},D={},G=n.chart.renderer,q=t?"bands":"lines";n.isLog&&(l=n.log2lin(l),b=n.log2lin(b),c=n.log2lin(c));n.chart.styledMode||(F?(p.stroke=d,p["stroke-width"]=h.width,h.dashStyle&&(p.dashstyle=
        h.dashStyle)):t&&(d&&(p.fill=d),h.borderWidth&&(p.stroke=h.borderColor,p["stroke-width"]=h.borderWidth)));D.zIndex=k;q+="-"+k;(d=n.plotLinesAndBandsGroups[q])||(n.plotLinesAndBandsGroups[q]=d=G.g("plot-"+q).attr(D).add());B&&(g.svgElem=w=G.path().attr(p).add(d));if(F)p=n.getPlotLinePath({value:c,lineWidth:w.strokeWidth(),acrossPanes:h.acrossPanes});else if(t)p=n.getPlotBandPath(l,b,h);else return;(B||!w.d)&&p&&p.length?(w.attr({d:p}),u&&a.objectEach(u,function(a,d){w.on(d,function(a){u[d].apply(g,
        [a])})})):w&&(p?(w.show(!0),w.animate({d:p})):w.d&&(w.hide(),e&&(g.label=e=e.destroy())));r&&m(r.text)&&p&&p.length&&0<n.width&&0<n.height&&!p.isFlat?(r=x({align:f&&t&&"center",x:f?!t&&4:10,verticalAlign:!f&&t&&"middle",y:f?t?16:10:t?6:-4,rotation:f&&!t&&90},r),this.renderLabel(r,p,t,k)):e&&e.hide();return g},renderLabel:function(a,g,f,h){var r=this.label,e=this.axis.chart.renderer;r||(r={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||
            "")},r.zIndex=h,this.label=r=e.text(a.text,0,0,a.useHTML).attr(r).add(),this.axis.chart.styledMode||r.css(a.style));h=g.xBounds||[g[1],g[4],f?g[6]:g[1]];g=g.yBounds||[g[2],g[5],f?g[7]:g[2]];f=E(h);e=E(g);r.align(a,!1,{x:f,y:e,width:A(h)-f,height:A(g)-e});r.show(!0)},destroy:function(){v(this.axis.plotLinesAndBands,this);delete this.axis;g(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,g){var f=this.getPlotLinePath({value:g,force:!0,acrossPanes:this.options.acrossPanes}),h=this.getPlotLinePath({value:a,
        force:!0,acrossPanes:this.options.acrossPanes}),r=[],e=this.horiz,b=1,l;a=a<this.min&&g<this.min||a>this.max&&g>this.max;if(h&&f)for(a&&(l=h.toString()===f.toString(),b=0),a=0;a<h.length;a+=6)e&&f[a+1]===h[a+1]?(f[a+1]+=b,f[a+4]+=b):e||f[a+2]!==h[a+2]||(f[a+2]+=b,f[a+5]+=b),r.push("M",h[a+1],h[a+2],"L",h[a+4],h[a+5],f[a+4],f[a+5],f[a+1],f[a+2],"z"),r.isFlat=l;return r},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},
    addPlotBandOrLine:function(g,n){var f=(new a.PlotLineOrBand(this,g)).render(),h=this.userOptions;f&&(n&&(h[n]=h[n]||[],h[n].push(g)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var g=this.plotLinesAndBands,f=this.options,h=this.userOptions,r=g.length;r--;)g[r].id===a&&g[r].destroy();[f.plotLines||[],h.plotLines||[],f.plotBands||[],h.plotBands||[]].forEach(function(e){for(r=e.length;r--;)e[r].id===a&&v(e,e[r])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},
    removePlotLine:function(a){this.removePlotBandOrLine(a)}})});I(H,"parts/Tooltip.js",[H["parts/Globals.js"]],function(a){var C=a.doc,A=a.extend,E=a.format,m=a.isNumber,g=a.merge,v=a.pick,x=a.splat,y=a.syncTimeout,z=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,f){this.chart=a;this.options=f;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=f.split&&!a.inverted;this.shared=f.shared||this.split;this.outside=v(f.outside,!(!a.scrollablePixelsX&&
        !a.scrollablePixelsY))&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(f){var h=f&&f.tt;h&&(!h.isActive||a?f.tt=h.destroy():h.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 g=this,f=this.chart.renderer,h=this.chart.styledMode,r=this.options,e,b;this.label||(this.outside&&(this.container=e=a.doc.createElement("div"),e.className="highcharts-tooltip-container",a.css(e,{position:"absolute",top:"1px",pointerEvents:r.style&&r.style.pointerEvents,zIndex:3}),a.doc.body.appendChild(e),
        this.renderer=f=new a.Renderer(e,0,0)),this.split?this.label=f.g("tooltip"):(this.label=f.label("",0,0,r.shape||"callout",null,null,r.useHTML,null,"tooltip").attr({padding:r.padding,r:r.borderRadius}),h||this.label.attr({fill:r.backgroundColor,"stroke-width":r.borderWidth}).css(r.style).shadow(r.shadow)),h&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(b={x:this.label.xSetter,y:this.label.ySetter},this.label.xSetter=function(a,c){b[c].call(this.label,
        g.distance);e.style.left=a+"px"},this.label.ySetter=function(a,c){b[c].call(this.label,g.distance);e.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();g(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,g(!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());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));
        a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(g,f,h,r){var e=this,b=e.now,l=!1!==e.options.animation&&!e.isHidden&&(1<Math.abs(g-b.x)||1<Math.abs(f-b.y)),c=e.followPointer||1<e.len;A(b,{x:l?(2*b.x+g)/3:g,y:l?(b.y+f)/2:f,anchorX:c?void 0:l?(2*b.anchorX+h)/3:h,anchorY:c?void 0:l?(b.anchorY+r)/2:r});e.getLabel().attr(b);l&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(g,f,h,r)},32))},hide:function(g){var f=this;a.clearTimeout(this.hideTimer);
        g=v(g,this.options.hideDelay,500);this.isHidden||(this.hideTimer=y(function(){f.getLabel()[g?"fadeOut":"hide"]();f.isHidden=!0},g))},getAnchor:function(a,f){var h=this.chart,r=h.pointer,e=h.inverted,b=h.plotTop,l=h.plotLeft,c=0,t=0,g,w;a=x(a);this.followPointer&&f?(void 0===f.chartX&&(f=r.normalize(f)),a=[f.chartX-h.plotLeft,f.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){g=a.series.yAxis;w=a.series.xAxis;c+=a.plotX+(!e&&w?w.left-l:0);t+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+
        (!e&&g?g.top-b:0)}),c/=a.length,t/=a.length,a=[e?h.plotWidth-t:c,this.shared&&!e&&1<a.length&&f?f.chartY-b:e?h.plotHeight-c:t]);return a.map(Math.round)},getPosition:function(a,f,h){var r=this.chart,e=this.distance,b={},l=r.inverted&&h.h||0,c,t=this.outside,g=t?C.documentElement.clientWidth-2*e:r.chartWidth,w=t?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,C.documentElement.clientHeight):r.chartHeight,n=r.pointer.chartPosition,p=["y",
            w,f,(t?n.top-e:0)+h.plotY+r.plotTop,t?0:r.plotTop,t?w:r.plotTop+r.plotHeight],d=["x",g,a,(t?n.left-e:0)+h.plotX+r.plotLeft,t?0:r.plotLeft,t?g:r.plotLeft+r.plotWidth],k=!this.followPointer&&v(h.ttBelow,!r.inverted===!!h.negative),u=function(a,d,c,u,q,t){var p=c<u-e,h=u+e+c<d,f=u-e-c;u+=e;if(k&&h)b[a]=u;else if(!k&&p)b[a]=f;else if(p)b[a]=Math.min(t-c,0>f-l?f:f-l);else if(h)b[a]=Math.max(q,u+l+c>d?u:u+l);else return!1},D=function(a,d,c,k){var u;k<e||k>d-e?u=!1:b[a]=k<c/2?1:k>d-c/2?d-c-2:k-c/2;return u},
        G=function(a){var b=p;p=d;d=b;c=a},q=function(){!1!==u.apply(0,p)?!1!==D.apply(0,d)||c||(G(!0),q()):c?b.x=b.y=0:(G(!0),q())};(r.inverted||1<this.len)&&G();q();return b},defaultFormatter:function(a){var f=this.points||x(this),h;h=[a.tooltipFooterHeaderFormatter(f[0])];h=h.concat(a.bodyFormatter(f));h.push(a.tooltipFooterHeaderFormatter(f[0],!0));return h},refresh:function(g,f){var h=this.chart,r=this.options,e,b=g,l,c={},t,n=[];t=r.formatter||this.defaultFormatter;var c=this.shared,w=h.styledMode,
        B=[];r.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=x(b)[0].series.tooltipOptions.followPointer,l=this.getAnchor(b,f),f=l[0],e=l[1],!c||b.series&&b.series.noSharedTooltip?c=b.getLabelConfig():(B=h.pointer.getActiveSeries(b),h.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===B.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");n.push(a.getLabelConfig())}),c={x:b[0].category,y:b[0].y},c.points=n,b=b[0]),this.len=n.length,t=t.call(c,this),
        c=b.series,this.distance=v(c.tooltipOptions.distance,16),!1===t?this.hide():(h=this.getLabel(),this.isHidden&&h.attr({opacity:1}).show(),this.split?this.renderSplit(t,x(g)):(r.style.width&&!w||h.css({width:this.chart.spacingBox.width}),h.attr({text:t&&t.join?t.join(""):t}),h.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+v(b.colorIndex,c.colorIndex)),w||h.attr({stroke:r.borderColor||b.color||c.color||"#666666"}),this.updatePosition({plotX:f,plotY:e,negative:b.negative,ttBelow:b.ttBelow,
        h:l[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(g,f){var h=this,r=[],e=this.chart,b=e.renderer,l=!0,c=this.options,t=0,n,w=this.getLabel(),B=e.plotTop;a.isString(g)&&(g=[!1,g]);g.slice(0,f.length+1).forEach(function(a,d){if(!1!==a&&""!==a){d=f[d-1]||{isHeader:!0,plotX:f[0].plotX,plotY:e.plotHeight};var k=d.series||h,u=k.tt,p=d.series||{},g="highcharts-color-"+v(d.colorIndex,p.colorIndex,"none");u||(u={padding:c.padding,r:c.borderRadius},e.styledMode||(u.fill=c.backgroundColor,
        u["stroke-width"]=c.borderWidth),k.tt=u=b.label(null,null,null,(d.isHeader?c.headerShape:c.shape)||"callout",null,null,c.useHTML).addClass("highcharts-tooltip-box "+g).attr(u).add(w));u.isActive=!0;u.attr({text:a});e.styledMode||u.css(c.style).shadow(c.shadow).attr({stroke:c.borderColor||d.color||p.color||"#333333"});a=u.getBBox();p=a.width+u.strokeWidth();d.isHeader?(t=a.height,e.xAxis[0].opposite&&(n=!0,B-=t),p=Math.max(0,Math.min(d.plotX+e.plotLeft-p/2,e.chartWidth+(e.scrollablePixelsX?e.scrollablePixelsX-
        e.marginRight:0)-p))):p=d.plotX+e.plotLeft-v(c.distance,16)-p;0>p&&(l=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=B;d.isHeader&&(a=n?-t:e.plotHeight+t);r.push({target:a,rank:d.isHeader?1:0,size:k.tt.getBBox().height+1,point:d,x:p,tt:u})}});this.cleanSplit();c.positioner&&r.forEach(function(a){var d=c.positioner.call(h,a.tt.getBBox().width,a.size,a.point);a.x=d.x;a.align=0;a.target=d.y;a.rank=v(d.rank,a.rank)});a.distribute(r,e.plotHeight+t);r.forEach(function(a){var d=a.point,
        b=d.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:l||d.isHeader||c.positioner?a.x:d.plotX+e.plotLeft+h.distance,y:a.pos+B,anchorX:d.isHeader?d.plotX+e.plotLeft:d.plotX+b.xAxis.pos,anchorY:d.isHeader?e.plotTop+e.plotHeight/2:d.plotY+b.yAxis.pos})})},updatePosition:function(a){var f=this.chart,h=this.getLabel(),r=(this.options.positioner||this.getPosition).call(this,h.width,h.height,a),e=a.plotX+f.plotLeft;a=a.plotY+f.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*
        this.distance,this.renderer.setSize(h.width+b,h.height+b,!1),e+=f.pointer.chartPosition.left-r.x,a+=f.pointer.chartPosition.top-r.y);this.move(Math.round(r.x),Math.round(r.y||0),e,a)},getDateFormat:function(a,f,h,r){var e=this.chart.time,b=e.dateFormat("%m-%d %H:%M:%S.%L",f),l,c,t={millisecond:15,second:12,minute:9,hour:6,day:3},g="millisecond";for(c in z){if(a===z.week&&+e.dateFormat("%w",f)===h&&"00:00:00.000"===b.substr(6)){c="week";break}if(z[c]>a){c=g;break}if(t[c]&&b.substr(t[c])!=="01-01 00:00:00.000".substr(t[c]))break;
        "week"!==c&&(g=c)}c&&(l=e.resolveDTLFormat(r[c]).main);return l},getXDateFormat:function(a,f,h){f=f.dateTimeLabelFormats;var r=h&&h.closestPointRange;return(r?this.getDateFormat(r,a.x,h.options.startOfWeek,f):f.day)||f.year},tooltipFooterHeaderFormatter:function(g,f){var h=f?"footer":"header",r=g.series,e=r.tooltipOptions,b=e.xDateFormat,l=r.xAxis,c=l&&"datetime"===l.options.type&&m(g.key),t=e[h+"Format"];f={isFooter:f,labelConfig:g};a.fireEvent(this,"headerFormatter",f,function(a){c&&!b&&(b=this.getXDateFormat(g,
        e,l));c&&b&&(g.point&&g.point.tooltipDateKeys||["key"]).forEach(function(a){t=t.replace("{point."+a+"}","{point."+a+":"+b+"}")});r.chart.styledMode&&(t=this.styledModeFormat(t));a.text=E(t,{point:g,series:r},this.chart.time)});return f.text},bodyFormatter:function(a){return a.map(function(a){var h=a.series.tooltipOptions;return(h[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,h[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"',
        'class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});I(H,"parts/Pointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.attr,E=a.charts,m=a.color,g=a.css,v=a.defined,x=a.extend,y=a.find,z=a.fireEvent,n=a.isNumber,f=a.isObject,h=a.offset,r=a.pick,e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=c.chart.events&&
        !!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,c.tooltip),this.followTouchMove=r(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,e=b.options.chart,l=e.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(l=r(e.pinchType,l));this.zoomX=a=/x/.test(l);this.zoomY=l=/y/.test(l);this.zoomHor=a&&!b||l&&b;this.zoomVert=l&&!b||a&&b;this.hasZoom=a||l},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:
        a;b||(this.chartPosition=b=h(this.chart.container));return x(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,e){var c;a.forEach(function(a){var l=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,l);if((l=f(a,!0))&&!(l=
        !f(c,!0)))var l=c.distX-a.distX,t=c.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),l=0<(0!==l&&b?l:0!==t?t:0!==d?d:c.series.index>a.series.index?-1:1);l&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,e=c.xAxis,c=c.yAxis,l=r(a.clientX,a.plotX),h=a.shapeArgs;if(e&&c)return b?{chartX:e.len+e.pos-l,chartY:c.len+c.pos-a.plotY}:{chartX:l+
            e.pos,chartY:a.plotY+c.pos};if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}},getHoverData:function(a,b,e,h,w,g){var c,d=[];h=!(!h||!a);var k=b&&!b.stickyTracking?[b]:e.filter(function(a){return a.visible&&!(!w&&a.directTouch)&&r(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(c=h?a:this.findNearestKDPoint(k,w,g))&&c.series;c&&(w&&!b.noSharedTooltip?(k=e.filter(function(a){return a.visible&&!(!w&&a.directTouch)&&r(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),k.forEach(function(a){var b=
        y(a.points,function(a){return a.x===c.x&&!a.isNull});f(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),d.push(b))})):d.push(c));return{hoverPoint:c,hoverSeries:b,hoverPoints:d}},runPointActions:function(b,c){var e=this.chart,l=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,h=l?l.shared:!1,f=c||e.hoverPoint,p=f&&f.series||e.hoverSeries,p=this.getHoverData(f,p,e.series,"touchmove"!==b.type&&(!!c||p&&p.directTouch&&this.isDirectTouch),h,b),d=[],k,f=p.hoverPoint;k=p.hoverPoints;c=(p=p.hoverSeries)&&
        p.tooltipOptions.followPointer;h=h&&p&&!p.noSharedTooltip;if(f&&(f!==e.hoverPoint||l&&l.isHidden)){(e.hoverPoints||[]).forEach(function(a){-1===k.indexOf(a)&&a.setState()});if(e.hoverSeries!==p)p.onMouseOver();d=this.getActiveSeries(k);e.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===d.indexOf(a))&&a.setState("inactive",!0)});(k||[]).forEach(function(a){a.setState("hover")});e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!f.series)return;f.firePointEvent("mouseOver");e.hoverPoints=
        k;e.hoverPoint=f;l&&l.refresh(h?k:f,b)}else c&&l&&!l.isHidden&&(f=l.getAnchor([{}],b),l.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(e.container.ownerDocument,"mousemove",function(d){var b=E[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(d)}));e.axes.forEach(function(d){var c=r(d.crosshair.snap,!0),e=c?a.find(k,function(a){return a.series[d.coll]===d}):void 0;e||!c?d.drawCrosshair(b,e):d.hideCrosshair()})},getActiveSeries:function(a){var b=[],e;(a||[]).forEach(function(a){e=
        a.series;b.push(e);e.linkedParent&&b.push(e.linkedParent);e.linkedSeries&&(b=b.concat(e.linkedSeries));e.navigatorSeries&&b.push(e.navigatorSeries)});return b},reset:function(a,b){var c=this.chart,l=c.hoverSeries,h=c.hoverPoint,f=c.hoverPoints,p=c.tooltip,d=p&&p.shared?f:h;a&&d&&e(d).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(a=!1)});if(a)p&&d&&e(d).length&&(p.refresh(d),p.shared&&f?f.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,
        a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):h&&(h.setState(h.state,!0),c.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,h)})));else{if(h)h.onMouseOut();f&&f.forEach(function(a){a.setState()});if(l)l.onMouseOut();p&&p.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,e;c.series.forEach(function(l){e=a||l.getPlotBox();
        l.xAxis&&l.xAxis.zoomEnabled&&l.group&&(l.group.attr(e),l.markerGroup&&(l.markerGroup.attr(e),l.markerGroup.clip(b?c.clipRect:null)),l.dataLabelsGroup&&l.dataLabelsGroup.attr(e))});c.clipRect.attr(b||c.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,e=b.options.chart,l=a.chartX,h=a.chartY,f=this.zoomHor,p=this.zoomVert,d=b.plotLeft,k=b.plotTop,u=b.plotWidth,
        g=b.plotHeight,r,q=this.selectionMarker,n=this.mouseDownX,v=this.mouseDownY,x=e.panKey&&a[e.panKey+"Key"];q&&q.touch||(l<d?l=d:l>d+u&&(l=d+u),h<k?h=k:h>k+g&&(h=k+g),this.hasDragged=Math.sqrt(Math.pow(n-l,2)+Math.pow(v-h,2)),10<this.hasDragged&&(r=b.isInsidePlot(n-d,v-k),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&r&&!x&&!q&&(this.selectionMarker=q=b.renderer.rect(d,k,f?1:u,p?1:g,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||q.attr({fill:e.selectionMarkerFill||m("#335cad").setOpacity(.25).get()})),
    q&&f&&(l-=n,q.attr({width:Math.abs(l),x:(0<l?0:l)+n})),q&&p&&(l=h-v,q.attr({height:Math.abs(l),y:(0<l?0:l)+v})),r&&!q&&e.panning&&b.pan(a,e.panning)))},drop:function(a){var b=this,e=this.chart,l=this.hasPinched;if(this.selectionMarker){var h={originalEvent:a,xAxis:[],yAxis:[]},f=this.selectionMarker,p=f.attr?f.attr("x"):f.x,d=f.attr?f.attr("y"):f.y,k=f.attr?f.attr("width"):f.width,u=f.attr?f.attr("height"):f.height,r;if(this.hasDragged||l)e.axes.forEach(function(c){if(c.zoomEnabled&&v(c.min)&&(l||
        b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,t="touchend"===a.type?c.minPixelPadding:0,f=c.toValue((e?p:d)+t),e=c.toValue((e?p+k:d+u)-t);h[c.coll].push({axis:c,min:Math.min(f,e),max:Math.max(f,e)});r=!0}}),r&&z(e,"selection",h,function(a){e.zoom(x(a,l?{animation:!1}:null))});n(e.index)&&(this.selectionMarker=this.selectionMarker.destroy());l&&this.scaleGroups()}e&&n(e.index)&&(g(e.container,{cursor:e._cursor}),e.cancelClick=10<this.hasDragged,e.mouseIsDown=this.hasDragged=this.hasPinched=
        !1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){E[a.hoverChartIndex]&&E[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,e=this.chartPosition;a=this.normalize(a,e);!e||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=
        E[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;v(a.hoverChartIndex)&&E[a.hoverChartIndex]&&E[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.preventDefault||(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=A(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;this.isDirectTouch=!1;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=this.chart,e=b.hoverPoint,l=b.plotLeft,
        f=b.plotTop;a=this.normalize(a);b.cancelClick||(e&&this.inClass(a.target,"highcharts-tracker")?(z(e.series,"click",x(a,{point:e})),b.hoverPoint&&e.firePointEvent("click",a)):(x(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-l,a.chartY-f)&&z(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,e=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=
        C(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(e,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(e,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=
        a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,e){b[e]=null})}}});I(H,"parts/TouchPointer.js",[H["parts/Globals.js"]],function(a){var C=a.charts,A=a.extend,E=a.noop,m=a.pick;A(a.Pointer.prototype,{pinchTranslate:function(a,m,x,y,z,n){this.zoomHor&&this.pinchTranslateDirection(!0,a,m,x,y,z,n);this.zoomVert&&this.pinchTranslateDirection(!1,a,m,x,y,z,n)},pinchTranslateDirection:function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  m,x,y,z,n,f,h){var r=this.chart,e=a?"x":"y",b=a?"X":"Y",l="chart"+b,c=a?"width":"height",t=r["plot"+(a?"Left":"Top")],g,w,B=h||1,p=r.inverted,d=r.bounds[a?"h":"v"],k=1===m.length,u=m[0][l],D=x[0][l],G=!k&&m[1][l],q=!k&&x[1][l],K;x=function(){!k&&20<Math.abs(u-G)&&(B=h||Math.abs(D-q)/Math.abs(u-G));w=(t-D)/B+u;g=r["plot"+(a?"Width":"Height")]/B};x();m=w;m<d.min?(m=d.min,K=!0):m+g>d.max&&(m=d.max-g,K=!0);K?(D-=.8*(D-f[e][0]),k||(q-=.8*(q-f[e][1])),x()):f[e]=[D,q];p||(n[e]=w-t,n[c]=g);n=p?1/B:B;z[c]=
        g;z[e]=m;y[p?a?"scaleY":"scaleX":"scale"+b]=B;y["translate"+b]=n*t+(D-n*u)},pinch:function(a){var g=this,x=g.chart,y=g.pinchDown,z=a.touches,n=z.length,f=g.lastValidTouch,h=g.hasZoom,r=g.selectionMarker,e={},b=1===n&&(g.inClass(a.target,"highcharts-tracker")&&x.runTrackerClick||g.runChartClick),l={};1<n&&(g.initiated=!0);h&&g.initiated&&!b&&a.preventDefault();[].map.call(z,function(a){return g.normalize(a)});"touchstart"===a.type?([].forEach.call(z,function(a,b){y[b]={chartX:a.chartX,chartY:a.chartY}}),
        f.x=[y[0].chartX,y[1]&&y[1].chartX],f.y=[y[0].chartY,y[1]&&y[1].chartY],x.axes.forEach(function(a){if(a.zoomEnabled){var b=x.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(Math.min(m(a.options.min,a.dataMin),a.dataMin)),l=a.toPixels(Math.max(m(a.options.max,a.dataMax),a.dataMax)),p=Math.max(e,l);b.min=Math.min(a.pos,Math.min(e,l)-c);b.max=Math.max(a.pos+a.len,p+c)}}),g.res=!0):g.followTouchMove&&1===n?this.runPointActions(g.normalize(a)):y.length&&(r||(g.selectionMarker=r=A({destroy:E,touch:!0},
        x.plotBox)),g.pinchTranslate(y,z,e,r,l,f),g.hasPinched=h,g.scaleGroups(e,l),g.res&&(g.res=!1,this.reset(!1,0)))},touch:function(g,v){var x=this.chart,y,z;if(x.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=x.index;1===g.touches.length?(g=this.normalize(g),(z=x.isInsidePlot(g.chartX-x.plotLeft,g.chartY-x.plotTop))&&!x.openMenu?(v&&this.runPointActions(g),"touchmove"===g.type&&(v=this.pinchDown,y=v[0]?4<=Math.sqrt(Math.pow(v[0].chartX-g.chartX,2)+Math.pow(v[0].chartY-
        g.chartY,2)):!1),m(y,!0)&&this.pinch(g)):v&&this.reset()):2===g.touches.length&&this.pinch(g)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(g)}})});I(H,"parts/MSPointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.charts,E=a.css,m=a.doc,g=a.extend,v=a.noop,x=a.Pointer,y=a.removeEvent,z=a.win,n=a.wrap;if(!a.hasTouch&&(z.PointerEvent||
    z.MSPointerEvent)){var f={},h=!!z.PointerEvent,r=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(f,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},e=function(b,e,c,f){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||(f(b),f=A[a.hoverChartIndex].pointer,f[e]({type:c,target:b.currentTarget,preventDefault:v,touches:r()}))};g(x.prototype,{onContainerPointerDown:function(a){e(a,"onContainerTouchStart","touchstart",
        function(a){f[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){e(a,"onContainerTouchMove","touchmove",function(a){f[a.pointerId]={pageX:a.pageX,pageY:a.pageY};f[a.pointerId].target||(f[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){e(a,"onDocumentTouchEnd","touchend",function(a){delete f[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,h?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,
        h?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(m,h?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});n(x.prototype,"init",function(a,e,c){a.call(this,e,c);this.hasZoom&&E(e.container,{"-ms-touch-action":"none","touch-action":"none"})});n(x.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});n(x.prototype,"destroy",function(a){this.batchMSEvents(y);a.call(this)})}});I(H,"parts/Legend.js",[H["parts/Globals.js"]],function(a){var C=
    a.addEvent,A=a.css,E=a.discardElement,m=a.defined,g=a.fireEvent,v=a.isFirefox,x=a.marginNames,y=a.merge,z=a.pick,n=a.setAnimation,f=a.stableSort,h=a.win,r=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
        this.unchartrender())},setOptions:function(a){var b=z(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=y(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=z(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var e=this.chart;this.setOptions(y(!0,this.options,a));this.destroy();e.isDirtyLegend=e.isDirtyBox=!0;
        z(b,!0)&&e.redraw();g(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var e=this.options,c=a.legendItem,f=a.legendLine,h=a.legendSymbol,r=this.itemHiddenStyle.color,e=b?e.itemStyle.color:r,n=b?a.color||r:r,p=a.options&&a.options.marker,d={fill:n};c&&c.css({fill:e,color:e});f&&f.attr({stroke:n});h&&(p&&h.isMarker&&(d=a.pointAttribs(),b||(d.stroke=d.fill=r)),h.attr(d))}g(this,"afterColorizeItem",{item:a,
        visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,e=b.symbolPadding,b=!b.rtl,c=a._legendItemPos,f=c[0],c=c[1],h=a.checkbox;if((a=a.legendGroup)&&a.element)a[m(a.translateY)?"animate":"attr"]({translateX:b?f:this.legendWidth-f-2*e-4,translateY:c});h&&(h.x=f,h.y=c)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(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())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,f=this.clipHeight||this.legendHeight,c=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(e){var h=e.checkbox,l;h&&(l=b+c+h.y+(this.scrollOffset||
        0)+3,A(h,{left:a.translateX+e.checkboxOffset+h.x-20+"px",top:l+"px",display:this.proximate||l>b-6&&l<b+f-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,f=a.title,c=0;f.text&&(this.title||(this.title=this.chart.renderer.label(f.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(f.style),this.title.add(this.group)),f.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),c=a.height,
        this.offsetWidth=a.width,this.contentGroup.attr({translateY:c}));this.titleHeight=c},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},renderItem:function(a){var b=this.chart,e=b.renderer,c=this.options,f=this.symbolWidth,h=c.symbolPadding,r=this.itemStyle,g=this.itemHiddenStyle,p="horizontal"===c.layout?z(c.itemDistance,20):0,d=!c.rtl,k=a.legendItem,u=!a.series,D=!u&&a.series.drawLegendSymbol?a.series:
        a,G=D.options,G=this.createCheckboxForItem&&G&&G.showCheckbox,p=f+h+p+(G?20:0),q=c.useHTML,n=a.options.className;k||(a.legendGroup=e.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+a.colorIndex+(n?" "+n:"")+(u?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=k=e.text("",d?f+h:-h,this.baseline||0,q),b.styledMode||k.css(y(a.visible?r:g)),k.attr({align:d?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=e.fontMetrics(b.styledMode?
        12:r.fontSize,k),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,k.attr("y",this.baseline)),this.symbolHeight=c.symbolHeight||this.fontMetrics.f,D.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,k,q));G&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&r.width||k.css({width:(c.itemWidth||this.widthOption||b.spacingBox.width)-p});this.setText(a);b=k.getBBox();a.itemWidth=a.checkboxOffset=c.itemWidth||a.legendItemWidth||b.width+p;this.maxItemWidth=
        Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,e=this.padding,c="horizontal"===b.layout,f=a.itemHeight,h=b.itemMarginBottom||0,r=this.itemMarginTop,g=c?z(b.itemDistance,20):0,p=this.maxLegendWidth,b=b.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:a.itemWidth;c&&this.itemX-e+b>p&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=r+this.lastLineHeight+
        h),this.lastLineHeight=0);this.lastItemY=r+this.itemY+h;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];c?this.itemX+=b:(this.itemY+=r+f+h,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((c?this.itemX-e-(a.checkbox?0:g):b)+e,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var e=b&&b.options;b&&z(e.showInLegend,m(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===e.legendType?b.data:
        b)))});g(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var e=this.chart,c=this.options,f=this.getAlignment(),h=void 0!==e.options.title.margin?e.titleOffset+e.options.title.margin:0;f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(l,t){l.test(f)&&!m(a[t])&&(e[x[t]]=Math.max(e[x[t]],
        e.legend[(t+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][t]*c[t%2?"x":"y"]+z(c.margin,12)+b[t]+(0===t&&(0===e.titleOffset?0:h))))})},proximatePositions:function(){var e=this.chart,b=[],f="left"===this.options.align;this.allItems.forEach(function(c){var h,l;l=f;var r;c.yAxis&&c.points&&(c.xAxis.options.reversed&&(l=!l),h=a.find(l?c.points:c.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),l=c.legendGroup.getBBox().height,r=c.yAxis.top-e.plotTop,c.visible?(h=h?h.plotY:c.yAxis.height,
        h+=r-.3*l):h=r+c.yAxis.height,b.push({target:h,size:l,item:c}))},this);a.distribute(b,e.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var e=this.chart,b=e.renderer,h=this.group,c,t,r,w=this.box,n=this.options,p=this.padding;this.itemX=p;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(n.width,e.spacingBox.width-p);c=e.spacingBox.width-2*p-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,
        2))&&(c/=2);this.maxLegendWidth=this.widthOption||c;h||(this.group=h=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(h),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();c=this.getAllItems();f(c,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});n.reversed&&c.reverse();this.allItems=c;this.display=t=!!c.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;c.forEach(this.renderItem,
        this);c.forEach(this.layoutItem,this);c=(this.widthOption||this.offsetWidth)+p;r=this.lastItemY+this.lastLineHeight+this.titleHeight;r=this.handleOverflow(r);r+=p;w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(h),w.isNew=!0);e.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow);0<c&&0<r&&(w[w.isNew?"attr":"animate"](w.crisp.call({},{x:0,y:0,width:c,height:r},w.strokeWidth())),w.isNew=!1);
        w[t?"show":"hide"]();e.styledMode&&"none"===h.getStyle("display")&&(c=r=0);this.legendWidth=c;this.legendHeight=r;t&&(b=e.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(w=b.y+e.titleOffset,b=y(b,{y:0<e.titleOffset?w+=e.options.title.margin:w})),h.align(y(n,{width:c,height:r,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,b));this.proximate||this.positionItems();g(this,"afterRender")},handleOverflow:function(a){var b=this,e=this.chart,c=e.renderer,h=this.options,f=h.y,r=this.padding,
        f=e.spacingBox.height+("top"===h.verticalAlign?-f:f)-r,g=h.maxHeight,p,d=this.clipRect,k=h.navigation,u=z(k.animation,!0),D=k.arrowSize||12,G=this.nav,q=this.pages,n,m=this.allItems,v=function(a){"number"===typeof a?d.attr({height:a}):d&&(b.clipRect=d.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+r+"px,9999px,"+(r+a)+"px,0)":"auto")},L=function(a){b[a]=c.circle(0,0,1.3*D).translate(D/2,D/2).add(G);e.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");
            return b[a]};"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(f/=2);g&&(f=Math.min(f,g));q.length=0;a>f&&!1!==k.enabled?(this.clipHeight=p=Math.max(f-20-this.titleHeight-r,0),this.currentPage=z(this.currentPage,1),this.fullHeight=a,m.forEach(function(a,d){var b=a._legendItemPos[1],c=Math.round(a.legendItem.getBBox().height),k=q.length;if(!k||b-q[k-1]>p&&(n||b)!==q[k-1])q.push(n||b),k++;a.pageIx=k-1;n&&(m[d-1].pageIx=k-1);d===m.length-1&&b+c-q[k-1]>p&&b!==n&&(q.push(b),a.pageIx=k);
        b!==n&&(n=b)}),d||(d=b.clipRect=c.clipRect(0,r,9999,0),b.contentGroup.clip(d)),v(p),G||(this.nav=G=c.g().attr({zIndex:1}).add(this.group),this.up=c.symbol("triangle",0,0,D,D).add(G),L("upTracker").on("click",function(){b.scroll(-1,u)}),this.pager=c.text("",15,10).addClass("highcharts-legend-navigation"),e.styledMode||this.pager.css(k.style),this.pager.add(G),this.down=c.symbol("triangle-down",0,0,D,D).add(G),L("downTracker").on("click",function(){b.scroll(1,u)})),b.scroll(0),a=f):G&&(v(),this.nav=
        G.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var e=this.pages,c=e.length,h=this.currentPage+a;a=this.clipHeight;var f=this.options.navigation,r=this.pager,g=this.padding;h>c&&(h=c);0<h&&(void 0!==b&&n(b,this.chart),this.nav.attr({translateX:g,translateY:a+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),
        r.attr({text:h+"/"+c}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":h===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===h?f.inactiveColor:f.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===c?f.inactiveColor:f.activeColor}),this.downTracker.css({cursor:h===c?"default":"pointer"})),this.scrollOffset=-e[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
        this.currentPage=h,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var e=a.symbolHeight,c=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(c?(a.symbolWidth-e)/2:0,a.baseline-e+1,c?e:a.symbolWidth,e,z(a.options.symbolRadius,e/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,e=b.marker,c=a.symbolWidth,h=a.symbolHeight,f=h/2,r=this.chart.renderer,g=this.legendGroup;a=a.baseline-Math.round(.3*
        a.fontMetrics.b);var p={};this.chart.styledMode||(p={"stroke-width":b.lineWidth||0},b.dashStyle&&(p.dashstyle=b.dashStyle));this.legendLine=r.path(["M",0,a,"L",c,a]).addClass("highcharts-graph").attr(p).add(g);e&&!1!==e.enabled&&c&&(b=Math.min(z(e.radius,f),f),0===this.symbol.indexOf("url")&&(e=y(e,{width:h,height:h}),b=0),this.legendSymbol=e=r.symbol(this.symbol,c/2-b,a-b,2*b,2*b,e).addClass("highcharts-point").add(g),e.isMarker=!0)}};(/Trident\/7\.0/.test(h.navigator&&h.navigator.userAgent)||v)&&
r(a.Legend.prototype,"positionItem",function(a,b){var e=this,c=function(){b._legendItemPos&&a.call(e,b)};c();e.bubbleLegend||setTimeout(c)})});I(H,"parts/Chart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animate,E=a.animObject,m=a.attr,g=a.doc,v=a.Axis,x=a.createElement,y=a.defaultOptions,z=a.discardElement,n=a.charts,f=a.css,h=a.defined,r=a.extend,e=a.find,b=a.fireEvent,l=a.isNumber,c=a.isObject,t=a.isString,F=a.Legend,w=a.marginNames,B=a.merge,p=a.objectEach,d=a.Pointer,k=a.pick,
    u=a.pInt,D=a.removeEvent,G=a.seriesTypes,q=a.splat,K=a.syncTimeout,N=a.win,O=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,d,b){return new O(a,d,b)};r(O.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(t(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(d,k){var e,u=d.series,q=d.plotOptions||{};b(this,"init",{args:arguments},function(){d.series=null;e=B(y,d);p(e.plotOptions,function(a,d){c(a)&&(a.tooltip=q[d]&&
        B(q[d].tooltip)||void 0)});e.tooltip.userOptions=d.chart&&d.chart.forExport&&d.tooltip.userOptions||d.tooltip;e.series=d.series=u;this.userOptions=d;var h=e.chart,f=h.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=k;this.isResizing=0;this.options=e;this.axes=[];this.series=[];this.time=d.time&&Object.keys(d.time).length?new a.Time(d.time):a.time;this.styledMode=h.styledMode;this.hasCartesianSeries=h.showAxes;var l=this;l.index=n.length;n.push(l);
        a.chartCount++;f&&p(f,function(d,b){a.isFunction(d)&&C(l,b,d)});l.xAxis=[];l.yAxis=[];l.pointCount=l.colorCounter=l.symbolCounter=0;b(l,"afterInit");l.firstRender()})},initSeries:function(d){var b=this.options.chart;(b=G[d.type||b.type||b.defaultSeriesType])||a.error(17,!0,this);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].getName())},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){b(this,"beforeRedraw");var c=this.axes,k=this.series,e=this.pointer,u=this.legend,q=this.userOptions.legend,h=this.isDirtyLegend,f,p,l=this.hasCartesianSeries,t=this.isDirtyBox,g,D=this.renderer,G=D.isHidden(),w=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(d,this);G&&this.temporaryDisplay();this.layOutTitles();for(d=k.length;d--;)if(g=k[d],g.options.stacking&&(f=!0,g.isDirty)){p=!0;break}if(p)for(d=k.length;d--;)g=k[d],g.options.stacking&&
    (g.isDirty=!0);k.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),h=!0):q&&(q.labelFormatter||q.labelFormat)&&(h=!0));a.isDirtyData&&b(a,"updatedData")});h&&u&&u.options.enabled&&(u.render(),this.isDirtyLegend=!1);f&&this.getStacks();l&&c.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();l&&(c.forEach(function(a){a.isDirty&&(t=!0)}),c.forEach(function(a){var d=a.min+","+a.max;a.extKey!==d&&(a.extKey=d,w.push(function(){b(a,"afterSetExtremes",
        r(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(t||f)&&a.redraw()}));t&&this.drawChartBox();b(this,"predraw");k.forEach(function(a){(t||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);D.draw();b(this,"redraw");b(this,"render");G&&this.temporaryDisplay(!0);w.forEach(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,k;b=e(this.axes,d)||e(this.series,d);for(k=0;!b&&k<c.length;k++)b=e(c[k].points||[],d);return b},
    getAxes:function(){var a=this,d=this.options,c=d.xAxis=q(d.xAxis||{}),d=d.yAxis=q(d.yAxis||{});b(this,"getAxes");c.forEach(function(a,d){a.index=d;a.isX=!0});d.forEach(function(a,d){a.index=d});c.concat(d).forEach(function(d){new v(a,d)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(d){a=a.concat((d[d.hasGroupedData?"points":"data"]||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},
    setTitle:function(a,d,b){var c=this,k=c.options,e=c.styledMode,u;u=k.title=B(!e&&{style:{color:"#333333",fontSize:k.isStock?"16px":"18px"}},k.title,a);k=k.subtitle=B(!e&&{style:{color:"#666666"}},k.subtitle,d);[["title",a,u],["subtitle",d,k]].forEach(function(a,d){var b=a[0],k=c[b],u=a[1];a=a[2];k&&u&&(c[b]=k=k.destroy());a&&!k&&(c[b]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),c[b].update=function(a){c.setTitle(!d&&a,d&&a)},e||c[b].css(a.style))});
        c.layOutTitles(b)},layOutTitles:function(a){var d=0,b,c=this.renderer,e=this.spacingBox;["title","subtitle"].forEach(function(a){var b=this[a],k=this.options[a];a="title"===a?-3:k.verticalAlign?0:d+2;var u;b&&(this.styledMode||(u=k.style.fontSize),u=c.fontMetrics(u,b).b,b.css({width:(k.width||e.width+k.widthAdjust)+"px"}).align(r({y:a+u},k),!1,"spacingBox"),k.floating||k.verticalAlign||(d=Math.ceil(d+b.getBBox(k.useHTML).height)))},this);b=this.titleOffset!==d;this.titleOffset=d;!this.isDirtyBox&&
    b&&(this.isDirtyBox=this.isDirtyLegend=b,this.hasRendered&&k(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var d=this.options.chart,b=d.width,d=d.height,c=this.renderTo;h(b)||(this.containerWidth=a.getStyle(c,"width"));h(d)||(this.containerHeight=a.getStyle(c,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(d,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(d){var b=this.renderTo;
        if(d)for(;b&&b.style;)b.hcOrigStyle&&(a.css(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(g.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){g.body.contains(b)||b.parentNode||(b.hcOrigDetached=!0,g.body.appendChild(b));if("none"===a.getStyle(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,height:b.style.height,overflow:b.style.overflow},d={display:"block",overflow:"hidden"},b!==this.renderTo&&(d.height=0),a.css(b,d),b.offsetWidth||
        b.style.setProperty("display","block","important");b=b.parentNode;if(b===g.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d,c=this.options,k=c.chart,e,q;d=this.renderTo;var h=a.uniqueKey(),p,D;d||(this.renderTo=d=k.renderTo);t(d)&&(this.renderTo=d=g.getElementById(d));d||a.error(13,!0,this);e=u(m(d,"data-highcharts-chart"));l(e)&&n[e]&&n[e].hasRendered&&n[e].destroy();m(d,"data-highcharts-chart",this.index);d.innerHTML="";
        k.skipClone||d.offsetWidth||this.temporaryDisplay();this.getChartSize();e=this.chartWidth;q=this.chartHeight;f(d,{overflow:"hidden"});this.styledMode||(p=r({position:"relative",overflow:"hidden",width:e+"px",height:q+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},k.style));this.container=d=x("div",{id:h},p,d);this._cursor=d.style.cursor;this.renderer=new (a[k.renderer]||a.Renderer)(d,e,q,null,k.forExport,c.exporting&&c.exporting.allowHTML,this.styledMode);
        this.setClassName(k.className);if(this.styledMode)for(D in c.defs)this.renderer.definition(c.defs[D]);else this.renderer.setStyle(k.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var d=this.spacing,c=this.margin,k=this.titleOffset;this.resetMargins();k&&!h(c[0])&&(this.plotTop=Math.max(this.plotTop,k+this.options.title.margin+d[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,d);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=
        this,d=a.axisOffset=[0,0,0,0],b=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});w.forEach(function(c,k){h(b[k])||(a[c]+=d[k])});a.setChartSize()},reflow:function(d){var b=this,c=b.options.chart,k=b.renderTo,e=h(c.width)&&h(c.height),u=c.width||a.getStyle(k,"width"),c=c.height||a.getStyle(k,"height"),k=d?d.target:N;if(!e&&!b.isPrinting&&u&&c&&(k===N||k===g)){if(u!==b.containerWidth||c!==b.containerHeight)a.clearTimeout(b.reflowTimeout),b.reflowTimeout=K(function(){b.container&&
    b.setSize(void 0,void 0,!1)},d?100:0);b.containerWidth=u;b.containerHeight=c}},setReflow:function(a){var d=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(N,"resize",function(a){d.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(d,c,k){var e=this,u=e.renderer,q;e.isResizing+=1;a.setAnimation(k,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;void 0!==d&&(e.options.chart.width=d);void 0!==c&&(e.options.chart.height=
        c);e.getChartSize();e.styledMode||(q=u.globalAnimation,(q?A:f)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},q));e.setChartSize(!0);u.setSize(e.chartWidth,e.chartHeight,k);e.axes.forEach(function(a){a.isDirty=!0;a.setScale()});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();e.redraw(k);e.oldChartHeight=null;b(e,"resize");K(function(){e&&b(e,"endResize",null,function(){--e.isResizing})},E(q).duration)},setChartSize:function(a){var d=this.inverted,c=this.renderer,
        k=this.chartWidth,e=this.chartHeight,u=this.options.chart,q=this.spacing,h=this.clipOffset,f,p,l,t;this.plotLeft=f=Math.round(this.plotLeft);this.plotTop=p=Math.round(this.plotTop);this.plotWidth=l=Math.max(0,Math.round(k-f-this.marginRight));this.plotHeight=t=Math.max(0,Math.round(e-p-this.marginBottom));this.plotSizeX=d?t:l;this.plotSizeY=d?l:t;this.plotBorderWidth=u.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:q[3],y:q[0],width:k-q[3]-q[1],height:e-q[0]-q[2]};this.plotBox=c.plotBox={x:f,
        y:p,width:l,height:t};k=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(k,h[3])/2);c=Math.ceil(Math.max(k,h[0])/2);this.clipBox={x:d,y:c,width:Math.floor(this.plotSizeX-Math.max(k,h[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(k,h[2])/2-c))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,d=a.options.chart;["margin","spacing"].forEach(function(b){var e=
        d[b],u=c(e)?e:[e,e,e,e];["Top","Right","Bottom","Left"].forEach(function(c,e){a[b][e]=k(d[b+c],u[e])})});w.forEach(function(d,b){a[d]=k(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,c=this.chartWidth,k=this.chartHeight,e=this.chartBackground,u=this.plotBackground,q=this.plotBorder,h,f=this.styledMode,p=this.plotBGImage,l=a.backgroundColor,t=a.plotBackgroundColor,r=a.plotBackgroundImage,g,D=this.plotLeft,
        G=this.plotTop,w=this.plotWidth,n=this.plotHeight,m=this.plotBox,K=this.clipRect,B=this.clipBox,F="animate";e||(this.chartBackground=e=d.rect().addClass("highcharts-background").add(),F="attr");if(f)h=g=e.strokeWidth();else{h=a.borderWidth||0;g=h+(a.shadow?8:0);l={fill:l||"none"};if(h||e["stroke-width"])l.stroke=a.borderColor,l["stroke-width"]=h;e.attr(l).shadow(a.shadow)}e[F]({x:g/2,y:g/2,width:c-g-h%2,height:k-g-h%2,r:a.borderRadius});F="animate";u||(F="attr",this.plotBackground=u=d.rect().addClass("highcharts-plot-background").add());
        u[F](m);f||(u.attr({fill:t||"none"}).shadow(a.plotShadow),r&&(p?p.animate(m):this.plotBGImage=d.image(r,D,G,w,n).add()));K?K.animate({width:B.width,height:B.height}):this.clipRect=d.clipRect(B);F="animate";q||(F="attr",this.plotBorder=q=d.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f||q.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});q[F](q.crisp({x:D,y:G,width:w,height:n},-q.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=
        this,d=a.options.chart,b,c=a.options.series,k,e;["inverted","angular","polar"].forEach(function(u){b=G[d.type||d.defaultSeriesType];e=d[u]||b&&b.prototype[u];for(k=c&&c.length;!e&&k--;)(b=G[c[k].type])&&b.prototype[u]&&(e=!0);a[u]=e})},linkSeries:function(){var a=this,d=a.series;d.forEach(function(a){a.linkedSeries.length=0});d.forEach(function(d){var b=d.options.linkedTo;t(b)&&(b=":previous"===b?a.series[d.index-1]:a.get(b))&&b.linkedParent!==d&&(b.linkedSeries.push(d),d.linkedParent=b,d.visible=
        k(d.options.visible,b.options.visible,d.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,d=a.options.labels;d.items&&d.items.forEach(function(b){var c=r(d.style,b.style),k=u(c.left)+a.plotLeft,e=u(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(b.html,k,e).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,d=this.renderer,b=this.options,c=0,k,e,u;this.setTitle();
        this.legend=new F(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return c=21,!0});k=this.plotHeight=Math.max(this.plotHeight-c,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();e=1.1<b/this.plotWidth;u=1.05<k/this.plotHeight;if(e||u)a.forEach(function(a){(a.horiz&&e||!a.horiz&&u)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&
        a.forEach(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=B(!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&&(N.location.href=a.href)}).attr({align:a.position.align,
        zIndex:8}),d.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){d.credits=d.credits.destroy();d.addCredits(a)})},destroy:function(){var d=this,c=d.axes,k=d.series,e=d.container,u,q=e&&e.parentNode;b(d,"destroy");d.renderer.forExport?a.erase(n,d):n[d.index]=void 0;a.chartCount--;d.renderTo.removeAttribute("data-highcharts-chart");D(d);for(u=c.length;u--;)c[u]=c[u].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(u=k.length;u--;)k[u]=
        k[u].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=d[a];b&&b.destroy&&(d[a]=b.destroy())});e&&(e.innerHTML="",D(e),q&&z(e));p(d,function(a,b){delete d[b]})},firstRender:function(){var c=this,k=c.options;if(!c.isReadyToRender||c.isReadyToRender()){c.getContainer();c.resetMargins();c.setChartSize();c.propFromSeries();c.getAxes();(a.isArray(k.series)?
        k.series:[]).forEach(function(a){c.initSeries(a)});c.linkSeries();b(c,"beforeRender");d&&(c.pointer=new d(c,k));c.render();if(!c.renderer.imgCount&&c.onload)c.onload();c.temporaryDisplay(!0)}},onload:function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");h(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});I(H,"parts/ScrollablePlotArea.js",[H["parts/Globals.js"]],function(a){var C=
    a.addEvent,A=a.Chart;C(A,"afterSetChartSize",function(A){var m=this.options.chart.scrollablePlotArea,g=m&&m.minWidth,m=m&&m.minHeight,v;if(!this.renderer.forExport){if(g){if(this.scrollablePixelsX=g=Math.max(0,g-this.chartWidth))this.plotWidth+=g,this.inverted?this.clipBox.height+=g:this.clipBox.width+=g,v={1:{name:"right",value:g}}}else m&&(this.scrollablePixelsY=g=Math.max(0,m-this.chartHeight))&&(this.plotHeight+=g,this.inverted?this.clipBox.width+=g:this.clipBox.height+=g,v={2:{name:"bottom",
        value:g}});v&&!A.skipAxes&&this.axes.forEach(function(g){v[g.side]?g.getPlotLinePath=function(){var m=v[g.side].name,x=this[m],n;this[m]=x-v[g.side].value;n=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this[m]=x;return n}:(g.setAxisSize(),g.setAxisTranslation())})}});C(A,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});A.prototype.setUpScrolling=function(){var A={WebkitOverflowScrolling:"touch",
    overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(A.overflowX="auto");this.scrollablePixelsY&&(A.overflowY="auto");this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},A,this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};A.prototype.moveFixedElements=function(){var a=this.container,m=this.fixedRenderer,g=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-reset-zoom .highcharts-subtitle .highcharts-title .highcharts-legend-checkbox".split(" "),
    v;this.scrollablePixelsX&&!this.inverted?v=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?v=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?v=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(v=".highcharts-yaxis");g.push(v,v+"-labels");g.forEach(function(g){[].forEach.call(a.querySelectorAll(g),function(a){(a.namespaceURI===m.SVG_NS?m.box:m.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};A.prototype.applyFixed=function(){var A,m,g=!this.fixedDiv,v=
    this.options.chart.scrollablePlotArea;g?(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=A=new a.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight),this.scrollableMask=A.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(v.opacity,.85)).get(),
    zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),C(this,"afterShowResetZoom",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);A=this.chartWidth+(this.scrollablePixelsX||0);m=this.chartHeight+(this.scrollablePixelsY||0);a.stop(this.container);this.container.style.width=A+"px";this.container.style.height=m+"px";this.renderer.boxWrapper.attr({width:A,height:m,viewBox:[0,0,A,m].join(" ")});this.chartBackground.attr({width:A,height:m});
    this.scrollablePixelsY&&(this.scrollingContainer.style.height=this.chartHeight+"px");g&&(v.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*v.scrollPositionX),v.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*v.scrollPositionY));m=this.axisOffset;g=this.plotTop-m[0]-1;v=this.plotLeft-m[3]-1;A=this.plotTop+this.plotHeight+m[2]+1;m=this.plotLeft+this.plotWidth+m[1]+1;var x=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),y=this.plotTop+this.plotHeight-
        (this.scrollablePixelsY||0),g=this.scrollablePixelsX?["M",0,g,"L",this.plotLeft-1,g,"L",this.plotLeft-1,A,"L",0,A,"Z","M",x,g,"L",this.chartWidth,g,"L",this.chartWidth,A,"L",x,A,"Z"]:this.scrollablePixelsY?["M",v,0,"L",v,this.plotTop-1,"L",m,this.plotTop-1,"L",m,0,"Z","M",v,y,"L",v,this.chartHeight,"L",m,this.chartHeight,"L",m,y,"Z"]:["M",0,0];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:g})}});I(H,"parts/Point.js",[H["parts/Globals.js"]],function(a){var C,A=a.extend,E=a.erase,
    m=a.fireEvent,g=a.format,v=a.isArray,x=a.isNumber,y=a.pick,z=a.uniqueKey,n=a.defined,f=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,f,e){this.series=a;this.applyOptions(f,e);this.id=n(this.id)?this.id:z();this.resolveColor();a.chart.pointCount++;m(this,"afterInit");return this},resolveColor:function(){var a=this.series,f;f=a.chart.options.chart.colorCount;var e=a.chart.styledMode;e||this.options.color||(this.color=a.color);a.options.colorByPoint?(e||(f=a.options.colors||
        a.chart.options.colors,this.color=this.color||f[a.colorCounter],f=f.length),e=a.colorCounter,a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=y(this.colorIndex,e)},applyOptions:function(a,f){var e=this.series,b=e.options.pointValKey||e.pointValKey;a=C.prototype.optionsToObject.call(this,a);A(this,a);this.options=this.options?A(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);if(this.isNull=y(this.isValid&&
        !this.isValid(),null===this.x||!x(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===f&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===f?e.autoIncrement(this):f);return this},setNestedProperty:function(f,g,e){e.split(".").reduce(function(b,e,c,f){b[e]=f.length-1===c?g:a.isObject(b[e],!0)?b[e]:{};return b[e]},f);return f},optionsToObject:function(f){var h={},e=this.series,b=e.options.keys,l=b||e.pointArrayMap||
        ["y"],c=l.length,t=0,g=0;if(x(f)||null===f)h[l[0]]=f;else if(v(f))for(!b&&f.length>c&&(e=typeof f[0],"string"===e?h.name=f[0]:"number"===e&&(h.x=f[0]),t++);g<c;)b&&void 0===f[t]||(0<l[g].indexOf(".")?a.Point.prototype.setNestedProperty(h,f[t],l[g]):h[l[g]]=f[t]),t++,g++;else"object"===typeof f&&(h=f,f.dataLabels&&(e._hasPointLabels=!0),f.marker&&(e._hasPointMarkers=!0));return h},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,f=a.zones,a=a.zoneAxis||"y",e=0,b;for(b=f[e];this[a]>=b.value;)b=f[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},
    destroy:function(){var a=this.series.chart,g=a.hoverPoints,e;a.pointCount--;g&&(this.setState(),E(g,this),g.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)f(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(e in this)this[e]=null},destroyElements:function(a){var f=this,e=[],b,h;a=a||{graphic:1,dataLabel:1};a.graphic&&e.push("graphic","shadowGroup");a.dataLabel&&e.push("dataLabel","dataLabelUpper","connector");
        for(h=e.length;h--;)b=e[h],f[b]&&(f[b]=f[b].destroy());["dataLabel","connector"].forEach(function(b){var c=b+"s";a[b]&&f[c]&&(f[c].forEach(function(a){a.element&&a.destroy()}),delete f[c])})},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 f=this.series,e=f.tooltipOptions,b=y(e.valueDecimals,
        ""),h=e.valuePrefix||"",c=e.valueSuffix||"";f.chart.styledMode&&(a=f.chart.tooltip.styledModeFormat(a));(f.pointArrayMap||["y"]).forEach(function(e){e="{point."+e;if(h||c)a=a.replace(RegExp(e+"}","g"),h+e+"}"+c);a=a.replace(RegExp(e+"}","g"),e+":,."+b+"f}")});return g(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,f,e){var b=this,h=this.series.options;(h.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&h.allowPointSelect&&
    (e=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,f,e)},visible:!0}});I(H,"parts/Series.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animObject,E=a.arrayMax,m=a.arrayMin,g=a.correctFloat,v=a.defaultOptions,x=a.defaultPlotOptions,y=a.defined,z=a.erase,n=a.extend,f=a.fireEvent,h=a.isArray,r=a.isNumber,e=a.isString,b=a.merge,l=a.objectEach,c=a.pick,t=a.removeEvent,F=a.splat,w=a.SVGElement,B=a.syncTimeout,p=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,
    allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},
        verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},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",
    cropShoulder:1,init:function(d,b){f(this,"init",{options:b});var k=this,e,p=d.series,q;k.chart=d;k.options=b=k.setOptions(b);k.linkedSeries=[];k.bindAxes();n(k,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;l(e,function(d,b){!a.isFunction(d)||k.hcEvents&&k.hcEvents[b]&&k.hcEvents[b].some(function(a){return a.fn===d})||C(k,b,d)});if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)d.runTrackerClick=!0;k.getColor();k.getSymbol();k.parallelArrays.forEach(function(a){k[a+
    "Data"]||(k[a+"Data"]=[])});k.points||k.setData(b.data,!1);k.isCartesian&&(d.hasCartesianSeries=!0);p.length&&(q=p[p.length-1]);k._i=c(q&&q._i,-1)+1;d.orderSeries(this.insert(p));f(this,"afterInit")},insert:function(a){var d=this.options.index,b;if(r(d)){for(b=a.length;b--;)if(d>=c(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&a.unshift(this);b+=1}else a.push(this);return c(b,a.length-1)},bindAxes:function(){var d=this,b=d.options,c=d.chart,e;f(this,"bindAxes",null,function(){(d.axisTypes||
        []).forEach(function(k){c[k].forEach(function(a){e=a.options;if(b[k]===e.index||void 0!==b[k]&&b[k]===e.id||void 0===b[k]&&0===e.index)d.insert(a.series),d[k]=a,a.isDirty=!0});d[k]||d.optionalAxis===k||a.error(18,!0,c)})})},updateParallelArrays:function(a,b){var d=a.series,c=arguments,k=r(b)?function(c){var k="y"===c&&d.toYData?d.toYData(a):a[c];d[c+"Data"][b]=k}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(c,2))};d.parallelArrays.forEach(k)},hasData:function(){return this.visible&&
        void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,e,f=a.pointIntervalUnit,p=this.chart.time,b=c(b,a.pointStart,0);this.pointInterval=e=c(this.pointInterval,a.pointInterval,1);f&&(a=new p.Date(b),"day"===f?p.set("Date",a,p.get("Date",a)+e):"month"===f?p.set("Month",a,p.get("Month",a)+e):"year"===f&&p.set("FullYear",a,p.get("FullYear",a)+e),e=a.getTime()-b);this.xIncrement=b+e;return b},setOptions:function(a){var d=
        this.chart,e=d.options,p=e.plotOptions,h=d.userOptions||{};a=b(a);var d=d.styledMode,q={plotOptions:p,userOptions:a};f(this,"setOptions",q);var l=h.plotOptions||{},g=q.plotOptions[this.type];this.userOptions=q.userOptions;h=b(g,p.series,h.plotOptions&&h.plotOptions[this.type],a);this.tooltipOptions=b(v.tooltip,v.plotOptions.series&&v.plotOptions.series.tooltip,v.plotOptions[this.type].tooltip,e.tooltip.userOptions,p.series&&p.series.tooltip,p[this.type].tooltip,a.tooltip);this.stickyTracking=c(a.stickyTracking,
        l[this.type]&&l[this.type].stickyTracking,l.series&&l.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:h.stickyTracking);null===g.marker&&delete h.marker;this.zoneAxis=h.zoneAxis;e=this.zones=(h.zones||[]).slice();!h.negativeColor&&!h.negativeFillColor||h.zones||(p={value:h[this.zoneAxis+"Threshold"]||h.threshold||0,className:"highcharts-negative"},d||(p.color=h.negativeColor,p.fillColor=h.negativeFillColor),e.push(p));e.length&&y(e[e.length-1].value)&&e.push(d?{}:{color:this.color,
        fillColor:this.fillColor});f(this,"afterSetOptions",{options:h});return h},getName:function(){return c(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,e){var d,k=this.chart,u=this.userOptions,f=a+"Index",p=a+"Counter",h=e?e.length:c(k.options.chart[a+"Count"],k[a+"Count"]);b||(d=c(u[f],u["_"+f]),y(d)||(k.series.length||(k[p]=0),u["_"+f]=d=k[p]%h,k[p]+=1),e&&(b=e[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?
        this.options.color=null:this.getCyclic("color",this.options.color||x[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var d=a.id;a=a.x;var c=this.points,e,k;d&&(k=(d=this.chart.get(d))&&d.index,void 0!==k&&(e=!0));void 0===k&&r(a)&&(k=this.xData.indexOf(a,b));-1!==k&&void 0!==k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!e&&c[k]&&c[k].touched&&(k=void 0);return k},
    drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(d){var b=this.options,c=this.points,e=[],f,q,p,h=this.requireSorting,l=d.length===c.length,g=!0;this.xIncrement=null;d.forEach(function(d,k){var u,q=a.defined(d)&&this.pointClass.prototype.optionsToObject.call({series:this},d)||{};u=q.x;if(q.id||r(u))if(u=this.findPointIndex(q,p),-1===u||void 0===u?e.push(d):c[u]&&d!==b.data[u]?(c[u].update(d,!1,null,!1),c[u].touched=!0,h&&(p=u+1)):c[u]&&(c[u].touched=!0),!l||k!==u||this.hasDerivedData)f=
        !0},this);if(f)for(d=c.length;d--;)(q=c[d])&&!q.touched&&q.remove(!1);else l?d.forEach(function(a,d){c[d].update&&a!==c[d].y&&c[d].update(a,!1,null,!1)}):g=!1;c.forEach(function(a){a&&(a.touched=!1)});if(!g)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(d,b,u,f){var k=this,q=k.points,p=q&&q.length||0,l,g=k.options,t=k.chart,w=null,D=k.xAxis,n=g.turboThreshold,m=this.xData,B=this.yData,F=(l=k.pointArrayMap)&&l.length,v=g.keys,x=0,y=1,z;d=d||[];l=d.length;
        b=c(b,!0);!1!==f&&l&&p&&!k.cropped&&!k.hasGroupedData&&k.visible&&!k.isSeriesBoosting&&(z=this.updateData(d));if(!z){k.xIncrement=null;k.colorCounter=0;this.parallelArrays.forEach(function(a){k[a+"Data"].length=0});if(n&&l>n){for(u=0;null===w&&u<l;)w=d[u],u++;if(r(w))for(u=0;u<l;u++)m[u]=this.autoIncrement(),B[u]=d[u];else if(h(w))if(F)for(u=0;u<l;u++)w=d[u],m[u]=w[0],B[u]=w.slice(1,F+1);else for(v&&(x=v.indexOf("x"),y=v.indexOf("y"),x=0<=x?x:0,y=0<=y?y:1),u=0;u<l;u++)w=d[u],m[u]=w[x],B[u]=w[y];else a.error(12,
            !1,t)}else for(u=0;u<l;u++)void 0!==d[u]&&(w={series:k},k.pointClass.prototype.applyOptions.apply(w,[d[u]]),k.updateParallelArrays(w,u));B&&e(B[0])&&a.error(14,!0,t);k.data=[];k.options.data=k.userOptions.data=d;for(u=p;u--;)q[u]&&q[u].destroy&&q[u].destroy();D&&(D.minRange=D.userMinRange);k.isDirty=t.isDirtyBox=!0;k.isDirtyData=!!q;u=!1}"point"===g.legendType&&(this.processData(),this.generatePoints());b&&t.redraw(u)},processData:function(d){var b=this.xData,c=this.yData,e=b.length,f;f=0;var q,p,
        h=this.xAxis,l,g=this.options;l=g.cropThreshold;var t=this.getExtremesFromAll||g.getExtremesFromAll,r=this.isCartesian,g=h&&h.val2lin,w=h&&h.isLog,n=this.requireSorting,m,B;if(r&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!d)return!1;h&&(d=h.getExtremes(),m=d.min,B=d.max);r&&this.sorted&&!t&&(!l||e>l||this.forceCrop)&&(b[e-1]<m||b[0]>B?(b=[],c=[]):this.yData&&(b[0]<m||b[e-1]>B)&&(f=this.cropData(this.xData,this.yData,m,B),b=f.xData,c=f.yData,f=f.start,q=!0));for(l=b.length||1;--l;)e=w?g(b[l])-
        g(b[l-1]):b[l]-b[l-1],0<e&&(void 0===p||e<p)?p=e:0>e&&n&&(a.error(15,!1,this.chart),n=!1);this.cropped=q;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=p},cropData:function(a,b,e,f,p){var d=a.length,k=0,u=d,h;p=c(p,this.cropShoulder);for(h=0;h<d;h++)if(a[h]>=e){k=Math.max(0,h-p);break}for(e=h;e<d;e++)if(a[e]>f){u=e+p;break}return{xData:a.slice(k,u),yData:b.slice(k,u),start:k,end:u}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,e,p=this.processedXData,
        q=this.processedYData,h=this.pointClass,l=p.length,g=this.cropStart||0,t,r=this.hasGroupedData,a=a.keys,w,m=[],B;c||r||(c=[],c.length=b.length,c=this.data=c);a&&r&&(this.options.keys=!1);for(B=0;B<l;B++)t=g+B,r?(w=(new h).init(this,[p[B]].concat(F(q[B]))),w.dataGroup=this.groupMap[B],w.dataGroup.options&&(w.options=w.dataGroup.options,n(w,w.dataGroup.options),delete w.dataLabels)):(w=c[t])||void 0===b[t]||(c[t]=w=(new h).init(this,b[t],p[B])),w&&(w.index=t,m[B]=w);this.options.keys=a;if(c&&(l!==(e=
        c.length)||r))for(B=0;B<e;B++)B!==g||r||(B+=l),c[B]&&(c[B].destroyElements(),c[B].plotX=void 0);this.data=c;this.points=m;f(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:m(a),max:E(a)}},getExtremes:function(a){var d=this.yAxis,b=this.processedXData,c,e=[],q=0;c=this.xAxis.getExtremes();var p=c.min,l=c.max,g,t,w=this.requireSorting?this.cropShoulder:0,n,B;a=a||this.stackedYData||this.processedYData||[];c=a.length;for(B=0;B<c;B++)if(t=b[B],n=a[B],g=(r(n,!0)||h(n))&&(!d.positiveValuesOnly||
        n.length||0<n),t=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(b[B+w]||t)>=p&&(b[B-w]||t)<=l,g&&t)if(g=n.length)for(;g--;)"number"===typeof n[g]&&(e[q++]=n[g]);else e[q++]=n;this.dataMin=m(e);this.dataMax=E(e);f(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,e=this.xAxis,p=e.categories,l=this.yAxis,q=this.points,t=q.length,w=!!this.modifyValue,n,m=this.pointPlacementToXValue(),
        B=r(m),F=a.threshold,v=a.startFromThreshold?F:0,x,z,A,C,E=this.zoneAxis||"y",H=Number.MAX_VALUE;for(n=0;n<t;n++){var I=q[n],U=I.x;z=I.y;var T=I.low,X=b&&l.stacks[(this.negStacks&&z<(v?0:F)?"-":"")+this.stackKey],Y,V;l.positiveValuesOnly&&null!==z&&0>=z&&(I.isNull=!0);I.plotX=x=g(Math.min(Math.max(-1E5,e.translate(U,0,0,0,1,m,"flags"===this.type)),1E5));b&&this.visible&&!I.isNull&&X&&X[U]&&(C=this.getStackIndicator(C,U,this.index),Y=X[U],V=Y.points[C.key]);h(V)&&(T=V[0],z=V[1],T===v&&C.key===X[U].base&&
    (T=c(r(F)&&F,l.min)),l.positiveValuesOnly&&0>=T&&(T=null),I.total=I.stackTotal=Y.total,I.percentage=Y.total&&I.y/Y.total*100,I.stackY=z,Y.setOffset(this.pointXOffset||0,this.barW||0));I.yBottom=y(T)?Math.min(Math.max(-1E5,l.translate(T,0,1,0,1)),1E5):null;w&&(z=this.modifyValue(z,I));I.plotY=z="number"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,l.translate(z,0,1,0,1)),1E5):void 0;I.isInside=void 0!==z&&0<=z&&z<=l.len&&0<=x&&x<=e.len;I.clientX=B?g(e.translate(U,0,0,0,1,m)):x;I.negative=I[E]<(a[E+
    "Threshold"]||F||0);I.category=p&&void 0!==p[I.x]?p[I.x]:I.x;I.isNull||(void 0!==A&&(H=Math.min(H,Math.abs(x-A))),A=x);I.zone=this.zones.length&&I.getZone()}this.closestPointRangePx=H;f(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:c||!a.isNull})},getClipBox:function(a,b){var d=this.options,c=this.chart,e=c.inverted,k=this.xAxis,f=k&&this.yAxis;a&&!1===d.clip&&f?a=e?{y:-c.chartWidth+
            f.len+f.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+k.len+k.pos}:{y:-f.pos,height:c.chartHeight,width:c.chartWidth,x:-k.pos}:(a=this.clipBox||c.clipBox,b&&(a.width=c.plotSizeX,a.x=0));return b?{width:a.width,x:a.x}:a},setClip:function(a){var d=this.chart,b=this.options,c=d.renderer,e=d.inverted,f=this.clipBox,p=this.getClipBox(a),h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,p.height,b.xAxis,b.yAxis].join(),l=d[h],g=d[h+"m"];l||(a&&(p.width=0,e&&(p.x=d.plotSizeX+
        (!1!==b.clip?0:d.plotTop)),d[h+"m"]=g=c.clipRect(e?d.plotSizeX+99:-99,e?-d.plotLeft:-d.plotTop,99,e?d.chartWidth:d.chartHeight)),d[h]=l=c.clipRect(p),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);if(!1!==b.clip||a)this.group.clip(a||f?l:d.clipRect),this.markerGroup.clip(g),this.sharedClipKey=h;a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&d[h]&&(f||(d[h]=d[h].destroy()),d[h+"m"]&&(d[h+"m"]=d[h+"m"].destroy())))},
    animate:function(a){var d=this.chart,b=A(this.options.animation),c,e;a?this.setClip(b):(c=this.sharedClipKey,a=d[c],e=this.getClipBox(b,!0),a&&a.animate(e,b),d[c+"m"]&&d[c+"m"].animate({width:e.width+99,x:e.x-(d.inverted?0:99)},b),this.animate=null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,e,f,p,q,h,l=this.options.marker,g,t,r,w=this[this.specialGroup]||this.markerGroup;e=this.xAxis;var n,m=c(l.enabled,
        !e||e.isRadial?!0:null,this.closestPointRangePx>=l.enabledThreshold*l.radius);if(!1!==l.enabled||this._hasPointMarkers)for(e=0;e<a.length;e++)if(f=a[e],h=(q=f.graphic)?"animate":"attr",g=f.marker||{},t=!!f.marker,p=m&&void 0===g.enabled||g.enabled,r=!1!==f.isInside,p&&!f.isNull){p=c(g.symbol,this.symbol);n=this.markerAttribs(f,f.selected&&"select");q?q[r?"show":"hide"](!0).animate(n):r&&(0<n.width||f.hasImage)&&(f.graphic=q=b.renderer.symbol(p,n.x,n.y,n.width,n.height,t?g:l).add(w));if(q&&!b.styledMode)q[h](this.pointAttribs(f,
        f.selected&&"select"));q&&q.addClass(f.getClassName(),!0)}else q&&(f.graphic=q.destroy())},markerAttribs:function(a,b){var d=this.options.marker,e=a.marker||{},k=e.symbol||d.symbol,f=c(e.radius,d.radius);b&&(d=d.states[b],b=e.states&&e.states[b],f=c(b&&b.radius,d&&d.radius,f+(d&&d.radiusPlus||0)));a.hasImage=k&&0===k.indexOf("url");a.hasImage&&(f=0);a={x:Math.floor(a.plotX)-f,y:a.plotY-f};f&&(a.width=a.height=2*f);return a},pointAttribs:function(a,b){var d=this.options.marker,e=a&&a.options,k=e&&
        e.marker||{},f=this.color,p=e&&e.color,h=a&&a.color,e=c(k.lineWidth,d.lineWidth),l=a&&a.zone&&a.zone.color;a=1;f=p||l||h||f;p=k.fillColor||d.fillColor||f;f=k.lineColor||d.lineColor||f;b=b||"normal";d=d.states[b];b=k.states&&k.states[b]||{};e=c(b.lineWidth,d.lineWidth,e+c(b.lineWidthPlus,d.lineWidthPlus,0));p=b.fillColor||d.fillColor||p;f=b.lineColor||d.lineColor||f;a=c(b.opacity,d.opacity,a);return{stroke:f,"stroke-width":e,fill:p,opacity:a}},destroy:function(d){var b=this,c=b.chart,e=/AppleWebKit\/533/.test(p.navigator.userAgent),
        h,q,g=b.data||[],r,n;f(b,"destroy");d||t(b);(b.axisTypes||[]).forEach(function(a){(n=b[a])&&n.series&&(z(n.series,b),n.isDirty=n.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(q=g.length;q--;)(r=g[q])&&r.destroy&&r.destroy();b.points=null;a.clearTimeout(b.animationTimeout);l(b,function(a,d){a instanceof w&&!a.survive&&(h=e&&"group"===d?"hide":"destroy",a[h]())});c.hoverSeries===b&&(c.hoverSeries=null);z(c.series,b);c.orderSeries();l(b,function(a,c){d&&"hcEvents"===c||delete b[c]})},
    getGraphPath:function(a,b,c){var d=this,e=d.options,k=e.step,f,p=[],h=[],u;a=a||d.points;(f=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&f&&(k=4-k);!e.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(f,q){var l=f.plotX,g=f.plotY,t=a[q-1];(f.leftCliff||t&&t.rightCliff)&&!c&&(u=!0);f.isNull&&!y(b)&&0<q?u=!e.connectNulls:f.isNull&&!b?u=!0:(0===q||u?q=["M",f.plotX,f.plotY]:d.getPointSpline?q=d.getPointSpline(a,f,q):k?(q=1===k?["L",t.plotX,g]:2===k?["L",(t.plotX+l)/2,t.plotY,
        "L",(t.plotX+l)/2,g]:["L",l,t.plotY],q.push("L",l,g)):q=["L",l,g],h.push(f.x),k&&(h.push(f.x),2===k&&h.push(f.x)),p.push.apply(p,q),u=!1)});p.xMap=h;return d.graphPath=p},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode,f=[["graph","highcharts-graph"]];e||f[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);f=a.getZonesGraphs(f);f.forEach(function(d,k){var f=d[0],p=a[f],h=p?"animate":"attr";p?(p.endX=a.preventGraphAnimation?
        null:c.xMap,p.animate({d:c})):c.length&&(a[f]=p=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group));p&&!e&&(f={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?f.dashstyle=d[3]:"square"!==b.linecap&&(f["stroke-linecap"]=f["stroke-linejoin"]="round"),p[h](f).shadow(2>k&&b.shadow));p&&(p.startX=c.xMap,p.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(d,b){b=["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(d.className||
        "")];this.chart.styledMode||b.push(d.color||this.color,d.dashStyle||this.options.dashStyle);a.push(b)},this);return a},applyZones:function(){var a=this,b=this.chart,e=b.renderer,f=this.zones,p,h,l=this.clips||[],g,t=this.graph,r=this.area,w=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],m,B,F=b.inverted,v,x,y,z,A=!1;f.length&&(t||r)&&n&&void 0!==n.min?(B=n.reversed,v=n.horiz,t&&!this.showLine&&t.hide(),r&&r.hide(),m=n.getExtremes(),f.forEach(function(d,k){p=B?v?b.plotWidth:
        0:v?0:n.toPixels(m.min)||0;p=Math.min(Math.max(c(h,p),0),w);h=Math.min(Math.max(Math.round(n.toPixels(c(d.value,m.max),!0)||0),0),w);A&&(p=h=n.toPixels(m.max));x=Math.abs(p-h);y=Math.min(p,h);z=Math.max(p,h);n.isXAxis?(g={x:F?z:y,y:0,width:x,height:w},v||(g.x=b.plotHeight-g.x)):(g={x:0,y:F?z:y,width:w,height:x},v&&(g.y=b.plotWidth-g.y));F&&e.isVML&&(g=n.isXAxis?{x:0,y:B?y:z,height:g.width,width:b.chartWidth}:{x:g.y-b.plotLeft-b.spacingBox.x,y:0,width:g.height,height:b.chartHeight});l[k]?l[k].animate(g):
        l[k]=e.clipRect(g);t&&a["zone-graph-"+k].clip(l[k]);r&&a["zone-area-"+k].clip(l[k]);A=d.value>m.max;a.resetZones&&0===h&&(h=void 0)}),this.clips=l):a.visible&&(t&&t.show(!0),r&&r.show(!0))},invertGroups:function(a){function d(){["group","markerGroup"].forEach(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,e;b.xAxis&&(e=C(c,"resize",d),C(b,"destroy",e),d(a),b.invertGroups=d)},
    plotGroup:function(a,b,c,e,f){var d=this[a],k=!d;k&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(f));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(y(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[k?"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,e=a.options,p=!!a.animate&&b.renderer.isSVG&&A(e.animation).duration,h=a.visible?"inherit":"hidden",l=e.zIndex,g=a.hasRendered,t=b.seriesGroup,r=b.inverted;f(this,"render");c=a.plotGroup("group","series",h,l,t);a.markerGroup=a.plotGroup("markerGroup","markers",h,l,t);p&&a.animate(!0);c.inverted=a.isCartesian||a.invertable?r:!1;a.drawGraph&&
    (a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(r);!1===e.clip||a.sharedClipKey||g||c.clip(b.clipRect);p&&a.animate();g||(a.animationTimeout=B(function(){a.afterAnimate()},p));a.isDirty=!1;a.hasRendered=!0;f(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,e=this.group,f=this.xAxis,p=this.yAxis;e&&(a.inverted&&
    e.attr({width:a.plotWidth,height:a.plotHeight}),e.animate({translateX:c(f&&f.left,a.plotLeft),translateY:c(p&&p.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,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?c.len-a.chartX+c.pos:a.chartY-c.pos},b,a)},buildKDTree:function(a){function b(a,c,e){var k,f;if(f=a&&a.length)return k=d.kdAxisArray[c%
    e],a.sort(function(a,b){return a[k]-b[k]}),f=Math.floor(f/2),{point:a[f],left:b(a.slice(0,f),c+1,e),right:b(a.slice(f+1),c+1,e)}}this.buildingKdTree=!0;var d=this,c=-1<d.options.findNearestPointBy.indexOf("y")?2:1;delete d.kdTree;B(function(){d.kdTree=b(d.getValidPoints(null,!d.directTouch),c,c);d.buildingKdTree=!1},d.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function d(a,b,c,h){var l=b.point,q=e.kdAxisArray[c%h],u,g,t=l;g=y(a[k])&&y(l[k])?Math.pow(a[k]-l[k],2):null;
        u=y(a[f])&&y(l[f])?Math.pow(a[f]-l[f],2):null;u=(g||0)+(u||0);l.dist=y(u)?Math.sqrt(u):Number.MAX_VALUE;l.distX=y(g)?Math.sqrt(g):Number.MAX_VALUE;q=a[q]-l[q];u=0>q?"left":"right";g=0>q?"right":"left";b[u]&&(u=d(a,b[u],c+1,h),t=u[p]<t[p]?u:l);b[g]&&Math.sqrt(q*q)<t[p]&&(a=d(a,b[g],c+1,h),t=a[p]<t[p]?a:t);return t}var e=this,k=this.kdAxisArray[0],f=this.kdAxisArray[1],p=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(a,
        this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);r(a)&&(a*=c(this.options.pointRange||this.xAxis.pointRange));return a}})});I(H,"parts/Stacking.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.Chart,E=a.correctFloat,m=a.defined,g=a.destroyObjectProperties,v=a.format,x=a.objectEach,y=a.pick,z=a.Series;a.StackItem=function(a,f,h,g,e){var b=a.chart.inverted;this.axis=a;this.isNegative=h;this.options=f;this.x=g;this.total=null;this.points=
    {};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:f.align||(b?h?"left":"right":"center"),verticalAlign:f.verticalAlign||(b?"middle":h?"bottom":"top"),y:y(f.y,b?4:h?14:-6),x:y(f.x,b?h?-6:6:0)};this.textAlign=f.textAlign||(b?h?"right":"left":"center")};a.StackItem.prototype={destroy:function(){g(this,this.axis)},render:function(a){var f=this.axis.chart,h=this.options,g=h.format,g=g?v(g,this,f.time):h.formatter.call(this);this.label?this.label.attr({text:g,visibility:"hidden"}):
        this.label=f.renderer.text(g,null,null,h.useHTML).css(h.style).attr({align:this.textAlign,rotation:h.rotation,visibility:"hidden"}).add(a);this.label.labelrank=f.plotHeight},setOffset:function(a,f,h,g){var e=this.axis,b=e.chart;g=e.translate(e.usePercentage?100:g?g:this.total,0,0,0,1);h=e.translate(h?h:0);h=m(g)&&Math.abs(g-h);a=b.xAxis[0].translate(this.x)+a;e=m(g)&&this.getStackBox(b,this,a,g,f,h,e);(f=this.label)&&e&&(f.align(this.alignOptions,null,e),e=f.alignAttr,f[!1===this.options.crop||b.isInsidePlot(e.x,
        e.y)?"show":"hide"](!0))},getStackBox:function(a,f,h,g,e,b,l){var c=f.axis.reversed,t=a.inverted;a=l.height+l.pos-(t?a.plotLeft:a.plotTop);f=f.isNegative&&!c||!f.isNegative&&c;return{x:t?f?g:g-b:h,y:t?a-h-e:f?a-g-b:a-g,width:t?b:e,height:t?e:b}}};A.prototype.getStacks=function(){var a=this;a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(f){!f.options.stacking||!0!==f.visible&&!1!==a.options.chart.ignoreHiddenSeries||(f.stackKey=f.type+y(f.options.stack,
    ""))})};C.prototype.buildStacks=function(){var a=this.series,f=y(this.options.reversedStacks,!0),h=a.length,g;if(!this.isXAxis){this.usePercentage=!1;for(g=h;g--;)a[f?g:h-g-1].setStackedPoints();for(g=0;g<h;g++)a[g].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=this.chart,f=a.renderer,h=this.stacks,g=this.stackTotalGroup;g||(this.stackTotalGroup=g=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());g.translate(a.plotLeft,a.plotTop);x(h,function(a){x(a,function(a){a.render(g)})})};
    C.prototype.resetStacks=function(){var a=this,f=a.stacks;a.isXAxis||x(f,function(f){x(f,function(h,e){h.touched<a.stacksTouched?(h.destroy(),delete f[e]):(h.total=null,h.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),x(a,function(a){x(a,function(a){a.cumulative=a.total})}))};z.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var g=this.processedXData,
        f=this.processedYData,h=[],r=f.length,e=this.options,b=e.threshold,l=y(e.startFromThreshold&&b,0),c=e.stack,e=e.stacking,t=this.stackKey,F="-"+t,w=this.negStacks,B=this.yAxis,p=B.stacks,d=B.oldStacks,k,u,D,G,q,v,x;B.stacksTouched+=1;for(q=0;q<r;q++)v=g[q],x=f[q],k=this.getStackIndicator(k,v,this.index),G=k.key,D=(u=w&&x<(l?0:b))?F:t,p[D]||(p[D]={}),p[D][v]||(d[D]&&d[D][v]?(p[D][v]=d[D][v],p[D][v].total=null):p[D][v]=new a.StackItem(B,B.options.stackLabels,u,v,c)),D=p[D][v],null!==x?(D.points[G]=D.points[this.index]=
        [y(D.cumulative,l)],m(D.cumulative)||(D.base=G),D.touched=B.stacksTouched,0<k.index&&!1===this.singleStacks&&(D.points[G][0]=D.points[this.index+","+v+",0"][0])):D.points[G]=D.points[this.index]=null,"percent"===e?(u=u?t:F,w&&p[u]&&p[u][v]?(u=p[u][v],D.total=u.total=Math.max(u.total,D.total)+Math.abs(x)||0):D.total=E(D.total+(Math.abs(x)||0))):D.total=E(D.total+(x||0)),D.cumulative=y(D.cumulative,l)+(x||0),null!==x&&(D.points[G].push(D.cumulative),h[q]=D.cumulative);"percent"===e&&(B.usePercentage=
        !0);this.stackedYData=h;B.oldStacks={}}};z.prototype.modifyStacks=function(){var a=this,f=a.stackKey,h=a.yAxis.stacks,g=a.processedXData,e,b=a.options.stacking;a[b+"Stacker"]&&[f,"-"+f].forEach(function(f){for(var c=g.length,l,r;c--;)if(l=g[c],e=a.getStackIndicator(e,l,a.index,f),r=(l=h[f]&&h[f][l])&&l.points[e.key])a[b+"Stacker"](r,l,c)})};z.prototype.percentStacker=function(a,f,h){f=f.total?100/f.total:0;a[0]=E(a[0]*f);a[1]=E(a[1]*f);this.stackedYData[h]=a[1]};z.prototype.getStackIndicator=function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  f,h,g){!m(a)||a.x!==f||g&&a.key!==g?a={x:f,index:0,key:g}:a.index++;a.key=[h,f,a.index].join();return a}});I(H,"parts/Dynamics.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animate,E=a.Axis,m=a.Chart,g=a.createElement,v=a.css,x=a.defined,y=a.erase,z=a.extend,n=a.fireEvent,f=a.isNumber,h=a.isObject,r=a.isArray,e=a.merge,b=a.objectEach,l=a.pick,c=a.Point,t=a.Series,F=a.seriesTypes,w=a.setAnimation,B=a.splat;a.cleanRecursively=function(c,d){var e={};b(c,function(b,k){if(h(c[k],!0)&&!c.nodeType&&
    d[k])b=a.cleanRecursively(c[k],d[k]),Object.keys(b).length&&(e[k]=b);else if(h(c[k])||c[k]!==d[k])e[k]=c[k]});return e};z(m.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=l(b,!0),n(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();n(e,"afterAddSeries",{series:d});b&&e.redraw(c)}));return d},addAxis:function(a,b,c,f){var d=b?"xAxis":"yAxis",k=this.options;a=e(a,{index:this[d].length,isX:b});b=new E(this,a);k[d]=B(k[d]||{});k[d].push(a);l(c,!0)&&this.redraw(f);
        return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,p=function(){e&&v(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=g("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=g("span",{className:"highcharts-loading-inner"},null,e),C(b,"redraw",p));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.styledMode||(v(e,z(f.style,{zIndex:10})),
        v(b.loadingSpan,f.labelStyle),b.loadingShown||(v(e,{opacity:0,display:""}),A(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));b.loadingShown=!0;p()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||A(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){v(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
    propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(c,d,k,h){var p=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},q,u,t,r,w=[];n(p,"update",{options:c});c.isResponsiveOptions||
    p.setResponsive(!1,!0);c=a.cleanRecursively(c,p.options);e(!0,p.userOptions,c);if(q=c.chart){e(!0,p.options.chart,q);"className"in q&&p.setClassName(q.className);"reflow"in q&&p.setReflow(q.reflow);if("inverted"in q||"polar"in q||"type"in q)p.propFromSeries(),u=!0;"alignTicks"in q&&(u=!0);b(q,function(a,b){-1!==p.propsRequireUpdateSeries.indexOf("chart."+b)&&(t=!0);-1!==p.propsRequireDirtyBox.indexOf(b)&&(p.isDirtyBox=!0);-1!==p.propsRequireReflow.indexOf(b)&&(r=!0)});!p.styledMode&&"style"in q&&
    p.renderer.setStyle(q.style)}!p.styledMode&&c.colors&&(this.options.colors=c.colors);c.plotOptions&&e(!0,this.options.plotOptions,c.plotOptions);c.time&&this.time===a.time&&(this.time=new a.Time(c.time));b(c,function(a,b){if(p[b]&&"function"===typeof p[b].update)p[b].update(a,!1);else if("function"===typeof p[g[b]])p[g[b]](a);"chart"!==b&&-1!==p.propsRequireUpdateSeries.indexOf(b)&&(t=!0)});this.collectionsWithUpdate.forEach(function(a){var b;c[a]&&("series"===a&&(b=[],p[a].forEach(function(a,d){a.options.isInternal||
    b.push(l(a.options.index,d))})),B(c[a]).forEach(function(d,c){(c=x(d.id)&&p.get(d.id)||p[a][b?b[c]:c])&&c.coll===a&&(c.update(d,!1),k&&(c.touched=!0));!c&&k&&p.collectionsWithInit[a]&&(p.collectionsWithInit[a][0].apply(p,[d].concat(p.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)}),k&&p[a].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:w.push(a)}))});w.forEach(function(a){a.remove&&a.remove(!1)});u&&p.axes.forEach(function(a){a.update({},!1)});t&&p.series.forEach(function(a){a.update({},
        !1)});c.loading&&e(!0,p.options.loading,c.loading);u=q&&q.width;q=q&&q.height;a.isString(q)&&(q=a.relativeLength(q,u||p.chartWidth));r||f(u)&&u!==p.chartWidth||f(q)&&q!==p.chartHeight?p.setSize(u,q,h):l(d,!0)&&p.redraw(h);n(p,"afterUpdate",{options:c,redraw:d,animation:h})},setSubtitle:function(a){this.setTitle(void 0,a)}});m.prototype.collectionsWithInit={xAxis:[m.prototype.addAxis,[!0]],yAxis:[m.prototype.addAxis,[!1]],series:[m.prototype.addSeries]};z(c.prototype,{update:function(a,b,c,e){function d(){k.applyOptions(a);
        null===k.y&&p&&(k.graphic=p.destroy());h(a,!0)&&(p&&p.element&&a&&a.marker&&void 0!==a.marker.symbol&&(k.graphic=p.destroy()),a&&a.dataLabels&&k.dataLabel&&(k.dataLabel=k.dataLabel.destroy()),k.connector&&(k.connector=k.connector.destroy()));g=k.index;f.updateParallelArrays(k,g);t.data[g]=h(t.data[g],!0)||h(a,!0)?k.options:l(a,t.data[g]);f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(u.isDirtyBox=!0);"point"===t.legendType&&(u.isDirtyLegend=!0);b&&u.redraw(c)}var k=this,f=k.series,
        p=k.graphic,g,u=f.chart,t=f.options;b=l(b,!0);!1===e?d():k.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});z(t.prototype,{addPoint:function(a,b,c,e,f){var d=this.options,k=this.data,p=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,g=d.data,u,t=this.xData,r,w,m;b=l(b,!0);u={series:this};this.pointClass.prototype.applyOptions.apply(u,[a]);m=u.x;w=t.length;if(this.requireSorting&&m<t[w-1])for(r=!0;w&&t[w-1]>m;)w--;this.updateParallelArrays(u,
        "splice",w,0,0);this.updateParallelArrays(u,w);h&&u.name&&(h[m]=u.name);g.splice(w,0,a);r&&(this.data.splice(w,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(u,"shift"),g.shift()));!1!==f&&n(this,"addPoint",{point:u});this.isDirtyData=this.isDirty=!0;b&&p.redraw(e)},removePoint:function(a,b,c){var d=this,e=d.data,k=e[a],f=d.points,p=d.chart,h=function(){f&&f.length===e.length&&f.splice(a,1);e.splice(a,
        1);d.options.data.splice(a,1);d.updateParallelArrays(k||{series:d},"splice",a,1);k&&k.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&p.redraw()};w(c,p);b=l(b,!0);k?k.firePointEvent("remove",null,h):h()},remove:function(a,b,c,e){function d(){k.destroy(e);k.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();l(a,!0)&&f.redraw(b)}var k=this,f=k.chart;!1!==c?n(k,"remove",null,d):d()},update:function(b,d){b=a.cleanRecursively(b,this.userOptions);n(this,"update",{options:b});var c=this,f=c.chart,h=c.userOptions,
        p,g=c.initialType||c.type,t=b.type||h.type||f.options.chart.type,r=!(this.hasDerivedData||b.dataGrouping||t&&t!==this.type||void 0!==b.pointStart||b.pointInterval||b.pointIntervalUnit||b.keys),w=F[g].prototype,m,B=["group","markerGroup","dataLabelsGroup","transformGroup"],v=["navigatorSeries","baseSeries"],x=c.finishedAnimating&&{animation:!1},y={};r&&(v.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY",
        "maxY","minX","maxX"),!1!==b.visible&&v.push("area","graph"),c.parallelArrays.forEach(function(a){v.push(a+"Data")}),b.data&&this.setData(b.data,!1));b=e(h,x,{index:void 0===h.index?c.index:h.index,pointStart:l(h.pointStart,c.xData[0])},!r&&{data:c.options.data},b);v=B.concat(v);v.forEach(function(a){v[a]=c[a];delete c[a]});c.remove(!1,null,!1,!0);for(m in w)c[m]=void 0;F[t||g]?z(c,F[t||g].prototype):a.error(17,!0,f);v.forEach(function(a){c[a]=v[a]});c.init(f,b);r&&this.points&&(p=c.options,!1===
    p.visible?(y.graphic=1,y.dataLabel=1):(p.marker&&!1===p.marker.enabled&&!c._hasPointMarkers&&(y.graphic=1),p.dataLabels&&!1===p.dataLabels.enabled&&!c._hasPointLabels&&(y.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(y).length&&a.destroyElements(y),!1===p.showInLegend&&a.legendItem&&f.legend.destroyItem(a))},this));b.zIndex!==h.zIndex&&B.forEach(function(a){c[a]&&c[a].attr({zIndex:b.zIndex})});c.initialType=g;f.linkSeries();n(this,"afterUpdate");l(d,!0)&&
    f.redraw(r?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});z(E.prototype,{update:function(a,d){var c=this.chart,f=a&&a.events||{};a=e(this.userOptions,a);c.options[this.coll].indexOf&&(c.options[this.coll][c.options[this.coll].indexOf(this.userOptions)]=a);b(c.options[this.coll].events,function(a,b){"undefined"===typeof f[b]&&(f[b]=void 0)});this.destroy(!0);this.init(c,z(a,{events:f}));c.isDirtyBox=!0;l(d,!0)&&c.redraw()},remove:function(a){for(var b=
        this.chart,c=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);y(b.axes,this);y(b[c],this);r(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];b[c].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;l(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});I(H,"parts/AreaSeries.js",[H["parts/Globals.js"]],function(a){var C=a.color,A=a.pick,E=a.Series,
    m=a.seriesType;m("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var m=[],x=[],y=this.xAxis,z=this.yAxis,n=z.stacks[this.stackKey],f={},h=this.index,r=z.series,e=r.length,b,l=A(z.options.reversedStacks,!0)?1:-1,c;g=g||this.points;if(this.options.stacking){for(c=0;c<g.length;c++)g[c].leftNull=g[c].rightNull=null,f[g[c].x]=g[c];a.objectEach(n,function(a,b){null!==a.total&&x.push(b)});x.sort(function(a,b){return a-b});b=r.map(function(a){return a.visible});x.forEach(function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          g){var t=0,r,p;if(f[a]&&!f[a].isNull)m.push(f[a]),[-1,1].forEach(function(d){var k=1===d?"rightNull":"leftNull",t=0,w=n[x[g+d]];if(w)for(c=h;0<=c&&c<e;)r=w.points[c],r||(c===h?f[a][k]=!0:b[c]&&(p=n[a].points[c])&&(t-=p[1]-p[0])),c+=l;f[a][1===d?"rightCliff":"leftCliff"]=t});else{for(c=h;0<=c&&c<e;){if(r=n[a].points[c]){t=r[1];break}c+=l}t=z.translate(t,0,1,0,1);m.push({isNull:!0,plotX:y.translate(a,0,0,0,1),x:a,plotY:t,yBottom:t})}})}return m},getGraphPath:function(g){var m=E.prototype.getGraphPath,
        x=this.options,y=x.stacking,z=this.yAxis,n,f,h=[],r=[],e=this.index,b,l=z.stacks[this.stackKey],c=x.threshold,t=z.getThreshold(x.threshold),F,x=a.pick(x.connectNulls,"percent"===y),w=function(a,f,d){var k=g[a];a=y&&l[k.x].points[e];var p=k[d+"Null"]||0;d=k[d+"Cliff"]||0;var w,n,k=!0;d||p?(w=(p?a[0]:a[1])+d,n=a[0]+d,k=!!p):!y&&g[f]&&g[f].isNull&&(w=n=c);void 0!==w&&(r.push({plotX:b,plotY:null===w?t:z.getThreshold(w),isNull:k,isCliff:!0}),h.push({plotX:b,plotY:null===n?t:z.getThreshold(n),doCurve:!1}))};
        g=g||this.points;y&&(g=this.getStackPoints(g));for(n=0;n<g.length;n++)if(f=g[n].isNull,b=A(g[n].rectPlotX,g[n].plotX),F=A(g[n].yBottom,t),!f||x)x||w(n,n-1,"left"),f&&!y&&x||(r.push(g[n]),h.push({x:n,plotX:b,plotY:F})),x||w(n,n+1,"right");n=m.call(this,r,!0,!0);h.reversed=!0;f=m.call(this,h,!0,!0);f.length&&(f[0]="L");f=n.concat(f);m=m.call(this,r,!1,x);f.xMap=n.xMap;this.areaPath=f;return m},drawGraph:function(){this.areaPath=[];E.prototype.drawGraph.apply(this);var a=this,m=this.areaPath,x=this.options,
        y=[["area","highcharts-area",this.color,x.fillColor]];this.zones.forEach(function(g,n){y.push(["zone-area-"+n,"highcharts-area highcharts-zone-area-"+n+" "+g.className,g.color||a.color,g.fillColor||x.fillColor])});y.forEach(function(g){var n=g[0],f=a[n],h=f?"animate":"attr",r={};f?(f.endX=a.preventGraphAnimation?null:m.xMap,f.animate({d:m})):(r.zIndex=0,f=a[n]=a.chart.renderer.path(m).addClass(g[1]).add(a.group),f.isArea=!0);a.chart.styledMode||(r.fill=A(g[3],C(g[2]).setOpacity(A(x.fillOpacity,.75)).get()));
        f[h](r);f.startX=m.xMap;f.shiftUnit=x.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});I(H,"parts/SplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,E,m){var g=E.plotX,v=E.plotY,x=a[m-1];m=a[m+1];var y,z,n,f;if(x&&!x.isNull&&!1!==x.doCurve&&!E.isCliff&&m&&!m.isNull&&!1!==m.doCurve&&!E.isCliff){a=x.plotY;n=m.plotX;m=m.plotY;var h=0;y=(1.5*g+x.plotX)/2.5;z=(1.5*v+a)/2.5;n=(1.5*g+n)/2.5;f=(1.5*v+m)/2.5;n!==
    y&&(h=(f-z)*(n-g)/(n-y)+v-f);z+=h;f+=h;z>a&&z>v?(z=Math.max(a,v),f=2*v-z):z<a&&z<v&&(z=Math.min(a,v),f=2*v-z);f>m&&f>v?(f=Math.max(m,v),z=2*v-f):f<m&&f<v&&(f=Math.min(m,v),z=2*v-f);E.rightContX=n;E.rightContY=f}E=["C",C(x.rightContX,x.plotX),C(x.rightContY,x.plotY),C(y,g),C(z,v),g,v];x.rightContX=x.rightContY=null;return E}})});I(H,"parts/AreaSplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.seriesTypes.area.prototype,A=a.seriesType;A("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,
    getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});I(H,"parts/ColumnSeries.js",[H["parts/Globals.js"]],function(a){var C=a.animObject,A=a.color,E=a.extend,m=a.defined,g=a.isNumber,v=a.merge,x=a.pick,y=a.Series,z=a.seriesType,n=a.svg;z("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},
    dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){y.prototype.init.apply(this,arguments);var a=this,h=a.chart;h.hasRendered&&h.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,h=a.options,g=a.xAxis,e=a.yAxis,b=g.options.reversedStacks,
        b=g.reversed&&!b||!g.reversed&&b,l,c={},t=0;!1===h.grouping?t=1:a.chart.series.forEach(function(b){var d=b.options,k=b.yAxis,f;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||e.len!==k.len||e.pos!==k.pos||(d.stacking?(l=b.stackKey,void 0===c[l]&&(c[l]=t++),f=c[l]):!1!==d.grouping&&(f=t++),b.columnIndex=f)});var n=Math.min(Math.abs(g.transA)*(g.ordinalSlope||h.pointRange||g.closestPointRange||g.tickInterval||1),g.len),w=n*h.groupPadding,m=(n-2*w)/(t||1),h=Math.min(h.maxPointWidth||
        g.len,x(h.pointWidth,m*(1-2*h.pointPadding)));a.columnMetrics={width:h,offset:(m-h)/2+(w+((a.columnIndex||0)+(b?1:0))*m-n/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,h,g,e){var b=this.chart,f=this.borderWidth,c=-(f%2?.5:0),f=f%2?.5:1;b.inverted&&b.renderer.isVML&&(f+=1);this.options.crisp&&(g=Math.round(a+g)+c,a=Math.round(a)+c,g-=a);e=Math.round(h+e)+f;c=.5>=Math.abs(h)&&.5<e;h=Math.round(h)+f;e-=h;c&&e&&(--h,e+=1);return{x:a,y:h,width:g,height:e}},translate:function(){var a=this,h=
        a.chart,g=a.options,e=a.dense=2>a.closestPointRange*a.xAxis.transA,e=a.borderWidth=x(g.borderWidth,e?0:1),b=a.yAxis,l=g.threshold,c=a.translatedThreshold=b.getThreshold(l),t=x(g.minPointLength,5),n=a.getColumnMetrics(),w=n.width,B=a.barW=Math.max(w,1+2*e),p=a.pointXOffset=n.offset,d=a.dataMin,k=a.dataMax;h.inverted&&(c-=.5);g.pointPadding&&(B=Math.ceil(B));y.prototype.translate.apply(a);a.points.forEach(function(e){var f=x(e.yBottom,c),g=999+Math.abs(f),q=w,g=Math.min(Math.max(-g,e.plotY),b.len+g),
        u=e.plotX+p,r=B,n=Math.min(g,f),v,F=Math.max(g,f)-n;t&&Math.abs(F)<t&&(F=t,v=!b.reversed&&!e.negative||b.reversed&&e.negative,e.y===l&&a.dataMax<=l&&b.min<l&&d!==k&&(v=!v),n=Math.abs(n-c)>t?f-t:c-(v?t:0));m(e.options.pointWidth)&&(q=r=Math.ceil(e.options.pointWidth),u-=Math.round((q-w)/2));e.barX=u;e.pointWidth=q;e.tooltipPos=h.inverted?[b.len+b.pos-h.plotLeft-g,a.xAxis.len-u-r/2,F]:[u+r/2,g+b.pos-h.plotTop,F];e.shapeType=a.pointClass.prototype.shapeType||"rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?
        [u,c,r,0]:[u,n,r,F])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,h){var f=this.options,e,b=this.pointAttrToOptions||{};e=b.stroke||"borderColor";var g=b["stroke-width"]||"borderWidth",c=a&&a.color||this.color,t=a&&a[e]||f[e]||this.color||c,n=a&&a[g]||f[g]||this[g]||0,b=a&&a.dashStyle||f.dashStyle,w=x(f.opacity,1),m;a&&this.zones.length&&(m=a.getZone(),c=
        a.options.color||m&&m.color||this.color,m&&(t=m.borderColor||t,b=m.dashStyle||b,n=m.borderWidth||n));h&&(a=v(f.states[h],a.options.states&&a.options.states[h]||{}),h=a.brightness,c=a.color||void 0!==h&&A(c).brighten(a.brightness).get()||c,t=a[e]||t,n=a[g]||n,b=a.dashStyle||b,w=x(a.opacity,w));e={fill:c,stroke:t,"stroke-width":n,opacity:w};b&&(e.dashstyle=b);return e},drawPoints:function(){var a=this,h=this.chart,r=a.options,e=h.renderer,b=r.animationLimit||250,l;a.points.forEach(function(c){var f=
        c.graphic,n=f&&h.pointCount<b?"animate":"attr";if(g(c.plotY)&&null!==c.y){l=c.shapeArgs;f&&f.element.nodeName!==c.shapeType&&(f=f.destroy());if(f)f[n](v(l));else c.graphic=f=e[c.shapeType](l).add(c.group||a.group);if(r.borderRadius)f[n]({r:r.borderRadius});h.styledMode||f[n](a.pointAttribs(c,c.selected&&"select")).shadow(!1!==c.allowShadow&&r.shadow,null,r.stacking&&!r.borderRadius);f.addClass(c.getClassName(),!0)}else f&&(c.graphic=f.destroy())})},animate:function(a){var f=this,g=this.yAxis,e=f.options,
        b=this.chart.inverted,l={},c=b?"translateX":"translateY",t;n&&(a?(l.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(e.threshold))),b?l.translateX=a-g.len:l.translateY=a,f.clipBox&&f.setClip(),f.group.attr(l)):(t=f.group.attr(c),f.group.animate({scaleY:1},E(C(f.options.animation),{step:function(a,b){l[c]=t+b.pos*(g.pos-t);f.group.attr(l)}})),f.animate=null))},remove:function(){var a=this,h=a.chart;h.hasRendered&&h.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)});y.prototype.remove.apply(a,
        arguments)}})});I(H,"parts/BarSeries.js",[H["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});I(H,"parts/ScatterSeries.js",[H["parts/Globals.js"]],function(a){var C=a.Series,A=a.seriesType;A("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\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&&C.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,m=this.options.jitter,g=this.points.length;m&&this.points.forEach(function(v,x){["x","y"].forEach(function(y,z){var n,f="plot"+y.toUpperCase(),h,r;m[y]&&!v.isNull&&(n=a[y+"Axis"],r=m[y]*n.transA,n&&!n.isLog&&(h=Math.max(0,v[f]-r),n=Math.min(n.len,v[f]+r),z=1E4*
            Math.sin(x+z*g),v[f]=h+(n-h)*(z-Math.floor(z)),"x"===y&&(v.clientX=v.plotX)))})})}});a.addEvent(C,"afterTranslate",function(){this.applyJitter&&this.applyJitter()})});I(H,"mixins/centered-series.js",[H["parts/Globals.js"]],function(a){var C=a.deg2rad,A=a.isNumber,E=a.pick,m=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,v=this.chart,x=2*(a.slicedOffset||0),y=v.plotWidth-2*x,v=v.plotHeight-2*x,z=a.center,z=[E(z[0],"50%"),E(z[1],"50%"),a.size||"100%",a.innerSize||0],
        n=Math.min(y,v),f,h;for(f=0;4>f;++f)h=z[f],a=2>f||2===f&&/%$/.test(h),z[f]=m(h,[y,v,n,z[2]][f])+(a?x:0);z[3]>z[2]&&(z[3]=z[2]);return z},getStartAndEndRadians:function(a,m){a=A(a)?a:0;m=A(m)&&m>a&&360>m-a?m:a+360;return{start:C*(a+-90),end:C*(m+-90)}}}});I(H,"parts/PieSeries.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.CenteredSeriesMixin,E=a.defined,m=A.getStartAndEndRadians,g=a.merge,v=a.noop,x=a.pick,y=a.Point,z=a.Series,n=a.seriesType,f=a.setAnimation;n("pie","line",{center:[null,
        null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,
    directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var f=this,e=f.points,b=f.startAngleRad;a||(e.forEach(function(a){var c=a.graphic,e=a.shapeArgs;c&&(c.attr({r:a.startR||f.center[3]/2,start:b,end:b}),c.animate({r:e.r,start:e.start,end:e.end},f.options.animation))}),f.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,f=0,e=this.points,
        b=e.length,g,c=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)g=e[a],f+=c&&!g.visible?0:g.isNull?0:g.y;this.total=f;for(a=0;a<b;a++)g=e[a],g.percentage=0<f&&(g.visible||!c)?g.y/f*100:0,g.total=f},generatePoints:function(){z.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,f,e){var b=this.center,h=this.radii?this.radii[e.index]:b[2]/2;return b[0]+(f?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(h+e.labelDistance),1),-1)))*(h+e.labelDistance)+(0<e.labelDistance?(f?-1:
        1)*this.options.dataLabels.padding:0)},translate:function(f){this.generatePoints();var g=0,e=this.options,b=e.slicedOffset,h=b+(e.borderWidth||0),c,t,n=m(e.startAngle,e.endAngle),w=this.startAngleRad=n.start,n=(this.endAngleRad=n.end)-w,B=this.points,p,d,k=e.dataLabels.distance,e=e.ignoreHiddenPoint,u,D=B.length,v;f||(this.center=f=this.getCenter());for(u=0;u<D;u++){v=B[u];c=w+g*n;if(!e||v.visible)g+=v.percentage/100;t=w+g*n;v.shapeType="arc";v.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:Math.round(1E3*
            c)/1E3,end:Math.round(1E3*t)/1E3};v.labelDistance=x(v.options.dataLabels&&v.options.dataLabels.distance,k);v.labelDistance=a.relativeLength(v.labelDistance,v.shapeArgs.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,v.labelDistance);t=(t+c)/2;t>1.5*Math.PI?t-=2*Math.PI:t<-Math.PI/2&&(t+=2*Math.PI);v.slicedTranslation={translateX:Math.round(Math.cos(t)*b),translateY:Math.round(Math.sin(t)*b)};p=Math.cos(t)*f[2]/2;d=Math.sin(t)*f[2]/2;v.tooltipPos=[f[0]+.7*p,f[1]+.7*d];v.half=t<-Math.PI/
    2||t>Math.PI/2?1:0;v.angle=t;c=Math.min(h,v.labelDistance/5);v.labelPosition={natural:{x:f[0]+p+Math.cos(t)*v.labelDistance,y:f[1]+d+Math.sin(t)*v.labelDistance},"final":{},alignment:0>v.labelDistance?"center":v.half?"right":"left",connectorPosition:{breakAt:{x:f[0]+p+Math.cos(t)*c,y:f[1]+d+Math.sin(t)*c},touchingSliceAt:{x:f[0]+p,y:f[1]+d}}}}},drawGraph:null,redrawPoints:function(){var a=this,f=a.chart,e=f.renderer,b,l,c,t,n=a.options.shadow;!n||a.shadowGroup||f.styledMode||(a.shadowGroup=e.g("shadow").attr({zIndex:-1}).add(a.group));
        a.points.forEach(function(h){var w={};l=h.graphic;if(!h.isNull&&l){t=h.shapeArgs;b=h.getTranslate();if(!f.styledMode){var p=h.shadowGroup;n&&!p&&(p=h.shadowGroup=e.g("shadow").add(a.shadowGroup));p&&p.attr(b);c=a.pointAttribs(h,h.selected&&"select")}h.delayedRendering?(l.setRadialReference(a.center).attr(t).attr(b),f.styledMode||l.attr(c).attr({"stroke-linejoin":"round"}).shadow(n,p),h.delayedRendering=!1):(l.setRadialReference(a.center),f.styledMode||g(!0,w,c),g(!0,w,t,b),l.animate(w));l.attr({visibility:h.visible?
                "inherit":"hidden"});l.addClass(h.getClassName())}else l&&(h.graphic=l.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(f){f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group),f.delayedRendering=!0)})},searchPoint:v,sortByAngle:function(a,f){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:A.getCenter,getSymbol:v},{init:function(){y.prototype.init.apply(this,
        arguments);var a=this,f;a.name=x(a.name,"Slice");f=function(e){a.slice("select"===e.type)};C(a,"select",f);C(a,"unselect",f);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,f){var e=this,b=e.series,g=b.chart,c=b.options.ignoreHiddenPoint;f=x(f,c);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,b.options.data[b.data.indexOf(e)]=e.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(e[b])e[b][a?"show":"hide"](!0)}),
    e.legendItem&&g.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),c&&(b.isDirty=!0),f&&g.redraw())},slice:function(a,g,e){var b=this.series;f(e,b.chart);x(g,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var f=
        this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(f.x,f.y,f.r+a,f.r+a,{innerR:this.shapeArgs.r-1,start:f.start,end:f.end})},connectorShapes:{fixedOffset:function(a,f,e){var b=f.breakAt;f=f.touchingSliceAt;return["M",a.x,a.y].concat(e.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*b.x-f.x,2*b.y-f.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",f.x,f.y])},straight:function(a,f){f=f.touchingSliceAt;return["M",a.x,a.y,"L",f.x,f.y]},crookedLine:function(f,g,e){g=
            g.touchingSliceAt;var b=this.series,h=b.center[0],c=b.chart.plotWidth,t=b.chart.plotLeft,b=f.alignment,r=this.shapeArgs.r;e=a.relativeLength(e.crookDistance,1);e="left"===b?h+r+(c+t-h-r)*(1-e):t+(h-r)*e;h=["L",e,f.y];if("left"===b?e>f.x||e<g.x:e<f.x||e>g.x)h=[];return["M",f.x,f.y].concat(h).concat(["L",g.x,g.y])}},getConnectorPath:function(){var a=this.labelPosition,f=this.series.options.dataLabels,e=f.connectorShape,b=this.connectorShapes;b[e]&&(e=b[e]);return e.call(this,{x:a.final.x,y:a.final.y,
        alignment:a.alignment},a.connectorPosition,f)}})});I(H,"parts/DataLabels.js",[H["parts/Globals.js"]],function(a){var C=a.arrayMax,A=a.defined,E=a.extend,m=a.format,g=a.merge,v=a.noop,x=a.pick,y=a.relativeLength,z=a.Series,n=a.seriesTypes,f=a.stableSort,h=a.isArray,r=a.splat;a.distribute=function(e,b,g){function c(a,b){return a.target-b.target}var h,l=!0,w=e,r=[],p;p=0;var d=w.reducedLen||b;for(h=e.length;h--;)p+=e[h].size;if(p>d){f(e,function(a,b){return(b.rank||0)-(a.rank||0)});for(p=h=0;p<=d;)p+=
    e[h].size,h++;r=e.splice(h-1,e.length)}f(e,c);for(e=e.map(function(a){return{size:a.size,targets:[a.target],align:x(a.align,.5)}});l;){for(h=e.length;h--;)l=e[h],p=(Math.min.apply(0,l.targets)+Math.max.apply(0,l.targets))/2,l.pos=Math.min(Math.max(0,p-l.size*l.align),b-l.size);h=e.length;for(l=!1;h--;)0<h&&e[h-1].pos+e[h-1].size>e[h].pos&&(e[h-1].size+=e[h].size,e[h-1].targets=e[h-1].targets.concat(e[h].targets),e[h-1].align=.5,e[h-1].pos+e[h-1].size>b&&(e[h-1].pos=b-e[h-1].size),e.splice(h,1),l=
    !0)}w.push.apply(w,r);h=0;e.some(function(d){var c=0;if(d.targets.some(function(){w[h].pos=d.pos+c;if(Math.abs(w[h].pos-w[h].target)>g)return w.slice(0,h+1).forEach(function(a){delete a.pos}),w.reducedLen=(w.reducedLen||b)-.1*b,w.reducedLen>.1*b&&a.distribute(w,b,g),!0;c+=w[h].size;h++}))return!0});f(w,c)};z.prototype.drawDataLabels=function(){function e(a,b){var d=b.filter;return d?(b=d.operator,a=a[d.property],d=d.value,"\x3e"===b&&a>d||"\x3c"===b&&a<d||"\x3e\x3d"===b&&a>=d||"\x3c\x3d"===b&&a<=
d||"\x3d\x3d"===b&&a==d||"\x3d\x3d\x3d"===b&&a===d?!0:!1):!0}function b(a,b){var d=[],c;if(h(a)&&!h(b))d=a.map(function(a){return g(a,b)});else if(h(b)&&!h(a))d=b.map(function(b){return g(a,b)});else if(h(a)||h(b))for(c=Math.max(a.length,b.length);c--;)d[c]=g(a[c],b[c]);else d=g(a,b);return d}var f=this,c=f.chart,t=f.options,n=t.dataLabels,w=f.points,v,p=f.hasRendered||0,d,k=a.animObject(t.animation).duration,u=Math.min(k,200),D=!c.renderer.forExport&&x(n.defer,0<u),G=c.renderer,n=b(b(c.options.plotOptions&&
    c.options.plotOptions.series&&c.options.plotOptions.series.dataLabels,c.options.plotOptions&&c.options.plotOptions[f.type]&&c.options.plotOptions[f.type].dataLabels),n);a.fireEvent(this,"drawDataLabels");if(h(n)||n.enabled||f._hasPointLabels)d=f.plotGroup("dataLabelsGroup","data-labels",D&&!p?"hidden":"inherit",n.zIndex||6),D&&(d.attr({opacity:+p}),p||setTimeout(function(){var a=f.dataLabelsGroup;a&&(f.visible&&d.show(!0),a[t.animation?"animate":"attr"]({opacity:1},{duration:u}))},k-u)),w.forEach(function(k){v=
    r(b(n,k.dlOptions||k.options&&k.options.dataLabels));v.forEach(function(b,g){var p=b.enabled&&(!k.isNull||k.dataLabelOnNull)&&e(k,b),h,l,u,q,w=k.dataLabels?k.dataLabels[g]:k.dataLabel,r=k.connectors?k.connectors[g]:k.connector,n=!w;p&&(h=k.getLabelConfig(),l=x(b[k.formatPrefix+"Format"],b.format),h=A(l)?m(l,h,c.time):(b[k.formatPrefix+"Formatter"]||b.formatter).call(h,b),l=b.style,u=b.rotation,c.styledMode||(l.color=x(b.color,l.color,f.color,"#000000"),"contrast"===l.color&&(k.contrastColor=G.getContrast(k.color||
    f.color),l.color=b.inside||0>x(b.distance,k.labelDistance)||t.stacking?k.contrastColor:"#000000"),t.cursor&&(l.cursor=t.cursor)),q={r:b.borderRadius||0,rotation:u,padding:b.padding,zIndex:1},c.styledMode||(q.fill=b.backgroundColor,q.stroke=b.borderColor,q["stroke-width"]=b.borderWidth),a.objectEach(q,function(a,b){void 0===a&&delete q[b]}));!w||p&&A(h)?p&&A(h)&&(w?q.text=h:(k.dataLabels=k.dataLabels||[],w=k.dataLabels[g]=u?G.text(h,0,-9999).addClass("highcharts-data-label"):G.label(h,0,-9999,b.shape,
    null,null,b.useHTML,null,"data-label"),g||(k.dataLabel=w),w.addClass(" highcharts-data-label-color-"+k.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),w.options=b,w.attr(q),c.styledMode||w.css(l).shadow(b.shadow),w.added||w.add(d),b.textPath&&!b.useHTML&&w.setTextPath(k.getDataLabelPath&&k.getDataLabelPath(w)||k.graphic,b.textPath),f.alignDataLabel(k,w,b,null,n)):(k.dataLabel=k.dataLabel&&k.dataLabel.destroy(),k.dataLabels&&(1===k.dataLabels.length?delete k.dataLabels:delete k.dataLabels[g]),
g||delete k.dataLabel,r&&(k.connector=k.connector.destroy(),k.connectors&&(1===k.connectors.length?delete k.connectors:delete k.connectors[g])))})});a.fireEvent(this,"afterDrawDataLabels")};z.prototype.alignDataLabel=function(a,b,f,c,g){var e=this.chart,h=this.isCartesian&&e.inverted,l=x(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),p=x(a.plotY,-9999),d=b.getBBox(),k,u=f.rotation,t=f.align,r=this.visible&&(a.series.forceDL||e.isInsidePlot(l,Math.round(p),h)||c&&e.isInsidePlot(l,h?c.x+1:c.y+c.height-1,h)),
    q="justify"===x(f.overflow,"justify");if(r&&(k=e.renderer.fontMetrics(e.styledMode?void 0:f.style.fontSize,b).b,c=E({x:h?this.yAxis.len-p:l,y:Math.round(h?this.xAxis.len-l:p),width:0,height:0},c),E(f,{width:d.width,height:d.height}),u?(q=!1,l=e.renderer.rotCorr(k,u),l={x:c.x+f.x+c.width/2+l.x,y:c.y+f.y+{top:0,middle:.5,bottom:1}[f.verticalAlign]*c.height},b[g?"attr":"animate"](l).attr({align:t}),p=(u+720)%360,p=180<p&&360>p,"left"===t?l.y-=p?d.height:0:"center"===t?(l.x-=d.width/2,l.y-=d.height/2):
    "right"===t&&(l.x-=d.width,l.y-=p?0:d.height),b.placed=!0,b.alignAttr=l):(b.align(f,null,c),l=b.alignAttr),q&&0<=c.height?a.isLabelJustified=this.justifyDataLabel(b,f,l,d,c,g):x(f.crop,!0)&&(r=e.isInsidePlot(l.x,l.y)&&e.isInsidePlot(l.x+d.width,l.y+d.height)),f.shape&&!u))b[g?"attr":"animate"]({anchorX:h?e.plotWidth-a.plotY:a.plotX,anchorY:h?e.plotHeight-a.plotX:a.plotY});r||(b.attr({y:-9999}),b.placed=!1)};z.prototype.justifyDataLabel=function(a,b,f,c,g,h){var e=this.chart,l=b.align,p=b.verticalAlign,
    d,k,u=a.box?0:a.padding||0;d=f.x+u;0>d&&("right"===l?b.align="left":b.x=-d,k=!0);d=f.x+c.width-u;d>e.plotWidth&&("left"===l?b.align="right":b.x=e.plotWidth-d,k=!0);d=f.y+u;0>d&&("bottom"===p?b.verticalAlign="top":b.y=-d,k=!0);d=f.y+c.height-u;d>e.plotHeight&&("top"===p?b.verticalAlign="bottom":b.y=e.plotHeight-d,k=!0);k&&(a.placed=!h,a.align(b,null,g));return k};n.pie&&(n.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              b,f,c){return a.getX(f<b.top+2||f>b.bottom-2?c:f,b.half,b)},justify:function(a,b,f){return f[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,f,c){a=a.getBBox().width;return b?a+c:f-a-c},alignToConnectors:function(a,b,f,c){var e=0,g;a.forEach(function(a){g=a.dataLabel.getBBox().width;g>e&&(e=g)});return b?e+c:f-e-c}},n.pie.prototype.drawDataLabels=function(){var e=this,b=e.data,f,c=e.chart,h=e.options.dataLabels,r=h.connectorPadding,w,n=c.plotWidth,p=c.plotHeight,d=c.plotLeft,k=
    Math.round(c.chartWidth/3),u,m=e.center,v=m[2]/2,q=m[1],y,N,O,L,E=[[],[]],M,J,H,I,P=[0,0,0,0],S=e.dataLabelPositioners,W;e.visible&&(h.enabled||e._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),z.prototype.drawDataLabels.apply(e),b.forEach(function(a){a.dataLabel&&(a.visible?(E[a.half].push(a),a.dataLabel._pos=null,!A(h.style.width)&&!A(a.options.dataLabels&&
    a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>k&&(a.dataLabel.css({width:.7*k}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),E.forEach(function(b,k){var g,l,u=b.length,t=[],w;if(u)for(e.sortByAngle(b,k-.5),0<e.maxLabelDistance&&(g=Math.max(0,q-v-e.maxLabelDistance),l=Math.min(q+v+e.maxLabelDistance,c.plotHeight),b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,
    q-v-a.labelDistance),a.bottom=Math.min(q+v+a.labelDistance,c.plotHeight),w=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+w/2,size:w,rank:a.y},t.push(a.distributeBox))}),g=l+w-g,a.distribute(t,g,g/5)),I=0;I<u;I++){f=b[I];O=f.labelPosition;y=f.dataLabel;H=!1===f.visible?"hidden":"inherit";J=g=O.natural.y;t&&A(f.distributeBox)&&(void 0===f.distributeBox.pos?H="hidden":(L=f.distributeBox.size,J=S.radialDistributionY(f)));delete f.positionIndex;if(h.justify)M=
    S.justify(f,v,m);else switch(h.alignTo){case "connectors":M=S.alignToConnectors(b,k,n,d);break;case "plotEdges":M=S.alignToPlotEdges(y,k,n,d);break;default:M=S.radialDistributionX(e,f,J,g)}y._attr={visibility:H,align:O.alignment};y._pos={x:M+h.x+({left:r,right:-r}[O.alignment]||0),y:J+h.y-10};O.final.x=M;O.final.y=J;x(h.crop,!0)&&(N=y.getBBox().width,g=null,M-N<r&&1===k?(g=Math.round(N-M+r),P[3]=Math.max(g,P[3])):M+N>n-r&&0===k&&(g=Math.round(M+N-n+r),P[1]=Math.max(g,P[1])),0>J-L/2?P[0]=Math.max(Math.round(-J+
    L/2),P[0]):J+L/2>p&&(P[2]=Math.max(Math.round(J+L/2-p),P[2])),y.sideOverflow=g)}}),0===C(P)||this.verifyDataLabelOverflow(P))&&(this.placeDataLabels(),this.points.forEach(function(a){W=g(h,a.options.dataLabels);if(w=x(W.connectorWidth,1)){var b;u=a.connector;if((y=a.dataLabel)&&y._pos&&a.visible&&0<a.labelDistance){H=y._attr.visibility;if(b=!u)a.connector=u=c.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(e.dataLabelsGroup),
c.styledMode||u.attr({"stroke-width":w,stroke:W.connectorColor||a.color||"#666666"});u[b?"attr":"animate"]({d:a.getConnectorPath()});u.attr("visibility",H)}else u&&(a.connector=u.destroy())}}))},n.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,e;b&&a.visible&&((e=b._pos)?(b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),
    b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](e),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},n.pie.prototype.alignDataLabel=v,n.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,c=e.center,f=e.minSize||80,g,h=null!==e.size;h||(null!==c[0]?g=Math.max(b[2]-Math.max(a[1],a[3]),f):(g=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2),null!==c[1]?g=Math.max(Math.min(g,b[2]-Math.max(a[0],a[2])),f):(g=Math.max(Math.min(g,b[2]-a[0]-a[2]),f),
    b[1]+=(a[0]-a[2])/2),g<b[2]?(b[2]=g,b[3]=Math.min(y(e.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):h=!0);return h});n.column&&(n.column.prototype.alignDataLabel=function(a,b,f,c,h){var e=this.chart.inverted,l=a.series,t=a.dlBox||a.shapeArgs,p=x(a.below,a.plotY>x(this.translatedThreshold,l.yAxis.len)),d=x(f.inside,!!this.options.stacking);t&&(c=g(t),0>c.y&&(c.height+=c.y,c.y=0),t=c.y+c.height-l.yAxis.len,0<t&&(c.height-=t),e&&(c={x:l.yAxis.len-c.y-c.height,y:l.xAxis.len-
        c.x-c.width,width:c.height,height:c.width}),d||(e?(c.x+=p?0:c.width,c.width=0):(c.y+=p?c.height:0,c.height=0)));f.align=x(f.align,!e||d?"center":p?"right":"left");f.verticalAlign=x(f.verticalAlign,e||d?"middle":p?"top":"bottom");z.prototype.alignDataLabel.call(this,a,b,f,c,h);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})});I(H,"modules/overlapping-datalabels.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,A=a.isArray,E=a.objectEach,m=a.pick,g=a.addEvent,v=a.fireEvent;
    g(C,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(g){a=a.concat(g())});(this.yAxis||[]).forEach(function(g){g.options.stackLabels&&!g.options.stackLabels.allowOverlap&&E(g.stacks,function(g){E(g,function(g){a.push(g.label)})})});(this.series||[]).forEach(function(g){var v=g.options.dataLabels;g.visible&&(!1!==v.enabled||g._hasPointLabels)&&g.points.forEach(function(g){g.visible&&(A(g.dataLabels)?g.dataLabels:g.dataLabel?[g.dataLabel]:[]).forEach(function(f){var h=f.options;
        f.labelrank=m(h.labelrank,g.labelrank,g.shapeArgs&&g.shapeArgs.height);h.allowOverlap||a.push(f)})})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var g=this,m=a.length,n=g.renderer,f,h,r,e,b,l,c=function(a,b,c,e,f,d,k,g){return!(f>a+c||f+k<a||d>b+e||d+g<b)};r=function(a){var b,c,e,f=a.box?0:a.padding||0;e=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,
        e=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+f,y:b.y+(c.translateY||0)+f-e,width:a.width-2*f,height:a.height-2*f}};for(h=0;h<m;h++)if(f=a[h])f.oldOpacity=f.opacity,f.newOpacity=1,f.absoluteBox=r(f);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(h=0;h<m;h++)for(l=(r=a[h])&&r.absoluteBox,f=h+1;f<m;++f)if(b=(e=a[f])&&e.absoluteBox,l&&b&&r!==e&&0!==r.newOpacity&&0!==e.newOpacity&&(b=c(l.x,l.y,l.width,l.height,b.x,b.y,b.width,b.height)))(r.labelrank<e.labelrank?r:e).newOpacity=
        0;a.forEach(function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),v(g,"afterHideOverlappingLabels")):a.attr({opacity:c})),a.isOld=!0)})}});I(H,"parts/Interaction.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.Chart,E=a.createElement,m=a.css,g=a.defaultOptions,v=a.defaultPlotOptions,x=a.extend,y=a.fireEvent,z=a.hasTouch,n=a.isObject,f=a.isArray,h=a.Legend,
    r=a.merge,e=a.pick,b=a.Point,l=a.Series,c=a.seriesTypes,t=a.svg,F;F=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))},e;a.points.forEach(function(a){e=f(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);e.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});a._hasTracking||(a.trackerGroups.forEach(function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",
        d).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(z)a[e].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[e].css(m).css({cursor:a.options.cursor})}}),a._hasTracking=!0);y(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,h=f.renderer,l=f.options.tooltip.snap,r=a.tracker,n,m=function(){if(f.hoverSeries!==a)a.onMouseOver()},v="rgba(192,192,192,"+(t?.0001:.002)+")";if(e&&!c)for(n=
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    e+1;n--;)"M"===d[n]&&d.splice(n+1,0,d[n+1]-l,d[n+2],"L"),(n&&"M"===d[n]||n===e)&&d.splice(n,0,"L",d[n-2]+l,d[n-1]);r?r.attr({d:d}):a.graph&&(a.tracker=h.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),f.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:v,fill:c?v:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*l)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",
        m).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&!f.styledMode&&a.css({cursor:b.cursor});if(z)a.on("touchstart",m)}));y(this,"afterDrawTracker")}};c.column&&(c.column.prototype.drawTracker=F.drawTrackerPoint);c.pie&&(c.pie.prototype.drawTracker=F.drawTrackerPoint);c.scatter&&(c.scatter.prototype.drawTracker=F.drawTrackerPoint);x(h.prototype,{setItemEvents:function(a,c,e){var d=this,f=d.chart.renderer.boxWrapper,g=a instanceof b,h="highcharts-legend-"+(g?"point":"series")+"-active",
        p=d.chart.styledMode;(e?c:a.legendGroup).on("mouseover",function(){d.allItems.forEach(function(b){a!==b&&b.setState("inactive",!g)});a.setState("hover");a.visible&&f.addClass(h);p||c.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.styledMode||c.css(r(a.visible?d.itemStyle:d.itemHiddenStyle));d.allItems.forEach(function(b){a!==b&&b.setState("",!g)});f.removeClass(h);a.setState()}).on("click",function(b){var d=function(){a.setVisible&&a.setVisible()};f.removeClass(h);b={browserEvent:b};a.firePointEvent?
        a.firePointEvent("legendItemClick",b,d):y(a,"legendItemClick",b,d)})},createCheckboxForItem:function(a){a.checkbox=E("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){y(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});x(A.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=g.lang,d=b.options.chart.resetZoomButton,
        e=d.theme,f=e.states,h="chart"===d.relativeTo||"spaceBox"===d.relativeTo?null:"plotBox";y(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,f&&f.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,h)});y(this,"afterShowResetZoom")},zoomOut:function(){y(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var c=this,f,d=c.pointer,k=!1,g=c.inverted?d.mouseDownX:d.mouseDownY,
        h;!b||b.resetSelection?(c.axes.forEach(function(a){f=a.zoom()}),d.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var e=b.axis,h=c.inverted?e.left:e.top,p=c.inverted?h+e.width:h+e.height,l=e.isXAxis,u=!1;if(!l&&g>=h&&g<=p||l||!a.defined(g))u=!0;d[l?"zoomX":"zoomY"]&&u&&(f=e.zoom(b.min,b.max),e.displayBtn&&(k=!0))});h=c.resetZoomButton;k&&!h?c.showResetZoom():!k&&n(h)&&(c.resetZoomButton=h.destroy());f&&c.redraw(e(c.options.chart.animation,b&&b.animation,100>c.pointCount))},pan:function(a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             b){var c=this,d=c.hoverPoints,e;y(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",k=c[d],g=(b.pointRange||0)/2,h=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,p=b.getExtremes(),l=b.toValue(k-f,!0)+g*h,h=b.toValue(k+b.len-f,!0)-g*h,u=h<l,k=u?h:l,l=u?l:h,h=Math.min(p.dataMin,g?p.min:b.toValue(b.toPixels(p.min)-b.minPixelPadding)),
        g=Math.max(p.dataMax,g?p.max:b.toValue(b.toPixels(p.max)+b.minPixelPadding)),u=h-k;0<u&&(l+=u,k=h);u=l-g;0<u&&(l=g,k-=u);b.series.length&&k!==p.min&&l!==p.max&&(b.setExtremes(k,l,!1,!1,{trigger:"pan"}),e=!0);c[d]=f});e&&c.redraw(!1);m(c.container,{cursor:"move"})})}});x(b.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&
        "select");b||f.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==c&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(f.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");
        this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=r(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(c,d){a.isFunction(c)&&C(b,d,c)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,g=this.state,h=f.options.states[a||"normal"]||{},l=v[f.type].marker&&f.options.marker,q=l&&
        !1===l.enabled,t=l&&l.states&&l.states[a||"normal"]||{},r=!1===t.enabled,n=f.stateMarkerGraphic,m=this.marker||{},w=f.chart,B=f.halo,F,z,A,C=l&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(r||q&&!1===t.enabled)||a&&m.states&&m.states[a]&&!1===m.states[a].enabled)){this.state=a;C&&(F=f.markerAttribs(this,a));if(this.graphic)g&&this.graphic.removeClass("highcharts-point-"+g),a&&this.graphic.addClass("highcharts-point-"+a),w.styledMode||(z=f.pointAttribs(this,
        a),A=e(w.options.chart.animation,h.animation),f.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:z.opacity},A)}),this.connector&&this.connector.animate({opacity:z.opacity},A)),this.graphic.animate(z,A)),F&&this.graphic.animate(F,e(w.options.chart.animation,t.animation,l.animation)),n&&n.hide();else{if(a&&t){g=m.symbol||f.symbol;n&&n.currentSymbol!==g&&(n=n.destroy());if(n)n[b?"animate":"attr"]({x:F.x,y:F.y});else g&&(f.stateMarkerGraphic=n=w.renderer.symbol(g,
        F.x,F.y,F.width,F.height).add(f.markerGroup),n.currentSymbol=g);!w.styledMode&&n&&n.attr(f.pointAttribs(this,a))}n&&(n[a&&w.isInsidePlot(c,d,w.inverted)?"show":"hide"](),n.element.point=this)}(a=h.halo)&&a.size?(B||(f.halo=B=w.renderer.path().add((this.graphic||n).parentGroup)),B.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),B.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),B.point=this,w.styledMode||B.attr(x({fill:this.color||
            f.color,"fill-opacity":a.opacity},a.attributes))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide);y(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});x(l.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&y(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,
        b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&y(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var c=this,d=c.options,f=c.graph,g=d.inactiveOtherPoints,h=d.states,l=d.lineWidth,q=d.opacity,t=e(h[a||"normal"]&&h[a||"normal"].animation,c.chart.options.chart.animation),d=0;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&
    (c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(h[a]&&!1===h[a].enabled)return;a&&(l=h[a].lineWidth||l+(h[a].lineWidthPlus||0),q=e(h[a].opacity,q));if(f&&!f.dashstyle)for(h={"stroke-width":l},f.animate(h,t);c["zone-graph-"+d];)c["zone-graph-"+d].attr(h),d+=1;g||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:q},t)})}b&&g&&c.points&&c.points.forEach(function(b){b.setState&&
    b.setState(a)})},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&
    a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);y(c,f);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);y(this,a?"select":"unselect")},drawTracker:F.drawTrackerGraph})});I(H,"parts/Responsive.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,A=a.isArray,E=a.isObject,m=
    a.pick,g=a.splat;C.prototype.setResponsive=function(g,m){var v=this.options.responsive,x=[],n=this.currentResponsive;!m&&v&&v.rules&&v.rules.forEach(function(f){void 0===f._id&&(f._id=a.uniqueKey());this.matchResponsiveRule(f,x,g)},this);m=a.merge.apply(0,x.map(function(f){return a.find(v.rules,function(a){return a._id===f}).chartOptions}));m.isResponsiveOptions=!0;x=x.toString()||void 0;x!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,g,!0),x?(n=this.currentOptions(m),n.isResponsiveOptions=!0,this.currentResponsive=
    {ruleIds:x,mergedOptions:m,undoOptions:n},this.update(m,g,!0)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,g){var v=a.condition;(v.callback||function(){return this.chartWidth<=m(v.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=m(v.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=m(v.minWidth,0)&&this.chartHeight>=m(v.minHeight,0)}).call(this)&&g.push(a._id)};C.prototype.currentOptions=function(v){function x(n,f,h,r){var e;a.objectEach(n,function(a,l){if(!r&&-1<y.collectionsWithUpdate.indexOf(l))for(a=
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           g(a),h[l]=[],e=0;e<a.length;e++)f[l][e]&&(h[l][e]={},x(a[e],f[l][e],h[l][e],r+1));else E(a)?(h[l]=A(a)?[]:{},x(a,f[l]||{},h[l],r+1)):h[l]=m(f[l],null)})}var y=this,z={};x(v,this.options,z,0);return z}});I(H,"masters/highcharts.src.js",[H["parts/Globals.js"]],function(a){return a});I(H,"parts/Scrollbar.js",[H["parts/Globals.js"]],function(a){function C(a,e,c){this.init(a,e,c)}var A=a.addEvent,E=a.Axis,m=a.correctFloat,g=a.defaultOptions,v=a.defined,x=a.destroyObjectProperties,y=a.fireEvent,z=a.hasTouch,
    n=a.merge,f=a.pick,h=a.removeEvent,r,e={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};g.scrollbar=n(!0,e,g.scrollbar);a.swapXY=r=function(a,e){var b=
    a.length,f;if(e)for(e=0;e<b;e+=3)f=a[e+1],a[e+1]=a[e+2],a[e+2]=f;return a};C.prototype={init:function(a,g,c){this.scrollbarButtons=[];this.renderer=a;this.userOptions=g;this.options=n(e,g);this.chart=c;this.size=f(this.options.size,this.options.height);g.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,e=this.options,c=this.size,f=this.chart.styledMode,g;this.group=g=a.g("scrollbar").attr({zIndex:e.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,
        r:e.trackBorderRadius||0,height:c,width:c}).add(g);f||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,width:c,r:e.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(r(["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],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1}));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,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            e,c,f){var b=this.options.vertical,g=0,h=this.rendered?"animate":"attr";this.x=a;this.y=e+this.trackBorderWidth;this.width=c;this.xOffset=this.height=f;this.yOffset=g;b?(this.width=this.yOffset=c=g=this.size,this.xOffset=e=0,this.barWidth=f-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=f=e=this.size,this.barWidth=c-2*f,this.y+=this.options.margin);this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:c,height:f});this.scrollbarButtons[1][h]({translateX:b?0:c-e,translateY:b?
            f-g:0})},drawScrollbarButton:function(a){var b=this.renderer,c=this.scrollbarButtons,e=this.options,f=this.size,g;g=b.g().add(this.group);c.push(g);g=b.rect().addClass("highcharts-scrollbar-button").add(g);this.chart.styledMode||g.attr({stroke:e.buttonBorderColor,"stroke-width":e.buttonBorderWidth,fill:e.buttonBackgroundColor});g.attr(g.crisp({x:-.5,y:-.5,width:f+1,height:f+1,r:e.buttonBorderRadius},g.strokeWidth()));g=b.path(r(["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]);this.chart.styledMode||g.attr({fill:e.buttonArrowColor})},setRange:function(a,e){var b=this.options,f=b.vertical,g=b.minWidth,h=this.barWidth,l,p,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";v(h)&&(a=Math.max(a,0),l=Math.ceil(h*a),this.calculatedWidth=p=m(h*Math.min(e,1)-l),p<g&&(l=(h-g+p)*a,p=g),g=Math.floor(l+this.xOffset+this.yOffset),h=p/2-.5,this.from=a,this.to=e,f?(this.scrollbarGroup[d]({translateY:g}),
        this.scrollbar[d]({height:p}),this.scrollbarRifles[d]({translateY:h}),this.scrollbarTop=g,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:g}),this.scrollbar[d]({width:p}),this.scrollbarRifles[d]({translateX:h}),this.scrollbarLeft=g,this.scrollbarTop=0),12>=p?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=e?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&&y(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&y(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=m(a.to-a.from)*a.options.step;a.updatePosition(m(a.from-c),m(a.to-c));y(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);y(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,g=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>f||!a.options.vertical&&c.chartX>g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);y(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,e){1<e&&(a=m(1-m(e-a)),e=1);0>a&&(e=m(e-a),a=0);this.from=a;this.to=e},update:function(a){this.destroy();this.init(this.chart.renderer,n(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,c=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,h=this.mouseUpHandler,a=[[e[a[0]].element,"click",this.buttonToMinClick],[e[a[1]].element,"click",this.buttonToMaxClick],
        [this.track.element,"click",this.trackClick],[c,"mousedown",f],[c.ownerDocument,"mousemove",g],[c.ownerDocument,"mouseup",h]];z&&a.push([c,"touchstart",f],[c.ownerDocument,"touchmove",g],[c.ownerDocument,"touchend",h]);a.forEach(function(a){A.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){h.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&
    this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,x(a.scrollbarButtons))}};a.Scrollbar||(A(E,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new C(b.chart.renderer,b.options.scrollbar,b.chart),A(b.scrollbar,"changed",function(e){var c=Math.min(f(b.options.min,b.min),b.min,b.dataMin),g=Math.max(f(b.options.max,b.max),
    b.max,b.dataMax)-c,h;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(h=c+g*this.to,c+=g*this.from):(h=c+g*(1-this.from),c+=g*(1-this.to));f(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===e.DOMType||!v(e.DOMType)?b.setExtremes(c,h,!0,"mousemove"!==e.DOMType,e):this.setRange(this.from,this.to)}))}),A(E,"afterRender",function(){var a=Math.min(f(this.options.min,this.min),this.min,f(this.dataMin,this.min)),e=Math.max(f(this.options.max,this.max),this.max,f(this.dataMax,
    this.max)),c=this.scrollbar,g=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,n=this.options.margin||0;c&&(this.horiz?(this.opposite||(h[1]+=g),c.position(this.left,this.top+this.height+2+h[1]-(this.opposite?n:0),this.width,this.height),this.opposite||(h[1]+=n),g=1):(this.opposite&&(h[0]+=g),c.position(this.left+this.width+2+h[0]-(this.opposite?0:n),this.top,this.width,this.height),this.opposite&&(h[0]+=n),g=0),h[g]+=c.size+c.options.margin,isNaN(a)||isNaN(e)||!v(this.min)||
!v(this.max)||this.min===this.max?c.setRange(0,1):(h=(this.min-a)/(e-a),a=(this.max-a)/(e-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(h,a):c.setRange(1-a,1-h)))}),A(E,"afterGetOffset",function(){var a=this.horiz?2:1,e=this.scrollbar;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=e.size+e.options.margin)}),a.Scrollbar=C)});I(H,"parts/Navigator.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}var A=a.addEvent,E=a.Axis,m=a.Chart,g=a.color,
    v=a.defaultOptions,x=a.defined,y=a.destroyObjectProperties,z=a.erase,n=a.extend,f=a.hasTouch,h=a.isArray,r=a.isNumber,e=a.isTouchDevice,b=a.merge,l=a.pick,c=a.removeEvent,t=a.Scrollbar,F=a.Series,w,B=function(a){var b=[].filter.call(arguments,r);if(b.length)return Math[a].apply(0,b)};w=void 0===a.seriesTypes.areaspline?"line":"areaspline";n(v,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",
            borderColor:"#999999"},maskFill:g("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:w,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["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,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",
            className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,
            tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,e,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};E.prototype.toFixedRange=function(a,b,c,e){var d=this.chart&&this.chart.fixedRange;a=l(c,this.translate(a,!0,!this.horiz));b=l(e,this.translate(b,!0,!this.horiz));c=d&&(b-a)/d;.7<c&&1.3>c&&(e?a=b-d:b=a+d);r(a)&&r(b)||(a=b=void 0);return{min:a,max:b}};C.prototype=
    {drawHandle:function(a,b,c,e){var d=this.navigatorOptions.handles.height;this.handles[b][e](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-d)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-d/2-1)})},drawOutline:function(a,b,c,e){var d=this.navigatorOptions.maskInside,f=this.outline.strokeWidth(),g=f/2,f=f%2/2,k=this.outlineHeight,h=this.scrollbarHeight,p=this.size,l=this.left-h,u=this.top;c?(l-=g,c=
            u+b+f,b=u+a+f,a=["M",l+k,u-h-f,"L",l+k,c,"L",l,c,"L",l,b,"L",l+k,b,"L",l+k,u+p+h].concat(d?["M",l+k,c-g,"L",l+k,b+g]:[])):(a+=l+h-f,b+=l+h-f,u+=g,a=["M",l,u,"L",a,u,"L",a,u+k,"L",b,u+k,"L",b,u,"L",l+p+2*h,u].concat(d?["M",a-g,u,"L",b+g,u]:[]));this.outline[e]({d:a})},drawMasks:function(a,b,c,e){var d=this.left,f=this.top,g=this.height,k,h,p,l;c?(p=[d,d,d],l=[f,f+a,f+b],h=[g,g,g],k=[a,b-a,this.size-b]):(p=[d,d+a,d+b],l=[f,f,f],h=[a,b-a,this.size-b],k=[g,g,g]);this.shades.forEach(function(a,b){a[e]({x:p[b],
            y:l[b],width:h[b],height:k[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,e=a.chart,f=e.renderer,g,h={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=g=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(d,c){a.shades[c]=f.rect().addClass("highcharts-navigator-mask"+(1===c?"-inside":"-outside")).add(g);e.styledMode||a.shades[c].attr({fill:d?b.maskFill:"rgba(0,0,0,0)"}).css(1===c&&h)});a.outline=f.path().addClass("highcharts-navigator-outline").add(g);
            e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(d){b.handles.inverted=e.inverted;a.handles[d]=f.symbol(b.handles.symbols[d],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[d].attr({zIndex:7-d}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][d]).add(g);if(!e.styledMode){var c=b.handles;a.handles[d].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.lineWidth}).css(h)}})},
        update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,d,c,e){var f=this.chart,g,k,h=this.scrollbarHeight,p,u=this.xAxis;g=u.fake?f.xAxis[0]:u;var t=this.navigatorEnabled,n,m=this.rendered;k=f.inverted;var w,v=f.xAxis[0].minRange,y=f.xAxis[0].options.maxRange;if(!this.hasDragged||x(c)){if(!r(b)||!r(d))if(m)c=0,e=l(u.width,g.width);else return;
            this.left=l(u.left,f.plotLeft+h+(k?f.plotWidth:0));this.size=n=p=l(u.len,(k?f.plotHeight:f.plotWidth)-2*h);f=k?h:p+2*h;c=l(c,u.toPixels(b,!0));e=l(e,u.toPixels(d,!0));r(c)&&Infinity!==Math.abs(c)||(c=0,e=f);b=u.toValue(c,!0);d=u.toValue(e,!0);w=Math.abs(a.correctFloat(d-b));w<v?this.grabbedLeft?c=u.toPixels(d-v,!0):this.grabbedRight&&(e=u.toPixels(b+v,!0)):x(y)&&w>y&&(this.grabbedLeft?c=u.toPixels(d-y,!0):this.grabbedRight&&(e=u.toPixels(b+y,!0)));this.zoomedMax=Math.min(Math.max(c,e,0),n);this.zoomedMin=
                Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0),n);this.range=this.zoomedMax-this.zoomedMin;n=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);t&&(this.navigatorGroup.attr({visibility:"visible"}),m=m&&!this.hasDragged?"animate":"attr",this.drawMasks(c,n,k,m),this.drawOutline(c,n,k,m),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,k,m),this.drawHandle(n,1,k,m)));this.scrollbar&&(k?(k=this.top-h,g=this.left-h+(t||!g.opposite?0:(g.titleOffset||0)+
                g.axisTitleMargin),h=p+2*h):(k=this.top+(t?this.height:-h),g=this.left-h),this.scrollbar.position(g,k,f,h),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,e=[],g,h;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=h=function(b){a.onMouseUp(b)};e=a.getPartsEvents("mousedown");e.push(A(c,"mousemove",g),A(c.ownerDocument,"mouseup",h));f&&(e.push(A(c,"touchmove",g),A(c.ownerDocument,
            "touchend",h)),e.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=e;a.series&&a.series[0]&&e.push(A(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(e,f){c.push(A(e.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c},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,h=this.range,l=a.chartX,p,t;d.inverted&&(l=a.chartY,f=this.top);1===b?(this.grabbedCenter=l,this.fixedWidth=h,this.dragOffset=l-e):(a=l-f-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=g&&(a=g-h,this.reversedExtremes?(a-=h,t=this.getUnionExtremes().dataMin):p=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=h,b=c.toFixedRange(a,a+h,t,p),x(b.min)&&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=this.reversedExtremes;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(b){var d=this,c=d.chart,f=d.left,g=d.navigatorSize,h=d.range,p=d.dragOffset,t=c.inverted;b.touches&&0===b.touches[0].pageX||(b=c.pointer.normalize(b),c=b.chartX,t&&(f=d.top,c=b.chartY),d.grabbedLeft?(d.hasDragged=!0,d.render(0,
            0,c-f,d.otherHandlePos)):d.grabbedRight?(d.hasDragged=!0,d.render(0,0,d.otherHandlePos,c-f)):d.grabbedCenter&&(d.hasDragged=!0,c<p?c=p:c>g+p-h&&(c=g+p-h),d.render(0,0,c-p,c-p+h)),d.hasDragged&&d.scrollbar&&l(d.scrollbar.options.liveRedraw,a.svg&&!e&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){d.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,e=this.scrollbar,f,g,h=a.DOMEvent||a;(!this.hasDragged||e&&e.hasDragged)&&"scrollbar"!==a.trigger||(e=this.getUnionExtremes(),
            this.zoomedMin===this.otherHandlePos?f=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(g=this.fixedExtreme),this.zoomedMax===this.size&&(g=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(f=this.reversedExtremes?e.dataMax:e.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,f,g),x(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:h}));"mousemove"!==a.DOMType&&(this.grabbedLeft=
            this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){c(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&
        c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var d=a.options,c=d.navigator,e=c.enabled,f=d.scrollbar,g=f.enabled,d=e?c.height:0,h=g?f.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=d;this.scrollbarHeight=h;this.scrollbarEnabled=g;this.navigatorEnabled=e;this.navigatorOptions=c;this.scrollbarOptions=f;this.outlineHeight=d+h;this.opposite=l(c.opposite,!e&&a.inverted);var p=this,e=p.baseSeries,f=a.xAxis.length,g=a.yAxis.length,n=
            e&&e[0]&&e[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;p.navigatorEnabled?(p.xAxis=new E(a,b({breaks:n.options.breaks,ordinal:n.options.ordinal},c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[h,0,-h,0],width:d}:{offsets:[0,-h,0,h],height:d})),p.yAxis=new E(a,b(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:g,
            isInternal:!0,zoomEnabled:!1},a.inverted?{width:d}:{height:d})),e||c.series.data?p.updateNavigatorSeries(!1):0===a.series.length&&(p.unbindRedraw=A(a,"beforeRedraw",function(){0<a.series.length&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())})),p.reversedExtremes=a.inverted&&!p.xAxis.reversed||!a.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()):p.xAxis={translate:function(b,d){var c=a.xAxis[0],e=c.getExtremes(),f=c.len-2*h,g=B("min",c.options.min,e.dataMin),c=B("max",c.options.max,
                e.dataMax)-g;return d?b*c/f+g:f*(b-g)/c},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:E.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=p.scrollbar=new t(a.renderer,b(a.options.scrollbar,{margin:p.navigatorEnabled?0:10,vertical:a.inverted}),a),A(p.scrollbar,"changed",function(b){var d=p.size,c=d*this.to,d=d*this.from;p.hasDragged=p.scrollbar.hasDragged;p.render(0,0,d,c);(a.options.scrollbar.liveRedraw||"mousemove"!==
            b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){p.onMouseUp(b)})}));p.addBaseSeriesEvents();p.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,e=c.options,f=b.options,g;a&&null===b.dataMin||(g={dataMin:l(e&&e.min,B("min",f.min,b.dataMin,c.dataMin,c.min)),dataMax:l(e&&e.max,B("max",f.max,b.dataMax,c.dataMax,c.max))});return g},setBaseSeries:function(b,d){var c=this.chart,e=this.baseSeries=[];b=b||c.options&&c.options.navigator.baseSeries||(c.series.length?
            a.find(c.series,function(a){return!a.options.isInternal}).index:0);(c.series||[]).forEach(function(a,d){a.options.isInternal||!a.options.showInNavigator&&(d!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,d)},updateNavigatorSeries:function(e,d){var f=this,g=f.chart,l=f.baseSeries,p,q,t=f.navigatorOptions.series,r,m={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",
            showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},w=f.series=(f.series||[]).filter(function(a){var b=a.baseSeries;return 0>l.indexOf(b)?(b&&(c(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});l&&l.length&&l.forEach(function(a){var c=a.navigatorSeries,e=n({color:a.color,visible:a.visible},h(t)?v.navigator.series:t);c&&!1===f.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+l.length,p=a.options||{},r=p.navigatorOptions||{},
            q=b(p,m,e,r),e=r.data||e.data,f.hasNavigatorData=f.hasNavigatorData||!!e,q.data=e||p.data&&p.data.slice(0),c&&c.options?c.update(q,d):(a.navigatorSeries=g.initSeries(q),a.navigatorSeries.baseSeries=a,w.push(a.navigatorSeries)))});if(t.data&&(!l||!l.length)||h(t))f.hasNavigatorData=!1,t=a.splat(t),t.forEach(function(a,d){m.name="Navigator "+(w.length+1);q=b(v.navigator.series,{color:g.series[d]&&!g.series[d].options.isInternal&&g.series[d].color||g.options.colors[d]||g.options.colors[0]},m,a);q.data=
            a.data;q.data&&(f.hasNavigatorData=!0,w.push(g.initSeries(q)))});e&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&A(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){A(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});A(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&A(b,"updatedData",this.updatedDataHandler);
            A(b,"remove",function(){this.navigatorSeries&&(z(a.series,this.navigatorSeries),x(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)},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,b=this.getExtremes(),c=b.dataMin,e=b.dataMax,b=b.max-b.min,f=a.stickToMin,g=a.stickToMax,h=l(this.options.overscroll,0),t,n,m=a.series&&a.series[0],w=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(n=c,t=n+b),g&&(t=e+h,f||(n=Math.max(t-b,a.getBaseSeriesMin(m&&m.xData?m.xData[0]:-Number.MAX_VALUE)))),w&&(f||g)&&r(n)&&(this.min=this.userMin=n,this.max=this.userMax=t));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,
            b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=r(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(A(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)}),A(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(z(this.chart.xAxis,this.xAxis),z(this.chart.axes,this.xAxis));this.yAxis&&(z(this.chart.yAxis,
            this.yAxis),z(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){y(a)},this)}};a.Navigator||(a.Navigator=C,A(E,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,f=b.chart.pinchType,g=b.navigator,b=b.rangeSelector;
    this.isXAxis&&(g&&g.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!e&&"xy"===c||e&&"xy"===f)&&this.options.range&&(c=this.previousZoom,x(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),A(m,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!e&&"x"===a.chart.zoomType||e&&"x"===a.chart.pinchType))return!1}),A(m,"beforeRender",function(){var a=
    this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new C(this)}),A(m,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,e,f,g;b&&(e=a&&a.options,f=b.xAxis,g=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():
    0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+l(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=b.left:f.options.top=g.options.top=b.top,f.setAxisSize(),g.setAxisSize()))}),A(m,"update",function(a){var d=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!d.enabled&&!c.enabled||(b(!0,this.options.navigator,d),b(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)}),A(m,"afterUpdate",function(a){this.navigator||
this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new C(this),l(a.redraw,!0)&&this.redraw(a.animation))}),A(m,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),A(F,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),m.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});
    I(H,"parts/OrdinalAxis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.Axis,E=a.Chart,m=a.css,g=a.defined,v=a.extend,x=a.noop,y=a.pick,z=a.timeUnits;C(a.Series,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinalIndex});A.prototype.getTimeTicks=function(a,f,h,r,e,b,l){var c=0,t,n,m={},v,p,d,k=[],u=-Number.MAX_VALUE,x=this.options.tickPixelInterval,y=this.chart.time,q=[];if(!this.options.ordinal&&!this.options.breaks||!e||3>e.length||void 0===f)return y.getTimeTicks.apply(y,
        arguments);p=e.length;for(t=0;t<p;t++){d=t&&e[t-1]>h;e[t]<f&&(c=t);if(t===p-1||e[t+1]-e[t]>5*b||d){if(e[t]>u){for(n=y.getTimeTicks(a,e[c],e[t],r);n.length&&n[0]<=u;)n.shift();n.length&&(u=n[n.length-1]);q.push(k.length);k=k.concat(n)}c=t+1}if(d)break}n=n.info;if(l&&n.unitRange<=z.hour){t=k.length-1;for(c=1;c<t;c++)y.dateFormat("%d",k[c])!==y.dateFormat("%d",k[c-1])&&(m[k[c]]="day",v=!0);v&&(m[k[0]]="day");n.higherRanks=m}n.segmentStarts=q;k.info=n;if(l&&g(x)){c=q=k.length;v=[];for(var A,y=[];c--;)t=
        this.translate(k[c]),A&&(y[c]=A-t),v[c]=A=t;y.sort();y=y[Math.floor(y.length/2)];y<.6*x&&(y=null);c=k[q-1]>h?q-1:q;for(A=void 0;c--;)t=v[c],q=Math.abs(A-t),A&&q<.8*x&&(null===y||q<.8*y)?(m[k[c]]&&!m[k[c+1]]?(q=c+1,A=t):q=c,k.splice(q,1)):A=t}return k};v(A.prototype,{beforeSetTickPositions:function(){var a,f=[],g,r=!1,e,b=this.getExtremes(),l=b.min,c=b.max,t,m=this.isXAxis&&!!this.options.breaks,b=this.options.ordinal,w=Number.MAX_VALUE,v=this.chart.options.chart.ignoreHiddenSeries,p;if(b||m){this.series.forEach(function(b,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      c){g=[];if(!(v&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(f=f.concat(b.processedXData),a=f.length,f.sort(function(a,b){return a-b}),w=Math.min(w,y(b.closestPointRange,w)),a)){for(c=0;c<a-1;)f[c]!==f[c+1]&&g.push(f[c+1]),c++;g[0]!==f[0]&&g.unshift(f[0]);f=g}b.isSeriesBoosting&&(p=!0)});p&&(f.length=0);a=f.length;if(2<a){e=f[1]-f[0];for(t=a-1;t--&&!r;)f[t+1]-f[t]!==e&&(r=!0);!this.options.keepOrdinalPadding&&(f[0]-l>e||c-f[f.length-1]>e)&&(r=!0)}else this.options.overscroll&&(2===a?w=f[1]-f[0]:
            1===a?(w=this.options.overscroll,f=[f[0],f[0]+w]):w=this.overscrollPointsRange);r?(this.options.overscroll&&(this.overscrollPointsRange=w,f=f.concat(this.getOverscrollPositions())),this.ordinalPositions=f,e=this.ordinal2lin(Math.max(l,f[0]),!0),t=Math.max(this.ordinal2lin(Math.min(c,f[f.length-1]),!0),1),this.ordinalSlope=c=(c-l)/(t-e),this.ordinalOffset=l-e*c):(this.overscrollPointsRange=y(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=
            void 0)}this.isOrdinal=b&&r;this.groupIntervalFactor=null},val2lin:function(a,f){var g=this.ordinalPositions;if(g){var n=g.length,e,b;for(e=n;e--;)if(g[e]===a){b=e;break}for(e=n-1;e--;)if(a>g[e]||0===e){a=(a-g[e])/(g[e+1]-g[e]);b=e+a;break}f=f?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else f=a;return f},lin2val:function(a,f){var g=this.ordinalPositions;if(g){var n=this.ordinalSlope,e=this.ordinalOffset,b=g.length-1,l;if(f)0>a?a=g[0]:a>b?a=g[b]:(b=Math.floor(a),l=a-b);else for(;b--;)if(f=n*b+e,
        a>=f){n=n*(b+1)+e;l=(a-f)/(n-f);break}return void 0!==l&&void 0!==g[b]?g[b]+(l?l*(g[b+1]-g[b]):0):a}return a},getExtendedPositions:function(){var a=this,f=a.chart,g=a.series[0].currentDataGrouping,r=a.ordinalIndex,e=g?g.count+g.unitName:"raw",b=a.options.overscroll,l=a.getExtremes(),c,t;r||(r=a.ordinalIndex={});r[e]||(c={series:[],chart:f,getExtremes:function(){return{min:l.dataMin,max:l.dataMax+b}},options:{ordinal:!0},val2lin:A.prototype.val2lin,ordinal2lin:A.prototype.ordinal2lin},a.series.forEach(function(b){t=
            {xAxis:c,xData:b.xData.slice(),chart:f,destroyGroupedData:x};t.xData=t.xData.concat(a.getOverscrollPositions());t.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};b.processData.apply(t);c.series.push(t)}),a.beforeSetTickPositions.apply(c),r[e]=c.ordinalPositions);return r[e]},getOverscrollPositions:function(){var g=this.options.overscroll,f=this.overscrollPointsRange,h=[],r=this.dataMax;if(a.defined(f))for(h.push(r);r<=this.dataMax+g;)r+=
            f,h.push(r);return h},getGroupIntervalFactor:function(a,f,g){var h;g=g.processedXData;var e=g.length,b=[];h=this.groupIntervalFactor;if(!h){for(h=0;h<e-1;h++)b[h]=g[h+1]-g[h];b.sort(function(a,b){return a-b});b=b[Math.floor(e/2)];a=Math.max(a,g[0]);f=Math.min(f,g[e-1]);this.groupIntervalFactor=h=e*b/(f-a)}return h},postProcessTickInterval:function(a){var f=this.ordinalSlope;return f?this.options.breaks?this.closestPointRange||a:a/(f/this.closestPointRange):a}});A.prototype.ordinal2lin=A.prototype.val2lin;
        C(E,"pan",function(a){var f=this.xAxis[0],g=f.options.overscroll,n=a.originalEvent.chartX,e=!1;if(f.options.ordinal&&f.series.length){var b=this.mouseDownX,l=f.getExtremes(),c=l.dataMax,t=l.min,v=l.max,w=this.hoverPoints,x=f.closestPointRange||f.overscrollPointsRange,b=(b-n)/(f.translationSlope*(f.ordinalSlope||x)),p={ordinalPositions:f.getExtendedPositions()},x=f.lin2val,d=f.val2lin,k;p.ordinalPositions?1<Math.abs(b)&&(w&&w.forEach(function(a){a.setState()}),0>b?(w=p,k=f.ordinalPositions?f:p):(w=
            f.ordinalPositions?f:p,k=p),p=k.ordinalPositions,c>p[p.length-1]&&p.push(c),this.fixedRange=v-t,b=f.toFixedRange(null,null,x.apply(w,[d.apply(w,[t,!0])+b,!0]),x.apply(k,[d.apply(k,[v,!0])+b,!0])),b.min>=Math.min(l.dataMin,t)&&b.max<=Math.max(c,v)+g&&f.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=n,m(this.container,{cursor:"move"})):e=!0}else e=!0;e?g&&(f.max=f.dataMax+g):a.preventDefault()});C(A,"foundExtremes",function(){this.isXAxis&&g(this.options.overscroll)&&this.max===this.dataMax&&
        (!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&g(this.userMin)&&(this.min+=this.options.overscroll))});C(A,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)})});I(H,"modules/broken-axis.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.pick,E=a.extend,m=a.isArray,g=
        a.find,v=a.fireEvent,x=a.Axis,y=a.Series,z=function(a,f){return g(f,function(f){return f.from<a&&a<f.to})};E(x.prototype,{isInBreak:function(a,f){var g=a.repeat||Infinity,m=a.from,e=a.to-a.from;f=f>=m?(f-m)%g:g-(m-f)%g;return a.inclusive?f<=e:f<e&&0!==f},isInAnyBreak:function(a,f){var g=this.options.breaks,m=g&&g.length,e,b,l;if(m){for(;m--;)this.isInBreak(g[m],a)&&(e=!0,b||(b=A(g[m].showPoints,!this.isXAxis)));l=e&&f?e&&!b:e}return l}});C(x,"afterInit",function(){"function"===typeof this.setBreaks&&
    this.setBreaks(this.options.breaks,!1)});C(x,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,f=this.tickPositions.info,g=[],m;for(m=0;m<a.length;m++)this.isInAnyBreak(a[m])||g.push(a[m]);this.tickPositions=g;this.tickPositions.info=f}});C(x,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});x.prototype.setBreaks=function(a,f){function g(a){var b=a,f,g;for(g=0;g<e.breakArray.length;g++)if(f=e.breakArray[g],f.to<=a)b-=f.len;else if(f.from>=a)break;
    else if(e.isInBreak(f,a)){b-=a-f.from;break}return b}function n(a){var b,f;for(f=0;f<e.breakArray.length&&!(b=e.breakArray[f],b.from>=a);f++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a}var e=this,b=m(a)&&!!a.length;e.isDirty=e.isBroken!==b;e.isBroken=b;e.options.breaks=e.userOptions.breaks=a;e.forceRedraw=!0;b||e.val2lin!==g||(delete e.val2lin,delete e.lin2val);b&&(e.userOptions.ordinal=!1,e.val2lin=g,e.lin2val=n,e.setExtremes=function(a,b,e,f,g){if(this.isBroken){for(var c,h=this.options.breaks;c=
        z(a,h);)a=c.to;for(;c=z(b,h);)b=c.from;b<a&&(b=a)}x.prototype.setExtremes.call(this,a,b,e,f,g)},e.setAxisTranslation=function(a){x.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=e.options.breaks;var b=[],f=[],g=0,h,l,p=e.userMin||e.min,d=e.userMax||e.max,k=A(e.pointRangePadding,0),u,m;a.forEach(function(a){l=a.repeat||Infinity;e.isInBreak(a,p)&&(p+=a.to%l-p%l);e.isInBreak(a,d)&&(d-=d%l-a.from%l)});a.forEach(function(a){u=a.from;for(l=a.repeat||Infinity;u-l>p;)u-=
        l;for(;u<p;)u+=l;for(m=u;m<d;m+=l)b.push({value:m,move:"in"}),b.push({value:m+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});h=0;u=p;b.forEach(function(a){h+="in"===a.move?1:-1;1===h&&"in"===a.move&&(u=a.value);0===h&&(f.push({from:u,to:a.value,len:a.value-u-(a.size||0)}),g+=a.value-u-(a.size||0))});e.breakArray=f;e.unitLength=d-p-g+k;v(e,"afterBreaks");e.staticScale?e.transA=e.staticScale:e.unitLength&&
        (e.transA*=(d-e.min+k)/e.unitLength);k&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=p;e.max=d}});A(f,!0)&&this.chart.redraw()};C(y,"afterGeneratePoints",function(){var a=this.xAxis,f=this.yAxis,g=this.points,m,e=g.length,b=this.options.connectNulls,l;if(a&&f&&(a.options.breaks||f.options.breaks))for(;e--;)m=g[e],l=null===m.y&&!1===b,l||!a.isInAnyBreak(m.x,!0)&&!f.isInAnyBreak(m.y,!0)||(g.splice(e,1),this.data[e]&&this.data[e].destroyElements())});C(y,"afterRender",function(){this.drawBreaks(this.xAxis,
        ["x"]);this.drawBreaks(this.yAxis,A(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,f){var g=this,m=g.points,e,b,l,c;a&&f.forEach(function(f){e=a.breakArray||[];b=a.isXAxis?a.min:A(g.options.threshold,a.min);m.forEach(function(g){c=A(g["stack"+f.toUpperCase()],g[f]);e.forEach(function(e){l=!1;if(b<e.from&&c>e.to||b>e.from&&c<e.from)l="pointBreak";else if(b<e.from&&c>e.from&&c<e.to||b>e.from&&c>e.to&&c<e.from)l="pointInBreak";l&&v(a,l,{point:g,brk:e})})})})};a.Series.prototype.gappedPath=
        function(){var g=this.currentDataGrouping,f=g&&g.gapSize,g=this.options.gapSize,h=this.points.slice(),m=h.length-1,e=this.yAxis;if(g&&0<m)for("value"!==this.options.gapUnit&&(g*=this.closestPointRange),f&&f>g&&(g=f);m--;)h[m+1].x-h[m].x>g&&(f=(h[m].x+h[m+1].x)/2,h.splice(m+1,0,{isNull:!0,x:f}),this.options.stacking&&(f=e.stacks[this.stackKey][f]=new a.StackItem(e,e.options.stackLabels,!1,f,this.stack),f.total=0));return this.getGraphPath(h)}});I(H,"masters/modules/broken-axis.src.js",[],function(){});
    I(H,"parts/DataGrouping.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.arrayMax,E=a.arrayMin,m=a.Axis,g=a.defaultPlotOptions,v=a.defined,x=a.extend,y=a.format,z=a.isNumber,n=a.merge,f=a.pick,h=a.Point,r=a.Series,e=a.Tooltip,b=a.approximations={sum:function(a){var b=a.length,d;if(!b&&a.hasNulls)d=null;else if(b)for(d=0;b--;)d+=a[b];return d},average:function(a){var d=a.length;a=b.sum(a);z(a)&&d&&(a/=d);return a},averages:function(){var a=[];[].forEach.call(arguments,function(d){a.push(b.average(d))});
                return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?A(a):a.hasNulls?null:void 0},low:function(a){return a.length?E(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,c,e){a=b.open(a);d=b.high(d);c=b.low(c);e=b.close(e);if(z(a)||z(d)||z(c)||z(e))return[a,d,c,e]},range:function(a,d){a=b.low(a);d=b.high(d);if(z(a)||z(d))return[a,d];if(null===a&&null===d)return null}},
        l=function(a,d,c,e){var f=this,g=f.data,h=f.options&&f.options.data,k=[],l=[],p=[],t=a.length,m,u,r=!!d,w=[],x=f.pointArrayMap,y=x&&x.length,B=["x"].concat(x||["y"]),D=0,F=0,G,A;e="function"===typeof e?e:b[e]?b[e]:b[f.getDGApproximation&&f.getDGApproximation()||"average"];y?x.forEach(function(){w.push([])}):w.push([]);G=y||1;for(A=0;A<=t&&!(a[A]>=c[0]);A++);for(A;A<=t;A++){for(;void 0!==c[D+1]&&a[A]>=c[D+1]||A===t;){m=c[D];f.dataGroupInfo={start:f.cropStart+F,length:w[0].length};u=e.apply(f,w);f.pointClass&&
        !v(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=n(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+F])),B.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==u&&(k.push(m),l.push(u),p.push(f.dataGroupInfo));F=A;for(m=0;m<G;m++)w[m].length=0,w[m].hasNulls=!1;D+=1;if(A===t)break}if(A===t)break;if(x){m=f.cropStart+A;u=g&&g[m]||f.pointClass.prototype.applyOptions.apply({series:f},[h[m]]);var C;for(m=0;m<y;m++)C=u[x[m]],z(C)?w[m].push(C):null===C&&(w[m].hasNulls=
            !0)}else m=r?d[A]:null,z(m)?w[0].push(m):null===m&&(w[0].hasNulls=!0)}return{groupedXData:k,groupedYData:l,groupMap:p}},c={approximations:b,groupData:l},t=r.prototype,F=t.processData,w=t.generatePoints,B={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:["%Y","%Y","-%Y"]}},p={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},d=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]];t.getDGApproximation=function(){return a.seriesTypes.arearange&&this instanceof a.seriesTypes.arearange?"range":a.seriesTypes.ohlc&&this instanceof a.seriesTypes.ohlc?"ohlc":a.seriesTypes.column&&this instanceof a.seriesTypes.column?"sum":"average"};t.groupData=l;t.processData=function(){var a=this.chart,b=this.options.dataGrouping,c=!1!==this.allowDG&&b&&f(b.enabled,a.options.isStock),e=this.visible||!a.options.chart.ignoreHiddenSeries,g,h=this.currentDataGrouping,l,m=!1;
        this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;c&&!this.requireSorting&&(this.requireSorting=m=!0);c=!1===F.apply(this,arguments)||!c;m&&(this.requireSorting=!1);if(!c){this.destroyGroupedData();var p,c=b.groupAll?this.xData:this.processedXData,n=b.groupAll?this.yData:this.processedYData,r=a.plotSizeX,a=this.xAxis,w=a.options.ordinal,x=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(x){this.isDirty=g=!0;this.points=null;m=a.getExtremes();l=m.min;var m=m.max,w=
            w&&a.getGroupIntervalFactor(l,m,this)||1,x=x*(m-l)/r*w,r=a.getTimeTicks(a.normalizeTimeTickInterval(x,b.units||d),Math.min(l,c[0]),Math.max(m,c[c.length-1]),a.options.startOfWeek,c,this.closestPointRange),n=t.groupData.apply(this,[c,n,r,b.approximation]),c=n.groupedXData,w=n.groupedYData,y=0;if(b.smoothed&&c.length){p=c.length-1;for(c[p]=Math.min(c[p],m);p--&&0<p;)c[p]+=x/2;c[0]=Math.max(c[0],l)}for(p=1;p<r.length;p++)r.info.segmentStarts&&-1!==r.info.segmentStarts.indexOf(p)||(y=Math.max(r[p]-r[p-
        1],y));l=r.info;l.gapSize=y;this.closestPointRange=r.info.totalRange;this.groupMap=n.groupMap;if(v(c[0])&&c[0]<a.dataMin&&e){if(!v(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=c[0];a.dataMin=c[0]}b.groupAll&&(b=this.cropData(c,w,a.min,a.max,1),c=b.xData,w=b.yData);this.processedXData=c;this.processedYData=w}else this.groupMap=null;this.hasGroupedData=g;this.currentDataGrouping=l;this.preventGraphAnimation=(h&&h.totalRange)!==(l&&l.totalRange)}};t.destroyGroupedData=function(){var a=this.groupedData;
        (a||[]).forEach(function(b,d){b&&(a[d]=b.destroy?b.destroy():null)});this.groupedData=null};t.generatePoints=function(){w.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};C(h,"update",function(){if(this.dataGroup)return a.error(24,!1,this.series.chart),!1});C(e,"headerFormatter",function(a){var b=this.chart.time,d=a.labelConfig,c=d.series,e=c.tooltipOptions,f=c.options.dataGrouping,g=e.xDateFormat,h,k=c.xAxis,l,m=e[(a.isFooter?"footer":"header")+"Format"];
        k&&"datetime"===k.options.type&&f&&z(d.key)&&(l=c.currentDataGrouping,f=f.dateTimeLabelFormats||B.dateTimeLabelFormats,l?(e=f[l.unitName],1===l.count?g=e[0]:(g=e[1],h=e[2])):!g&&f&&(g=this.getXDateFormat(d,e,k)),g=b.dateFormat(g,d.key),h&&(g+=b.dateFormat(h,d.key+l.totalRange-1)),c.chart.styledMode&&(m=this.styledModeFormat(m)),a.text=y(m,{point:x(d.point,{key:g}),series:c},b),a.preventDefault())});C(r,"destroy",t.destroyGroupedData);C(r,"afterSetOptions",function(a){a=a.options;var b=this.type,d=
        this.chart.options.plotOptions,c=g[b].dataGrouping,e=this.useCommonDataGrouping&&B;if(p[b]||e)c||(c=n(B,p[b])),a.dataGrouping=n(e,c,d.series&&d.series.dataGrouping,d[b].dataGrouping,this.userOptions.dataGrouping)});C(m,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});m.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,d,c=0,e=!1,g;for(d=b;d--;)(g=a[d].options.dataGrouping)&&(c=Math.max(c,f(g.groupPixelWidth,B.groupPixelWidth)));for(d=b;d--;)(g=a[d].options.dataGrouping)&&
    a[d].hasProcessed&&(b=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||b>this.chart.plotSizeX/c||b&&g.forced)&&(e=!0);return e?c:0};m.prototype.setDataGrouping=function(a,b){var d;b=f(b,!0);a||(a={forced:!1,units:null});if(this instanceof m)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinalSlope=null;b&&this.chart.redraw()};return a.dataGrouping=c});I(H,"parts/OHLCSeries.js",[H["parts/Globals.js"]],
        function(a){var C=a.Point,A=a.seriesType,E=a.seriesTypes;A("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\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,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,
                a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){E.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,g){g=E.column.prototype.pointAttribs.call(this,a,g);var m=this.options;delete g.fill;!a.options.color&&m.upColor&&a.open<a.close&&(g.stroke=m.upColor);return g},translate:function(){var a=this,g=a.yAxis,v=!!a.modifyValue,x=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];E.column.prototype.translate.apply(a);
                a.points.forEach(function(m){[m.open,m.high,m.low,m.close,m.low].forEach(function(y,n){null!==y&&(v&&(y=a.modifyValue(y)),m[x[n]]=g.toPixels(y,!0))});m.tooltipPos[1]=m.plotHigh+g.pos-a.chart.plotTop})},drawPoints:function(){var a=this,g=a.chart;a.points.forEach(function(m){var v,y,z,n,f=m.graphic,h,r=!f;void 0!==m.plotY&&(f||(m.graphic=f=g.renderer.path().add(a.group)),g.styledMode||f.attr(a.pointAttribs(m,m.selected&&"select")),y=f.strokeWidth()%2/2,h=Math.round(m.plotX)-y,z=Math.round(m.shapeArgs.width/
                2),n=["M",h,Math.round(m.yBottom),"L",h,Math.round(m.plotHigh)],null!==m.open&&(v=Math.round(m.plotOpen)+y,n.push("M",h,v,"L",h-z,v)),null!==m.close&&(v=Math.round(m.plotClose)+y,n.push("M",h,v,"L",h+z,v)),f[r?"attr":"animate"]({d:n}).addClass(m.getClassName(),!0))})},animate:null},{getClassName:function(){return C.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})});I(H,"parts/CandlestickSeries.js",[H["parts/Globals.js"]],function(a){var C=
        a.defaultPlotOptions,A=a.merge,E=a.seriesType,m=a.seriesTypes;E("candlestick","ohlc",A(C.column,{states:{hover:{lineWidth:2}},tooltip:C.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,v){var g=m.column.prototype.pointAttribs.call(this,a,v),y=this.options,z=a.open<a.close,n=y.lineColor||this.color;g["stroke-width"]=y.lineWidth;g.fill=a.options.color||(z?y.upColor||this.color:this.color);g.stroke=a.lineColor||(z?y.upLineColor||
            n:n);v&&(a=y.states[v],g.fill=a.color||g.fill,g.stroke=a.lineColor||g.stroke,g["stroke-width"]=a.lineWidth||g["stroke-width"]);return g},drawPoints:function(){var a=this,m=a.chart,x=a.yAxis.reversed;a.points.forEach(function(g){var v=g.graphic,n,f,h,r,e,b,l,c=!v;void 0!==g.plotY&&(v||(g.graphic=v=m.renderer.path().add(a.group)),a.chart.styledMode||v.attr(a.pointAttribs(g,g.selected&&"select")).shadow(a.options.shadow),e=v.strokeWidth()%2/2,b=Math.round(g.plotX)-e,n=g.plotOpen,f=g.plotClose,h=Math.min(n,
            f),n=Math.max(n,f),l=Math.round(g.shapeArgs.width/2),f=x?n!==g.yBottom:Math.round(h)!==Math.round(g.plotHigh),r=x?Math.round(h)!==Math.round(g.plotHigh):n!==g.yBottom,h=Math.round(h)+e,n=Math.round(n)+e,e=[],e.push("M",b-l,n,"L",b-l,h,"L",b+l,h,"L",b+l,n,"Z","M",b,h,"L",b,f?Math.round(x?g.yBottom:g.plotHigh):h,"M",b,n,"L",b,r?Math.round(x?g.plotHigh:g.yBottom):n),v[c?"attr":"animate"]({d:e}).addClass(g.getClassName(),!0))})}})});I(H,"mixins/on-series.js",[H["parts/Globals.js"]],function(a){var C=
        a.defined,A=a.seriesTypes,E=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){A.column.prototype.translate.apply(this);var a=this,g=a.options,v=a.chart,x=a.points,y=x.length-1,z,n=g.onSeries,n=n&&v.get(n),g=g.onKey||"y",f=n&&n.options.step,h=n&&n.points,r=h&&h.length,e=v.inverted,b=a.xAxis,l=a.yAxis,c=0,t,F,w,B;if(n&&n.visible&&r)for(c=(n.pointXOffset||0)+(n.barW||0)/2,v=n.currentDataGrouping,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        F=h[r-1].x+(v?v.totalRange:0),E(x,function(a,b){return a.x-b.x}),g="plot"+g[0].toUpperCase()+g.substr(1);r--&&x[y]&&!(t=h[r],v=x[y],v.y=t.y,t.x<=v.x&&void 0!==t[g]&&(v.x<=F&&(v.plotY=t[g],t.x<v.x&&!f&&(w=h[r+1])&&void 0!==w[g]&&(B=(v.x-t.x)/(w.x-t.x),v.plotY+=B*(w[g]-t[g]),v.y+=B*(w.y-t.y))),y--,r++,0>y)););x.forEach(function(f,d){var g;f.plotX+=c;if(void 0===f.plotY||e)0<=f.plotX&&f.plotX<=b.len?e?(f.plotY=b.translate(f.x,0,1,0,1),f.plotX=C(f.y)?l.translate(f.y,0,0,0,1):0):f.plotY=(b.opposite?0:
            a.yAxis.len)+b.offset:f.shapeArgs={};(z=x[d-1])&&z.plotX===f.plotX&&(void 0===z.stackIndex&&(z.stackIndex=0),g=z.stackIndex+1);f.stackIndex=g});this.onSeries=n}}});I(H,"parts/FlagsSeries.js",[H["parts/Globals.js"],H["mixins/on-series.js"]],function(a,C){function A(a){h[a+"pin"]=function(e,b,f,c,g){var l=g&&g.anchorX;g=g&&g.anchorY;var m;"circle"===a&&c>f&&(e-=Math.round((c-f)/2),f=c);m=h[a](e,b,f,c);l&&g&&(m.push("M","circle"===a?e+f/2:m[1]+m[4]/2,b>g?b:b+c,"L",l,g),m=m.concat(h.circle(l-1,g-1,2,
        2)));return m}}var E=a.addEvent,m=a.merge,g=a.noop,v=a.defined,x=a.Renderer,y=a.Series,z=a.seriesType,n=a.TrackerMixin,f=a.VMLRenderer,h=a.SVGRenderer.prototype.symbols;z("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,
        takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:y.prototype.init,pointAttribs:function(a,e){var b=this.options,f=a&&a.color||this.color,c=b.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||b.fillColor;e&&(a=b.states[e].fillColor,c=b.states[e].lineColor,g=b.states[e].lineWidth);return{fill:a||f,stroke:c||f,"stroke-width":g||b.lineWidth||0}},translate:C.translate,getPlotBox:C.getPlotBox,drawPoints:function(){var f=this.points,e=this.chart,b=e.renderer,g,c,h=e.inverted,n=this.options,
            w=n.y,x,p,d,k,u,y,z=this.yAxis,q={},A=[],C;for(p=f.length;p--;)d=f[p],y=(h?d.plotY:d.plotX)>this.xAxis.len,g=d.plotX,k=d.stackIndex,x=d.options.shape||n.shape,c=d.plotY,void 0!==c&&(c=d.plotY+w-(void 0!==k&&k*n.stackDistance)),d.anchorX=k?void 0:d.plotX,u=k?void 0:d.plotY,C="flag"!==x,k=d.graphic,void 0!==c&&0<=g&&!y?(k||(k=d.graphic=b.label("",null,null,x,null,null,n.useHTML),e.styledMode||k.attr(this.pointAttribs(d)).css(m(n.style,d.style)),k.attr({align:C?"center":"left",width:n.width,height:n.height,
                "text-align":n.textAlign}).addClass("highcharts-point").add(this.markerGroup),d.graphic.div&&(d.graphic.div.point=d),e.styledMode||k.shadow(n.shadow),k.isNew=!0),0<g&&(g-=k.strokeWidth()%2),x={y:c,anchorY:u},n.allowOverlapX&&(x.x=g,x.anchorX=d.anchorX),k.attr({text:d.options.title||n.title||"A"})[k.isNew?"attr":"animate"](x),n.allowOverlapX||(q[d.plotX]?q[d.plotX].size=Math.max(q[d.plotX].size,k.width):q[d.plotX]={align:C?.5:0,size:k.width,target:g,anchorX:g}),d.tooltipPos=[g,c+z.pos-e.plotTop]):
            k&&(d.graphic=k.destroy());n.allowOverlapX||(a.objectEach(q,function(a){a.plotX=a.anchorX;A.push(a)}),a.distribute(A,h?z.len:this.xAxis.len,100),f.forEach(function(a){var b=a.graphic&&q[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos+b.align*b.size,anchorX:a.anchorX}),v(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));n.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,
            1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;n.drawTrackerPoint.apply(this);a.forEach(function(e){var b=e.graphic;b&&E(b.element,"mouseover",function(){0<e.stackIndex&&!e.raised&&(e._y=b.y,b.attr({y:e._y-8}),e.raised=!0);a.forEach(function(a){a!==e&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){y.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&
        this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:g,invertGroups:g},{isValid:function(){return a.isNumber(this.y)||void 0===this.y}});h.flag=function(a,e,b,f,c){var g=c&&c.anchorX||a;c=c&&c.anchorY||e;return h.circle(g-1,c-1,2,2).concat(["M",g,c,"L",a,e+f,a,e,a+b,e,a+b,e+f,a,e+f,"Z"])};A("circle");A("square");x===f&&["flag","circlepin","squarepin"].forEach(function(a){f.prototype.symbols[a]=h[a]})});I(H,"parts/RangeSelector.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}
        var A=a.addEvent,E=a.Axis,m=a.Chart,g=a.css,v=a.createElement,x=a.defaultOptions,y=a.defined,z=a.destroyObjectProperties,n=a.discardElement,f=a.extend,h=a.fireEvent,r=a.isNumber,e=a.merge,b=a.pick,l=a.pInt,c=a.splat;f(x,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});x.lang=e(x.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
            rangeSelectorTo:"To"});C.prototype={clickButton:function(a,e){var f=this.chart,g=this.buttonOptions[a],h=f.xAxis[0],d=f.scroller&&f.scroller.getUnionExtremes()||h||{},k=d.dataMin,l=d.dataMax,m,t=h&&Math.round(Math.min(h.max,b(l,h.max))),q=g.type,n,d=g._range,v,x,y,z=g.dataGrouping;if(null!==k&&null!==l){f.fixedRange=d;z&&(this.forcedDataGrouping=!0,E.prototype.setDataGrouping.call(h||{chart:this.chart},z,!1),this.frozenStates=g.preserveDataGrouping);if("month"===q||"year"===q)h?(q={range:g,max:t,
                chart:f,dataMin:k,dataMax:l},m=h.minFromRange.call(q),r(q.newMax)&&(t=q.newMax)):d=g;else if(d)m=Math.max(t-d,k),t=Math.min(m+d,l);else if("ytd"===q)if(h)void 0===l&&(k=Number.MAX_VALUE,l=Number.MIN_VALUE,f.series.forEach(function(a){a=a.xData;k=Math.min(a[0],k);l=Math.max(a[a.length-1],l)}),e=!1),t=this.getYTDExtremes(l,k,f.time.useUTC),m=v=t.min,t=t.max;else{this.deferredYTDClick=a;return}else"all"===q&&h&&(m=k,t=l);m+=g._offsetMin;t+=g._offsetMax;this.setSelected(a);h?h.setExtremes(m,t,b(e,1),
                null,{trigger:"rangeSelectorButton",rangeSelectorButton:g}):(n=c(f.options.xAxis)[0],y=n.range,n.range=d,x=n.min,n.min=v,A(f,"load",function(){n.range=y;n.min=x}))}},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 b=this,c=a.options.rangeSelector,e=c.buttons||[].concat(b.defaultButtons),
                f=c.selected,d=function(){var a=b.minInput,d=b.maxInput;a&&a.blur&&h(a,"blur");d&&d.blur&&h(d,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=e;this.unMouseDown=A(a.container,"mousedown",d);this.unResize=A(a,"resize",d);e.forEach(b.computeButtonRange);void 0!==f&&e[f]&&this.clickButton(f,!1);A(a,"load",function(){a.xAxis&&a.xAxis[0]&&A(a.xAxis[0],"setExtremes",function(d){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&b.forcedDataGrouping&&
            !b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],e=Math.round(c.max-c.min),f=!c.hasVisibleSeries,d=b.scroller&&b.scroller.getUnionExtremes()||c,g=d.dataMin,h=d.dataMax,b=a.getYTDExtremes(h,g,b.time.useUTC),l=b.min,m=b.max,q=a.selected,n=r(q),v=a.options.allButtonsEnabled,x=a.buttons;a.buttonOptions.forEach(function(b,d){var k=b._range,p=b.type,t=b.count||1,u=x[d],r=0,w=b._offsetMax-b._offsetMin;b=d===q;var y=k>h-g,z=k<c.minRange,
                B=!1,A=!1,k=k===e;("month"===p||"year"===p)&&e+36E5>=864E5*{month:28,year:365}[p]*t-w&&e-36E5<=864E5*{month:31,year:366}[p]*t+w?k=!0:"ytd"===p?(k=m-l+w===e,B=!b):"all"===p&&(k=c.max-c.min>=h-g,A=!b&&n&&k);p=!v&&(y||z||A||f);t=b&&k||k&&!n&&!B||b&&a.frozenStates;p?r=3:t&&(n=!0,r=2);u.state!==r&&(u.setState(r),0===r&&q===d&&a.setSelected(null))})},computeButtonRange:function(a){var c=a.type,e=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[c])a._range=f[c]*e;else if("month"===
                c||"year"===c)a._range=864E5*{month:30,year:365}[c]*e;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,e=this.chart.time,f=this[a+"Input"];y(b)&&(f.previousValue=f.HCTime,f.HCTime=b);f.value=e.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",f.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(c.inputDateFormat||"%b %e, %Y",f.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+
            "DateBox"];g(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){g(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function c(){var a=y.value,b=(k.inputDateParser||Date.parse)(a),d=m.xAxis[0],c=m.scroller&&m.scroller.xAxis?m.scroller.xAxis:d,e=c.dataMin,c=c.dataMax;b!==y.previousValue&&(y.previousValue=b,r(b)||(b=a.split("-"),b=Date.UTC(l(b[0]),
                l(b[1])-1,l(b[2]))),r(b)&&(m.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),t?b>h.maxInput.HCTime?b=void 0:b<e&&(b=e):b<h.minInput.HCTime?b=void 0:b>c&&(b=c),void 0!==b&&d.setExtremes(t?b:d.min,t?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var h=this,m=h.chart,p=m.renderer.style||{},d=m.renderer,k=m.options.rangeSelector,n=h.div,t="min"===b,y,q,z=this.inputGroup;this[b+"Label"]=q=d.label(x.lang[t?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(z);
                z.offset+=q.width+5;this[b+"DateBox"]=d=d.label("",z.offset).addClass("highcharts-range-input").attr({padding:2,width:k.inputBoxWidth||90,height:k.inputBoxHeight||17,"text-align":"center"}).on("click",function(){h.showInput(b);h[b+"Input"].focus()});m.styledMode||d.attr({stroke:k.inputBoxBorderColor||"#cccccc","stroke-width":1});d.add(z);z.offset+=d.width+(t?10:0);this[b+"Input"]=y=v("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:m.plotTop+"px"},n);m.styledMode||(q.css(e(p,
                    k.labelStyle)),d.css(e({color:"#333333"},p,k.inputStyle)),g(y,f({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:p.fontSize,fontFamily:p.fontFamily,top:"-9999em"},k.inputStyle)));y.onfocus=function(){h.showInput(b)};y.onblur=function(){y===a.doc.activeElement&&c();h.hideInput(b);y.blur()};y.onchange=c;y.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
                0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var e=this.chart.time,f=new e.Date(a),d=e.get("FullYear",f);c=c?e.Date.UTC(d,0,1):+new e.Date(d,0,1);b=Math.max(b||0,c);f=f.getTime();return{max:Math.min(a||f,f),min:b}},render:function(a,c){var e=this,f=e.chart,g=f.renderer,d=f.container,h=f.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,m=x.lang,n=e.div,q=h.rangeSelector,t=b(h.chart.style&&h.chart.style.zIndex,
                0)+1,h=q.floating,r=e.buttons,n=e.inputGroup,y=q.buttonTheme,z=q.buttonPosition,A=q.inputPosition,C=q.inputEnabled,F=y&&y.states,E=f.plotLeft,H,I=e.buttonGroup,S;S=e.rendered;var W=e.options.verticalAlign,Q=f.legend,ca=Q&&Q.options,U=z.y,T=A.y,X=S||!1,Y=X?"animate":"attr",V=0,aa=0,Z;if(!1!==q.enabled){S||(e.group=S=g.g("range-selector-group").attr({zIndex:7}).add(),e.buttonGroup=I=g.g("range-selector-buttons").add(S),e.zoomText=g.text(m.rangeSelectorZoom,0,15).add(I),f.styledMode||(e.zoomText.css(q.labelStyle),
                y["stroke-width"]=b(y["stroke-width"],0)),e.buttonOptions.forEach(function(a,b){r[b]=g.button(a.text,0,0,function(d){var c=a.events&&a.events.click,f;c&&(f=c.call(a,d));!1!==f&&e.clickButton(b);e.isActive=!0},y,F&&F.hover,F&&F.select,F&&F.disabled).attr({"text-align":"center"}).add(I)}),!1!==C&&(e.div=n=v("div",null,{position:"relative",height:0,zIndex:t}),d.parentNode.insertBefore(n,d),e.inputGroup=n=g.g("input-group").add(S),n.offset=0,e.drawInput("min"),e.drawInput("max")));e.zoomText[Y]({x:b(E+
                    z.x,E)});H=b(E+z.x,E)+e.zoomText.getBBox().width+5;e.buttonOptions.forEach(function(a,d){r[d][Y]({x:H});H+=r[d].width+b(q.buttonSpacing,5)});E=f.plotLeft-f.spacing[3];e.updateButtonStates();l&&this.titleCollision(f)&&"top"===W&&"right"===z.align&&z.y+I.getBBox().height-12<(l.y||0)+l.height&&(V=-40);"left"===z.align?Z=z.x-f.spacing[3]:"right"===z.align&&(Z=z.x+V-f.spacing[1]);I.align({y:z.y,width:I.getBBox().width,align:z.align,x:Z},!0,f.spacingBox);e.group.placed=X;e.buttonGroup.placed=X;!1!==C&&
            (V=l&&this.titleCollision(f)&&"top"===W&&"right"===A.align&&A.y-n.getBBox().height-12<(l.y||0)+l.height+f.spacing[0]?-40:0,"left"===A.align?Z=E:"right"===A.align&&(Z=-Math.max(f.axisOffset[1],-V)),n.align({y:A.y,width:n.getBBox().width,align:A.align,x:A.x+Z-2},!0,f.spacingBox),d=n.alignAttr.translateX+n.alignOptions.x-V+n.getBBox().x+2,l=n.alignOptions.width,m=I.alignAttr.translateX+I.getBBox().x,Z=I.getBBox().width+20,(A.align===z.align||m+Z>d&&d+l>m&&U<T+n.getBBox().height)&&n.attr({translateX:n.alignAttr.translateX+
                    (f.axisOffset[1]>=-V?0:-V),translateY:n.alignAttr.translateY+I.getBBox().height+10}),e.setInputValue("min",a),e.setInputValue("max",c),e.inputGroup.placed=X);e.group.align({verticalAlign:W},!0,f.spacingBox);a=e.group.getBBox().height+20;c=e.group.alignAttr.translateY;"bottom"===W&&(Q=ca&&"bottom"===ca.verticalAlign&&ca.enabled&&!ca.floating?Q.legendHeight+b(ca.margin,10):0,a=a+Q-20,aa=c-a-(h?0:q.y)-10);if("top"===W)h&&(aa=0),f.titleOffset&&(aa=f.titleOffset+f.options.title.margin),aa+=f.margin[0]-
                f.spacing[0]||0;else if("middle"===W)if(T===U)aa=0>T?c+void 0:c;else if(T||U)aa=0>T||0>U?aa-Math.min(T,U):c-a+NaN;e.group.translate(q.x,q.y+Math.floor(aa));!1!==C&&(e.minInput.style.marginTop=e.group.translateY+"px",e.maxInput.style.marginTop=e.group.translateY+"px");e.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,e=a.buttonPosition.y,f=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(f,e);if(0>f&&0>e||0<f&&0<e)a+=Math.abs(b);return a},
            titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;e(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();z(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&n(this[c]));a!==C.prototype[c]&&(b[c]=
                null)},this)}};E.prototype.minFromRange=function(){var a=this.range,c={month:"Month",year:"FullYear"}[a.type],e,f=this.max,g,d,h=this.chart.time,l=function(a,b){var d=new h.Date(a),e=h.get(c,d);h.set(c,d,e+b);e===h.get(c,d)&&h.set("Date",d,0);return d.getTime()-a};r(a)?(e=f-a,d=a):(e=f+l(f,-a.count),this.chart&&(this.chart.fixedRange=f-e));g=b(this.dataMin,Number.MIN_VALUE);r(e)||(e=g);e<=g&&(e=g,void 0===d&&(d=l(e,a.count)),this.newMax=Math.min(e+d,this.dataMax));r(f)||(e=void 0);return e};a.RangeSelector||
        (A(m,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new C(this))}),A(m,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(r(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),A(m,"update",function(a){var b=
            a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,e=this.extraTopMargin;b&&b.enabled&&!y(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new C(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==e)&&(this.isDirtyBox=!0)}),A(m,"render",function(){var a=
            this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),A(m,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),m.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();r(c.min)&&e.render(c.min,c.max)}var c,e=a.rangeSelector,f,d;e&&(d=A(a.xAxis[0],"afterSetExtremes",
            function(a){e.render(a.min,a.max)}),f=A(a,"redraw",b),b());A(a,"destroy",function(){e&&(f(),d())})}),a.RangeSelector=C)});I(H,"parts/StockChart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.arrayMax,E=a.arrayMin,m=a.Axis,g=a.Chart,v=a.defined,x=a.extend,y=a.format,z=a.isNumber,n=a.isString,f=a.merge,h=a.pick,r=a.Point,e=a.Renderer,b=a.Series,l=a.splat,c=a.SVGRenderer,t=a.VMLRenderer,F=b.prototype,w=F.init,B=F.processData,p=r.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      c,e){var d=n(b)||b.nodeName,k=arguments[d?1:0],m=k,p=k.series,r=a.getOptions(),u,t=h(k.navigator&&k.navigator.enabled,r.navigator.enabled,!0),v=t?{startOnTick:!1,endOnTick:!1}:null;k.xAxis=l(k.xAxis||{}).map(function(a,b){return f({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},r.xAxis,r.xAxis&&r.xAxis[b],a,{type:"datetime",categories:null},v)});k.yAxis=l(k.yAxis||{}).map(function(a,b){u=h(a.opposite,!0);return f({labels:{y:-2},opposite:u,
        showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},r.yAxis,r.yAxis&&r.yAxis[b],a)});k.series=null;k=f({chart:{panning:!0,pinchType:"x"},navigator:{enabled:t},scrollbar:{enabled:h(r.scrollbar.enabled,!0)},rangeSelector:{enabled:h(r.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:h(r.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},k,{isStock:!0});k.series=m.series=p;return d?new g(b,k,e):new g(k,c)};C(b,"setOptions",function(b){function c(b){return a.seriesTypes[b]&&
        d instanceof a.seriesTypes[b]}var d=this,e;this.chart.options.isStock&&(c("column")||c("columnrange")?e={borderWidth:0,shadow:!1}:!c("line")||c("scatter")||c("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(b.plotOptions[this.type]=f(b.plotOptions[this.type],e)))});C(m,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled&&(15===d.x&&(d.x=0),void 0===
    d.align&&(d.align="right"),b[c]=this,a.align="right",a.preventDefault()))});C(m,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});C(m,"getPlotLinePath",function(b){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return z(a)?[f[b][a]]:n(a)?[f.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,f=d.chart,g=
        f.renderer,l=d.left,m=d.top,p,r,t,w,x=[],y=[],A,B,C=b.translatedValue,E=b.value,F=b.force,H;if(f.options.isStock&&!1!==b.acrossPanes&&"xAxis"===d.coll||"yAxis"===d.coll)b.preventDefault(),y=c(d.coll),A=d.isXAxis?f.yAxis:f.xAxis,A.forEach(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])?f[b][a.options[b]]:f[b][0];d===b&&y.push(a)}}),B=y.length?[]:[d.isXAxis?f.yAxis[0]:f.xAxis[0]],y.forEach(function(b){-1!==B.indexOf(b)||a.find(B,
        function(a){return a.pos===b.pos&&a.len===b.len})||B.push(b)}),H=h(C,d.translate(E,null,null,b.old)),z(H)&&(d.horiz?B.forEach(function(a){var b;r=a.pos;w=r+a.len;p=t=Math.round(H+d.transB);"pass"!==F&&(p<l||p>l+d.width)&&(F?p=t=Math.min(Math.max(l,p),l+d.width):b=!0);b||x.push("M",p,r,"L",t,w)}):B.forEach(function(a){var b;p=a.pos;t=p+a.len;r=w=Math.round(m+d.height-H);"pass"!==F&&(r<m||r>m+d.height)&&(F?r=w=Math.min(Math.max(m,r),d.top+d.height):b=!0);b||x.push("M",p,r,"L",t,w)})),b.path=0<x.length?
        g.crispPolyLine(x,b.lineWidth||1):null});c.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};e===t&&(t.prototype.crispPolyLine=c.prototype.crispPolyLine);C(m,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});C(m,"afterDrawCrosshair",function(a){var b,c;if(v(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=
        this.chart,e=this.options.crosshair.label,f=this.horiz;b=this.opposite;c=this.left;var g=this.top,l=this.crossLabel,m=e.format,n="",p="inside"===this.options.tickPosition,r=!1!==this.crosshair.snap,t=0,w=a.e||this.cross&&this.cross.e,z=a.point;a=this.lin2log;var A,B;this.isLog?(A=a(this.min),B=a(this.max)):(A=this.min,B=this.max);a=f?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";l||(l=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+
        (this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:h(e.padding,8),r:h(e.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||l.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||"","stroke-width":e.borderWidth||0}).css(x({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));f?(a=r?z.plotX+c:w.chartX,g+=b?0:this.height):(a=b?this.width+c:0,g=r?z.plotY+g:w.chartY);m||
    e.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),m="{value"+(n?":"+n:"")+"}");n=r?z[this.isXAxis?"x":"y"]:this.toValue(f?w.chartX:w.chartY);l.attr({text:m?y(m,{value:n},d.time):e.formatter.call(this,n),x:a,y:g,visibility:n<A||n>B?"hidden":"visible"});e=l.getBBox();if(f){if(p&&!b||!p&&b)g=l.y-e.height}else g=l.y-e.height/2;f?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);l.translateX<b&&(t=b-l.translateX);l.translateX+e.width>=
    c&&(t=-(l.translateX+e.width-c));l.attr({x:a+t,y:g,anchorX:f?a:this.opposite?0:d.chartWidth,anchorY:f?this.opposite?d.chartHeight:0:g+e.height/2})}});F.init=function(){w.apply(this,arguments);this.setCompare(this.options.compare)};F.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)};F.processData=function(){var a,b=-1,c,e,f=!0===this.options.compareStart?0:1,g,h;B.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,e=this.processedYData,g=e.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),a=0;a<g-f;a++)if(h=e[a]&&-1<b?e[a][b]:e[a],z(h)&&c[a+f]>=this.xAxis.min&&0!==h){this.compareValue=h;break}};C(b,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),
        this.modifyValue(this.dataMax)];this.dataMin=E(a);this.dataMax=A(a)}});m.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};r.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,h(this.series.tooltipOptions.changeDecimals,2)));return p.apply(this,[b])};C(b,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||
    (a=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=f(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});C(g,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(f(!0,this.options.scrollbar,
        a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});I(H,"masters/modules/stock.src.js",[],function(){});I(H,"masters/highstock.src.js",[H["masters/highcharts.src.js"]],function(a){return a});H["masters/highstock.src.js"]._modules=H;return H["masters/highstock.src.js"]});
//# sourceMappingURL=highstock.js.map