dotfiles/vscode/.vscode/extensions/randomfractalsinc.vscode-data-preview-2.3.0/node_modules/highcharts/js/highmaps.js
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

415 lines
203 KiB
JavaScript

/*
Highmaps JS v6.1.0 (2018-04-13)
(c) 2011-2016 Torstein Honsi
License: www.highcharts.com/license
*/
(function(T,J){"object"===typeof module&&module.exports?module.exports=T.document?J(T):J:T.Highcharts=J(T)})("undefined"!==typeof window?window:this,function(T){var J=function(){var a="undefined"===typeof T?window:T,B=a.document,A=a.navigator&&a.navigator.userAgent||"",C=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,k=/(edge|msie|trident)/i.test(A)&&!a.opera,f=-1!==A.indexOf("Firefox"),g=-1!==A.indexOf("Chrome"),t=f&&4>parseInt(A.split("Firefox/")[1],
10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.1.0",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:t,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:k,isWebKit:-1!==A.indexOf("AppleWebKit"),isFirefox:f,isChrome:g,isSafari:!g&&-1!==A.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},
charts:[]}}();(function(a){a.timers=[];var B=a.charts,A=a.doc,C=a.win;a.error=function(k,f){k=a.isNumber(k)?"Highcharts error #"+k+": www.highcharts.com/errors/"+k:k;if(f)throw Error(k);C.console&&console.log(k)};a.Fx=function(a,f,g){this.options=f;this.elem=a;this.prop=g};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],g=[],t=this.now,x=a.length,r;if(1===t)g=this.toD;else if(x===f.length&&1>t)for(;x--;)r=parseFloat(a[x]),g[x]=isNaN(r)?f[x]:t*parseFloat(f[x]-r)+r;else g=f;this.elem.attr("d",
g,null,!0)},update:function(){var a=this.elem,f=this.prop,g=this.now,t=this.options.step;if(this[f+"Setter"])this[f+"Setter"]();else a.attr?a.element&&a.attr(f,g,null,!0):a.style[f]=g+this.unit;t&&t.call(a,g,this)},run:function(k,f,g){var t=this,x=t.options,r=function(a){return r.stopped?!1:t.step(a)},e=C.requestAnimationFrame||function(a){setTimeout(a,13)},d=function(){for(var m=0;m<a.timers.length;m++)a.timers[m]()||a.timers.splice(m--,1);a.timers.length&&e(d)};k!==f||this.elem["forceAnimate:"+
this.prop]?(this.startTime=+new Date,this.start=k,this.end=f,this.unit=g,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===a.timers.push(r)&&e(d)):(delete x.curAnim[this.prop],x.complete&&0===a.keys(x.curAnim).length&&x.complete.call(this.elem))},step:function(k){var f=+new Date,g,t=this.options,x=this.elem,r=t.complete,e=t.duration,d=t.curAnim;x.attr&&!x.element?k=!1:k||f>=e+this.startTime?(this.now=this.end,this.pos=1,this.update(),g=d[this.prop]=!0,a.objectEach(d,function(a){!0!==
a&&(g=!1)}),g&&r&&r.call(x),k=!1):(this.pos=t.easing((f-this.startTime)/e),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0);return k},initPath:function(k,f,g){function t(b){var a,d;for(c=b.length;c--;)a="M"===b[c]||"L"===b[c],d=/[a-zA-Z]/.test(b[c+3]),a&&d&&b.splice(c+1,0,b[c+1],b[c+2],b[c+1],b[c+2])}function x(b,a){for(;b.length<h;){b[0]=a[h-b.length];var d=b.slice(0,u);[].splice.apply(b,[0,0].concat(d));n&&(d=b.slice(b.length-u),[].splice.apply(b,[b.length,0].concat(d)),c--)}b[0]=
"M"}function r(a,c){for(var d=(h-a.length)/u;0<d&&d--;)b=a.slice().splice(a.length/I-u,u*I),b[0]=c[h-u-d*u],v&&(b[u-6]=b[u-2],b[u-5]=b[u-1]),[].splice.apply(a,[a.length/I,0].concat(b)),n&&d--}f=f||"";var e,d=k.startX,m=k.endX,v=-1<f.indexOf("C"),u=v?7:3,h,b,c;f=f.split(" ");g=g.slice();var n=k.isArea,I=n?2:1,H;v&&(t(f),t(g));if(d&&m){for(c=0;c<d.length;c++)if(d[c]===m[0]){e=c;break}else if(d[0]===m[m.length-d.length+c]){e=c;H=!0;break}void 0===e&&(f=[])}f.length&&a.isNumber(e)&&(h=g.length+e*I*u,
H?(x(f,g),r(g,f)):(x(g,f),r(f,g)));return[f,g]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.merge=function(){var k,f=arguments,g,t={},x=function(g,e){"object"!==typeof g&&(g={});a.objectEach(e,function(d,m){!a.isObject(d,!0)||a.isClass(d)||a.isDOMElement(d)?g[m]=e[m]:g[m]=x(g[m]||{},d)});return g};!0===f[0]&&(t=f[1],f=Array.prototype.slice.call(f,2));g=f.length;for(k=0;k<g;k++)t=x(t,
f[k]);return t};a.pInt=function(a,f){return parseInt(a,f||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(k,f){return!!k&&"object"===typeof k&&(!f||!a.isArray(k))};a.isDOMElement=function(k){return a.isObject(k)&&"number"===typeof k.nodeType};a.isClass=function(k){var f=k&&k.constructor;return!(!a.isObject(k,!0)||a.isDOMElement(k)||!f||!f.name||"Object"===
f.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,f){for(var g=a.length;g--;)if(a[g]===f){a.splice(g,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(k,f,g){var t;a.isString(f)?a.defined(g)?k.setAttribute(f,g):k&&k.getAttribute&&((t=k.getAttribute(f))||"class"!==f||(t=k.getAttribute(f+"Name"))):a.defined(f)&&a.isObject(f)&&a.objectEach(f,function(a,g){k.setAttribute(g,a)});return t};a.splat=function(k){return a.isArray(k)?
k:[k]};a.syncTimeout=function(a,f,g){if(f)return setTimeout(a,f,g);a.call(0,g)};a.clearTimeout=function(k){a.defined(k)&&clearTimeout(k)};a.extend=function(a,f){var g;a||(a={});for(g in f)a[g]=f[g];return a};a.pick=function(){var a=arguments,f,g,t=a.length;for(f=0;f<t;f++)if(g=a[f],void 0!==g&&null!==g)return g};a.css=function(k,f){a.isMS&&!a.svg&&f&&void 0!==f.opacity&&(f.filter="alpha(opacity\x3d"+100*f.opacity+")");a.extend(k.style,f)};a.createElement=function(k,f,g,t,x){k=A.createElement(k);var r=
a.css;f&&a.extend(k,f);x&&r(k,{padding:0,border:"none",margin:0});g&&r(k,g);t&&t.appendChild(k);return k};a.extendClass=function(k,f){var g=function(){};g.prototype=new k;a.extend(g.prototype,f);return g};a.pad=function(a,f,g){return Array((f||2)+1-String(a).replace("-","").length).join(g||0)+a};a.relativeLength=function(a,f,g){return/%$/.test(a)?f*parseFloat(a)/100+(g||0):parseFloat(a)};a.wrap=function(a,f,g){var k=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments),f=arguments,e=this;
e.proceed=function(){k.apply(e,arguments.length?arguments:f)};a.unshift(k);a=g.apply(this,a);e.proceed=null;return a}};a.formatSingle=function(k,f,g){var t=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(k)?(g=(g=k.match(t))?g[1]:-1,null!==f&&(f=a.numberFormat(f,g,x.decimalPoint,-1<k.indexOf(",")?x.thousandsSep:""))):f=(g||a.time).dateFormat(k,f);return f};a.format=function(k,f,g){for(var t="{",x=!1,r,e,d,m,v=[],u;k;){t=k.indexOf(t);if(-1===t)break;r=k.slice(0,t);if(x){r=r.split(":");e=r.shift().split(".");
m=e.length;u=f;for(d=0;d<m;d++)u&&(u=u[e[d]]);r.length&&(u=a.formatSingle(r.join(":"),u,g));v.push(u)}else v.push(r);k=k.slice(t+1);t=(x=!x)?"}":"{"}v.push(k);return v.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(k,f,g,t,x){var r,e=k;g=a.pick(g,1);r=k/g;f||(f=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===g?f=a.grep(f,function(a){return 0===a%1}):.1>=g&&(f=[1/g])));for(t=0;t<f.length&&!(e=f[t],x&&e*g>=k||
!x&&r<=(f[t]+(f[t+1]||f[t]))/2);t++);return e=a.correctFloat(e*g,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,f){var g=a.length,k,x;for(x=0;x<g;x++)a[x].safeI=x;a.sort(function(a,e){k=f(a,e);return 0===k?a.safeI-e.safeI:k});for(x=0;x<g;x++)delete a[x].safeI};a.arrayMin=function(a){for(var f=a.length,g=a[0];f--;)a[f]<g&&(g=a[f]);return g};a.arrayMax=function(a){for(var f=a.length,g=a[0];f--;)a[f]>g&&(g=a[f]);return g};a.destroyObjectProperties=function(k,f){a.objectEach(k,function(a,
t){a&&a!==f&&a.destroy&&a.destroy();delete k[t]})};a.discardElement=function(k){var f=a.garbageBin;f||(f=a.createElement("div"));k&&f.appendChild(k);f.innerHTML=""};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(k,f){f.renderer.globalAnimation=a.pick(k,f.options.chart.animation,!0)};a.animObject=function(k){return a.isObject(k)?a.merge(k):{duration:k?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,
year:314496E5};a.numberFormat=function(k,f,g,t){k=+k||0;f=+f;var x=a.defaultOptions.lang,r=(k.toString().split(".")[1]||"").split("e")[0].length,e,d,m=k.toString().split("e");-1===f?f=Math.min(r,20):a.isNumber(f)?f&&m[1]&&0>m[1]&&(e=f+ +m[1],0<=e?(m[0]=(+m[0]).toExponential(e).split("e")[0],f=e):(m[0]=m[0].split(".")[0]||0,k=20>f?(m[0]*Math.pow(10,m[1])).toFixed(f):0,m[1]=0)):f=2;d=(Math.abs(m[1]?m[0]:k)+Math.pow(10,-Math.max(f,r)-1)).toFixed(f);r=String(a.pInt(d));e=3<r.length?r.length%3:0;g=a.pick(g,
x.decimalPoint);t=a.pick(t,x.thousandsSep);k=(0>k?"-":"")+(e?r.substr(0,e)+t:"");k+=r.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+t);f&&(k+=g+d.slice(-f));m[1]&&0!==+k&&(k+="e"+m[1]);return k};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(k,f,g){if("width"===f)return Math.min(k.offsetWidth,k.scrollWidth)-a.getStyle(k,"padding-left")-a.getStyle(k,"padding-right");if("height"===f)return Math.min(k.offsetHeight,k.scrollHeight)-a.getStyle(k,"padding-top")-a.getStyle(k,
"padding-bottom");C.getComputedStyle||a.error(27,!0);if(k=C.getComputedStyle(k,void 0))k=k.getPropertyValue(f),a.pick(g,"opacity"!==f)&&(k=a.pInt(k));return k};a.inArray=function(k,f,g){return(a.indexOfPolyfill||Array.prototype.indexOf).call(f,k,g)};a.grep=function(k,f){return(a.filterPolyfill||Array.prototype.filter).call(k,f)};a.find=Array.prototype.find?function(a,f){return a.find(f)}:function(a,f){var g,k=a.length;for(g=0;g<k;g++)if(f(a[g],g))return a[g]};a.some=function(k,f,g){return(a.somePolyfill||
Array.prototype.some).call(k,f,g)};a.map=function(a,f){for(var g=[],k=0,x=a.length;k<x;k++)g[k]=f.call(a[k],a[k],k,a);return g};a.keys=function(k){return(a.keysPolyfill||Object.keys).call(void 0,k)};a.reduce=function(k,f,g){return(a.reducePolyfill||Array.prototype.reduce).call(k,f,g)};a.offset=function(a){var f=A.documentElement;a=a.parentElement?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+(C.pageXOffset||f.scrollLeft)-(f.clientLeft||
0)}};a.stop=function(k,f){for(var g=a.timers.length;g--;)a.timers[g].elem!==k||f&&f!==a.timers[g].prop||(a.timers[g].stopped=!0)};a.each=function(k,f,g){return(a.forEachPolyfill||Array.prototype.forEach).call(k,f,g)};a.objectEach=function(a,f,g){for(var k in a)a.hasOwnProperty(k)&&f.call(g||a[k],a[k],k,a)};a.addEvent=function(k,f,g){var t,x=k.addEventListener||a.addEventListenerPolyfill;t="function"===typeof k&&k.prototype?k.prototype.protoEvents=k.prototype.protoEvents||{}:k.hcEvents=k.hcEvents||
{};x&&x.call(k,f,g,!1);t[f]||(t[f]=[]);t[f].push(g);return function(){a.removeEvent(k,f,g)}};a.removeEvent=function(k,f,g){function t(d,e){var m=k.removeEventListener||a.removeEventListenerPolyfill;m&&m.call(k,d,e,!1)}function x(d){var e,g;k.nodeName&&(f?(e={},e[f]=!0):e=d,a.objectEach(e,function(a,h){if(d[h])for(g=d[h].length;g--;)t(h,d[h][g])}))}var r,e;a.each(["protoEvents","hcEvents"],function(d){var m=k[d];m&&(f?(r=m[f]||[],g?(e=a.inArray(g,r),-1<e&&(r.splice(e,1),m[f]=r),t(f,g)):(x(m),m[f]=
[])):(x(m),k[d]={}))})};a.fireEvent=function(k,f,g,t){var x,r,e,d,m;g=g||{};A.createEvent&&(k.dispatchEvent||k.fireEvent)?(x=A.createEvent("Events"),x.initEvent(f,!0,!0),a.extend(x,g),k.dispatchEvent?k.dispatchEvent(x):k.fireEvent(f,x)):a.each(["protoEvents","hcEvents"],function(v){if(k[v])for(r=k[v][f]||[],e=r.length,g.target||a.extend(g,{preventDefault:function(){g.defaultPrevented=!0},target:k,type:f}),d=0;d<e;d++)(m=r[d])&&!1===m.call(k,g)&&g.preventDefault()});t&&!g.defaultPrevented&&t.call(k,
g)};a.animate=function(k,f,g){var t,x="",r,e,d;a.isObject(g)||(d=arguments,g={duration:d[2],easing:d[3],complete:d[4]});a.isNumber(g.duration)||(g.duration=400);g.easing="function"===typeof g.easing?g.easing:Math[g.easing]||Math.easeInOutSine;g.curAnim=a.merge(f);a.objectEach(f,function(d,v){a.stop(k,v);e=new a.Fx(k,g,v);r=null;"d"===v?(e.paths=e.initPath(k,k.d,f.d),e.toD=f.d,t=0,r=1):k.attr?t=k.attr(v):(t=parseFloat(a.getStyle(k,v))||0,"opacity"!==v&&(x="px"));r||(r=d);r&&r.match&&r.match("px")&&
(r=r.replace(/px/g,""));e.run(t,r,x)})};a.seriesType=function(k,f,g,t,x){var r=a.getOptions(),e=a.seriesTypes;r.plotOptions[k]=a.merge(r.plotOptions[f],g);e[k]=a.extendClass(e[f]||function(){},t);e[k].prototype.type=k;x&&(e[k].prototype.pointClass=a.extendClass(a.Point,x));return e[k]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),f=0;return function(){return"highcharts-"+a+"-"+f++}}();C.jQuery&&(C.jQuery.fn.highcharts=function(){var k=[].slice.call(arguments);if(this[0])return k[0]?
(new (a[a.isString(k[0])?k.shift():"Chart"])(this[0],k[0],k[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})})(J);(function(a){var B=a.each,A=a.isNumber,C=a.map,k=a.merge,f=a.pInt;a.Color=function(g){if(!(this instanceof a.Color))return new a.Color(g);this.init(g)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[f(a[1]),f(a[2]),f(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[f(a[1]),f(a[2]),f(a[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(g){var f,x,r,e;if((this.input=g=this.names[g&&g.toLowerCase?g.toLowerCase():""]||g)&&g.stops)this.stops=C(g.stops,function(d){return new a.Color(d[1])});else if(g&&g.charAt&&"#"===g.charAt()&&(f=g.length,g=parseInt(g.substr(1),16),7===f?x=[(g&16711680)>>16,(g&65280)>>8,g&255,1]:4===f&&(x=[(g&3840)>>4|(g&3840)>>8,(g&240)>>4|g&240,(g&15)<<4|g&15,1])),!x)for(r=this.parsers.length;r--&&
!x;)e=this.parsers[r],(f=e.regex.exec(g))&&(x=e.parse(f));this.rgba=x||[]},get:function(a){var g=this.input,f=this.rgba,r;this.stops?(r=k(g),r.stops=[].concat(r.stops),B(this.stops,function(e,d){r.stops[d]=[r.stops[d][0],e.get(a)]})):r=f&&A(f[0])?"rgb"===a||!a&&1===f[3]?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===a?f[3]:"rgba("+f.join(",")+")":g;return r},brighten:function(a){var g,k=this.rgba;if(this.stops)B(this.stops,function(g){g.brighten(a)});else if(A(a)&&0!==a)for(g=0;3>g;g++)k[g]+=f(255*a),0>
k[g]&&(k[g]=0),255<k[g]&&(k[g]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,f){var g=this.rgba,r=a.rgba;r.length&&g&&g.length?(a=1!==r[3]||1!==g[3],f=(a?"rgba(":"rgb(")+Math.round(r[0]+(g[0]-r[0])*(1-f))+","+Math.round(r[1]+(g[1]-r[1])*(1-f))+","+Math.round(r[2]+(g[2]-r[2])*(1-f))+(a?","+(r[3]+(g[3]-r[3])*(1-f)):"")+")"):f=a.input||"none";return f}};a.color=function(g){return new a.Color(g)}})(J);(function(a){var B=a.defined,A=a.each,C=a.extend,k=a.merge,
f=a.pick,g=a.timeUnits,t=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(g){var r=f(g&&g.useUTC,!0),e=this;this.options=g=k(!0,this.options||{},g);this.Date=g.Date||t.Date;this.timezoneOffset=(this.useUTC=r)&&g.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(r&&!g.getTimezoneOffset&&!g.timezone))||this.timezoneOffset?(this.get=function(a,m){var d=m.getTime(),g=d-e.getTimezoneOffset(m);m.setTime(g);a=m["getUTC"+
a]();m.setTime(d);return a},this.set=function(d,m,g){var u;if(-1!==a.inArray(d,["Milliseconds","Seconds","Minutes"]))m["set"+d](g);else u=e.getTimezoneOffset(m),u=m.getTime()-u,m.setTime(u),m["setUTC"+d](g),d=e.getTimezoneOffset(m),u=m.getTime()+d,m.setTime(u)}):r?(this.get=function(a,e){return e["getUTC"+a]()},this.set=function(a,e,g){return e["setUTC"+a](g)}):(this.get=function(a,e){return e["get"+a]()},this.set=function(a,e,g){return e["set"+a](g)})},makeTime:function(g,r,e,d,m,v){var u,h,b;this.useUTC?
(u=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(u),u+=h,b=this.getTimezoneOffset(u),h!==b?u+=b-h:h-36E5!==this.getTimezoneOffset(u-36E5)||a.isSafari||(u-=36E5)):u=(new this.Date(g,r,f(e,1),f(d,0),f(m,0),f(v,0))).getTime();return u},timezoneOffsetFunction:function(){var g=this,f=this.options,e=t.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(f.timezone){if(e)return function(a){return 6E4*-e.tz(a,f.timezone).utcOffset()};a.error(25)}return this.useUTC&&
f.getTimezoneOffset?function(a){return 6E4*f.getTimezoneOffset(a)}:function(){return 6E4*(g.timezoneOffset||0)}},dateFormat:function(g,f,e){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");var d=this,m=new this.Date(f),v=this.get("Hours",m),u=this.get("Day",m),h=this.get("Date",m),b=this.get("Month",m),c=this.get("FullYear",m),n=a.defaultOptions.lang,r=n.weekdays,k=n.shortWeekdays,y=a.pad,m=a.extend({a:k?k[u]:r[u].substr(0,3),A:r[u],d:y(h),e:y(h,
2," "),w:u,b:n.shortMonths[b],B:n.months[b],m:y(b+1),y:c.toString().substr(2,2),Y:c,H:y(v),k:v,I:y(v%12||12),l:v%12||12,M:y(d.get("Minutes",m)),p:12>v?"AM":"PM",P:12>v?"am":"pm",S:y(m.getSeconds()),L:y(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(m,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(d,f):a)});return e?g.substr(0,1).toUpperCase()+g.substr(1):g},getTimeTicks:function(a,r,e,d){var m=this,v=[],u={},h,b=new m.Date(r),c=a.unitRange,n=a.count||1,
k;if(B(r)){m.set("Milliseconds",b,c>=g.second?0:n*Math.floor(m.get("Milliseconds",b)/n));c>=g.second&&m.set("Seconds",b,c>=g.minute?0:n*Math.floor(m.get("Seconds",b)/n));c>=g.minute&&m.set("Minutes",b,c>=g.hour?0:n*Math.floor(m.get("Minutes",b)/n));c>=g.hour&&m.set("Hours",b,c>=g.day?0:n*Math.floor(m.get("Hours",b)/n));c>=g.day&&m.set("Date",b,c>=g.month?1:n*Math.floor(m.get("Date",b)/n));c>=g.month&&(m.set("Month",b,c>=g.year?0:n*Math.floor(m.get("Month",b)/n)),h=m.get("FullYear",b));c>=g.year&&
m.set("FullYear",b,h-h%n);c===g.week&&m.set("Date",b,m.get("Date",b)-m.get("Day",b)+f(d,1));h=m.get("FullYear",b);d=m.get("Month",b);var H=m.get("Date",b),y=m.get("Hours",b);r=b.getTime();m.variableTimezone&&(k=e-r>4*g.month||m.getTimezoneOffset(r)!==m.getTimezoneOffset(e));b=b.getTime();for(r=1;b<e;)v.push(b),b=c===g.year?m.makeTime(h+r*n,0):c===g.month?m.makeTime(h,d+r*n):!k||c!==g.day&&c!==g.week?k&&c===g.hour&&1<n?m.makeTime(h,d,H,y+r*n):b+c*n:m.makeTime(h,d,H+r*n*(c===g.day?1:7)),r++;v.push(b);
c<=g.hour&&1E4>v.length&&A(v,function(a){0===a%18E5&&"000000000"===m.dateFormat("%H%M%S%L",a)&&(u[a]="day")})}v.info=C(a,{higherRanks:u,totalRange:c*n});return v}}})(J);(function(a){var B=a.merge;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{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},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:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",
minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com",
position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(A){a.defaultOptions=B(!0,a.defaultOptions,A);a.time.update(B(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(B(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,B,k){return a.time.dateFormat(A,B,k)}})(J);(function(a){var B,A,C=a.addEvent,
k=a.animate,f=a.attr,g=a.charts,t=a.color,x=a.css,r=a.createElement,e=a.defined,d=a.deg2rad,m=a.destroyObjectProperties,v=a.doc,u=a.each,h=a.extend,b=a.erase,c=a.grep,n=a.hasTouch,I=a.inArray,H=a.isArray,y=a.isFirefox,F=a.isMS,w=a.isObject,p=a.isString,E=a.isWebKit,D=a.merge,L=a.noop,K=a.objectEach,q=a.pick,z=a.pInt,M=a.removeEvent,l=a.splat,G=a.stop,S=a.svg,Q=a.SVG_NS,O=a.symbolSizes,P=a.win;B=a.SVGElement=function(){return this};h(B.prototype,{opacity:1,SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),
init:function(a,b){this.element="span"===b?r(b):v.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,l,c){l=a.animObject(q(l,this.renderer.globalAnimation,!0));0!==l.duration?(c&&(l.complete=c),k(this,b,l)):(this.attr(b,null,c),l.step&&l.step.call(this));return this},complexColor:function(b,q,l){var c=this.renderer,z,N,d,h,p,n,m,g,G,f,y,M=[],w;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?N="radialGradient":b.linearGradient&&(N="linearGradient");
N&&(d=b[N],p=c.gradients,m=b.stops,f=l.radialReference,H(d)&&(b[N]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===N&&f&&!e(d.gradientUnits)&&(h=d,d=D(d,c.getRadialAttr(f,h),{gradientUnits:"userSpaceOnUse"})),K(d,function(a,b){"id"!==b&&M.push(b,a)}),K(m,function(a){M.push(a)}),M=M.join(","),p[M]?y=p[M].attr("id"):(d.id=y=a.uniqueKey(),p[M]=n=c.createElement(N).attr(d).add(c.defs),n.radAttr=h,n.stops=[],u(m,function(b){0===b[1].indexOf("rgba")?(z=a.color(b[1]),
g=z.get("rgb"),G=z.get("a")):(g=b[1],G=1);b=c.createElement("stop").attr({offset:b[0],"stop-color":g,"stop-opacity":G}).add(n);n.stops.push(b)})),w="url("+c.url+"#"+y+")",l.setAttribute(q,w),l.gradient=M,b.toString=function(){return w})})},applyTextOutline:function(q){var l=this.element,c,z,d,e,h;-1!==q.indexOf("contrast")&&(q=q.replace(/contrast/g,this.renderer.getContrast(l.style.fill)));q=q.split(" ");z=q[q.length-1];if((d=q[0])&&"none"!==d&&a.svg){this.fakeTS=!0;q=[].slice.call(l.getElementsByTagName("tspan"));
this.ySetter=this.xSetter;d=d.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,q){return 2*b+q});for(h=q.length;h--;)c=q[h],"highcharts-text-outline"===c.getAttribute("class")&&b(q,l.removeChild(c));e=l.firstChild;u(q,function(a,b){0===b&&(a.setAttribute("x",l.getAttribute("x")),b=l.getAttribute("y"),a.setAttribute("y",b||0),null===b&&l.setAttribute("y",0));a=a.cloneNode(1);f(a,{"class":"highcharts-text-outline",fill:z,stroke:z,"stroke-width":d,"stroke-linejoin":"round"});l.insertBefore(a,e)})}},attr:function(a,
b,q,l){var c,z=this.element,d,e=this,h,N;"string"===typeof a&&void 0!==b&&(c=a,a={},a[c]=b);"string"===typeof a?e=(this[a+"Getter"]||this._defaultGetter).call(this,a,z):(K(a,function(b,q){h=!1;l||G(this,q);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(q)&&(d||(this.symbolAttr(a),d=!0),h=!0);!this.rotation||"x"!==q&&"y"!==q||(this.doTransform=!0);h||(N=this[q+"Setter"]||this._defaultSetter,N.call(this,b,q,z))},this),this.afterSetters());q&&q.call(this);return e},afterSetters:function(){this.doTransform&&
(this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var q=this.attr("class")||"";-1===q.indexOf(a)&&(b||(a=(q+(q?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==I(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;u("x y r start end width height innerR anchorX anchorY".split(" "),function(l){b[l]=q(a[l],b[l])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,
b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var q;b=b||a.strokeWidth||0;q=Math.round(b)%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);e(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,q={},l=this.element,c,d="",e,p=!b,n=["textOutline","textOverflow",
"width"];a&&a.color&&(a.fill=a.color);b&&K(a,function(a,l){a!==b[l]&&(q[l]=a,p=!0)});p&&(b&&(a=h(b,q)),c=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===l.nodeName.toLowerCase()&&z(a.width),this.styles=a,c&&!S&&this.renderer.forExport&&delete a.width,l.namespaceURI===this.SVG_NS?(e=function(a,b){return"-"+b.toLowerCase()},K(a,function(a,b){-1===I(b,n)&&(d+=b.replace(/([A-Z])/g,e)+":"+a+";")}),d&&f(l,"style",d)):x(l,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),
a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return P.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=z(a):(b=v.createElementNS(Q,"rect"),f(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var q=this,l=q.element;n&&"click"===a?(l.ontouchstart=function(a){q.touchEventFired=
Date.now();a.preventDefault();b.call(l,a)},l.onclick=function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100<Date.now()-(q.touchEventFired||0))&&b.call(l,a)}):l["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();
return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,l=this.scaleX,c=this.scaleY,z=this.inverted,d=this.rotation,h=this.matrix,p=this.element;z&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];e(h)&&a.push("matrix("+h.join(",")+")");z?a.push("rotate(90) scale(-1,1)"):d&&a.push("rotate("+d+" "+q(this.rotationOriginX,p.getAttribute("x"),0)+" "+q(this.rotationOriginY,p.getAttribute("y")||0)+")");(e(l)||e(c))&&a.push("scale("+q(l,1)+" "+q(c,1)+")");a.length&&
p.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,l,c){var z,d,e,h,n={};d=this.renderer;e=d.alignedObjects;var m,D;if(a){if(this.alignOptions=a,this.alignByTranslate=l,!c||p(c))this.alignTo=z=c||"renderer",b(e,this),e.push(this),c=null}else a=this.alignOptions,l=this.alignByTranslate,z=this.alignTo;c=q(c,d[z],d);z=a.align;d=a.verticalAlign;e=(c.x||0)+(a.x||0);h=(c.y||0)+(a.y||0);"right"===z?m=1:"center"===z&&(m=
2);m&&(e+=(c.width-(a.width||0))/m);n[l?"translateX":"x"]=Math.round(e);"bottom"===d?D=1:"middle"===d&&(D=2);D&&(h+=(c.height-(a.height||0))/D);n[l?"translateY":"y"]=Math.round(h);this[this.placed?"animate":"attr"](n);this.placed=!0;this.alignAttr=n;return this},getBBox:function(a,b){var l,c=this.renderer,z,p=this.element,n=this.styles,m,D=this.textStr,g,N=c.cache,G=c.cacheKeys,f;b=q(b,this.rotation);z=b*d;m=p&&B.prototype.getStyle.call(p,"font-size");e(D)&&(f=D.toString(),-1===f.indexOf("\x3c")&&
(f=f.replace(/[0-9]/g,"0")),f+=["",b||0,m,this.textWidth,n&&n.textOverflow].join());f&&!a&&(l=N[f]);if(!l){if(p.namespaceURI===this.SVG_NS||c.forExport){try{(g=this.fakeTS&&function(a){u(p.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&g("none"),l=p.getBBox?h({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight},g&&g("")}catch(W){}if(!l||0>l.width)l={width:0,height:0}}else l=this.htmlGetBBox();c.isSVG&&(a=l.width,c=l.height,n&&"11px"===n.fontSize&&17===Math.round(c)&&
(l.height=c=14),b&&(l.width=Math.abs(c*Math.sin(z))+Math.abs(a*Math.cos(z)),l.height=Math.abs(c*Math.cos(z))+Math.abs(a*Math.sin(z))));if(f&&0<l.height){for(;250<G.length;)delete N[G.shift()];N[f]||G.push(f);N[f]=l}}return l},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,
q=this.element,l;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)l=this.zIndexSetter();l||(a?a.element:b.box).appendChild(q);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,q=a.element||{},l=a.renderer.isSVG&&"SPAN"===q.nodeName&&a.parentGroup,c=q.ownerSVGElement,z=a.clipPath;q.onclick=q.onmouseout=q.onmouseover=q.onmousemove=
q.point=null;G(a);z&&c&&(u(c.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),q=z.element.id;(-1<b.indexOf("(#"+q+")")||-1<b.indexOf('("#'+q+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=z.destroy());if(a.stops){for(c=0;c<a.stops.length;c++)a.stops[c]=a.stops[c].destroy();a.stops=null}for(a.safeRemoveChild(q);l&&l.div&&0===l.div.childNodes.length;)q=l.parentGroup,a.safeRemoveChild(l.div),delete l.div,l=q;a.alignTo&&b(a.renderer.alignedObjects,a);K(a,
function(b,q){delete a[q]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=q(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,b,q){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(q.setAttribute(b,a),this[b]=a)},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",
{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,q){this[b]=a;q.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=v.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(v.createTextNode(String(q(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&
this.renderer.buildText(this))},fillSetter:function(a,b,q){"string"===typeof a?q.setAttribute(b,a):a&&this.complexColor(a,b,q)},visibilitySetter:function(a,b,q){"inherit"===a?q.removeAttribute(b):this[b]!==a&&q.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var q=this.renderer,l=this.parentGroup,c=(l||q).element||q.box,d,h=this.element,p,n,q=c===q.box;d=this.added;var m;e(a)&&(h.zIndex=a,a=+a,this[b]===a&&(d=!1),this[b]=a);if(d){(a=this.zIndex)&&l&&(l.handleZ=!0);b=c.childNodes;for(m=b.length-
1;0<=m&&!p;m--)if(l=b[m],d=l.zIndex,n=!e(d),l!==h)if(0>a&&n&&!q&&!m)c.insertBefore(h,b[m]),p=!0;else if(z(d)<=a||n&&(!e(a)||0<=a))c.insertBefore(h,b[m+1]||null),p=!0;p||(c.insertBefore(h,b[q?3:0]||null),p=!0)}return p},_defaultSetter:function(a,b,q){q.setAttribute(b,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter=
B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};h(A.prototype,{Element:B,SVG_NS:Q,init:function(a,b,q,l,c,z){var d;l=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});d=l.element;a.appendChild(d);f(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&f(d,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=d;this.boxWrapper=l;this.alignedObjects=[];this.url=(y||E)&&v.getElementsByTagName("base").length?
P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(v.createTextNode("Created with Highmaps 6.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=z;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,q,!1);var h;y&&a.getBoundingClientRect&&(b=function(){x(a,{left:0,top:0});h=a.getBoundingClientRect();x(a,{left:Math.ceil(h.left)-
h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},b(),this.unSubPixelFix=C(P,"resize",b))},definition:function(a){function b(a,c){var z;u(l(a),function(a){var l=q.createElement(a.tagName),d={};K(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(d[b]=a)});l.attr(d);l.add(c||q.defs);a.textContent&&l.element.appendChild(v.createTextNode(a.textContent));b(a.children||[],l);z=l});return z}var q=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();m(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:L,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},getSpanWidth:function(a){return a.getBBox(!0).width},applyEllipsis:function(a,b,q,l){var c=a.rotation,z=q,d,h=0,e=
q.length,p=function(a){b.removeChild(b.firstChild);a&&b.appendChild(v.createTextNode(a))},n;a.rotation=0;z=this.getSpanWidth(a,b);if(n=z>l){for(;h<=e;)d=Math.ceil((h+e)/2),z=q.substring(0,d)+"\u2026",p(z),z=this.getSpanWidth(a,b),h===e?h=e+1:z>l?e=d-1:h=d;0===e&&p("")}a.rotation=c;return n},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,l=this,d=l.forExport,h=q(a.textStr,"").toString(),e=-1!==h.indexOf("\x3c"),p=b.childNodes,
n,m=f(b,"x"),D=a.styles,g=a.textWidth,G=D&&D.lineHeight,M=D&&D.textOutline,y=D&&"ellipsis"===D.textOverflow,w=D&&"nowrap"===D.whiteSpace,E,r=p.length,L=g&&!a.added&&this.box,F=function(a){return G?z(G):l.fontMetrics(void 0,a.getAttribute("style")?a:b).h},k=function(a,b){K(l.escapes,function(q,l){b&&-1!==I(q,b)||(a=a.toString().replace(new RegExp(q,"g"),l))});return a},N=function(a,b){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(b+"\x3d");if(-1!==q&&(q=q+b.length+1,b=
a.charAt(q),'"'===b||"'"===b))return a=a.substring(q+1),a.substring(0,a.indexOf(b))},D=[h,y,w,G,M,D&&D.fontSize,g].join();if(D!==a.textCache){for(a.textCache=D;r--;)b.removeChild(p[r]);e||M||y||g||-1!==h.indexOf(" ")?(L&&L.appendChild(b),h=e?h.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[h],h=c(h,function(a){return""!==
a}),u(h,function(q,c){var z,h=0;q=q.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");z=q.split("|||");u(z,function(q){if(""!==q||1===z.length){var e={},p=v.createElementNS(l.SVG_NS,"tspan"),D,G;(D=N(q,"class"))&&f(p,"class",D);if(D=N(q,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),f(p,"style",D);(G=N(q,"href"))&&!d&&(f(p,"onclick",'location.href\x3d"'+G+'"'),f(p,"class","highcharts-anchor"));q=k(q.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==
q){p.appendChild(v.createTextNode(q));h?e.dx=0:c&&null!==m&&(e.x=m);f(p,e);b.appendChild(p);!h&&E&&(!S&&d&&x(p,{display:"block"}),f(p,"dy",F(p)));if(g){e=q.replace(/([^\^])-/g,"$1- ").split(" ");G=1<z.length||c||1<e.length&&!w;var u=[],M,r=F(p),L=a.rotation;for(y&&(n=l.applyEllipsis(a,p,q,g));!y&&G&&(e.length||u.length);)a.rotation=0,M=l.getSpanWidth(a,p),q=M>g,void 0===n&&(n=q),q&&1!==e.length?(p.removeChild(p.firstChild),u.unshift(e.pop())):(e=u,u=[],e.length&&!w&&(p=v.createElementNS(Q,"tspan"),
f(p,{dy:r,x:m}),D&&f(p,"style",D),b.appendChild(p)),M>g&&(g=M)),e.length&&p.appendChild(v.createTextNode(e.join(" ").replace(/- /g,"-")));a.rotation=L}h++}}});E=E||b.childNodes.length}),n&&a.attr("title",k(a.textStr,["\x26lt;","\x26gt;"])),L&&L.removeChild(b),M&&a.applyTextOutline&&a.applyTextOutline(M)):b.appendChild(v.createTextNode(k(h)))}},getContrast:function(a){a=t(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,q,l,c,z,d,h,e){var p=this.label(a,b,q,e,null,null,null,
null,"button"),n=0;p.attr(D({padding:8,r:2},c));C(p.element,F?"mouseover":"mouseenter",function(){3!==n&&p.setState(1)});C(p.element,F?"mouseout":"mouseleave",function(){3!==n&&p.setState(n)});p.setState=function(a){1!==a&&(p.state=n=a);p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return p.on("click",function(a){3!==n&&l.call(p,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-
b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};H(a)?b.d=a:w(a)&&h(b,a);return this.createElement("path").attr(b)},circle:function(a,b,q){a=w(a)?a:{x:a,y:b,r:q};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,q){q.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,q,l,c,z){w(a)?(l=a,b=l.y,q=l.r,a=l.x):l={innerR:l,start:c,end:z};a=this.symbol("arc",a,b,q,q,l);a.r=q;return a},rect:function(a,b,q,l,c,z){c=w(a)?a.r:c;z=this.createElement("rect");
a=w(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(q,0),height:Math.max(l,0)};c&&(a.r=c);z.rSetter=function(a,b,q){f(q,{rx:a,ry:a})};return z.attr(a)},setSize:function(a,b,l){var c=this.alignedObjects,z=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:q(l,!0)?void 0:0});z--;)c[z].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+
a}):b},image:function(a,b,q,l,c,z){var d={preserveAspectRatio:"none"},e,p=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)};1<arguments.length&&h(d,{x:b,y:q,width:l,height:c});e=this.createElement("image").attr(d);z?(p(e.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),d=new P.Image,C(d,"load",function(b){p(e.element,a);z.call(e,b)}),d.src=a):p(e.element,a);return e},symbol:function(a,
b,l,c,z,d){var p=this,n,m=/^url\((.*?)\)$/,D=m.test(a),G=!D&&(this.symbols[a]?a:"circle"),f=G&&this.symbols[G],M=e(b)&&f&&f.call(this.symbols,Math.round(b),Math.round(l),c,z,d),y,w;f?(n=this.path(M),h(n,{symbolName:G,x:b,y:l,width:c,height:z}),d&&h(n,d)):D&&(y=a.match(m)[1],n=this.image(y),n.imgwidth=q(O[y]&&O[y].width,d&&d.width),n.imgheight=q(O[y]&&O[y].height,d&&d.height),w=function(){n.attr({width:n.width,height:n.height})},u(["width","height"],function(a){n[a+"Setter"]=function(a,b){var q={},
l=this["img"+b],c="width"===b?"translateX":"translateY";this[b]=a;e(l)&&(this.element&&this.element.setAttribute(b,l),this.alignByTranslate||(q[c]=((this[b]||0)-l)/2,this.attr(q)))}}),e(b)&&n.attr({x:b,y:l}),n.isImg=!0,e(n.imgwidth)&&e(n.imgheight)?w():(n.attr({width:0,height:0}),r("img",{onload:function(){var a=g[p.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),v.body.appendChild(this));O[y]={width:this.width,height:this.height};n.imgwidth=this.width;n.imgheight=this.height;
n.element&&w();this.parentNode&&this.parentNode.removeChild(this);p.imgCount--;if(!p.imgCount&&a&&a.onload)a.onload()},src:y}),this.imgCount++));return n},symbols:{circle:function(a,b,q,l){return this.arc(a+q/2,b+l/2,q/2,l/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,q,l){return["M",a,b,"L",a+q,b,a+q,b+l,a,b+l,"Z"]},triangle:function(a,b,q,l){return["M",a+q/2,b,"L",a+q,b+l,a,b+l,"Z"]},"triangle-down":function(a,b,q,l){return["M",a,b,"L",a+q,b,a+q/2,b+l,"Z"]},diamond:function(a,b,q,l){return["M",
a+q/2,b,"L",a+q,b+l/2,a+q/2,b+l,a,b+l/2,"Z"]},arc:function(a,b,l,c,z){var d=z.start,h=z.r||l,p=z.r||c||l,n=z.end-.001;l=z.innerR;c=q(z.open,.001>Math.abs(z.end-z.start-2*Math.PI));var m=Math.cos(d),D=Math.sin(d),g=Math.cos(n),n=Math.sin(n);z=.001>z.end-d-Math.PI?0:1;h=["M",a+h*m,b+p*D,"A",h,p,0,z,1,a+h*g,b+p*n];e(l)&&h.push(c?"M":"L",a+l*g,b+l*n,"A",l,l,0,z,0,a+l*m,b+l*D);h.push(c?"":"Z");return h},callout:function(a,b,q,l,c){var z=Math.min(c&&c.r||0,q,l),d=z+6,h=c&&c.anchorX;c=c&&c.anchorY;var e;
e=["M",a+z,b,"L",a+q-z,b,"C",a+q,b,a+q,b,a+q,b+z,"L",a+q,b+l-z,"C",a+q,b+l,a+q,b+l,a+q-z,b+l,"L",a+z,b+l,"C",a,b+l,a,b+l,a,b+l-z,"L",a,b+z,"C",a,b,a,b,a+z,b];h&&h>q?c>b+d&&c<b+l-d?e.splice(13,3,"L",a+q,c-6,a+q+6,c,a+q,c+6,a+q,b+l-z):e.splice(13,3,"L",a+q,l/2,h,c,a+q,l/2,a+q,b+l-z):h&&0>h?c>b+d&&c<b+l-d?e.splice(33,3,"L",a,c+6,a-6,c,a,c-6,a,b+z):e.splice(33,3,"L",a,l/2,h,c,a,l/2,a,b+z):c&&c>l&&h>a+d&&h<a+q-d?e.splice(23,3,"L",h+6,b+l,h,b+l+6,h-6,b+l,a+z,b+l):c&&0>c&&h>a+d&&h<a+q-d&&e.splice(3,3,"L",
h-6,b,h,b-6,h+6,b,q-z,b);return e}},clipRect:function(b,q,l,c){var z=a.uniqueKey(),d=this.createElement("clipPath").attr({id:z}).add(this.defs);b=this.rect(b,q,l,c,0).add(d);b.id=z;b.clipPath=d;b.count=0;return b},text:function(a,b,q,l){var c={};if(l&&(this.allowHTML||!this.forExport))return this.html(a,b,q);c.x=Math.round(b||0);q&&(c.y=Math.round(q));if(a||0===a)c.text=a;a=this.createElement("text").attr(c);l||(a.xSetter=function(a,b,q){var l=q.getElementsByTagName("tspan"),c,z=q.getAttribute(b),
d;for(d=0;d<l.length;d++)c=l[d],c.getAttribute(b)===z&&c.setAttribute(b,a);q.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&B.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?z(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,q){var l=a;b&&q&&(l=Math.max(l*Math.cos(b*d),4));return{x:-a/3*Math.sin(b*d),y:l}},label:function(b,q,l,c,z,d,p,n,m){var g=this,G=g.g("button"!==
m&&"label"),f=G.text=g.text("",0,0,p).attr({zIndex:1}),y,w,E=0,v=3,r=0,L,k,F,I,S,Q={},K,H=/^url\((.*?)\)$/.test(c),x=H,t,O,P,N;m&&G.addClass("highcharts-"+m);x=!0;t=function(){return y.strokeWidth()%2/2};O=function(){var a=f.element.style,b={};w=(void 0===L||void 0===k||S)&&e(f.textStr)&&f.getBBox();G.width=(L||w.width||0)+2*v+r;G.height=(k||w.height||0)+2*v;K=v+g.fontMetrics(a&&a.fontSize,f).b;x&&(y||(G.box=y=g.symbols[c]||H?g.symbol(c):g.rect(),y.addClass(("button"===m?"":"highcharts-label-box")+
(m?" highcharts-"+m+"-box":"")),y.add(G),a=t(),b.x=a,b.y=(n?-K:0)+a),b.width=Math.round(G.width),b.height=Math.round(G.height),y.attr(h(b,Q)),Q={})};P=function(){var a=r+v,b;b=n?0:K;e(L)&&w&&("center"===S||"right"===S)&&(a+={center:.5,right:1}[S]*(L-w.width));if(a!==f.x||b!==f.y)f.attr("x",a),void 0!==b&&f.attr("y",b);f.x=a;f.y=b};N=function(a,b){y?y.attr(a,b):Q[a]=b};G.onAdd=function(){f.add(G);G.attr({text:b||0===b?b:"",x:q,y:l});y&&e(z)&&G.attr({anchorX:z,anchorY:d})};G.widthSetter=function(b){L=
a.isNumber(b)?b:null};G.heightSetter=function(a){k=a};G["text-alignSetter"]=function(a){S=a};G.paddingSetter=function(a){e(a)&&a!==v&&(v=G.padding=a,P())};G.paddingLeftSetter=function(a){e(a)&&a!==r&&(r=a,P())};G.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==E&&(E=a,w&&G.attr({x:F}))};G.textSetter=function(a){void 0!==a&&f.textSetter(a);O();P()};G["stroke-widthSetter"]=function(a,b){a&&(x=!0);this["stroke-width"]=a;N(b,a)};G.rSetter=function(a,b){N(b,a)};G.anchorXSetter=function(a,b){z=
G.anchorX=a;N(b,Math.round(a)-t()-F)};G.anchorYSetter=function(a,b){d=G.anchorY=a;N(b,a-I)};G.xSetter=function(a){G.x=a;E&&(a-=E*((L||w.width)+2*v),G["forceAnimate:x"]=!0);F=Math.round(a);G.attr("translateX",F)};G.ySetter=function(a){I=G.y=Math.round(a);G.attr("translateY",I)};var A=G.css;return h(G,{css:function(a){if(a){var b={};a=D(a);u(G.textProps,function(q){void 0!==a[q]&&(b[q]=a[q],delete a[q])});f.css(b);"width"in b&&O()}return A.call(G,a)},getBBox:function(){return{width:w.width+2*v,height:w.height+
2*v,x:w.x-v,y:w.y-v}},destroy:function(){M(G.element,"mouseenter");M(G.element,"mouseleave");f&&(f=f.destroy());y&&(y=y.destroy());B.prototype.destroy.call(G);G=g=O=P=N=null}})}});a.Renderer=A})(J);(function(a){var B=a.attr,A=a.createElement,C=a.css,k=a.defined,f=a.each,g=a.extend,t=a.isFirefox,x=a.isMS,r=a.isWebKit,e=a.pick,d=a.pInt,m=a.SVGRenderer,v=a.win,u=a.wrap;g(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,
this.htmlUpdateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);C(this.element,a);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,c=this.x||0,e=this.y||0,m=this.textAlign||"left",g={left:0,center:.5,right:1}[m],y=this.styles,u=y&&y.whiteSpace;C(b,{marginLeft:this.translateX||
0,marginTop:this.translateY||0});this.inverted&&f(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var y=this.rotation,w=this.textWidth&&d(this.textWidth),p=[y,m,b.innerHTML,this.textWidth,this.textAlign].join(),E;(E=w!==this.oldTextWidth)&&!(E=w>this.oldTextWidth)&&((E=this.textPxLength)||(C(b,{width:"",whiteSpace:u||"nowrap"}),E=b.offsetWidth),E=E>w);E&&/[ \-]/.test(b.textContent||b.innerText)&&(C(b,{width:w+"px",display:"block",whiteSpace:u||"normal"}),this.oldTextWidth=w);
p!==this.cTT&&(u=a.fontMetrics(b.style.fontSize).b,k(y)&&y!==(this.oldRotation||0)&&this.setSpanRotation(y,g,u),this.getSpanCorrection(!k(y)&&this.textPxLength||b.offsetWidth,u,g,y,m));C(b,{left:c+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=p;this.oldRotation=y}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=this.renderer.getTransformKey();d[e]=d.transform="rotate("+a+"deg)";d[e+(t?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";C(this.element,d)},getSpanCorrection:function(a,
b,c){this.xCorr=-a*c;this.yCorr=-b}});g(m.prototype,{getTransformKey:function(){return x&&!/Edge/.test(v.navigator.userAgent)?"-ms-transform":r?"-webkit-transform":t?"MozTransform":v.opera?"-o-transform":""},html:function(a,b,c){var d=this.createElement("span"),h=d.element,m=d.renderer,y=m.isSVG,v=function(a,b){f(["opacity","visibility"],function(c){u(a,c+"Setter",function(a,c,d,q){a.call(this,c,d,q);b[d]=c})});a.addedSetters=!0};d.textSetter=function(a){a!==h.innerHTML&&delete this.bBox;this.textStr=
a;h.innerHTML=e(a,"");d.doTransform=!0};y&&v(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,b){"align"===b&&(b="textAlign");d[b]=a;d.doTransform=!0};d.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};d.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"});h.style.whiteSpace="nowrap";d.css=d.htmlCss;y&&(d.add=function(a){var b,c=m.box.parentNode,e=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)e.push(a),
a=a.parentGroup;f(e.reverse(),function(a){function h(b,l){a[l]=b;"translateX"===l?q.left=b+"px":q.top=b+"px";a.doTransform=!0}var q,z=B(a.element,"class");z&&(z={className:z});b=a.div=a.div||A("div",z,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);q=b.style;g(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){e[0].div&&
d.on.apply({element:e[0].div},arguments);return a},translateXSetter:h,translateYSetter:h});a.addedSetters||v(a,q)})}}else b=c;b.appendChild(h);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(J);(function(a){var B=a.correctFloat,A=a.defined,C=a.destroyObjectProperties,k=a.fireEvent,f=a.isNumber,g=a.pick,t=a.deg2rad;a.Tick=function(a,g,e,d){this.axis=a;this.pos=g;this.type=e||"";this.isNewLabel=this.isNew=!0;e||d||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=
this.axis,f=a.options,e=a.chart,d=a.categories,m=a.names,v=this.pos,u=f.labels,h=a.tickPositions,b=v===h[0],c=v===h[h.length-1],m=d?g(d[v],m[v],v):v,d=this.label,h=h.info,n;a.isDatetimeAxis&&h&&(n=f.dateTimeLabelFormats[h.higherRanks[v]||h.unitName]);this.isFirst=b;this.isLast=c;f=a.labelFormatter.call({axis:a,chart:e,isFirst:b,isLast:c,dateTimeLabelFormat:n,value:a.isLog?B(a.lin2log(m)):m,pos:v});if(A(d))d&&d.attr({text:f});else{if(this.label=d=A(f)&&u.enabled?e.renderer.text(f,0,0,u.useHTML).add(a.labelGroup):
null)d.textPxLength=d.getBBox().width;this.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var f=this.axis,e=f.options.labels,d=a.x,m=f.chart.chartWidth,v=f.chart.spacing,u=g(f.labelLeft,Math.min(f.pos,v[3])),v=g(f.labelRight,Math.max(f.isRadial?0:f.pos+f.len,m-v[1])),h=this.label,b=this.rotation,c={left:0,center:.5,right:1}[f.labelAlign||h.attr("align")],n=h.getBBox().width,k=f.getSlotWidth(),H=k,y=1,F,w=
{};if(b||!1===e.overflow)0>b&&d-c*n<u?F=Math.round(d/Math.cos(b*t)-u):0<b&&d+c*n>v&&(F=Math.round((m-d)/Math.cos(b*t)));else if(m=d+(1-c)*n,d-c*n<u?H=a.x+H*(1-c)-u:m>v&&(H=v-a.x+H*c,y=-1),H=Math.min(k,H),H<k&&"center"===f.labelAlign&&(a.x+=y*(k-H-c*(k-Math.min(n,H)))),n>H||f.autoRotation&&(h.styles||{}).width)F=H;F&&(w.width=F,(e.style||{}).textOverflow||(w.textOverflow="ellipsis"),h.css(w))},getPosition:function(g,f,e,d){var m=this.axis,v=m.chart,u=d&&v.oldChartHeight||v.chartHeight;g={x:g?a.correctFloat(m.translate(f+
e,null,null,d)+m.transB):m.left+m.offset+(m.opposite?(d&&v.oldChartWidth||v.chartWidth)-m.right-m.left:0),y:g?u-m.bottom+m.offset-(m.opposite?m.height:0):a.correctFloat(u-m.translate(f+e,null,null,d)-m.transB)};k(this,"afterGetPosition",{pos:g});return g},getLabelPosition:function(a,g,e,d,m,f,u,h){var b=this.axis,c=b.transA,n=b.reversed,v=b.staggerLines,r=b.tickRotCorr||{x:0,y:0},y=m.y,F=d||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),w={};A(y)||(y=0===b.side?e.rotation?-8:
-e.getBBox().height:2===b.side?r.y+8:Math.cos(e.rotation*t)*(r.y-e.getBBox(!1,0).height/2));a=a+m.x+F+r.x-(f&&d?f*c*(n?-1:1):0);g=g+y-(f&&!d?f*c*(n?1:-1):0);v&&(e=u/(h||1)%v,b.opposite&&(e=v-e-1),g+=b.labelOffset/v*e);w.x=a;w.y=Math.round(g);k(this,"afterGetLabelPosition",{pos:w});return w},getMarkPath:function(a,g,e,d,m,f){return f.crispLine(["M",a,g,"L",a+(m?0:-e),g+(m?e:0)],d)},renderGridLine:function(a,g,e){var d=this.axis,m=this.gridLine,f={},u=this.pos,h=this.type,b=d.tickmarkOffset,c=d.chart.renderer;
m||(h||(f.zIndex=1),a&&(f.opacity=0),this.gridLine=m=c.path().attr(f).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(d.gridGroup));if(!a&&m&&(a=d.getPlotLinePath(u+b,m.strokeWidth()*e,a,!0)))m[this.isNew?"attr":"animate"]({d:a,opacity:g})},renderMark:function(a,g,e){var d=this.axis,m=d.chart.renderer,f=this.type,u=d.tickSize(f?f+"Tick":"tick"),h=this.mark,b=!h,c=a.x;a=a.y;u&&(d.opposite&&(u[0]=-u[0]),b&&(this.mark=h=m.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(d.axisGroup)),h[b?
"attr":"animate"]({d:this.getMarkPath(c,a,u[0],h.strokeWidth()*e,d.horiz,m),opacity:g}))},renderLabel:function(a,k,e,d){var m=this.axis,v=m.horiz,u=m.options,h=this.label,b=u.labels,c=b.step,m=m.tickmarkOffset,n=!0,r=a.x;a=a.y;h&&f(r)&&(h.xy=a=this.getLabelPosition(r,a,h,v,b,m,d,c),this.isFirst&&!this.isLast&&!g(u.showFirstLabel,1)||this.isLast&&!this.isFirst&&!g(u.showLastLabel,1)?n=!1:!v||b.step||b.rotation||k||0===e||this.handleOverflow(a),c&&d%c&&(n=!1),n&&f(a.y)?(a.opacity=e,h[this.isNewLabel?
"attr":"animate"](a),this.isNewLabel=!1):(h.attr("y",-9999),this.isNewLabel=!0))},render:function(f,k,e){var d=this.axis,m=d.horiz,v=this.getPosition(m,this.pos,d.tickmarkOffset,k),u=v.x,h=v.y,d=m&&u===d.pos+d.len||!m&&h===d.pos?-1:1;e=g(e,1);this.isActive=!0;this.renderGridLine(k,e,d);this.renderMark(v,e,d);this.renderLabel(v,k,e,f);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}})(J);var V=function(a){var B=a.addEvent,A=a.animObject,C=a.arrayMax,k=a.arrayMin,
f=a.correctFloat,g=a.defaultOptions,t=a.defined,x=a.deg2rad,r=a.destroyObjectProperties,e=a.each,d=a.extend,m=a.fireEvent,v=a.format,u=a.getMagnitude,h=a.grep,b=a.inArray,c=a.isArray,n=a.isNumber,I=a.isString,H=a.merge,y=a.normalizeTickInterval,F=a.objectEach,w=a.pick,p=a.removeEvent,E=a.splat,D=a.syncTimeout,L=a.Tick,K=function(){this.init.apply(this,arguments)};a.extend(K.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",
week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,
enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var q=c.isX,l=this;l.chart=a;l.horiz=a.inverted&&!l.isZAxis?!q:q;l.isXAxis=q;l.coll=l.coll||(q?"xAxis":"yAxis");m(this,"init",{userOptions:c});
l.opposite=c.opposite;l.side=c.side||(l.horiz?l.opposite?0:2:l.opposite?1:3);l.setOptions(c);var d=this.options,z=d.type;l.labelFormatter=d.labels.formatter||l.defaultLabelFormatter;l.userOptions=c;l.minPixelPadding=0;l.reversed=d.reversed;l.visible=!1!==d.visible;l.zoomEnabled=!1!==d.zoomEnabled;l.hasNames="category"===z||!0===d.categories;l.categories=d.categories||l.hasNames;l.names||(l.names=[],l.names.keys={});l.plotLinesAndBandsGroups={};l.isLog="logarithmic"===z;l.isDatetimeAxis="datetime"===
z;l.positiveValuesOnly=l.isLog&&!l.allowNegativeLog;l.isLinked=t(d.linkedTo);l.ticks={};l.labelEdge=[];l.minorTicks={};l.plotLinesAndBands=[];l.alternateBands={};l.len=0;l.minRange=l.userMinRange=d.minRange||d.maxZoom;l.range=d.range;l.offset=d.offset||0;l.stacks={};l.oldStacks={};l.stacksTouched=0;l.max=null;l.min=null;l.crosshair=w(d.crosshair,E(a.options.tooltip.crosshairs)[q?0:1],!1);c=l.options.events;-1===b(l,a.axes)&&(q?a.axes.splice(a.xAxis.length,0,l):a.axes.push(l),a[l.coll].push(l));l.series=
l.series||[];a.inverted&&!l.isZAxis&&q&&void 0===l.reversed&&(l.reversed=!0);F(c,function(a,b){B(l,b,a)});l.lin2log=d.linearToLogConverter||l.lin2log;l.isLog&&(l.val2lin=l.log2lin,l.lin2val=l.lin2log);m(this,"afterInit")},setOptions:function(a){this.options=H(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],H(g[this.coll],a));m(this,"afterSetOptions",{userOptions:a})},
defaultLabelFormatter:function(){var b=this.axis,c=this.value,d=b.chart.time,l=b.categories,e=this.dateTimeLabelFormat,h=g.lang,p=h.numericSymbols,h=h.numericSymbolMagnitude||1E3,n=p&&p.length,m,f=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(f)m=v(f,this,d);else if(l)m=c;else if(e)m=d.dateFormat(e,c);else if(n&&1E3<=b)for(;n--&&void 0===m;)d=Math.pow(h,n+1),b>=d&&0===10*c%d&&null!==p[n]&&0!==c&&(m=a.numberFormat(c/d,-1)+p[n]);void 0===m&&(m=1E4<=Math.abs(c)?a.numberFormat(c,-1):
a.numberFormat(c,-1,void 0,""));return m},getSeriesExtremes:function(){var a=this,b=a.chart;m(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(q){if(q.visible||!b.options.chart.ignoreHiddenSeries){var l=q.options,c=l.threshold,d;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=c&&(c=null);if(a.isXAxis)l=q.xData,l.length&&(q=k(l),d=C(l),n(q)||q instanceof Date||(l=h(l,n),q=
k(l),d=C(l)),l.length&&(a.dataMin=Math.min(w(a.dataMin,l[0],q),q),a.dataMax=Math.max(w(a.dataMax,l[0],d),d)));else if(q.getExtremes(),d=q.dataMax,q=q.dataMin,t(q)&&t(d)&&(a.dataMin=Math.min(w(a.dataMin,q),q),a.dataMax=Math.max(w(a.dataMax,d),d)),t(c)&&(a.threshold=c),!l.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")},translate:function(a,b,c,l,d,e){var q=this.linkedParent||this,z=1,h=0,p=l?q.oldTransA:q.transA;l=l?q.oldMin:q.min;var m=q.minPixelPadding;
d=(q.isOrdinal||q.isBroken||q.isLog&&d)&&q.lin2val;p||(p=q.transA);c&&(z*=-1,h=q.len);q.reversed&&(z*=-1,h-=z*(q.sector||q.len));b?(a=(a*z+h-m)/p+l,d&&(a=q.lin2val(a))):(d&&(a=q.val2lin(a)),a=n(l)?z*(a-l)*p+h+z*m+(n(e)?p*e:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,l,d){var q=this.chart,z=this.left,e=this.top,h,p,m=c&&
q.oldChartHeight||q.chartHeight,f=c&&q.oldChartWidth||q.chartWidth,g;h=this.transB;var D=function(a,b,q){if(a<b||a>q)l?a=Math.min(Math.max(b,a),q):g=!0;return a};d=w(d,this.translate(a,null,null,c));d=Math.min(Math.max(-1E5,d),1E5);a=c=Math.round(d+h);h=p=Math.round(m-d-h);n(d)?this.horiz?(h=e,p=m-this.bottom,a=c=D(a,z,z+this.width)):(a=z,c=f-this.right,h=p=D(h,e,e+this.height)):(g=!0,l=!1);return g&&!l?null:q.renderer.crispLine(["M",a,h,"L",c,p],b||1)},getLinearTickPositions:function(a,b,c){var q,
d=f(Math.floor(b/a)*a);c=f(Math.ceil(c/a)*a);var z=[],e;f(d+a)===d&&(e=20);if(this.single)return[b];for(b=d;b<=c;){z.push(b);b=f(b+a,e);if(b===q)break;q=b}return z},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?w(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,l=a.minorTickInterval,d=[],h=a.pointRangePadding||0,p=a.min-h,h=a.max+h,m=h-p;if(m&&m/l<a.len/3)if(a.isLog)e(this.paddedTicks,
function(b,q,c){q&&d.push.apply(d,a.getLogTickPositions(l,c[q-1],c[q],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())d=d.concat(a.getTimeTicks(a.normalizeTimeTickInterval(l),p,h,b.startOfWeek));else for(b=p+(c[0]-p)%l;b<=h&&b!==d[0];b+=l)d.push(b);0!==d.length&&a.trimTicks(d);return d},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,l,d,h,p,m,n,f,g;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(e(this.series,
function(a){n=a.xData;for(p=f=a.xIncrement?1:n.length-1;0<p;p--)if(m=n[p]-n[p-1],void 0===h||m<h)h=m}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin)));c-b<this.minRange&&(d=this.dataMax-this.dataMin>=this.minRange,g=this.minRange,l=(g-c+b)/2,l=[b-l,w(a.min,b-l)],d&&(l[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(l),c=[b+g,w(a.max,b+g)],d&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=k(c),c-b<g&&(l[0]=c-g,l[1]=w(a.min,c-g),b=C(l)));this.min=b;this.max=c},getClosest:function(){var a;
this.categories?a=1:e(this.series,function(b){var q=b.closestPointRange,l=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&t(q)&&l&&(a=t(a)?Math.min(a,q):q)});return a},nameToX:function(a){var q=c(this.categories),d=q?this.categories:this.names,l=a.options.x,h;a.series.requireSorting=!1;t(l)||(l=!1===this.options.uniqueNames?a.series.autoIncrement():q?b(a.name,d):w(d.keys[a.name],-1));-1===l?q||(h=d.length):h=l;void 0!==h&&(this.names[h]=a.name,this.names.keys[a.name]=h);return h},
updateNames:function(){var b=this,c=this.names;0<c.length&&(e(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,e(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();e(a.points,function(l,q){var c;l.options&&(c=b.nameToX(l),void 0!==c&&c!==l.x&&(l.x=c,a.xData[q]=c))})}))},setAxisTranslation:function(a){var b=this,q=b.max-b.min,l=b.axisPointRange||0,c,d=0,h=0,p=b.linkedParent,n=!!b.categories,g=b.transA,
f=b.isXAxis;if(f||n||l)c=b.getClosest(),p?(d=p.minPointOffset,h=p.pointRangePadding):e(b.series,function(a){var q=n?1:f?w(a.options.pointRange,c,0):b.axisPointRange||0;a=a.options.pointPlacement;l=Math.max(l,q);b.single||(d=Math.max(d,I(a)?0:q/2),h=Math.max(h,"on"===a?0:q))}),p=b.ordinalSlope&&c?b.ordinalSlope/c:1,b.minPointOffset=d*=p,b.pointRangePadding=h*=p,b.pointRange=Math.min(l,q),f&&(b.closestPointRange=c);a&&(b.oldTransA=g);b.translationSlope=b.transA=g=b.options.staticScale||b.len/(q+h||
1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=g*d;m(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,q=c.chart,l=c.options,d=c.isLog,h=c.isDatetimeAxis,p=c.isXAxis,g=c.isLinked,D=l.maxPadding,E=l.minPadding,v=l.tickInterval,k=l.tickPixelInterval,L=c.categories,F=n(c.threshold)?c.threshold:null,r=c.softThreshold,I,K,H,x;h||L||g||this.getTickAmount();H=w(c.userMin,l.min);x=w(c.userMax,l.max);g?(c.linkedParent=q[c.coll][l.linkedTo],
q=c.linkedParent.getExtremes(),c.min=w(q.min,q.dataMin),c.max=w(q.max,q.dataMax),l.type!==c.linkedParent.options.type&&a.error(11,1)):(!r&&t(F)&&(c.dataMin>=F?(I=F,E=0):c.dataMax<=F&&(K=F,D=0)),c.min=w(H,I,c.dataMin),c.max=w(x,K,c.dataMax));d&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,w(c.dataMin,c.min))&&a.error(10,1),c.min=f(c.log2lin(c.min),15),c.max=f(c.log2lin(c.max),15));c.range&&t(c.max)&&(c.userMin=c.min=H=Math.max(c.dataMin,c.minFromRange()),c.userMax=x=c.max,c.range=null);m(c,"foundExtremes");
c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(L||c.axisPointRange||c.usePercentage||g)&&t(c.min)&&t(c.max)&&(q=c.max-c.min)&&(!t(H)&&E&&(c.min-=q*E),!t(x)&&D&&(c.max+=q*D));n(l.softMin)&&!n(c.userMin)&&(c.min=Math.min(c.min,l.softMin));n(l.softMax)&&!n(c.userMax)&&(c.max=Math.max(c.max,l.softMax));n(l.floor)&&(c.min=Math.max(c.min,l.floor));n(l.ceiling)&&(c.max=Math.min(c.max,l.ceiling));r&&t(c.dataMin)&&(F=F||0,!t(H)&&c.min<F&&c.dataMin>=F?c.min=F:!t(x)&&c.max>F&&c.dataMax<=F&&(c.max=
F));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:g&&!v&&k===c.linkedParent.options.tickPixelInterval?v=c.linkedParent.tickInterval:w(v,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,L?1:(c.max-c.min)*k/Math.max(c.len,k));p&&!b&&e(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));
c.pointRange&&!v&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=w(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!v&&c.tickInterval<b&&(c.tickInterval=b);h||d||v||(c.tickInterval=y(c.tickInterval,null,u(c.tickInterval),w(l.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions;b=this.getMinorTickInterval();
var l=a.tickPositioner,d=a.startOnTick,h=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,
a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,l&&(l=l.apply(this,[this.min,this.max])))&&(this.tickPositions=b=l);this.paddedTicks=b.slice(0);this.trimTicks(b,d,h);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||l||this.adjustTickAmount());
m(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var l=a[0],q=a[a.length-1],d=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==l)this.min=l;else for(;this.min-d>a[0];)a.shift();if(c)this.max=q;else for(;this.max+d<a[a.length-1];)a.pop();0===a.length&&t(l)&&!this.options.tickPositions&&a.push((q+l)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||e(this.chart[this.coll],
function(c){var l=c.options,l=[c.horiz?l.left:l.top,l.width,l.height,l.pane].join();c.series.length&&(a[l]?b=!0:a[l]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!t(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,
l=this.finalTickAmt,d=b&&b.length,h=w(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(d<c){for(;b.length<c;)b.length%2||this.min===h?b.push(f(b[b.length-1]+a)):b.unshift(f(b[0]-a));this.transA*=(d-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else d>c&&(this.tickInterval*=2,this.setTickPositions());if(t(l)){for(a=c=b.length;a--;)(3===l&&1===a%2||2>=l&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=
this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;e(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||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=b||this.min!==this.oldMin||this.max!==this.oldMax)):
this.cleanStacks&&this.cleanStacks();m(this,"afterSetScale")},setExtremes:function(a,b,c,l,h){var q=this,p=q.chart;c=w(c,!0);e(q.series,function(a){delete a.kdTree});h=d(h,{min:a,max:b});m(q,"setExtremes",h,function(){q.userMin=a;q.userMax=b;q.eventArgs=h;c&&p.redraw(l)})},zoom:function(a,b){var c=this.dataMin,l=this.dataMax,q=this.options,d=Math.min(c,w(q.min,c)),q=Math.max(l,w(q.max,l));if(a!==this.min||b!==this.max)this.allowZoomOutside||(t(c)&&(a<d&&(a=d),a>q&&(a=q)),t(l)&&(b<d&&(b=d),b>q&&(b=
q))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,d=c.offsets||[0,0,0,0],l=this.horiz,h=this.width=Math.round(a.relativeLength(w(c.width,b.plotWidth-d[3]+d[1]),b.plotWidth)),e=this.height=Math.round(a.relativeLength(w(c.height,b.plotHeight-d[0]+d[2]),b.plotHeight)),p=this.top=Math.round(a.relativeLength(w(c.top,b.plotTop+d[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(w(c.left,
b.plotLeft+d[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-p;this.right=b.chartWidth-h-c;this.len=Math.max(l?h:e,0);this.pos=l?c:p},getExtremes:function(){var a=this.isLog;return{min:a?f(this.lin2log(this.min)):this.min,max:a?f(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===
a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(w(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],l=w(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(l&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,l]},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,b=this.horiz,c=this.tickInterval,l=c,d=this.len/(((this.categories?1:0)+this.max-this.min)/c),h,p=a.rotation,m=this.labelMetrics(),n,g=Number.MAX_VALUE,D,y=function(a){a/=d||1;a=1<a?Math.ceil(a):1;return f(a*c)};b?(D=!a.staggerLines&&!a.step&&(t(p)?[p]:d<w(a.autoRotationLimit,80)&&a.autoRotation))&&e(D,function(a){var b;if(a===p||a&&-90<=a&&90>=a)n=y(Math.abs(m.h/Math.sin(x*a))),b=n+Math.abs(a/360),b<g&&(g=b,h=a,l=
n)}):a.step||(l=y(m.h));this.autoRotation=D;this.labelRotation=w(h,p);return l},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,l=Math.max(this.tickPositions.length-(this.categories?0:1),1),d=a.margin[3];return b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/l||!b&&(c.style&&parseInt(c.style.width,10)||d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,l=this.ticks,d=this.options.labels,h=this.horiz,
p=this.getSlotWidth(),m=Math.max(1,Math.round(p-2*(d.padding||5))),n={},g=this.labelMetrics(),f=d.style&&d.style.textOverflow,D,y,u=0,w;I(d.rotation)||(n.rotation=d.rotation||0);e(c,function(a){(a=l[a])&&a.label&&a.label.textPxLength>u&&(u=a.label.textPxLength)});this.maxLabelLength=u;if(this.autoRotation)u>m&&u>g.h?n.rotation=this.labelRotation:this.labelRotation=0;else if(p&&(D=m,!f))for(y="clip",m=c.length;!h&&m--;)if(w=c[m],w=l[w].label)w.styles&&"ellipsis"===w.styles.textOverflow?w.css({textOverflow:"clip"}):
w.textPxLength>p&&w.css({width:p+"px"}),w.getBBox().height>this.len/c.length-(g.h-g.f)&&(w.specificTextOverflow="ellipsis");n.rotation&&(D=u>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight,f||(y="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))n.align=this.labelAlign;e(c,function(a){var b=(a=l[a])&&a.label,c={};b&&(b.attr(n),!D||d.style&&d.style.width||!(D<b.textPxLength||"SPAN"===b.element.tagName)||(c.width=D,f||(c.textOverflow=b.specificTextOverflow||y),b.css(c)),
delete b.specificTextOverflow,a.rotation=n.rotation)});this.tickRotCorr=b.rotCorr(g.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,l=this.opposite,d=this.options.title,q;this.axisTitle||((q=d.textAlign)||(q=(c?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[d.align]),
this.axisTitle=b.text(d.text,0,0,d.useHTML).attr({zIndex:7,rotation:d.rotation||0,align:q}).addClass("highcharts-axis-title").add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new L(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,l=a.options,d=a.tickPositions,h=a.ticks,p=a.horiz,m=a.side,n=b.inverted&&!a.isZAxis?[1,0,3,2][m]:m,g,f,D=0,y,u=0,E=l.title,
v=l.labels,k=0,L=b.axisOffset,b=b.clipOffset,r=[-1,1,1,-1][m],I=l.className,K=a.axisParent,H=this.tickSize("tick");g=a.hasData();a.showAxis=f=g||w(l.showEmpty,!0);a.staggerLines=a.horiz&&v.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:l.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(I||"")).add(K),a.axisGroup=c.g("axis").attr({zIndex:l.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(I||"")).add(K),a.labelGroup=c.g("axis-labels").attr({zIndex:v.zIndex||
7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(I||"")).add(K));g||a.isLinked?(e(d,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===m||2===m||{1:"left",3:"right"}[m]===a.labelAlign,w(v.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&e(d,function(a){k=Math.max(h[a].getLabelSize(),k)}),a.staggerLines&&(k*=a.staggerLines),a.labelOffset=k*(a.opposite?-1:1)):F(h,function(a,b){a.destroy();delete h[b]});E&&E.text&&!1!==E.enabled&&(a.addTitle(f),
f&&!1!==E.reserveSpace&&(a.titleOffset=D=a.axisTitle.getBBox()[p?"height":"width"],y=E.offset,u=t(y)?0:w(E.margin,p?5:10)));a.renderLine();a.offset=r*w(l.offset,L[m]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===m?-a.labelMetrics().h:2===m?a.tickRotCorr.y:0;u=Math.abs(k)+u;k&&(u=u-c+r*(p?w(v.y,a.tickRotCorr.y+8*r):v.x));a.axisTitleMargin=w(y,u);L[m]=Math.max(L[m],a.axisTitleMargin+D+r*a.offset,u,g&&d.length&&H?H[0]+r*a.offset:0);l=l.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[n]=Math.max(b[n],
l)},getLinePath:function(a){var b=this.chart,c=this.opposite,l=this.offset,d=this.horiz,h=this.left+(c?this.width:0)+l,l=b.chartHeight-this.bottom-(c?this.height:0)+l;c&&(a*=-1);return b.renderer.crispLine(["M",d?this.left:h,d?l:this.top,"L",d?b.chartWidth-this.right:h,d?l:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,
l=this.len,d=this.options.title,h=a?b:c,p=this.opposite,e=this.offset,m=d.x||0,n=d.y||0,g=this.axisTitle,f=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,g),g=Math.max(g.getBBox(null,0).height-f.h-1,0),l={low:h+(a?0:l),middle:h+l/2,high:h+(a?l:0)}[d.align],b=(a?c+this.height:b)+(a?1:-1)*(p?-1:1)*this.axisTitleMargin+[-g,g,f.f,-g][this.side];return{x:a?l+m:b+(p?this.width:0)+e+m,y:a?b+n-(p?this.height:0)+e:l+n}},renderMinorTick:function(a){var b=this.chart.hasRendered&&n(this.oldMin),c=
this.minorTicks;c[a]||(c[a]=new L(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,d=this.ticks,h=this.chart.hasRendered&&n(this.oldMin);if(!c||a>=this.min&&a<=this.max)d[a]||(d[a]=new L(this,a)),h&&d[a].isNew&&d[a].render(b,!0,.1),d[a].render(b)},render:function(){var b=this,c=b.chart,d=b.options,l=b.isLog,h=b.isLinked,p=b.tickPositions,g=b.axisTitle,f=b.ticks,y=b.minorTicks,u=b.alternateBands,w=d.stackLabels,E=d.alternateGridColor,
v=b.tickmarkOffset,k=b.axisLine,r=b.showAxis,I=A(c.renderer.globalAnimation),K,H;b.labelEdge.length=0;b.overlap=!1;e([f,y,u],function(a){F(a,function(a){a.isActive=!1})});if(b.hasData()||h)b.minorTickInterval&&!b.categories&&e(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),p.length&&(e(p,function(a,c){b.renderTick(a,c)}),v&&(0===b.min||b.single)&&(f[-1]||(f[-1]=new L(b,-1,null,!0)),f[-1].render(-1))),E&&e(p,function(d,h){H=void 0!==p[h+1]?p[h+1]+v:b.max-v;0===h%2&&d<b.max&&H<=b.max+
(c.polar?-v:v)&&(u[d]||(u[d]=new a.PlotLineOrBand(b)),K=d+v,u[d].options={from:l?b.lin2log(K):K,to:l?b.lin2log(H):H,color:E},u[d].render(),u[d].isActive=!0)}),b._addedPlotLB||(e((d.plotLines||[]).concat(d.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);e([f,y,u],function(a){var b,d=[],l=I.duration;F(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,d.push(b))});D(function(){for(b=d.length;b--;)a[d[b]]&&!a[d[b]].isActive&&(a[d[b]].destroy(),delete a[d[b]])},a!==u&&
c.hasRendered&&l?l:0)});k&&(k[k.isPlaced?"animate":"attr"]({d:this.getLinePath(k.strokeWidth())}),k.isPlaced=!0,k[r?"show":"hide"](!0));g&&r&&(d=b.getTitlePosition(),n(d.y)?(g[g.isNew?"attr":"animate"](d),g.isNew=!1):(g.attr("y",-9999),g.isNew=!0));w&&w.enabled&&b.renderStackTotals();b.isDirty=!1;m(this,"afterRender")},redraw:function(){this.visible&&(this.render(),e(this.plotLinesAndBands,function(a){a.render()}));e(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),
destroy:function(a){var c=this,d=c.stacks,l=c.plotLinesAndBands,h;m(this,"destroy",{keepEvents:a});a||p(c);F(d,function(a,b){r(a);d[b]=null});e([c.ticks,c.minorTicks,c.alternateBands],function(a){r(a)});if(l)for(a=l.length;a--;)l[a].destroy();e("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){c[a]&&(c[a]=c[a].destroy())});for(h in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[h]=c.plotLinesAndBandsGroups[h].destroy();F(c,function(a,d){-1===b(d,
c.keepProps)&&delete c[d]})},drawCrosshair:function(a,b){var c,d=this.crosshair,h=w(d.snap,!0),p,e=this.cross;m(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(t(b)||!h)){h?t(b)&&(p=w(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):p=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);t(p)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:w(b.stackY,b.y)),null,null,null,p)||null);if(!t(c)){this.hideCrosshair();return}h=this.categories&&!this.isRadial;
e||(this.cross=e=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(h?"category ":"thin ")+d.className).attr({zIndex:w(d.zIndex,2)}).add());e.show().attr({d:c});h&&!d.width&&e.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();m(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=K}(J);(function(a){var B=a.Axis,A=a.getMagnitude,C=a.map,k=a.normalizeTickInterval,f=a.pick;B.prototype.getLogTickPositions=
function(a,t,x,r){var e=this.options,d=this.len,m=[];r||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),m=this.getLinearTickPositions(a,t,x);else if(.08<=a)for(var d=Math.floor(t),g,u,h,b,c,e=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];d<x+1&&!c;d++)for(u=e.length,g=0;g<u&&!c;g++)h=this.log2lin(this.lin2log(d)*e[g]),h>t&&(!r||b<=x)&&void 0!==b&&m.push(b),b>x&&(c=!0),b=h;else t=this.lin2log(t),x=this.lin2log(x),a=r?this.getMinorTickInterval():e.tickInterval,a=f("auto"===a?null:a,this._minorAutoInterval,
e.tickPixelInterval/(r?5:1)*(x-t)/((r?d/this.tickPositions.length:d)||1)),a=k(a,null,A(a)),m=C(this.getLinearTickPositions(a,t,x),this.log2lin),r||(this._minorAutoInterval=a/5);r||(this.tickInterval=a);return m};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a,B){var A=a.arrayMax,C=a.arrayMin,k=a.defined,f=a.destroyObjectProperties,g=a.each,t=a.erase,x=a.merge,r=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&
(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var e=this,d=e.axis,m=d.horiz,g=e.options,f=g.label,h=e.label,b=g.to,c=g.from,n=g.value,I=k(c)&&k(b),H=k(n),y=e.svgElem,F=!y,w=[],p=r(g.zIndex,0),E=g.events,w={"class":"highcharts-plot-"+(I?"band ":"line ")+(g.className||"")},D={},L=d.chart.renderer,K=I?"bands":"lines",q;d.isLog&&(c=d.log2lin(c),b=d.log2lin(b),n=d.log2lin(n));D.zIndex=p;K+="-"+p;(q=d.plotLinesAndBandsGroups[K])||(d.plotLinesAndBandsGroups[K]=q=L.g("plot-"+
K).attr(D).add());F&&(e.svgElem=y=L.path().attr(w).add(q));if(H)w=d.getPlotLinePath(n,y.strokeWidth());else if(I)w=d.getPlotBandPath(c,b,g);else return;F&&w&&w.length?(y.attr({d:w}),E&&a.objectEach(E,function(a,b){y.on(b,function(a){E[b].apply(e,[a])})})):y&&(w?(y.show(),y.animate({d:w})):(y.hide(),h&&(e.label=h=h.destroy())));f&&k(f.text)&&w&&w.length&&0<d.width&&0<d.height&&!w.flat?(f=x({align:m&&I&&"center",x:m?!I&&4:10,verticalAlign:!m&&I&&"middle",y:m?I?16:10:I?6:-4,rotation:m&&!I&&90},f),this.renderLabel(f,
w,I,p)):h&&h.hide();return e},renderLabel:function(a,d,m,g){var e=this.label,h=this.axis.chart.renderer;e||(e={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(m?"band":"line")+"-label "+(a.className||"")},e.zIndex=g,this.label=e=h.text(a.text,0,0,a.useHTML).attr(e).add());g=d.xBounds||[d[1],d[4],m?d[6]:d[1]];d=d.yBounds||[d[2],d[5],m?d[7]:d[2]];m=C(g);h=C(d);e.align(a,!1,{x:m,y:h,width:A(g)-m,height:A(d)-h});e.show()},destroy:function(){t(this.axis.plotLinesAndBands,this);
delete this.axis;f(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,d){var e=this.getPlotLinePath(d,null,null,!0),g=this.getPlotLinePath(a,null,null,!0),f=[],h=this.horiz,b=1,c;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(g&&e)for(a&&(c=g.toString()===e.toString(),b=0),a=0;a<g.length;a+=6)h&&e[a+1]===g[a+1]?(e[a+1]+=b,e[a+4]+=b):h||e[a+2]!==g[a+2]||(e[a+2]+=b,e[a+5]+=b),f.push("M",g[a+1],g[a+2],"L",g[a+4],g[a+5],e[a+4],e[a+5],e[a+1],e[a+2],"z"),f.flat=c;return f},addPlotBand:function(a){return this.addPlotBandOrLine(a,
"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(e,d){var m=(new a.PlotLineOrBand(this,e)).render(),g=this.userOptions;m&&(d&&(g[d]=g[d]||[],g[d].push(e)),this.plotLinesAndBands.push(m));return m},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,e=this.options,f=this.userOptions,u=d.length;u--;)d[u].id===a&&d[u].destroy();g([e.plotLines||[],f.plotLines||[],e.plotBands||[],f.plotBands||[]],function(d){for(u=d.length;u--;)d[u].id===
a&&t(d,d[u])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(J,V);(function(a){var B=a.each,A=a.extend,C=a.format,k=a.isNumber,f=a.map,g=a.merge,t=a.pick,x=a.splat,r=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},
cleanSplit:function(a){B(this.chart.series,function(d){var e=d&&d.tt;e&&(!e.isActive||a?d.tt=e.destroy():e.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",
in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label||(this.label=this.split?a.g("tooltip"):a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.label.attr({zIndex:8}).add());return this.label},
update:function(a){this.destroy();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());a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(d,e,g,f){var h=this,b=h.now,c=!1!==h.options.animation&&!h.isHidden&&(1<Math.abs(d-b.x)||1<Math.abs(e-b.y)),n=h.followPointer||1<h.len;A(b,{x:c?(2*b.x+
d)/3:d,y:c?(b.y+e)/2:e,anchorX:n?void 0:c?(2*b.anchorX+g)/3:g,anchorY:n?void 0:c?(b.anchorY+f)/2:f});h.getLabel().attr(b);c&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){h&&h.move(d,e,g,f)},32))},hide:function(d){var e=this;a.clearTimeout(this.hideTimer);d=t(d,this.options.hideDelay,500);this.isHidden||(this.hideTimer=r(function(){e.getLabel()[d?"fadeOut":"hide"]();e.isHidden=!0},d))},getAnchor:function(a,e){var d,g=this.chart,h=g.inverted,b=g.plotTop,c=g.plotLeft,
n=0,m=0,k,y;a=x(a);d=a[0].tooltipPos;this.followPointer&&e&&(void 0===e.chartX&&(e=g.pointer.normalize(e)),d=[e.chartX-g.plotLeft,e.chartY-b]);d||(B(a,function(a){k=a.series.yAxis;y=a.series.xAxis;n+=a.plotX+(!h&&y?y.left-c:0);m+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!h&&k?k.top-b:0)}),n/=a.length,m/=a.length,d=[h?g.plotWidth-m:n,this.shared&&!h&&1<a.length&&e?e.chartY-b:h?g.plotHeight-n:m]);return f(d,Math.round)},getPosition:function(a,e,g){var d=this.chart,h=this.distance,b={},c=d.inverted&&
g.h||0,n,f=["y",d.chartHeight,e,g.plotY+d.plotTop,d.plotTop,d.plotTop+d.plotHeight],m=["x",d.chartWidth,a,g.plotX+d.plotLeft,d.plotLeft,d.plotLeft+d.plotWidth],y=!this.followPointer&&t(g.ttBelow,!d.inverted===!!g.negative),k=function(a,d,p,e,n,g){var l=p<e-h,q=e+h+p<d,f=e-h-p;e+=h;if(y&&q)b[a]=e;else if(!y&&l)b[a]=f;else if(l)b[a]=Math.min(g-p,0>f-c?f:f-c);else if(q)b[a]=Math.max(n,e+c+p>d?e:e+c);else return!1},w=function(a,c,d,e){var p;e<h||e>c-h?p=!1:b[a]=e<d/2?1:e>c-d/2?c-d-2:e-d/2;return p},p=
function(a){var b=f;f=m;m=b;n=a},E=function(){!1!==k.apply(0,f)?!1!==w.apply(0,m)||n||(p(!0),E()):n?b.x=b.y=0:(p(!0),E())};(d.inverted||1<this.len)&&p();E();return b},defaultFormatter:function(a){var d=this.points||x(this),e;e=[a.tooltipFooterHeaderFormatter(d[0])];e=e.concat(a.bodyFormatter(d));e.push(a.tooltipFooterHeaderFormatter(d[0],!0));return e},refresh:function(d,e){var g,f=this.options,h=d,b,c={},n=[];g=f.formatter||this.defaultFormatter;var c=this.shared,m;f.enabled&&(a.clearTimeout(this.hideTimer),
this.followPointer=x(h)[0].series.tooltipOptions.followPointer,b=this.getAnchor(h,e),e=b[0],f=b[1],!c||h.series&&h.series.noSharedTooltip?c=h.getLabelConfig():(B(h,function(a){a.setState("hover");n.push(a.getLabelConfig())}),c={x:h[0].category,y:h[0].y},c.points=n,h=h[0]),this.len=n.length,c=g.call(c,this),m=h.series,this.distance=t(m.tooltipOptions.distance,16),!1===c?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(c,x(d)):(g.css({width:this.chart.spacingBox.width}),
g.attr({text:c&&c.join?c.join(""):c}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(h.colorIndex,m.colorIndex)),this.updatePosition({plotX:e,plotY:f,negative:h.negative,ttBelow:h.ttBelow,h:b[2]||0})),this.isHidden=!1))},renderSplit:function(d,e){var g=this,f=[],h=this.chart,b=h.renderer,c=!0,n=this.options,m=0,k=this.getLabel();a.isString(d)&&(d=[!1,d]);B(d.slice(0,e.length+1),function(a,d){if(!1!==a){d=e[d-1]||{isHeader:!0,plotX:e[0].plotX};var y=d.series||g,p=y.tt,E="highcharts-color-"+
t(d.colorIndex,(d.series||{}).colorIndex,"none");p||(y.tt=p=b.label(null,null,null,"callout",null,null,n.useHTML).addClass("highcharts-tooltip-box "+E).attr({padding:n.padding,r:n.borderRadius}).add(k));p.isActive=!0;p.attr({text:a});a=p.getBBox();E=a.width+p.strokeWidth();d.isHeader?(m=a.height,E=Math.max(0,Math.min(d.plotX+h.plotLeft-E/2,h.chartWidth-E))):E=d.plotX+h.plotLeft-t(n.distance,16)-E;0>E&&(c=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=h.plotTop;f.push({target:d.isHeader?
h.plotHeight+m:a,rank:d.isHeader?1:0,size:y.tt.getBBox().height+1,point:d,x:E,tt:p})}});this.cleanSplit();a.distribute(f,h.plotHeight+m);B(f,function(a){var b=a.point,d=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:c||b.isHeader?a.x:b.plotX+h.plotLeft+t(n.distance,16),y:a.pos+h.plotTop,anchorX:b.isHeader?b.plotX+h.plotLeft:b.plotX+d.xAxis.pos,anchorY:b.isHeader?a.pos+h.plotTop-15:b.plotY+d.yAxis.pos})})},updatePosition:function(a){var d=this.chart,e=this.getLabel(),e=(this.options.positioner||
this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,g,f,u){var d=this.chart.time,b=d.dateFormat("%m-%d %H:%M:%S.%L",g),c,n,m={millisecond:15,second:12,minute:9,hour:6,day:3},k="millisecond";for(n in e){if(a===e.week&&+d.dateFormat("%w",g)===f&&"00:00:00.000"===b.substr(6)){n="week";break}if(e[n]>a){n=k;break}if(m[n]&&b.substr(m[n])!=="01-01 00:00:00.000".substr(m[n]))break;"week"!==n&&(k=n)}n&&
(c=u[n]);return c},getXDateFormat:function(a,e,g){e=e.dateTimeLabelFormats;var d=g&&g.closestPointRange;return(d?this.getDateFormat(d,a.x,g.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){e=e?"footer":"header";var d=a.series,g=d.tooltipOptions,h=g.xDateFormat,b=d.xAxis,c=b&&"datetime"===b.options.type&&k(a.key),n=g[e+"Format"];c&&!h&&(h=this.getXDateFormat(a,g,b));c&&h&&B(a.point&&a.point.tooltipDateKeys||["key"],function(a){n=n.replace("{point."+a+"}","{point."+
a+":"+h+"}")});return C(n,{point:a,series:d},this.chart.time)},bodyFormatter:function(a){return f(a,function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"])})}}})(J);(function(a){var B=a.addEvent,A=a.attr,C=a.charts,k=a.css,f=a.defined,g=a.each,t=a.extend,x=a.find,r=a.fireEvent,e=a.isNumber,d=a.isObject,m=a.offset,v=a.pick,u=a.splat,h=a.Tooltip;a.Pointer=function(a,c){this.init(a,
c)};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={};h&&(a.tooltip=new h(a,c.tooltip),this.followTouchMove=v(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart,e=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=v(d.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&
!b||a&&b;this.hasZoom=a||e},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=c=m(this.chart.container));return t(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};g(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,e){var b;g(a,function(a){var h=
!(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,h);if((h=d(a,!0))&&!(h=!d(b,!0)))var h=b.distX-a.distX,g=b.dist-a.dist,f=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),h=0<(0!==h&&c?h:0!==g?g:0!==f?f:b.series.index>a.series.index?-1:1);h&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,d=b.xAxis,b=b.yAxis,e=
v(a.clientX,a.plotX),h=a.shapeArgs;if(d&&b)return c?{chartX:d.len+d.pos-e,chartY:b.len+b.pos-a.plotY}:{chartX:e+d.pos,chartY:a.plotY+b.pos};if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}},getHoverData:function(b,c,e,h,f,m,k){var n,p=[],y=k&&k.isBoosting;h=!(!h||!b);k=c&&!c.stickyTracking?[c]:a.grep(e,function(a){return a.visible&&!(!f&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(n=h?b:this.findNearestKDPoint(k,f,m))&&n.series;n&&(f&&!c.noSharedTooltip?(k=a.grep(e,function(a){return a.visible&&
!(!f&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),g(k,function(a){var b=x(a.points,function(a){return a.x===n.x&&!a.isNull});d(b)&&(y&&(b=a.getPoint(b)),p.push(b))})):p.push(n));return{hoverPoint:n,hoverSeries:c,hoverPoints:p}},runPointActions:function(b,c){var d=this.chart,e=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,h=e?e.shared:!1,f=c||d.hoverPoint,m=f&&f.series||d.hoverSeries,m=this.getHoverData(f,m,d.series,!!c||m&&m.directTouch&&this.isDirectTouch,h,
b,{isBoosting:d.isBoosting}),k,f=m.hoverPoint;k=m.hoverPoints;c=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;h=h&&m&&!m.noSharedTooltip;if(f&&(f!==d.hoverPoint||e&&e.isHidden)){g(d.hoverPoints||[],function(b){-1===a.inArray(b,k)&&b.setState()});g(k||[],function(a){a.setState("hover")});if(d.hoverSeries!==m)m.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!f.series)return;f.firePointEvent("mouseOver");d.hoverPoints=k;d.hoverPoint=f;e&&e.refresh(h?k:f,b)}else c&&e&&!e.isHidden&&
(f=e.getAnchor([{}],b),e.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(d.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));g(d.axes,function(c){var d=v(c.crosshair.snap,!0),e=d?a.find(k,function(a){return a.series[c.coll]===c}):void 0;e||!d?c.drawCrosshair(b,e):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,d=b.hoverSeries,e=b.hoverPoint,h=b.hoverPoints,f=b.tooltip,m=f&&f.shared?h:e;
a&&m&&g(u(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&m&&(f.refresh(m),e&&(e.setState(e.state,!0),g(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();h&&g(h,function(a){a.setState()});if(d)d.onMouseOut();f&&f.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());g(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,d;g(b.series,function(e){d=
a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),e.markerGroup.clip(c?b.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});b.clipRect.attr(c||b.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,d=b.options.chart,e=a.chartX,h=a.chartY,g=this.zoomHor,f=this.zoomVert,m=b.plotLeft,
p=b.plotTop,k=b.plotWidth,D=b.plotHeight,u,r=this.selectionMarker,q=this.mouseDownX,z=this.mouseDownY,v=d.panKey&&a[d.panKey+"Key"];r&&r.touch||(e<m?e=m:e>m+k&&(e=m+k),h<p?h=p:h>p+D&&(h=p+D),this.hasDragged=Math.sqrt(Math.pow(q-e,2)+Math.pow(z-h,2)),10<this.hasDragged&&(u=b.isInsidePlot(q-m,z-p),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&u&&!v&&!r&&(this.selectionMarker=r=b.renderer.rect(m,p,g?1:k,f?1:D,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add()),r&&g&&(e-=q,r.attr({width:Math.abs(e),
x:(0<e?0:e)+q})),r&&f&&(e=h-z,r.attr({height:Math.abs(e),y:(0<e?0:e)+z})),u&&!r&&d.panning&&b.pan(a,d.panning)))},drop:function(a){var b=this,d=this.chart,h=this.hasPinched;if(this.selectionMarker){var m={originalEvent:a,xAxis:[],yAxis:[]},y=this.selectionMarker,u=y.attr?y.attr("x"):y.x,w=y.attr?y.attr("y"):y.y,p=y.attr?y.attr("width"):y.width,E=y.attr?y.attr("height"):y.height,D;if(this.hasDragged||h)g(d.axes,function(c){if(c.zoomEnabled&&f(c.min)&&(h||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var d=
c.horiz,e="touchend"===a.type?c.minPixelPadding:0,g=c.toValue((d?u:w)+e),d=c.toValue((d?u+p:w+E)-e);m[c.coll].push({axis:c,min:Math.min(g,d),max:Math.max(g,d)});D=!0}}),D&&r(d,"selection",m,function(a){d.zoom(t(a,h?{animation:!1}:null))});e(d.index)&&(this.selectionMarker=this.selectionMarker.destroy());h&&this.scaleGroups()}d&&e(d.index)&&(k(d.container,{cursor:d._cursor}),d.cancelClick=10<this.hasDragged,d.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){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,d=this.chartPosition;a=this.normalize(a,d);!d||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=C[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&
(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;f(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,c){for(var b;a;){if(b=A(a,"class")){if(-1!==b.indexOf(c))return!0;
if(-1!==b.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,d=b.hoverPoint,e=b.plotLeft,h=b.plotTop;a=this.normalize(a);b.cancelClick||(d&&this.inClass(a.target,"highcharts-tracker")?
(r(d.series,"click",t(a,{point:d})),b.hoverPoint&&d.firePointEvent("click",a)):(t(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-h)&&r(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,d=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=B(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=
B(d,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(d,"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,d){b[d]=null})}}})(J);(function(a){var B=a.charts,A=a.each,C=a.extend,k=a.map,f=a.noop,g=a.pick;C(a.Pointer.prototype,{pinchTranslate:function(a,g,f,e,d,m){this.zoomHor&&this.pinchTranslateDirection(!0,a,g,f,e,d,m);this.zoomVert&&this.pinchTranslateDirection(!1,a,g,f,e,d,m)},pinchTranslateDirection:function(a,g,f,e,d,m,k,u){var h=this.chart,b=a?"x":"y",c=a?"X":"Y",n="chart"+c,r=a?"width":"height",v=h["plot"+(a?"Left":"Top")],y,F,w=u||1,p=h.inverted,
E=h.bounds[a?"h":"v"],D=1===g.length,L=g[0][n],K=f[0][n],q=!D&&g[1][n],z=!D&&f[1][n],t;f=function(){!D&&20<Math.abs(L-q)&&(w=u||Math.abs(K-z)/Math.abs(L-q));F=(v-K)/w+L;y=h["plot"+(a?"Width":"Height")]/w};f();g=F;g<E.min?(g=E.min,t=!0):g+y>E.max&&(g=E.max-y,t=!0);t?(K-=.8*(K-k[b][0]),D||(z-=.8*(z-k[b][1])),f()):k[b]=[K,z];p||(m[b]=F-v,m[r]=y);m=p?1/w:w;d[r]=y;d[b]=g;e[p?a?"scaleY":"scaleX":"scale"+c]=w;e["translate"+c]=m*v+(K-m*L)},pinch:function(a){var t=this,r=t.chart,e=t.pinchDown,d=a.touches,
m=d.length,v=t.lastValidTouch,u=t.hasZoom,h=t.selectionMarker,b={},c=1===m&&(t.inClass(a.target,"highcharts-tracker")&&r.runTrackerClick||t.runChartClick),n={};1<m&&(t.initiated=!0);u&&t.initiated&&!c&&a.preventDefault();k(d,function(a){return t.normalize(a)});"touchstart"===a.type?(A(d,function(a,b){e[b]={chartX:a.chartX,chartY:a.chartY}}),v.x=[e[0].chartX,e[1]&&e[1].chartX],v.y=[e[0].chartY,e[1]&&e[1].chartY],A(r.axes,function(a){if(a.zoomEnabled){var b=r.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,
d=a.toPixels(g(a.options.min,a.dataMin)),e=a.toPixels(g(a.options.max,a.dataMax)),h=Math.max(d,e);b.min=Math.min(a.pos,Math.min(d,e)-c);b.max=Math.max(a.pos+a.len,h+c)}}),t.res=!0):t.followTouchMove&&1===m?this.runPointActions(t.normalize(a)):e.length&&(h||(t.selectionMarker=h=C({destroy:f,touch:!0},r.plotBox)),t.pinchTranslate(e,d,b,h,n,v),t.hasPinched=u,t.scaleGroups(b,n),t.res&&(t.res=!1,this.reset(!1,0)))},touch:function(f,k){var r=this.chart,e,d;if(r.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});
a.hoverChartIndex=r.index;1===f.touches.length?(f=this.normalize(f),(d=r.isInsidePlot(f.chartX-r.plotLeft,f.chartY-r.plotTop))&&!r.openMenu?(k&&this.runPointActions(f),"touchmove"===f.type&&(k=this.pinchDown,e=k[0]?4<=Math.sqrt(Math.pow(k[0].chartX-f.chartX,2)+Math.pow(k[0].chartY-f.chartY,2)):!1),g(e,!0)&&this.pinch(f)):k&&this.reset()):2===f.touches.length&&this.pinch(f)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){B[a.hoverChartIndex]&&
B[a.hoverChartIndex].pointer.drop(g)}})})(J);(function(a){var B=a.addEvent,A=a.charts,C=a.css,k=a.doc,f=a.extend,g=a.noop,t=a.Pointer,x=a.removeEvent,r=a.win,e=a.wrap;if(!a.hasTouch&&(r.PointerEvent||r.MSPointerEvent)){var d={},m=!!r.PointerEvent,v=function(){var e=[];e.item=function(a){return this[a]};a.objectEach(d,function(a){e.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return e},u=function(d,b,c,e){"touch"!==d.pointerType&&d.pointerType!==d.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||
(e(d),e=A[a.hoverChartIndex].pointer,e[b]({type:c,target:d.currentTarget,preventDefault:g,touches:v()}))};f(t.prototype,{onContainerPointerDown:function(a){u(a,"onContainerTouchStart","touchstart",function(a){d[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){u(a,"onContainerTouchMove","touchmove",function(a){d[a.pointerId]={pageX:a.pageX,pageY:a.pageY};d[a.pointerId].target||(d[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){u(a,
"onDocumentTouchEnd","touchend",function(a){delete d[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,m?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,m?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(k,m?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});e(t.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&C(b.container,{"-ms-touch-action":"none","touch-action":"none"})});e(t.prototype,"setDOMEvents",function(a){a.apply(this);
(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});e(t.prototype,"destroy",function(a){this.batchMSEvents(x);a.call(this)})}})(J);(function(a){var B=a.addEvent,A=a.css,C=a.discardElement,k=a.defined,f=a.each,g=a.fireEvent,t=a.isFirefox,x=a.marginNames,r=a.merge,e=a.pick,d=a.setAnimation,m=a.stableSort,v=a.win,u=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(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},
setOptions:function(a){var b=e(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=e(a.symbolWidth,16);this.pages=[]},update:function(a,b){var c=this.chart;this.setOptions(r(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;e(b,!0)&&c.redraw();g(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");g(this,"afterColorizeItem",{item:a,visible:b})},
positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],h=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?e:this.legendWidth-e-2*c-4,d);h&&(h.x=e,h.y=d)},destroyItem:function(a){var b=a.checkbox;f(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&C(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}f(this.getAllItems(),function(b){f(["legendItem","legendGroup"],
a,b)});f("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,c=this.clipHeight||this.legendHeight,d=this.titleHeight;a&&(b=a.translateY,f(this.allItems,function(e){var h=e.checkbox,g;h&&(g=b+d+h.y+(this.scrollOffset||0)+3,A(h,{left:a.translateX+e.checkboxOffset+h.x-20+"px",top:g+"px",display:g>b-6&&g<b+c-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,c=a.title,d=
0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d},setText:function(d){var b=this.options;d.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,d,this.chart.time):b.labelFormatter.call(d)})},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,h=this.symbolWidth,
g=d.symbolPadding,f="horizontal"===d.layout?e(d.itemDistance,20):0,m=!d.rtl,k=a.legendItem,p=!a.series,u=!p&&a.series.drawLegendSymbol?a.series:a,D=u.options,D=this.createCheckboxForItem&&D&&D.showCheckbox,f=h+g+f+(D?20:0),r=d.useHTML,v=a.options.className;k||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+a.colorIndex+(v?" "+v:"")+(p?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=k=c.text("",m?h+g:-g,this.baseline||
0,r).attr({align:m?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(12,k),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,k.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,u.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,k,r),D&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);k.css({width:(d.itemWidth||d.width||b.spacingBox.width)-f});this.setText(a);b=k.getBBox();a.itemWidth=a.checkboxOffset=
d.itemWidth||a.legendItemWidth||b.width+f;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,c=this.padding,d="horizontal"===b.layout,h=a.itemHeight,g=b.itemMarginBottom||0,f=this.itemMarginTop,m=d?e(b.itemDistance,20):0,k=b.width,p=k||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:
a.itemWidth;d&&this.itemX-c+b>p&&(this.itemX=c,this.itemY+=f+this.lastLineHeight+g,this.lastLineHeight=0);this.lastItemY=f+this.itemY+g;this.lastLineHeight=Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=b:(this.itemY+=f+h+g,this.lastLineHeight=h);this.offsetWidth=k||Math.max((d?this.itemX-c-(a.checkbox?0:m):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(b){var c=b&&b.options;b&&e(c.showInLegend,k(c.linkedTo)?!1:void 0,!0)&&
(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});g(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,d=this.options,h=this.getAlignment();h&&f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(g,f){g.test(h)&&!k(a[f])&&(c[x[f]]=Math.max(c[x[f]],c.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,
-1,-1,1][f]*d[f%2?"x":"y"]+e(d.margin,12)+b[f]+(0===f&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},render:function(){var a=this.chart,b=a.renderer,c=this.group,d,e,g,k,u=this.box,w=this.options,p=this.padding;this.itemX=p;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;c||(this.group=c=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(c),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();d=this.getAllItems();
m(d,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});w.reversed&&d.reverse();this.allItems=d;this.display=e=!!d.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f(d,this.renderItem,this);f(d,this.layoutItem,this);g=(w.width||this.offsetWidth)+p;k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);k+=p;u||(this.box=u=b.rect().addClass("highcharts-legend-box").attr({r:w.borderRadius}).add(c),
u.isNew=!0);0<g&&0<k&&(u[u.isNew?"attr":"animate"](u.crisp.call({},{x:0,y:0,width:g,height:k},u.strokeWidth())),u.isNew=!1);u[e?"show":"hide"]();"none"===c.getStyle("display")&&(g=k=0);this.legendWidth=g;this.legendHeight=k;f(d,this.positionItem,this);e&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=r(b,{y:b.y+a.titleOffset+a.options.title.margin})),c.align(r(w,{width:g,height:k}),!0,b));a.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,
g=this.options,h=g.y,m=this.padding,c=c.spacingBox.height+("top"===g.verticalAlign?-h:h)-m,h=g.maxHeight,k,u=this.clipRect,p=g.navigation,E=e(p.animation,!0),D=p.arrowSize||12,r=this.nav,v=this.pages,q,z=this.allItems,t=function(a){"number"===typeof a?u.attr({height:a}):u&&(b.clipRect=u.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};"horizontal"!==g.layout||"middle"===g.verticalAlign||g.floating||(c/=2);h&&(c=Math.min(c,
h));v.length=0;a>c&&!1!==p.enabled?(this.clipHeight=k=Math.max(c-20-this.titleHeight-m,0),this.currentPage=e(this.currentPage,1),this.fullHeight=a,f(z,function(a,b){var c=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),e=v.length;if(!e||c-v[e-1]>k&&(q||c)!==v[e-1])v.push(q||c),e++;a.pageIx=e-1;q&&(z[b-1].pageIx=e-1);b===z.length-1&&c+d-v[e-1]>k&&(v.push(c),a.pageIx=e);c!==q&&(q=c)}),u||(u=b.clipRect=d.clipRect(0,m,9999,0),b.contentGroup.clip(u)),t(k),r||(this.nav=r=d.g().attr({zIndex:1}).add(this.group),
this.up=d.symbol("triangle",0,0,D,D).on("click",function(){b.scroll(-1,E)}).add(r),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").add(r),this.down=d.symbol("triangle-down",0,0,D,D).on("click",function(){b.scroll(1,E)}).add(r)),b.scroll(0),a=c):r&&(t(),this.nav=r.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,e=c.length;a=this.currentPage+a;var g=this.clipHeight,f=this.pager,h=this.padding;a>e&&(a=e);0<a&&(void 0!==
b&&d(b,this.chart),this.nav.attr({translateX:h,translateY:g+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),f.attr({text:a+"/"+e}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};
a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,d=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-c)/2:0,a.baseline-c+1,d?c:a.symbolWidth,c,e(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,d=a.symbolWidth,g=a.symbolHeight;c=g/2;var f=this.chart.renderer,h=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);this.legendLine=f.path(["M",
0,a,"L",d,a]).addClass("highcharts-graph").attr({}).add(h);b&&!1!==b.enabled&&(c=Math.min(e(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=r(b,{width:g,height:g}),c=0),this.legendSymbol=b=f.symbol(this.symbol,d/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(h),b.isMarker=!0)}};(/Trident\/7\.0/.test(v.navigator.userAgent)||t)&&u(a.Legend.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)})})(J);(function(a){var B=a.addEvent,A=a.animObject,
C=a.attr,k=a.doc,f=a.Axis,g=a.createElement,t=a.defaultOptions,x=a.discardElement,r=a.charts,e=a.defined,d=a.each,m=a.extend,v=a.find,u=a.fireEvent,h=a.grep,b=a.isNumber,c=a.isObject,n=a.isString,I=a.Legend,H=a.marginNames,y=a.merge,F=a.objectEach,w=a.Pointer,p=a.pick,E=a.pInt,D=a.removeEvent,L=a.seriesTypes,K=a.splat,q=a.syncTimeout,z=a.win,M=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new M(a,b,c)};m(M.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);
if(n(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var d,e,l=b.series,g=b.plotOptions||{};u(this,"init",{args:arguments},function(){b.series=null;d=y(t,b);for(e in d.plotOptions)d.plotOptions[e].tooltip=g[e]&&y(g[e].tooltip)||void 0;d.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;d.series=b.series=l;this.userOptions=b;var f=d.chart,p=f.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=
c;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;this.hasCartesianSeries=f.showAxes;var h=this;h.index=r.length;r.push(h);a.chartCount++;p&&F(p,function(a,b){B(h,b,a)});h.xAxis=[];h.yAxis=[];h.pointCount=h.colorCounter=h.symbolCounter=0;u(h,"afterInit");h.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=L[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=
this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){u(this,"beforeRedraw");var c=this.axes,e=this.series,l=this.pointer,g=this.legend,f=this.isDirtyLegend,p,h,q=this.hasCartesianSeries,D=this.isDirtyBox,k,n=this.renderer,E=n.isHidden(),r=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);E&&this.temporaryDisplay();this.layOutTitles();
for(b=e.length;b--;)if(k=e[b],k.options.stacking&&(p=!0,k.isDirty)){h=!0;break}if(h)for(b=e.length;b--;)k=e[b],k.options.stacking&&(k.isDirty=!0);d(e,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),f=!0);a.isDirtyData&&u(a,"updatedData")});f&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);p&&this.getStacks();q&&d(c,function(a){a.updateNames();a.setScale()});this.getMargins();q&&(d(c,function(a){a.isDirty&&(D=!0)}),d(c,function(a){var b=a.min+","+a.max;
a.extKey!==b&&(a.extKey=b,r.push(function(){u(a,"afterSetExtremes",m(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(D||p)&&a.redraw()}));D&&this.drawChartBox();u(this,"predraw");d(e,function(a){(D||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});l&&l.reset(!0);n.draw();u(this,"redraw");u(this,"render");E&&this.temporaryDisplay(!0);d(r,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,d=this.series,e;c=v(this.axes,b)||v(this.series,
b);for(e=0;!c&&e<d.length;e++)c=v(d[e].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=K(b.xAxis||{}),b=b.yAxis=K(b.yAxis||{});u(this,"getAxes");d(c,function(a,b){a.index=b;a.isX=!0});d(b,function(a,b){a.index=b});c=c.concat(b);d(c,function(b){new f(a,b)});u(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];d(this.series,function(b){a=a.concat(h(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return h(this.series,function(a){return a.selected})},
setTitle:function(a,b,c){var e=this,l=e.options,g;g=l.title=y(l.title,a);l=l.subtitle=y(l.subtitle,b);d([["title",a,g],["subtitle",b,l]],function(a,b){var c=a[0],d=e[c],l=a[1];a=a[2];d&&l&&(e[c]=d=d.destroy());a&&!d&&(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&&a,b&&a)})});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,e=this.renderer,l=this.spacingBox;d(["title","subtitle"],function(a){var c=
this[a],d=this.options[a];a="title"===a?-3:d.verticalAlign?0:b+2;var g;c&&(g=e.fontMetrics(g,c).b,c.css({width:(d.width||l.width+d.widthAdjust)+"px"}).align(m({y:a+g},d),!1,"spacingBox"),d.floating||d.verticalAlign||(b=Math.ceil(b+c.getBBox(d.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&p(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,d=
this.renderTo;e(c)||(this.containerWidth=a.getStyle(d,"width"));e(b)||(this.containerHeight=a.getStyle(d,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(k.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&
c.style;){k.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,k.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===k.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,
d=this.options,e=d.chart,f,p;c=this.renderTo;var h=a.uniqueKey(),q;c||(this.renderTo=c=e.renderTo);n(c)&&(this.renderTo=c=k.getElementById(c));c||a.error(13,!0);f=E(C(c,"data-highcharts-chart"));b(f)&&r[f]&&r[f].hasRendered&&r[f].destroy();C(c,"data-highcharts-chart",this.index);c.innerHTML="";e.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();f=this.chartWidth;p=this.chartHeight;this.container=c=g("div",{id:h},void 0,c);this._cursor=c.style.cursor;this.renderer=new (a[e.renderer]||
a.Renderer)(c,f,p,null,e.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(e.className);for(q in d.defs)this.renderer.definition(d.defs[q]);this.renderer.chartIndex=this.index;u(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();d&&!e(c[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,b);this.extraMargin&&(this[this.extraMargin.type]=
(this[this.extraMargin.type]||0)+this.extraMargin.value);this.adjustPlotArea&&this.adjustPlotArea();a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&d(a.axes,function(a){a.visible&&a.getOffset()});d(H,function(d,l){e(c[l])||(a[d]+=b[l])});a.setChartSize()},reflow:function(b){var c=this,d=c.options.chart,l=c.renderTo,g=e(d.width)&&e(d.height),f=d.width||a.getStyle(l,"width"),d=d.height||a.getStyle(l,"height"),l=b?b.target:z;if(!g&&
!c.isPrinting&&f&&d&&(l===z||l===k)){if(f!==c.containerWidth||d!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=q(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=f;c.containerHeight=d}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(z,"resize",function(a){b.reflow(a)}),B(this,"destroy",this.unbindReflow))},setSize:function(b,c,e){var l=this,g=l.renderer;
l.isResizing+=1;a.setAnimation(e,l);l.oldChartHeight=l.chartHeight;l.oldChartWidth=l.chartWidth;void 0!==b&&(l.options.chart.width=b);void 0!==c&&(l.options.chart.height=c);l.getChartSize();l.setChartSize(!0);g.setSize(l.chartWidth,l.chartHeight,e);d(l.axes,function(a){a.isDirty=!0;a.setScale()});l.isDirtyLegend=!0;l.isDirtyBox=!0;l.layOutTitles();l.getMargins();l.redraw(e);l.oldChartHeight=null;u(l,"resize");q(function(){l&&u(l,"endResize",null,function(){--l.isResizing})},A(void 0).duration)},setChartSize:function(a){var b=
this.inverted,c=this.renderer,e=this.chartWidth,l=this.chartHeight,g=this.options.chart,f=this.spacing,p=this.clipOffset,h,q,m,D;this.plotLeft=h=Math.round(this.plotLeft);this.plotTop=q=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(e-h-this.marginRight));this.plotHeight=D=Math.max(0,Math.round(l-q-this.marginBottom));this.plotSizeX=b?D:m;this.plotSizeY=b?m:D;this.plotBorderWidth=g.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:e-f[3]-f[1],height:l-f[0]-f[2]};
this.plotBox=c.plotBox={x:h,y:q,width:m,height:D};e=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(e,p[3])/2);c=Math.ceil(Math.max(e,p[0])/2);this.clipBox={x:b,y:c,width:Math.floor(this.plotSizeX-Math.max(e,p[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(e,p[2])/2-c))};a||d(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});u(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;d(["margin","spacing"],function(e){var l=
b[e],g=c(l)?l:[l,l,l,l];d(["Top","Right","Bottom","Left"],function(c,d){a[e][d]=p(b[e+c],g[d])})});d(H,function(b,c){a[b]=p(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,g=this.plotBackground,f=this.plotBorder,p,h,q=this.plotLeft,m=this.plotTop,D=this.plotWidth,k=this.plotHeight,n=this.plotBox,E=this.clipRect,r=this.clipBox,w="animate";e||(this.chartBackground=
e=b.rect().addClass("highcharts-background").add(),w="attr");p=h=e.strokeWidth();e[w]({x:h/2,y:h/2,width:c-h-p%2,height:d-h-p%2,r:a.borderRadius});w="animate";g||(w="attr",this.plotBackground=g=b.rect().addClass("highcharts-plot-background").add());g[w](n);E?E.animate({width:r.width,height:r.height}):this.clipRect=b.clipRect(r);w="animate";f||(w="attr",this.plotBorder=f=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f[w](f.crisp({x:q,y:m,width:D,height:k},-f.strokeWidth()));this.isDirtyBox=
!1;u(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,g,f;d(["inverted","angular","polar"],function(d){c=L[b.type||b.defaultSeriesType];f=b[d]||c&&c.prototype[d];for(g=e&&e.length;!f&&g--;)(c=L[e[g].type])&&c.prototype[d]&&(f=!0);a[d]=f})},linkSeries:function(){var a=this,b=a.series;d(b,function(a){a.linkedSeries.length=0});d(b,function(b){var c=b.options.linkedTo;n(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),
b.linkedParent=c,b.visible=p(b.options.visible,c.options.visible,b.visible))});u(this,"afterLinkSeries")},renderSeries:function(){d(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&d(b.items,function(c){var d=m(b.style,c.style),e=E(d.left)+a.plotLeft,l=E(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,e,l).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,e,g,f;this.setTitle();
this.legend=new I(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight=Math.max(this.plotHeight-21,0);d(a,function(a){a.setScale()});this.getAxisMargins();g=1.1<c/this.plotWidth;f=1.05<e/this.plotHeight;if(g||f)d(a,function(a){(a.horiz&&g||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&d(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());
this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=y(!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&&(z.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},
destroy:function(){var b=this,c=b.axes,e=b.series,g=b.container,f,p=g&&g.parentNode;u(b,"destroy");b.renderer.forExport?a.erase(r,b):r[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");D(b);for(f=c.length;f--;)c[f]=c[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=e.length;f--;)e[f]=e[f].destroy();d("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});g&&(g.innerHTML="",D(g),p&&x(g));F(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();d(b.series||[],function(b){a.initSeries(b)});a.linkSeries();u(a,"beforeRender");w&&(a.pointer=new w(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){d([this.callback].concat(this.callbacks),
function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);u(this,"load");u(this,"render");e(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(J);(function(a){var B,A=a.each,C=a.extend,k=a.erase,f=a.fireEvent,g=a.format,t=a.isArray,x=a.isNumber,r=a.pick,e=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,e,g){var d=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(e,g);a.options.colorByPoint?(e=a.colorCounter,a.colorCounter++,a.colorCounter===
d&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=r(this.colorIndex,e);a.chart.pointCount++;f(this,"afterInit");return this},applyOptions:function(a,e){var d=this.series,g=d.options.pointValKey||d.pointValKey;a=B.prototype.optionsToObject.call(this,a);C(this,a);this.options=this.options?C(this.options,a):a;a.group&&delete this.group;g&&(this.y=this[g]);this.isNull=r(this.isValid&&!this.isValid(),null===this.x||!x(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===e&&d.xAxis&&
d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));void 0===this.x&&d&&(this.x=void 0===e?d.autoIncrement(this):e);return this},setNestedProperty:function(d,e,g){g=g.split(".");a.reduce(g,function(d,g,b,c){d[g]=c.length-1===b?e:a.isObject(d[g],!0)?d[g]:{};return d[g]},d);return d},optionsToObject:function(d){var e={},g=this.series,f=g.options.keys,h=f||g.pointArrayMap||["y"],b=h.length,c=0,k=0;if(x(d)||null===d)e[h[0]]=d;else if(t(d))for(!f&&d.length>b&&(g=typeof d[0],"string"===g?e.name=d[0]:"number"===
g&&(e.x=d[0]),c++);k<b;)f&&void 0===d[c]||(0<h[k].indexOf(".")?a.Point.prototype.setNestedProperty(e,d[c],h[k]):e[h[k]]=d[c]),c++,k++;else"object"===typeof d&&(e=d,d.dataLabels&&(g._hasPointLabels=!0),d.marker&&(g._hasPointMarkers=!0));return e},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,e=a.zones,a=a.zoneAxis||"y",g=0,f;for(f=e[g];this[a]>=f.value;)f=e[++g];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?f.color:this.nonZonedColor;return f},destroy:function(){var a=this.series.chart,g=a.hoverPoints,f;a.pointCount--;g&&(this.setState(),k(g,this),g.length||(a.hoverPoints=null));
if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)e(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,
total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,e=d.tooltipOptions,f=r(e.valueDecimals,""),h=e.valuePrefix||"",b=e.valueSuffix||"";A(d.pointArrayMap||["y"],function(c){c="{point."+c;if(h||b)a=a.replace(RegExp(c+"}","g"),h+c+"}"+b);a=a.replace(RegExp(c+"}","g"),c+":,."+f+"f}")});return g(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,e,g){var d=this,h=this.series.options;(h.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&
this.importEvents();"click"===a&&h.allowPointSelect&&(g=function(a){d.select&&d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});f(this,a,e,g)},visible:!0}})(J);(function(a){var B=a.addEvent,A=a.animObject,C=a.arrayMax,k=a.arrayMin,f=a.correctFloat,g=a.defaultOptions,t=a.defined,x=a.each,r=a.erase,e=a.extend,d=a.fireEvent,m=a.grep,v=a.isArray,u=a.isNumber,h=a.isString,b=a.merge,c=a.objectEach,n=a.pick,I=a.removeEvent,H=a.splat,y=a.SVGElement,F=a.syncTimeout,w=a.win;a.Series=a.seriesType("line",null,
{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10}},
select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var g=this,f,p=a.series,h;g.chart=a;g.options=b=g.setOptions(b);g.linkedSeries=[];g.bindAxes();e(g,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});f=b.events;c(f,function(a,b){B(g,b,a)});if(f&&f.click||b.point&&b.point.events&&
b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;g.getColor();g.getSymbol();x(g.parallelArrays,function(a){g[a+"Data"]=[]});g.setData(b.data,!1);g.isCartesian&&(a.hasCartesianSeries=!0);p.length&&(h=p[p.length-1]);g._i=n(h&&h._i,-1)+1;a.orderSeries(this.insert(p));d(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(u(b)){for(c=a.length;c--;)if(b>=n(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return n(c,a.length-
1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;x(b.axisTypes||[],function(g){x(d[g],function(a){e=a.options;if(c[g]===e.index||void 0!==c[g]&&c[g]===e.id||void 0===c[g]&&0===e.index)b.insert(a.series),b[g]=a,a.isDirty=!0});b[g]||b.optionalAxis===g||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,e=u(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};
x(c.parallelArrays,e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,e=this.chart.time,b=n(b,a.pointStart,0);this.pointInterval=c=n(this.pointInterval,a.pointInterval,1);d&&(a=new e.Date(b),"day"===d?e.set("Date",a,e.get("Date",a)+c):"month"===d?e.set("Month",a,e.get("Month",a)+c):"year"===d&&e.set("FullYear",a,e.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,e=c.options,f=e.plotOptions,h=(c.userOptions||
{}).plotOptions||{},p=f[this.type];this.userOptions=a;c=b(p,f.series,a);this.tooltipOptions=b(g.tooltip,g.plotOptions.series&&g.plotOptions.series.tooltip,g.plotOptions[this.type].tooltip,e.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=n(a.stickyTracking,h[this.type]&&h[this.type].stickyTracking,h.series&&h.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===p.marker&&delete c.marker;this.zoneAxis=
c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&t(a[a.length-1].value)&&a.push({});d(this,"afterSetOptions",{options:c});return c},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var d,e=this.chart,g=this.userOptions,f=a+"Index",h=a+"Counter",l=c?c.length:n(e.options.chart[a+"Count"],e[a+"Count"]);b||(d=n(g[f],
g["_"+f]),t(d)||(e.series.length||(e[h]=0),g["_"+f]=d=e[h]%l,e[h]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,e=[],g,f,h,p=this.requireSorting;x(b,function(b){var f;f=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},
b).x;u(f)&&(f=a.inArray(f,this.xData,h),-1===f?e.push(b):b!==c.data[f]?(d[f].update(b,!1,null,!1),d[f].touched=!0,p&&(h=f)):d[f]&&(d[f].touched=!0),g=!0)},this);if(g)for(b=d.length;b--;)f=d[b],f.touched||f.remove(!1),f.touched=!1;else if(b.length===d.length)x(b,function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;x(e,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,c,d,e){var g=this,f=g.points,p=f&&f.length||0,m,l=g.options,k=g.chart,D=null,r=g.xAxis,
w=l.turboThreshold,y=this.xData,E=this.yData,L=(m=g.pointArrayMap)&&m.length,t;b=b||[];m=b.length;c=n(c,!0);!1!==e&&m&&p&&!g.cropped&&!g.hasGroupedData&&g.visible&&(t=this.updateData(b));if(!t){g.xIncrement=null;g.colorCounter=0;x(this.parallelArrays,function(a){g[a+"Data"].length=0});if(w&&m>w){for(d=0;null===D&&d<m;)D=b[d],d++;if(u(D))for(d=0;d<m;d++)y[d]=this.autoIncrement(),E[d]=b[d];else if(v(D))if(L)for(d=0;d<m;d++)D=b[d],y[d]=D[0],E[d]=D.slice(1,L+1);else for(d=0;d<m;d++)D=b[d],y[d]=D[0],E[d]=
D[1];else a.error(12)}else for(d=0;d<m;d++)void 0!==b[d]&&(D={series:g},g.pointClass.prototype.applyOptions.apply(D,[b[d]]),g.updateParallelArrays(D,d));E&&h(E[0])&&a.error(14,!0);g.data=[];g.options.data=g.userOptions.data=b;for(d=p;d--;)f[d]&&f[d].destroy&&f[d].destroy();r&&(r.minRange=r.userMinRange);g.isDirty=k.isDirtyBox=!0;g.isDirtyData=!!f;d=!1}"point"===l.legendType&&(this.processData(),this.generatePoints());c&&k.redraw(d)},processData:function(b){var c=this.xData,d=this.yData,e=c.length,
g;g=0;var f,h,p=this.xAxis,l,m=this.options;l=m.cropThreshold;var k=this.getExtremesFromAll||m.getExtremesFromAll,n=this.isCartesian,m=p&&p.val2lin,u=p&&p.isLog,r=this.requireSorting,w,y;if(n&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!b)return!1;p&&(b=p.getExtremes(),w=b.min,y=b.max);if(n&&this.sorted&&!k&&(!l||e>l||this.forceCrop))if(c[e-1]<w||c[0]>y)c=[],d=[];else if(c[0]<w||c[e-1]>y)g=this.cropData(this.xData,this.yData,w,y),c=g.xData,d=g.yData,g=g.start,f=!0;for(l=c.length||1;--l;)e=u?
m(c[l])-m(c[l-1]):c[l]-c[l-1],0<e&&(void 0===h||e<h)?h=e:0>e&&r&&(a.error(15),r=!1);this.cropped=f;this.cropStart=g;this.processedXData=c;this.processedYData=d;this.closestPointRange=h},cropData:function(a,b,c,d,e){var g=a.length,f=0,h=g,l;e=n(e,this.cropShoulder,1);for(l=0;l<g;l++)if(a[l]>=c){f=Math.max(0,l-e);break}for(c=l;c<g;c++)if(a[c]>d){h=c+e;break}return{xData:a.slice(f,h),yData:b.slice(f,h),start:f,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,e=this.processedXData,
g=this.processedYData,f=this.pointClass,h=e.length,l=this.cropStart||0,m,k=this.hasGroupedData,a=a.keys,n,u=[],w;c||k||(c=[],c.length=b.length,c=this.data=c);a&&k&&(this.options.keys=!1);for(w=0;w<h;w++)m=l+w,k?(n=(new f).init(this,[e[w]].concat(H(g[w]))),n.dataGroup=this.groupMap[w]):(n=c[m])||void 0===b[m]||(c[m]=n=(new f).init(this,b[m],e[w])),n&&(n.index=m,u[w]=n);this.options.keys=a;if(c&&(h!==(d=c.length)||k))for(w=0;w<d;w++)w!==l||k||(w+=h),c[w]&&(c[w].destroyElements(),c[w].plotX=void 0);
this.data=c;this.points=u},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,e=[],g=0;d=this.xAxis.getExtremes();var f=d.min,h=d.max,l,p,m=this.requireSorting?1:0,n,w;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(w=0;w<d;w++)if(p=c[w],n=a[w],l=(u(n,!0)||v(n))&&(!b.positiveValuesOnly||n.length||0<n),p=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[w+m]||p)>=f&&(c[w-m]||p)<=h,l&&p)if(l=n.length)for(;l--;)"number"===typeof n[l]&&(e[g++]=n[l]);
else e[g++]=n;this.dataMin=k(e);this.dataMax=C(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,g=this.yAxis,h=this.points,m=h.length,k=!!this.modifyValue,l=a.pointPlacement,w="between"===l||u(l),r=a.threshold,y=a.startFromThreshold?r:0,v,F,x,H,I=Number.MAX_VALUE;"between"===l&&(l=.5);u(l)&&(l*=n(a.pointRange||c.pointRange));for(a=0;a<m;a++){var A=h[a],B=A.x,C=A.y;F=A.low;var J=b&&g.stacks[(this.negStacks&&
C<(y?0:r)?"-":"")+this.stackKey],U;g.positiveValuesOnly&&null!==C&&0>=C&&(A.isNull=!0);A.plotX=v=f(Math.min(Math.max(-1E5,c.translate(B,0,0,0,1,l,"flags"===this.type)),1E5));b&&this.visible&&!A.isNull&&J&&J[B]&&(H=this.getStackIndicator(H,B,this.index),U=J[B],C=U.points[H.key],F=C[0],C=C[1],F===y&&H.key===J[B].base&&(F=n(u(r)&&r,g.min)),g.positiveValuesOnly&&0>=F&&(F=null),A.total=A.stackTotal=U.total,A.percentage=U.total&&A.y/U.total*100,A.stackY=C,U.setOffset(this.pointXOffset||0,this.barW||0));
A.yBottom=t(F)?Math.min(Math.max(-1E5,g.translate(F,0,1,0,1)),1E5):null;k&&(C=this.modifyValue(C,A));A.plotY=F="number"===typeof C&&Infinity!==C?Math.min(Math.max(-1E5,g.translate(C,0,1,0,1)),1E5):void 0;A.isInside=void 0!==F&&0<=F&&F<=g.len&&0<=v&&v<=c.len;A.clientX=w?f(c.translate(B,0,0,0,1,l)):v;A.negative=A.y<(r||0);A.category=e&&void 0!==e[A.x]?e[A.x]:A.x;A.isNull||(void 0!==x&&(I=Math.min(I,Math.abs(v-x))),x=v);A.zone=this.zones.length&&A.getZone()}this.closestPointRangePx=I;d(this,"afterTranslate")},
getValidPoints:function(a,b){var c=this.chart;return m(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,g=this.clipBox,f=g||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),l=b[h],p=b[h+"m"];l||(a&&(f.width=0,e&&(f.x=b.plotSizeX),b[h+"m"]=p=d.clipRect(e?b.plotSizeX+99:-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:
b.chartHeight)),b[h]=l=d.clipRect(f),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);!1!==c.clip&&(this.group.clip(a||g?l:b.clipRect),this.markerGroup.clip(p),this.sharedClipKey=h);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&b[h]&&(g||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=A(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&
a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();d(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,e,g,f=this.options.marker,h,l,m,k=this[this.specialGroup]||this.markerGroup,w,u=n(f.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)d=
a[c],g=d.graphic,h=d.marker||{},l=!!d.marker,e=u&&void 0===h.enabled||h.enabled,m=d.isInside,e&&!d.isNull?(e=n(h.symbol,this.symbol),w=this.markerAttribs(d,d.selected&&"select"),g?g[m?"show":"hide"](!0).animate(w):m&&(0<w.width||d.hasImage)&&(d.graphic=g=b.renderer.symbol(e,w.x,w.y,w.width,w.height,l?h:f).add(k)),g&&g.addClass(d.getClassName(),!0)):g&&(d.graphic=g.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},e=d.symbol||c.symbol,g=n(d.radius,c.radius);b&&(c=c.states[b],
b=d.states&&d.states[b],g=n(b&&b.radius,c&&c.radius,g+(c&&c.radiusPlus||0)));a.hasImage=e&&0===e.indexOf("url");a.hasImage&&(g=0);a={x:Math.floor(a.plotX)-g,y:a.plotY-g};g&&(a.width=a.height=2*g);return a},destroy:function(){var b=this,e=b.chart,g=/AppleWebKit\/533/.test(w.navigator.userAgent),f,h,m=b.data||[],k,n;d(b,"destroy");I(b);x(b.axisTypes||[],function(a){(n=b[a])&&n.series&&(r(n.series,b),n.isDirty=n.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(h=m.length;h--;)(k=m[h])&&
k.destroy&&k.destroy();b.points=null;a.clearTimeout(b.animationTimeout);c(b,function(a,b){a instanceof y&&!a.survive&&(f=g&&"group"===b?"hide":"destroy",a[f]())});e.hoverSeries===b&&(e.hoverSeries=null);r(e.series,b);e.orderSeries();c(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var d=this,e=d.options,g=e.step,f,h=[],l=[],m;a=a||d.points;(f=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&f&&(g=4-g);!e.connectNulls||b||c||(a=this.getValidPoints(a));x(a,function(f,p){var q=
f.plotX,k=f.plotY,n=a[p-1];(f.leftCliff||n&&n.rightCliff)&&!c&&(m=!0);f.isNull&&!t(b)&&0<p?m=!e.connectNulls:f.isNull&&!b?m=!0:(0===p||m?p=["M",f.plotX,f.plotY]:d.getPointSpline?p=d.getPointSpline(a,f,p):g?(p=1===g?["L",n.plotX,k]:2===g?["L",(n.plotX+q)/2,n.plotY,"L",(n.plotX+q)/2,k]:["L",q,n.plotY],p.push("L",q,k)):p=["L",q,k],l.push(f.x),g&&(l.push(f.x),2===g&&l.push(f.x)),h.push.apply(h,p),m=!1)});h.xMap=l;return d.graphPath=h},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),
c=[["graph","highcharts-graph"]],c=a.getZonesGraphs(c);x(c,function(c,d){d=c[0];var e=a[d];e?(e.endX=a.preventGraphAnimation?null:b.xMap,e.animate({d:b})):b.length&&(a[d]=a.chart.renderer.path(b).addClass(c[1]).attr({zIndex:1}).add(a.group));e&&(e.startX=b.xMap,e.isArea=b.isArea)})},getZonesGraphs:function(a){x(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,
d=this.zones,e,g,f=this.clips||[],h,l=this.graph,m=this.area,k=Math.max(b.chartWidth,b.chartHeight),w=this[(this.zoneAxis||"y")+"Axis"],u,r,y=b.inverted,v,F,t,H,I=!1;d.length&&(l||m)&&w&&void 0!==w.min&&(r=w.reversed,v=w.horiz,l&&!this.showLine&&l.hide(),m&&m.hide(),u=w.getExtremes(),x(d,function(d,p){e=r?v?b.plotWidth:0:v?0:w.toPixels(u.min);e=Math.min(Math.max(n(g,e),0),k);g=Math.min(Math.max(Math.round(w.toPixels(n(d.value,u.max),!0)),0),k);I&&(e=g=w.toPixels(u.max));F=Math.abs(e-g);t=Math.min(e,
g);H=Math.max(e,g);w.isXAxis?(h={x:y?H:t,y:0,width:F,height:k},v||(h.x=b.plotHeight-h.x)):(h={x:0,y:y?H:t,width:k,height:F},v&&(h.y=b.plotWidth-h.y));f[p]?f[p].animate(h):(f[p]=c.clipRect(h),l&&a["zone-graph-"+p].clip(f[p]),m&&a["zone-area-"+p].clip(f[p]));I=d.value>u.max;a.resetZones&&0===g&&(g=void 0)}),this.clips=f)},invertGroups:function(a){function b(){x(["group","markerGroup"],function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=
c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=B(d,"resize",b),B(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var g=this[a],f=!g;f&&(this[a]=g=this.chart.renderer.g().attr({zIndex:d||.1}).add(e));g.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr({visibility:c})[f?
"attr":"animate"](this.getPlotBox());return g},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,g=!!a.animate&&b.renderer.isSVG&&A(e.animation).duration,f=a.visible?"inherit":"hidden",h=e.zIndex,m=a.hasRendered,l=b.seriesGroup,k=b.inverted;c=a.plotGroup("group","series",f,h,l);a.markerGroup=a.plotGroup("markerGroup",
"markers",f,h,l);g&&a.animate(!0);c.inverted=a.isCartesian?k:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(k);!1===e.clip||a.sharedClipKey||m||c.clip(b.clipRect);g&&a.animate();m||(a.animationTimeout=F(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0;d(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=
this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:n(d&&d.left,a.plotLeft),translateY:n(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,
d,e){var g,f;if(f=c&&c.length)return g=b.kdAxisArray[d%e],c.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),d+1,e),right:a(c.slice(f+1),d+1,e)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;F(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,m){var l=b.point,k=d.kdAxisArray[h%m],p,q,n=l;q=t(a[e])&&t(l[e])?
Math.pow(a[e]-l[e],2):null;p=t(a[g])&&t(l[g])?Math.pow(a[g]-l[g],2):null;p=(q||0)+(p||0);l.dist=t(p)?Math.sqrt(p):Number.MAX_VALUE;l.distX=t(q)?Math.sqrt(q):Number.MAX_VALUE;k=a[k]-l[k];p=0>k?"left":"right";q=0>k?"right":"left";b[p]&&(p=c(a,b[p],h+1,m),n=p[f]<n[f]?p:l);b[q]&&Math.sqrt(k*k)<n[f]&&(a=c(a,b[q],h+1,m),n=a[f]<n[f]?a:n);return n}var d=this,e=this.kdAxisArray[0],g=this.kdAxisArray[1],f=b?"distX":"dist";b=-1<d.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||
this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(J);(function(a){var B=a.addEvent,A=a.Axis,C=a.createElement,k=a.css,f=a.defined,g=a.each,t=a.erase,x=a.extend,r=a.fireEvent,e=a.inArray,d=a.isNumber,m=a.isObject,v=a.isArray,u=a.merge,h=a.objectEach,b=a.pick,c=a.Point,n=a.Series,I=a.seriesTypes,H=a.setAnimation,y=a.splat;x(a.Chart.prototype,{addSeries:function(a,c,d){var e,g=this;a&&(c=b(c,!0),r(g,"addSeries",{options:a},function(){e=g.initSeries(a);g.isDirtyLegend=!0;g.linkSeries();
r(g,"afterAddSeries");c&&g.redraw(d)}));return e},addAxis:function(a,c,d,e){var g=c?"xAxis":"yAxis",f=this.options;a=u(a,{index:this[g].length,isX:c});c=new A(this,a);f[g]=y(f[g]||{});f[g].push(a);b(d,!0)&&this.redraw(e);return c},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,e=function(){d&&k(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=C("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),
b.loadingSpan=C("span",{className:"highcharts-loading-inner"},null,d),B(b,"redraw",e));d.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.loadingShown=!0;e()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,c,m,k){var p=this,n={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},w=a.chart,q,v,t=[];r(p,"update",{options:a});if(w){u(!0,p.options.chart,w);"className"in w&&p.setClassName(w.className);"reflow"in w&&p.setReflow(w.reflow);if("inverted"in w||"polar"in w)p.propFromSeries(),q=!0;"alignTicks"in w&&(q=!0);h(w,function(a,b){-1!==e("chart."+
b,p.propsRequireUpdateSeries)&&(v=!0);-1!==e(b,p.propsRequireDirtyBox)&&(p.isDirtyBox=!0)})}a.plotOptions&&u(!0,this.options.plotOptions,a.plotOptions);h(a,function(a,b){if(p[b]&&"function"===typeof p[b].update)p[b].update(a,!1);else if("function"===typeof p[n[b]])p[n[b]](a);"chart"!==b&&-1!==e(b,p.propsRequireUpdateSeries)&&(v=!0)});g("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){a[b]&&(g(y(a[b]),function(a,c){(c=f(a.id)&&p.get(a.id)||p[b][c])&&c.coll===b&&(c.update(a,!1),m&&(c.touched=
!0));if(!c&&m)if("series"===b)p.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)p.addAxis(a,"xAxis"===b,!1).touched=!0}),m&&g(p[b],function(a){a.touched?delete a.touched:t.push(a)}))});g(t,function(a){a.remove(!1)});q&&g(p.axes,function(a){a.update({},!1)});v&&g(p.series,function(a){a.update({},!1)});a.loading&&u(!0,p.options.loading,a.loading);q=w&&w.width;w=w&&w.height;d(q)&&q!==p.chartWidth||d(w)&&w!==p.chartHeight?p.setSize(q,w,k):b(c,!0)&&p.redraw(k)},setSubtitle:function(a){this.setTitle(void 0,
a)}});x(c.prototype,{update:function(a,c,d,e){function g(){f.applyOptions(a);null===f.y&&k&&(f.graphic=k.destroy());m(a,!0)&&(k&&k.element&&a&&a.marker&&void 0!==a.marker.symbol&&(f.graphic=k.destroy()),a&&a.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy()),f.connector&&(f.connector=f.connector.destroy()));p=f.index;h.updateParallelArrays(f,p);l.data[p]=m(l.data[p],!0)||m(a,!0)?f.options:b(a,l.data[p]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(n.isDirtyBox=!0);"point"===
l.legendType&&(n.isDirtyLegend=!0);c&&n.redraw(d)}var f=this,h=f.series,k=f.graphic,p,n=h.chart,l=h.options;c=b(c,!0);!1===e?g():f.firePointEvent("update",{options:a},g)},remove:function(a,b){this.series.removePoint(e(this,this.series.data),a,b)}});x(n.prototype,{addPoint:function(a,c,d,e){var g=this.options,f=this.data,h=this.chart,m=this.xAxis,m=m&&m.hasNames&&m.names,k=g.data,p,l,n=this.xData,w,u;c=b(c,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);u=p.x;w=n.length;if(this.requireSorting&&
u<n[w-1])for(l=!0;w&&n[w-1]>u;)w--;this.updateParallelArrays(p,"splice",w,0,0);this.updateParallelArrays(p,w);m&&p.name&&(m[u]=p.name);k.splice(w,0,a);l&&(this.data.splice(w,0,null),this.processData());"point"===g.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(p,"shift"),k.shift()));this.isDirtyData=this.isDirty=!0;c&&h.redraw(e)},removePoint:function(a,c,d){var e=this,g=e.data,f=g[a],h=e.points,m=e.chart,p=function(){h&&h.length===g.length&&
h.splice(a,1);g.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(f||{series:e},"splice",a,1);f&&f.destroy();e.isDirty=!0;e.isDirtyData=!0;c&&m.redraw()};H(d,m);c=b(c,!0);f?f.firePointEvent("remove",null,p):p()},remove:function(a,c,d){function e(){g.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();b(a,!0)&&f.redraw(c)}var g=this,f=g.chart;!1!==d?r(g,"remove",null,e):e()},update:function(c,d){var f=this,h=f.chart,m=f.userOptions,k=f.oldType||f.type,n=c.type||m.type||h.options.chart.type,
q=I[k].prototype,w,y=["group","markerGroup","dataLabelsGroup"],l=["navigatorSeries","baseSeries"],v=f.finishedAnimating&&{animation:!1},t=["data","name","turboThreshold"],F=a.keys(c),H=0<F.length;g(F,function(a){-1===e(a,t)&&(H=!1)});if(H)c.data&&this.setData(c.data,!1),c.name&&this.setName(c.name,!1);else{l=y.concat(l);g(l,function(a){l[a]=f[a];delete f[a]});c=u(m,v,{index:f.index,pointStart:b(m.pointStart,f.xData[0])},{data:f.options.data},c);f.remove(!1,null,!1);for(w in q)f[w]=void 0;I[n||k]?
x(f,I[n||k].prototype):a.error(17,!0);g(l,function(a){f[a]=l[a]});f.init(h,c);c.zIndex!==m.zIndex&&g(y,function(a){f[a]&&f[a].attr({zIndex:c.zIndex})});f.oldType=k;h.linkSeries()}r(this,"afterUpdate");b(d,!0)&&h.redraw(!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});x(A.prototype,{update:function(a,c){var d=this.chart;a=u(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=
a);this.destroy(!0);this.init(d,x(a,{events:void 0}));d.isDirtyBox=!0;b(c,!0)&&d.redraw()},remove:function(a){for(var c=this.chart,d=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);t(c.axes,this);t(c[d],this);v(c.options[d])?c.options[d].splice(this.options.index,1):delete c.options[d];g(c[d],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},
b)}})})(J);(function(a){var B=a.animObject,A=a.each,C=a.extend,k=a.isNumber,f=a.merge,g=a.pick,t=a.Series,x=a.seriesType,r=a.svg;x("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],
negStacks:!0,init:function(){t.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&A(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,f=a.xAxis,k=a.yAxis,u=f.reversed,h,b={},c=0;!1===d.grouping?c=1:A(a.chart.series,function(d){var e=d.options,g=d.yAxis,f;d.type!==a.type||!d.visible&&a.chart.options.chart.ignoreHiddenSeries||k.len!==g.len||k.pos!==g.pos||(e.stacking?(h=d.stackKey,void 0===b[h]&&(b[h]=c++),f=b[h]):!1!==e.grouping&&
(f=c++),d.columnIndex=f)});var n=Math.min(Math.abs(f.transA)*(f.ordinalSlope||d.pointRange||f.closestPointRange||f.tickInterval||1),f.len),r=n*d.groupPadding,t=(n-2*r)/(c||1),d=Math.min(d.maxPointWidth||f.len,g(d.pointWidth,t*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(t-d)/2+(r+((a.columnIndex||0)+(u?1:0))*t-n/2)*(u?-1:1)};return a.columnMetrics},crispCol:function(a,d,g,f){var e=this.chart,h=this.borderWidth,b=-(h%2?.5:0),h=h%2?.5:1;e.inverted&&e.renderer.isVML&&(h+=1);this.options.crisp&&
(g=Math.round(a+g)+b,a=Math.round(a)+b,g-=a);f=Math.round(d+f)+h;b=.5>=Math.abs(d)&&.5<f;d=Math.round(d)+h;f-=d;b&&f&&(--d,f+=1);return{x:a,y:d,width:g,height:f}},translate:function(){var a=this,d=a.chart,f=a.options,k=a.dense=2>a.closestPointRange*a.xAxis.transA,k=a.borderWidth=g(f.borderWidth,k?0:1),u=a.yAxis,h=f.threshold,b=a.translatedThreshold=u.getThreshold(h),c=g(f.minPointLength,5),n=a.getColumnMetrics(),r=n.width,x=a.barW=Math.max(r,1+2*k),y=a.pointXOffset=n.offset;d.inverted&&(b-=.5);f.pointPadding&&
(x=Math.ceil(x));t.prototype.translate.apply(a);A(a.points,function(e){var f=g(e.yBottom,b),m=999+Math.abs(f),m=Math.min(Math.max(-m,e.plotY),u.len+m),k=e.plotX+y,n=x,t=Math.min(m,f),v,q=Math.max(m,f)-t;c&&Math.abs(q)<c&&(q=c,v=!u.reversed&&!e.negative||u.reversed&&e.negative,e.y===h&&a.dataMax<=h&&u.min<h&&(v=!v),t=Math.abs(t-b)>c?f-c:b-(v?c:0));e.barX=k;e.pointWidth=r;e.tooltipPos=d.inverted?[u.len+u.pos-d.plotLeft-m,a.xAxis.len-k-n/2,q]:[k+n/2,m+u.pos-d.plotTop,q];e.shapeType="rect";e.shapeArgs=
a.crispCol.apply(a,e.isNull?[k,b,n,0]:[k,t,n,q])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,d=this.chart,g=a.options,r=d.renderer,u=g.animationLimit||250,h;A(a.points,function(b){var c=b.graphic,e=c&&d.pointCount<u?"animate":"attr";if(k(b.plotY)&&null!==b.y){h=b.shapeArgs;if(c)c[e](f(h));else b.graphic=c=r[b.shapeType](h).add(b.group||a.group);
g.borderRadius&&c.attr({r:g.borderRadius});c.addClass(b.getClassName(),!0)}else c&&(b.graphic=c.destroy())})},animate:function(a){var d=this,e=this.yAxis,g=d.options,f=this.chart.inverted,h={},b=f?"translateX":"translateY",c;r&&(a?(h.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(g.threshold))),f?h.translateX=a-e.len:h.translateY=a,d.group.attr(h)):(c=d.group.attr(b),d.group.animate({scaleY:1},C(B(d.options.animation),{step:function(a,g){h[b]=c+g.pos*(e.pos-c);d.group.attr(h)}})),d.animate=
null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&A(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});t.prototype.remove.apply(a,arguments)}})})(J);(function(a){var B=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},
{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&B.prototype.drawGraph.call(this)}})})(J);(function(a){var B=a.addEvent,A=a.arrayMax,C=a.defined,k=a.each,f=a.extend,g=a.format,t=a.map,x=a.merge,r=a.noop,e=a.pick,d=a.relativeLength,m=a.Series,v=a.seriesTypes,u=a.some,h=a.stableSort;a.distribute=function(b,c,d){function g(a,b){return a.target-b.target}var f,m=!0,n=b,r=[],p;p=0;
var v=n.reducedLen||c;for(f=b.length;f--;)p+=b[f].size;if(p>v){h(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(p=f=0;p<=v;)p+=b[f].size,f++;r=b.splice(f-1,b.length)}h(b,g);for(b=t(b,function(a){return{size:a.size,targets:[a.target],align:e(a.align,.5)}});m;){for(f=b.length;f--;)m=b[f],p=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=Math.min(Math.max(0,p-m.size*m.align),c-m.size);f=b.length;for(m=!1;f--;)0<f&&b[f-1].pos+b[f-1].size>b[f].pos&&(b[f-1].size+=b[f].size,b[f-1].targets=
b[f-1].targets.concat(b[f].targets),b[f-1].align=.5,b[f-1].pos+b[f-1].size>c&&(b[f-1].pos=c-b[f-1].size),b.splice(f,1),m=!0)}n.push.apply(n,r);f=0;u(b,function(b){var e=0;if(u(b.targets,function(){n[f].pos=b.pos+e;if(Math.abs(n[f].pos-n[f].target)>d)return k(n.slice(0,f+1),function(a){delete a.pos}),n.reducedLen=(n.reducedLen||c)-.1*c,n.reducedLen>.1*c&&a.distribute(n,c,d),!0;e+=n[f].size;f++}))return!0});h(n,g)};m.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator,
a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}var c=this,d=c.chart,f=c.options,h=f.dataLabels,m=c.points,u,r,p=c.hasRendered||0,t,v,A=e(h.defer,!!f.animation),K=d.renderer;if(h.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(h),v=c.plotGroup("dataLabelsGroup","data-labels",A&&!p?"hidden":"visible",h.zIndex||6),A&&(v.attr({opacity:+p}),p||B(c,"afterAnimate",function(){c.visible&&
v.show(!0);v[f.animation?"animate":"attr"]({opacity:1},{duration:200})})),r=h,k(m,function(f){var m,k=f.dataLabel,l,n,p=f.connector,q=!k,w;u=f.dlOptions||f.options&&f.options.dataLabels;(m=e(u&&u.enabled,r.enabled)&&!f.isNull)&&(m=!0===b(f,u||h));m&&(h=x(r,u),l=f.getLabelConfig(),w=h[f.formatPrefix+"Format"]||h.format,t=C(w)?g(w,l,d.time):(h[f.formatPrefix+"Formatter"]||h.formatter).call(l,h),l=h.rotation,n={r:h.borderRadius||0,rotation:l,padding:h.padding,zIndex:1},a.objectEach(n,function(a,b){void 0===
a&&delete n[b]}));!k||m&&C(t)?m&&C(t)&&(k?n.text=t:(k=f.dataLabel=l?K.text(t,0,-9999).addClass("highcharts-data-label"):K.label(t,0,-9999,h.shape,null,null,h.useHTML,null,"data-label"),k.addClass(" highcharts-data-label-color-"+f.colorIndex+" "+(h.className||"")+(h.useHTML?"highcharts-tracker":""))),k.attr(n),k.added||k.add(v),c.alignDataLabel(f,k,h,null,q)):(f.dataLabel=k=k.destroy(),p&&(f.connector=p.destroy()))});a.fireEvent(this,"afterDrawDataLabels")};m.prototype.alignDataLabel=function(a,c,
d,g,h){var b=this.chart,m=b.inverted,k=e(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),n=e(a.plotY,-9999),u=c.getBBox(),r,t=d.rotation,v=d.align,q=this.visible&&(a.series.forceDL||b.isInsidePlot(k,Math.round(n),m)||g&&b.isInsidePlot(k,m?g.x+1:g.y+g.height-1,m)),z="justify"===e(d.overflow,"justify");if(q&&(r=b.renderer.fontMetrics(void 0,c).b,g=f({x:m?this.yAxis.len-n:k,y:Math.round(m?this.xAxis.len-k:n),width:0,height:0},g),f(d,{width:u.width,height:u.height}),t?(z=!1,k=b.renderer.rotCorr(r,t),k={x:g.x+
d.x+g.width/2+k.x,y:g.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*g.height},c[h?"attr":"animate"](k).attr({align:v}),n=(t+720)%360,n=180<n&&360>n,"left"===v?k.y-=n?u.height:0:"center"===v?(k.x-=u.width/2,k.y-=u.height/2):"right"===v&&(k.x-=u.width,k.y-=n?0:u.height),c.placed=!0,c.alignAttr=k):(c.align(d,null,g),k=c.alignAttr),z?a.isLabelJustified=this.justifyDataLabel(c,d,k,u,g,h):e(d.crop,!0)&&(q=b.isInsidePlot(k.x,k.y)&&b.isInsidePlot(k.x+u.width,k.y+u.height)),d.shape&&!t))c[h?"attr":"animate"]({anchorX:m?
b.plotWidth-a.plotY:a.plotX,anchorY:m?b.plotHeight-a.plotX:a.plotY});q||(c.attr({y:-9999}),c.placed=!1)};m.prototype.justifyDataLabel=function(a,c,d,e,f,g){var b=this.chart,h=c.align,m=c.verticalAlign,k,n,u=a.box?0:a.padding||0;k=d.x+u;0>k&&("right"===h?c.align="left":c.x=-k,n=!0);k=d.x+e.width-u;k>b.plotWidth&&("left"===h?c.align="right":c.x=b.plotWidth-k,n=!0);k=d.y+u;0>k&&("bottom"===m?c.verticalAlign="top":c.y=-k,n=!0);k=d.y+e.height-u;k>b.plotHeight&&("top"===m?c.verticalAlign="bottom":c.y=b.plotHeight-
k,n=!0);n&&(a.placed=!g,a.align(c,null,f));return n};v.pie&&(v.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,f=b.chart,g=b.options.dataLabels,h=e(g.connectorPadding,10),u=e(g.connectorWidth,1),r=f.plotWidth,p=f.plotHeight,t=Math.round(f.chartWidth/3),v,x=b.center,B=x[2]/2,q=x[1],z,M,l,G,J=[[],[]],Q,O,P,N,R=[0,0,0,0];b.visible&&(g.enabled||b._hasPointLabels)&&(k(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),
a.dataLabel.shortened=!1)}),m.prototype.drawDataLabels.apply(b),k(c,function(a){a.dataLabel&&a.visible&&(J[a.half].push(a),a.dataLabel._pos=null,a.dataLabel.getBBox().width>t&&(a.dataLabel.css({width:.7*t}),a.dataLabel.shortened=!0))}),k(J,function(c,m){var n,u,w=c.length,y=[],t;if(w)for(b.sortByAngle(c,m-.5),0<b.maxLabelDistance&&(n=Math.max(0,q-B-b.maxLabelDistance),u=Math.min(q+B+b.maxLabelDistance,f.plotHeight),k(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,q-B-a.labelDistance),
a.bottom=Math.min(q+B+a.labelDistance,f.plotHeight),t=a.dataLabel.getBBox().height||21,a.positionsIndex=y.push({target:a.labelPos[1]-a.top+t/2,size:t,rank:a.y})-1)}),n=u+t-n,a.distribute(y,n,n/5)),N=0;N<w;N++)d=c[N],u=d.positionsIndex,l=d.labelPos,z=d.dataLabel,P=!1===d.visible?"hidden":"inherit",O=n=l[1],y&&C(y[u])&&(void 0===y[u].pos?P="hidden":(G=y[u].size,O=d.top+y[u].pos)),delete d.positionIndex,Q=g.justify?x[0]+(m?-1:1)*(B+d.labelDistance):b.getX(O<d.top+2||O>d.bottom-2?n:O,m,d),z._attr={visibility:P,
align:l[6]},z._pos={x:Q+g.x+({left:h,right:-h}[l[6]]||0),y:O+g.y-10},l.x=Q,l.y=O,e(g.crop,!0)&&(M=z.getBBox().width,n=null,Q-M<h&&1===m?(n=Math.round(M-Q+h),R[3]=Math.max(n,R[3])):Q+M>r-h&&0===m&&(n=Math.round(Q+M-r+h),R[1]=Math.max(n,R[1])),0>O-G/2?R[0]=Math.max(Math.round(-O+G/2),R[0]):O+G/2>p&&(R[2]=Math.max(Math.round(O+G/2-p),R[2])),z.sideOverflow=n)}),0===A(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),u&&k(this.points,function(a){var c;v=a.connector;if((z=a.dataLabel)&&z._pos&&
a.visible&&0<a.labelDistance){P=z._attr.visibility;if(c=!v)a.connector=v=f.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup);v[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});v.attr("visibility",P)}else v&&(a.connector=v.destroy())}))},v.pie.prototype.connectorPath=function(a){var b=a.x,d=a.y;return e(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),d,"C",b,d,2*a[2]-a[4],2*a[3]-
a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),d,"L",a[2],a[3],"L",a[4],a[5]]},v.pie.prototype.placeDataLabels=function(){k(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:this.options.dataLabels.style.textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},v.pie.prototype.alignDataLabel=
r,v.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,f=e.center,g=e.minSize||80,h,m=null!==e.size;m||(null!==f[0]?h=Math.max(b[2]-Math.max(a[1],a[3]),g):(h=Math.max(b[2]-a[1]-a[3],g),b[0]+=(a[3]-a[1])/2),null!==f[1]?h=Math.max(Math.min(h,b[2]-Math.max(a[0],a[2])),g):(h=Math.max(Math.min(h,b[2]-a[0]-a[2]),g),b[1]+=(a[0]-a[2])/2),h<b[2]?(b[2]=h,b[3]=Math.min(d(e.innerSize||0,h),h),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):m=!0);return m});v.column&&
(v.column.prototype.alignDataLabel=function(a,c,d,f,g){var b=this.chart.inverted,h=a.series,k=a.dlBox||a.shapeArgs,n=e(a.below,a.plotY>e(this.translatedThreshold,h.yAxis.len)),u=e(d.inside,!!this.options.stacking);k&&(f=x(k),0>f.y&&(f.height+=f.y,f.y=0),k=f.y+f.height-h.yAxis.len,0<k&&(f.height-=k),b&&(f={x:h.yAxis.len-f.y-f.height,y:h.xAxis.len-f.x-f.width,width:f.height,height:f.width}),u||(b?(f.x+=n?0:f.width,f.width=0):(f.y+=n?f.height:0,f.height=0)));d.align=e(d.align,!b||u?"center":n?"right":
"left");d.verticalAlign=e(d.verticalAlign,b||u?"middle":n?"top":"bottom");m.prototype.alignDataLabel.call(this,a,c,d,f,g);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(J);(function(a){var B=a.Chart,A=a.each,C=a.objectEach,k=a.pick;a=a.addEvent;a(B,"render",function(){var a=[];A(this.labelCollectors||[],function(f){a=a.concat(f())});A(this.yAxis||[],function(f){f.options.stackLabels&&!f.options.stackLabels.allowOverlap&&C(f.stacks,function(f){C(f,function(f){a.push(f.label)})})});
A(this.series||[],function(f){var g=f.options.dataLabels,x=f.dataLabelCollections||["dataLabel"];(g.enabled||f._hasPointLabels)&&!g.allowOverlap&&f.visible&&A(x,function(g){A(f.points,function(e){e[g]&&(e[g].labelrank=k(e.labelrank,e.shapeArgs&&e.shapeArgs.height),a.push(e[g]))})})});this.hideOverlappingLabels(a)});B.prototype.hideOverlappingLabels=function(a){var f=a.length,k,x,r,e,d,m,v,u,h,b=function(a,b,d,e,f,g,h,m){return!(f>a+d||f+h<a||g>b+e||g+m<b)};for(x=0;x<f;x++)if(k=a[x])k.oldOpacity=k.opacity,
k.newOpacity=1,k.width||(r=k.getBBox(),k.width=r.width,k.height=r.height);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(x=0;x<f;x++)for(r=a[x],k=x+1;k<f;++k)if(e=a[k],r&&e&&r!==e&&r.placed&&e.placed&&0!==r.newOpacity&&0!==e.newOpacity&&(d=r.alignAttr,m=e.alignAttr,v=r.parentGroup,u=e.parentGroup,h=2*(r.box?0:r.padding||0),d=b(d.x+v.translateX,d.y+v.translateY,r.width-h,r.height-h,m.x+u.translateX,m.y+u.translateY,e.width-h,e.height-h)))(r.labelrank<e.labelrank?r:e).newOpacity=
0;A(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(J);(function(a){var B=a.addEvent,A=a.Chart,C=a.createElement,k=a.css,f=a.defaultOptions,g=a.defaultPlotOptions,t=a.each,x=a.extend,r=a.fireEvent,e=a.hasTouch,d=a.inArray,m=a.isObject,v=a.Legend,u=a.merge,h=a.pick,b=a.Point,c=a.Series,n=a.seriesTypes,I=a.svg,H;H=a.TrackerMixin={drawTrackerPoint:function(){var a=
this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};t(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(t(a.trackerGroups,function(d){if(a[d]&&(a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),e))a[d].on("touchstart",c)}),a._hasTracking=!0);r(this,"afterDrawTracker")},
drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),d=c.length,f=a.chart,g=f.pointer,h=f.renderer,m=f.options.tooltip.snap,k=a.tracker,n,u=function(){if(f.hoverSeries!==a)a.onMouseOver()},l="rgba(192,192,192,"+(I?.0001:.002)+")";if(d&&!b)for(n=d+1;n--;)"M"===c[n]&&c.splice(n+1,0,c[n+1]-m,c[n+2],"L"),(n&&"M"===c[n]||n===d)&&c.splice(n,0,"L",c[n-2]+m,c[n-1]);k?k.attr({d:c}):a.graph&&(a.tracker=h.path(c).attr({"stroke-linejoin":"round",visibility:a.visible?
"visible":"hidden",stroke:l,fill:b?l:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*m),zIndex:2}).add(a.group),t([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",u).on("mouseout",function(a){g.onTrackerMouseOut(a)});if(e)a.on("touchstart",u)}));r(this,"afterDrawTracker")}};n.column&&(n.column.prototype.drawTracker=H.drawTrackerPoint);n.pie&&(n.pie.prototype.drawTracker=H.drawTrackerPoint);n.scatter&&(n.scatter.prototype.drawTracker=H.drawTrackerPoint);x(v.prototype,
{setItemEvents:function(a,c,d){var e=this.chart.renderer.boxWrapper,f="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(d?c:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(f)}).on("mouseout",function(){e.removeClass(f);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};e.removeClass(f);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):r(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=
C("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);B(a.checkbox,"click",function(b){r(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=f.lang,d=b.options.chart.resetZoomButton,e=d.theme,g=e.states,h="chart"===d.relativeTo?null:"plotBox";r(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,
null,null,a,e,g&&g.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,h)})},zoomOut:function(){r(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,c=this.pointer,d=!1,e;!a||a.resetSelection?(t(this.axes,function(a){b=a.zoom()}),c.initiated=!1):t(a.xAxis.concat(a.yAxis),function(a){var e=a.axis;c[e.isXAxis?"zoomX":"zoomY"]&&(b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0))});e=this.resetZoomButton;d&&!e?this.showResetZoom():
!d&&m(e)&&(this.resetZoomButton=e.destroy());b&&this.redraw(h(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&t(d,function(a){a.setState()});t("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),k=b.toValue(g-f,!0)+h*m,m=b.toValue(g+b.len-f,!0)-h*m,n=m<k,
g=n?m:k,k=n?k:m,m=Math.min(l.dataMin,h?l.min:b.toValue(b.toPixels(l.min)-b.minPixelPadding)),h=Math.max(l.dataMax,h?l.max:b.toValue(b.toPixels(l.max)+b.minPixelPadding)),n=m-g;0<n&&(k+=n,g=m);n=k-h;0<n&&(k=h,g-=n);b.series.length&&g!==l.min&&k!==l.max&&(b.setExtremes(g,k,!1,!1,{trigger:"pan"}),e=!0);c[d]=f});e&&c.redraw(!1);k(c.container,{cursor:"move"})}});x(b.prototype,{select:function(a,b){var c=this,e=c.series,f=e.chart;a=h(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},
function(){c.selected=c.options.selected=a;e.options.data[d(c,e.data)]=c.options;c.setState(a&&"select");b||t(f.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,e.options.data[d(a,e.data)]=a.options,a.setState(""),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");
t(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=u(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){B(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,e=this.series,f=e.options.states[a||"normal"]||{},m=g[e.type].marker&&e.options.marker,k=m&&!1===m.enabled,n=m&&m.states&&m.states[a||"normal"]||{},u=!1===n.enabled,v=e.stateMarkerGraphic,
l=this.marker||{},t=e.chart,y=e.halo,x,A=m&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(u||k&&!1===n.enabled)||a&&l.states&&l.states[a]&&!1===l.states[a].enabled)){A&&(x=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),x&&this.graphic.animate(x,h(t.options.chart.animation,n.animation,m.animation)),v&&v.hide();else{if(a&&n)if(m=l.symbol||
e.symbol,v&&v.currentSymbol!==m&&(v=v.destroy()),v)v[b?"animate":"attr"]({x:x.x,y:x.y});else m&&(e.stateMarkerGraphic=v=t.renderer.symbol(m,x.x,x.y,x.width,x.height).add(e.markerGroup),v.currentSymbol=m);v&&(v[a&&t.isInsidePlot(c,d,t.inverted)?"show":"hide"](),v.element.point=this)}(c=f.halo)&&c.size?(y||(e.halo=y=t.renderer.path().add((this.graphic||v).parentGroup)),y.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),y.attr({"class":"highcharts-halo highcharts-color-"+h(this.colorIndex,e.colorIndex)+
(this.className?" "+this.className:"")}),y.point=this):y&&y.point&&y.point.haloPath&&y.animate({d:y.point.haloPath(0)},null,y.hide);this.state=a;r(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(c.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&r(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&&r(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;a=a||"";b.state!==a&&(t([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,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";t(["group","dataLabelsGroup","markerGroup","tracker","tt"],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&&t(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});t(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=
!0);!1!==b&&d.redraw();r(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);r(this,a?"select":"unselect")},drawTracker:H.drawTrackerGraph})})(J);(function(a){var B=a.Chart,A=a.each,C=a.inArray,k=a.isArray,f=a.isObject,g=a.pick,t=a.splat;B.prototype.setResponsive=function(f){var g=this.options.responsive,e=[],d=this.currentResponsive;g&&g.rules&&A(g.rules,function(d){void 0===
d._id&&(d._id=a.uniqueKey());this.matchResponsiveRule(d,e,f)},this);var m=a.merge.apply(0,a.map(e,function(d){return a.find(g.rules,function(a){return a._id===d}).chartOptions})),e=e.toString()||void 0;e!==(d&&d.ruleIds)&&(d&&this.update(d.undoOptions,f),e?(this.currentResponsive={ruleIds:e,mergedOptions:m,undoOptions:this.currentOptions(m)},this.update(m,f)):this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,f){var e=a.condition;(e.callback||function(){return this.chartWidth<=
g(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=g(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=g(e.minWidth,0)&&this.chartHeight>=g(e.minHeight,0)}).call(this)&&f.push(a._id)};B.prototype.currentOptions=function(g){function r(d,e,g,u){var h;a.objectEach(d,function(a,c){if(!u&&-1<C(c,["series","xAxis","yAxis"]))for(a=t(a),g[c]=[],h=0;h<a.length;h++)e[c][h]&&(g[c][h]={},r(a[h],e[c][h],g[c][h],u+1));else f(a)?(g[c]=k(a)?[]:{},r(a,e[c]||{},g[c],u+1)):g[c]=e[c]||null})}var e={};r(g,this.options,e,
0);return e}})(J);(function(a){var B=a.addEvent,A=a.Axis,C=a.each,k=a.pick;B(A,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(C(this.series,function(f,k){f.useMapGeometry&&(a[k]=f.xData,f.xData=[])}),this.seriesXData=a)});B(A,"afterGetSeriesExtremes",function(){var a=this.seriesXData,g,t,x;this.isXAxis&&(g=k(this.dataMin,Number.MAX_VALUE),t=k(this.dataMax,-Number.MAX_VALUE),C(this.series,function(f,e){f.useMapGeometry&&(g=Math.min(g,k(f.minX,g)),t=Math.max(t,k(f.maxX,t)),f.xData=a[e],x=!0)}),
x&&(this.dataMin=g,this.dataMax=t),delete this.seriesXData)});B(A,"afterSetAxisTranslation",function(){var a=this.chart,g;g=a.plotWidth/a.plotHeight;var a=a.xAxis[0],k;"yAxis"===this.coll&&void 0!==a.transA&&C(this.series,function(a){a.preserveAspectRatio&&(k=!0)});if(k&&(this.transA=a.transA=Math.min(this.transA,a.transA),g/=(a.max-a.min)/(this.max-this.min),g=1>g?this:a,a=(g.max-g.min)*g.transA,g.pixelPadding=g.len-a,g.minPixelPadding=g.pixelPadding/2,a=g.fixTo)){a=a[1]-g.toValue(a[0],!0);a*=g.transA;
if(Math.abs(a)>g.minPixelPadding||g.min===g.dataMin&&g.max===g.dataMax)a=0;g.minPixelPadding-=a}});B(A,"render",function(){this.fixTo=null})})(J);(function(a){var B=a.addEvent,A=a.Axis,C=a.Chart,k=a.color,f,g=a.each,t=a.extend,x=a.isNumber,r=a.Legend,e=a.LegendSymbolMixin,d=a.noop,m=a.merge,v=a.pick;a.ColorAxis||(f=a.ColorAxis=function(){this.init.apply(this,arguments)},t(f.prototype,A.prototype),t(f.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,
startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(A.prototype.keepProps),init:function(a,d){var b="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=m(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},d,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled});
A.prototype.init.call(this,a,c);d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var d,b=0,c=this.chart.options.chart.colorCount,e=this.options,f=a.dataClasses.length;this.dataClasses=d=[];this.legendItems=[];g(a.dataClasses,function(a,g){a=m(a);d.push(a);"category"===e.dataClassColor?(a.colorIndex=b,b++,b===c&&(b=0)):a.color=k(e.minColor).tweenTo(k(e.maxColor),2>f?.5:g/(f-1))})},setTickPositions:function(){if(!this.dataClasses)return A.prototype.setTickPositions.call(this)},
initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];g(this.stops,function(a){a.color=k(a[1])})},setOptions:function(a){A.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,b=d.options.legend||{},c,e;a?(this.left=b=a.attr("x"),this.top=c=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-b-e,this.bottom=d.chartHeight-
c-a,this.len=this.horiz?e:a,this.pos=this.horiz?b:c):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,d){var b=this.stops,c,e,f=this.dataClasses,g,h;if(f)for(h=f.length;h--;){if(g=f[h],c=g.from,b=g.to,(void 0===c||a>=c)&&(void 0===b||a<=b)){d&&(d.dataClass=h,d.colorIndex=g.colorIndex);break}}else{a=this.normalizedValue(a);for(h=b.length;h--&&!(a>
b[h][0]););c=b[h]||b[h+1];b=b[h+1]||c;a=1-(b[0]-a)/(b[0]-c[0]||1);e=c.color.tweenTo(b.color,a)}return e},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,A.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],
y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,d){var b=a.padding,c=a.options,e=this.horiz,f=v(c.symbolWidth,e?this.defaultLegendLength:12),g=v(c.symbolHeight,e?12:this.defaultLegendLength),h=v(c.labelPadding,e?16:30),c=v(c.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=f+b+(e?c:h);this.legendItemHeight=g+b+(e?h:0)},setState:function(a){g(this.series,function(d){d.setState(a)})},
visible:!0,setVisible:d,getSeriesExtremes:function(){var a=this.series,d=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;)void 0!==a[d].valueMin&&(this.dataMin=Math.min(this.dataMin,a[d].valueMin),this.dataMax=Math.max(this.dataMax,a[d].valueMax))},drawCrosshair:function(a,d){var b=d&&d.plotX,c=d&&d.plotY,e,f=this.pos,g=this.len;d&&(e=this.toPixels(d[d.series.colorKey]),e<f?e=f-2:e>f+g&&(e=f+g+2),d.plotX=e,d.plotY=this.len-e,A.prototype.drawCrosshair.call(this,a,d),d.plotX=b,d.plotY=
c,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0))},getPlotLinePath:function(a,d,b,c,e){return x(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:A.prototype.getPlotLinePath.call(this,a,d,b,c)},update:function(a,d){var b=this.chart,c=b.legend;g(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&&
(g(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=m(this.userOptions,a);A.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);A.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var f=this,h=this.chart,b=this.legendItems,c=h.options.legend,m=c.valueDecimals,k=c.valueSuffix||"",r;b.length||g(this.dataClasses,
function(c,n){var u=!0,p=c.from,v=c.to;r="";void 0===p?r="\x3c ":void 0===v&&(r="\x3e ");void 0!==p&&(r+=a.numberFormat(p,m)+k);void 0!==p&&void 0!==v&&(r+=" - ");void 0!==v&&(r+=a.numberFormat(v,m)+k);b.push(t({chart:h,name:r,options:{},drawLegendSymbol:e.drawRectangle,visible:!0,setState:d,isDataClass:!0,setVisible:function(){u=this.visible=!u;g(f.series,function(a){g(a.points,function(a){a.dataClass===n&&a.setVisible(u)})});h.legend.colorizeItem(this,u)}},c))});return b},name:""}),g(["fill","stroke"],
function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,k(this.start).tweenTo(k(this.end),this.pos),null,!0)}}),B(C,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new f(this,a)}),B(r,"afterGetAllItems",function(d){var e=[],b=this.chart.colorAxis[0];b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?e=b.getDataClassLegendSymbols():e.push(b)),g(b.series,function(b){a.erase(d.allItems,b)}));for(;e.length;)d.allItems.unshift(e.pop())}),B(r,"afterColorizeItem",
function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),B(r,"afterUpdate",function(a,d,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(J);(function(a){var B=a.defined,A=a.each,C=a.noop;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var f=this,g=a?"show":"hide";A(["graphic","dataLabel"],function(a){if(f[a])f[a][g]()})},setState:function(k){a.Point.prototype.setState.call(this,
k);this.graphic&&this.graphic.attr({zIndex:"hover"===k?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,f=this.options.nullColor,g=this.colorAxis,t=this.colorKey;A(this.data,function(k){var r=k[t];if(r=k.options.color||(k.isNull?f:g&&void 0!==r?g.toColor(r,k):k.color||a.color))k.color=
r})},colorAttribs:function(a){var f={};B(a.color)&&(f[this.colorProp||"fill"]=a.color);return f}}})(J);(function(a){function B(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function A(a){this.init(a)}var C=a.addEvent,k=a.Chart,f=a.doc,g=a.each,t=a.extend,x=a.merge,r=a.pick;A.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};A.prototype.update=function(e){var d=this.chart,f=d.options.mapNavigation,g,k=function(a){this.handler.call(d,
a);B(a)},h=d.mapNavButtons;e&&(f=d.options.mapNavigation=x(d.options.mapNavigation,e));for(;h.length;)h.pop().destroy();r(f.enableButtons,f.enabled)&&!d.renderer.forExport&&a.objectEach(f.buttons,function(a,c){g=x(f.buttonOptions,a);a=d.renderer.button(g.text,0,0,k,void 0,void 0,void 0,0,"zoomIn"===c?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:g.width,height:g.height,title:d.options.lang[c],padding:g.padding,zIndex:5}).add();a.handler=g.onclick;a.align(t(g,{width:a.width,
height:2*a.height}),null,g.alignTo);C(a.element,"dblclick",B);h.push(a)});this.updateEvents(f)};A.prototype.updateEvents=function(a){var d=this.chart;r(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||C(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());r(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||C(d.container,void 0===f.onmousewheel?
"DOMMouseScroll":"mousewheel",function(a){d.pointer.onContainerMouseWheel(a);B(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};t(k.prototype,{fitToBox:function(a,d){g([["x","width"],["y","height"]],function(e){var f=e[0];e=e[1];a[f]+a[e]>d[f]+d[e]&&(a[e]>d[e]?(a[e]=d[e],a[f]=d[f]):a[f]=d[f]+d[e]-a[e]);a[e]>d[e]&&(a[e]=d[e]);a[f]<d[f]&&(a[f]=d[f])});return a},mapZoom:function(a,d,f,g,k){var e=this.xAxis[0],b=e.max-e.min,c=r(d,e.min+b/2),m=b*a,b=this.yAxis[0],u=
b.max-b.min,t=r(f,b.min+u/2),u=u*a,c=this.fitToBox({x:c-m*(g?(g-e.pos)/e.len:.5),y:t-u*(k?(k-b.pos)/b.len:.5),width:m,height:u},{x:e.dataMin,y:b.dataMin,width:e.dataMax-e.dataMin,height:b.dataMax-b.dataMin}),m=c.x<=e.dataMin&&c.width>=e.dataMax-e.dataMin&&c.y<=b.dataMin&&c.height>=b.dataMax-b.dataMin;g&&(e.fixTo=[g-e.pos,d]);k&&(b.fixTo=[k-b.pos,f]);void 0===a||m?(e.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(e.setExtremes(c.x,c.x+c.width,!1),b.setExtremes(c.y,c.y+c.height,!1));
this.redraw()}});C(k,"beforeRender",function(){this.mapNavigation=new A(this);this.mapNavigation.update()})})(J);(function(a){var B=a.extend,A=a.pick,C=a.Pointer;a=a.wrap;B(C.prototype,{onContainerDblClick:function(a){var f=this.chart;a=this.normalize(a);f.options.mapNavigation.enableDoubleClickZoomTo?f.pointer.inClass(a.target,"highcharts-tracker")&&f.hoverPoint&&f.hoverPoint.zoomTo():f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(.5,f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),
a.chartX,a.chartY)},onContainerMouseWheel:function(a){var f=this.chart,g;a=this.normalize(a);g=a.detail||-(a.wheelDelta/120);f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(Math.pow(f.options.mapNavigation.mouseWheelSensitivity,g),f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var f=this.chart.options.mapNavigation;A(f.enableTouchZoom,f.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,
1))});a(C.prototype,"pinchTranslate",function(a,f,g,t,x,r,e){a.call(this,f,g,t,x,r,e);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=t.scaleX>t.scaleY,this.pinchTranslateDirection(!a,f,g,t,x,r,e,a?t.scaleX:t.scaleY))})})(J);(function(a){var B=a.colorPointMixin,A=a.each,C=a.extend,k=a.isNumber,f=a.map,g=a.merge,t=a.noop,x=a.pick,r=a.isArray,e=a.Point,d=a.Series,m=a.seriesType,v=a.seriesTypes,u=a.splat,h=void 0!==a.doc.documentElement.style.vectorEffect;m("map","scatter",{allAreas:!0,animation:!1,
marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:null,brightness:.2}}},g(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:t,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=
Number.MAX_VALUE,d=-c,e=c,f=-c,g=c,h=c,m=this.xAxis,p=this.yAxis,r;A(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var m=b.path||[],n=m.length,q=!1,p=-c,u=c,l=-c,t=c,v=b.properties;if(!b._foundBox){for(;n--;)k(m[n])&&(q?(p=Math.max(p,m[n]),u=Math.min(u,m[n])):(l=Math.max(l,m[n]),t=Math.min(t,m[n])),q=!q);b._midX=u+(p-u)*x(b.middleX,v&&v["hc-middle-x"],.5);b._midY=t+(l-t)*x(b.middleY,v&&v["hc-middle-y"],.5);b._maxX=p;b._minX=u;b._maxY=l;b._minY=t;b.labelrank=x(b.labelrank,
(p-u)*(l-t));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);f=Math.max(f,b._maxY);g=Math.min(g,b._minY);h=Math.min(b._maxX-b._minX,b._maxY-b._minY,h);r=!0}});r&&(this.minY=Math.min(g,x(this.minY,c)),this.maxY=Math.max(f,x(this.maxY,-c)),this.minX=Math.min(e,x(this.minX,c)),this.maxX=Math.max(d,x(this.maxX,-c)),m&&void 0===m.options.minRange&&(m.minRange=Math.min(5*h,(this.maxX-this.minX)/5,m.minRange||c)),p&&void 0===p.options.minRange&&(p.minRange=Math.min(5*h,(this.maxY-this.minY)/5,
p.minRange||c)))},getExtremes:function(){d.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,d=this.xAxis,e=this.yAxis,f=d.min,g=d.transA,d=d.minPixelPadding,h=e.min,m=e.transA,e=e.minPixelPadding,p,r=[];if(a)for(p=a.length;p--;)k(a[p])?(r[p]=b?(a[p]-f)*g+d:(a[p]-h)*m+e,b=!b):r[p]=a[p];return r},
setData:function(b,c,e,h){var m=this.options,n=this.chart.options.chart,t=n&&n.map,v=m.mapData,p=m.joinBy,x=null===p,B=m.keys||this.pointArrayMap,C=[],I={},q=this.chart.mapTransforms;!v&&t&&(v="string"===typeof t?a.maps[t]:t);x&&(p="_i");p=this.joinBy=u(p);p[1]||(p[1]=p[0]);b&&A(b,function(c,d){var e=0;if(k(c))b[d]={value:c};else if(r(c)){b[d]={};!m.keys&&c.length>B.length&&"string"===typeof c[0]&&(b[d]["hc-key"]=c[0],++e);for(var f=0;f<B.length;++f,++e)B[f]&&void 0!==c[e]&&(0<B[f].indexOf(".")?a.Point.prototype.setNestedProperty(b[d],
c[e],B[f]):b[d][B[f]]=c[e])}x&&(b[d]._i=d)});this.getBox(b);(this.chart.mapTransforms=q=n&&n.mapTransforms||v&&v["hc-transform"]||q)&&a.objectEach(q,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(v){"FeatureCollection"===v.type&&(this.mapTitle=v.title,v=a.geojson(v,this.type,this));this.mapData=v;this.mapMap={};for(q=0;q<v.length;q++)n=v[q],t=n.properties,n._i=q,p[0]&&t&&t[p[0]]&&(n[p[0]]=t[p[0]]),I[n[p[0]]]=n;this.mapMap=I;b&&p[1]&&A(b,function(a){I[a[p[1]]]&&
C.push(I[a[p[1]]])});m.allAreas?(this.getBox(v),b=b||[],p[1]&&A(b,function(a){C.push(a[p[1]])}),C="|"+f(C,function(a){return a&&a[p[0]]}).join("|")+"|",A(v,function(a){p[0]&&-1!==C.indexOf("|"+a[p[0]]+"|")||(b.push(g(a,{value:null})),h=!1)})):this.getBox(C)}d.prototype.setData.call(this,b,c,e,h)},drawGraph:t,drawDataLabels:t,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,c=a.xAxis,d=a.yAxis,e=a.doFullTranslate();
a.generatePoints();A(a.data,function(b){b.plotX=c.toPixels(b._midX,!0);b.plotY=d.toPixels(b._midY,!0);e&&(b.shapeType="path",b.shapeArgs={d:a.translatePath(b.path)})});a.translateColors()},pointAttribs:function(a,c){a=this.colorAttribs(a);h?a["vector-effect"]="non-scaling-stroke":a["stroke-width"]="inherit";return a},drawPoints:function(){var a=this,c=a.xAxis,d=a.yAxis,e=a.group,f=a.chart,g=f.renderer,m,k,p,r,u=this.baseTrans,t,x,q,z,B;a.transformGroup||(a.transformGroup=g.g().attr({scaleX:1,scaleY:1}).add(e),
a.transformGroup.survive=!0);a.doFullTranslate()?(a.group=a.transformGroup,v.column.prototype.drawPoints.apply(a),a.group=e,A(a.points,function(b){b.graphic&&(b.name&&b.graphic.addClass("highcharts-name-"+b.name.replace(/ /g,"-").toLowerCase()),b.properties&&b.properties["hc-key"]&&b.graphic.addClass("highcharts-key-"+b.properties["hc-key"].toLowerCase()),b.graphic.css(a.pointAttribs(b,b.selected&&"select")))}),this.baseTrans={originX:c.min-c.minPixelPadding/c.transA,originY:d.min-d.minPixelPadding/
d.transA+(d.reversed?0:d.len/d.transA),transAX:c.transA,transAY:d.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(m=c.transA/u.transAX,k=d.transA/u.transAY,p=c.toPixels(u.originX,!0),r=d.toPixels(u.originY,!0),.99<m&&1.01>m&&.99<k&&1.01>k&&(k=m=1,p=Math.round(p),r=Math.round(r)),t=this.transformGroup,f.renderer.globalAnimation?(x=t.attr("translateX"),q=t.attr("translateY"),z=t.attr("scaleX"),B=t.attr("scaleY"),t.attr({animator:0}).animate({animator:1},{step:function(a,
b){t.attr({translateX:x+(p-x)*b.pos,translateY:q+(r-q)*b.pos,scaleX:z+(m-z)*b.pos,scaleY:B+(k-B)*b.pos})}})):t.attr({translateX:p,translateY:r,scaleX:m,scaleY:k}));h||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/(m||1));this.drawMapDataLabels()},drawMapDataLabels:function(){d.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=d.prototype.render;
a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){c.call(a)}):c.call(a)},animate:function(a){var b=this.options.animation,d=this.group,e=this.xAxis,f=this.yAxis,g=e.pos,h=f.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?d.attr({translateX:g+e.len/2,translateY:h+f.len/2,scaleX:.001,scaleY:.001}):(d.animate({translateX:g,translateY:h,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,d=this.chart.drilldownLevels[this.chart.drilldownLevels.length-
1],e=d.bBox,f=this.chart.options.drilldown.animation;a||(a=Math.min(e.width/b.width,e.height/b.height),d.shapeArgs={scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},A(this.points,function(a){a.graphic&&a.graphic.attr(d.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},f)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){v.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){v.column.prototype.animateDrillupTo.call(this,
a)}}),C({applyOptions:function(a,c){a=e.prototype.applyOptions.call(this,a,c);c=this.series;var b=c.joinBy;c.mapData&&((b=void 0!==a[b[1]]&&c.mapMap[a[b[1]]])?(c.xyFromShape&&(a.x=b._midX,a.y=b._midY),C(a,b)):a.value=a.value||null);return a},onMouseOver:function(b){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)e.prototype.onMouseOver.call(this,b);else this.series.onMouseOut(b)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,
!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},B))})(J);(function(a){var B=a.seriesType;B("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(J);(function(a){var B=a.merge,A=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,k){a=void 0!==
a.lat&&void 0!==a.lon?B(a,this.series.chart.fromLatLonToPoint(a)):a;return A.prototype.applyOptions.call(this,a,k)}})})(J);(function(a){var B=a.arrayMax,A=a.arrayMin,C=a.Axis,k=a.each,f=a.isNumber,g=a.noop,t=a.pick,x=a.pInt,r=a.Point,e=a.seriesType,d=a.seriesTypes;e("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,
states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(a,d,e,f){var b,c,g,h=this.zData,m=[],k=this.options,r="width"!==k.sizeBy,u=k.zThreshold,p=d-a;c=0;for(b=h.length;c<b;c++)g=h[c],k.sizeByAbsoluteValue&&null!==g&&(g=Math.abs(g-u),d=p=
Math.max(d-u,Math.abs(a-u)),a=0),null===g?g=null:g<a?g=e/2-1:(g=0<p?(g-a)/p:.5,r&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(e+g*(f-e))/2),m.push(g);this.radii=m},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(k(this.points,function(a){var d=a.graphic,e;d&&d.width&&(e={x:d.x,y:d.y,width:d.width,height:d.height},d.attr({x:a.plotX,y:a.plotY,width:1,height:1}),d.animate(e,this.options.animation))},this),this.animate=null)},translate:function(){var e,g=this.data,k,h,b=this.radii;d.scatter.prototype.translate.call(this);
for(e=g.length;e--;)k=g[e],h=b?b[e]:0,f(h)&&h>=this.minPxSize/2?(k.marker=a.extend(k.marker,{radius:h,width:2*h,height:2*h}),k.dlBox={x:k.plotX-h,y:k.plotY-h,width:2*h,height:2*h}):k.shapeArgs=k.plotY=k.dlBox=void 0},alignDataLabel:d.column.prototype.alignDataLabel,buildKDTree:g,applyZones:g},{haloPath:function(a){return r.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});C.prototype.beforePadding=function(){var a=this,d=this.len,e=this.chart,g=0,b=d,c=this.isXAxis,
n=c?"xData":"yData",r=this.min,C={},y=Math.min(e.plotWidth,e.plotHeight),F=Number.MAX_VALUE,w=-Number.MAX_VALUE,p=this.max-r,E=d/p,D=[];k(this.series,function(b){var d=b.options;!b.bubblePadding||!b.visible&&e.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,D.push(b),c&&(k(["minSize","maxSize"],function(a){var b=d[a],c=/%$/.test(b),b=x(b);C[a]=c?y*b/100:b}),b.minPxSize=C.minSize,b.maxPxSize=Math.max(C.maxSize,C.minSize),b=b.zData,b.length&&(F=t(d.zMin,Math.min(F,Math.max(A(b),!1===d.displayNegative?
d.zThreshold:-Number.MAX_VALUE))),w=t(d.zMax,Math.max(w,B(b))))))});k(D,function(d){var e=d[n],h=e.length,m;c&&d.getRadii(F,w,d.minPxSize,d.maxPxSize);if(0<p)for(;h--;)f(e[h])&&a.dataMin<=e[h]&&e[h]<=a.dataMax&&(m=d.radii[h],g=Math.min((e[h]-r)*E-m,g),b=Math.max((e[h]-r)*E+m,b))});D.length&&0<p&&!this.isLog&&(b-=d,E*=(d+g-b)/d,k([["min","userMin",g],["max","userMax",b]],function(b){void 0===t(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/E)}))}})(J);(function(a){var B=a.merge,A=a.Point,C=a.seriesType,
k=a.seriesTypes;k.bubble&&C("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:k.map.prototype.getMapData,getBox:k.map.prototype.getBox,setData:k.map.prototype.setData},{applyOptions:function(a,g){return a&&void 0!==a.lat&&void 0!==a.lon?A.prototype.applyOptions.call(this,B(a,this.series.chart.fromLatLonToPoint(a)),g):k.map.prototype.pointClass.prototype.applyOptions.call(this,a,g)},isValid:function(){return"number"===
typeof this.z},ttBelow:!1})})(J);(function(a){var B=a.colorPointMixin,A=a.each,C=a.merge,k=a.noop,f=a.pick,g=a.Series,t=a.seriesType,x=a.seriesTypes;t("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},C(a.colorSeriesMixin,{pointArrayMap:["y",
"value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;x.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=f(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,e=this.xAxis,d=this.yAxis,g=a.pointPadding||0,k=function(a,d,b){return Math.min(Math.max(d,a),b)};this.generatePoints();A(this.points,function(m){var h=(a.colsize||1)/2,b=(a.rowsize||1)/2,c=k(Math.round(e.len-e.translate(m.x-
h,0,1,0,1)),-e.len,2*e.len),h=k(Math.round(e.len-e.translate(m.x+h,0,1,0,1)),-e.len,2*e.len),n=k(Math.round(d.translate(m.y-b,0,1,0,1)),-d.len,2*d.len),b=k(Math.round(d.translate(m.y+b,0,1,0,1)),-d.len,2*d.len),r=f(m.pointPadding,g);m.plotX=m.clientX=(c+h)/2;m.plotY=(n+b)/2;m.shapeType="rect";m.shapeArgs={x:Math.min(c,h)+r,y:Math.min(n,b)+r,width:Math.abs(h-c)-2*r,height:Math.abs(b-n)-2*r}});this.translateColors()},drawPoints:function(){x.column.prototype.drawPoints.call(this);A(this.points,function(a){a.graphic.css(this.colorAttribs(a))},
this)},animate:k,getBox:k,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:x.column.prototype.alignDataLabel,getExtremes:function(){g.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;g.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var e=this.shapeArgs;return["M",e.x-a,e.y-a,"L",e.x-a,e.y+e.height+a,e.x+e.width+a,e.y+e.height+a,e.x+e.width+a,e.y-a,"Z"]}},B))})(J);(function(a){function B(a,e){var d,
f,g,k=!1,h=a.x,b=a.y;a=0;for(d=e.length-1;a<e.length;d=a++)f=e[a][1]>b,g=e[d][1]>b,f!==g&&h<(e[d][0]-e[a][0])*(b-e[a][1])/(e[d][1]-e[a][1])+e[a][0]&&(k=!k);return k}var A=a.Chart,C=a.each,k=a.extend,f=a.format,g=a.merge,t=a.win,x=a.wrap;A.prototype.transformFromLatLon=function(f,e){if(void 0===t.proj4)return a.error(21),{x:0,y:null};f=t.proj4(e.crs,[f.lon,f.lat]);var d=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle||e.rotation&&Math.sin(e.rotation);f=e.rotation?[f[0]*d+f[1]*g,-f[0]*g+f[1]*
d]:f;return{x:((f[0]-(e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset||0)-f[1])*(e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}};A.prototype.transformToLatLon=function(f,e){if(void 0===t.proj4)a.error(21);else{f={x:((f.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-f.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var d=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle||
e.rotation&&Math.sin(e.rotation);e=t.proj4(e.crs,"WGS84",e.rotation?{x:f.x*d+f.y*-g,y:f.x*g+f.y*d}:f);return{lat:e.y,lon:e.x}}};A.prototype.fromPointToLatLon=function(f){var e=this.mapTransforms,d;if(e){for(d in e)if(e.hasOwnProperty(d)&&e[d].hitZone&&B({x:f.x,y:-f.y},e[d].hitZone.coordinates[0]))return this.transformToLatLon(f,e[d]);return this.transformToLatLon(f,e["default"])}a.error(22)};A.prototype.fromLatLonToPoint=function(f){var e=this.mapTransforms,d,g;if(!e)return a.error(22),{x:0,y:null};
for(d in e)if(e.hasOwnProperty(d)&&e[d].hitZone&&(g=this.transformFromLatLon(f,e[d]),B({x:g.x,y:-g.y},e[d].hitZone.coordinates[0])))return g;return this.transformFromLatLon(f,e["default"])};a.geojson=function(a,e,d){var g=[],r=[],u=function(a){var b,c=a.length;r.push("M");for(b=0;b<c;b++)1===b&&r.push("L"),r.push(a[b][0],-a[b][1])};e=e||"map";C(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var d;r=[];"map"===e||"mapbubble"===e?("Polygon"===c?(C(b,u),r.push("Z")):
"MultiPolygon"===c&&(C(b,function(a){C(a,u)}),r.push("Z")),r.length&&(d={path:r})):"mapline"===e?("LineString"===c?u(b):"MultiLineString"===c&&C(b,u),r.length&&(d={path:r})):"mappoint"===e&&"Point"===c&&(d={x:b[0],y:-b[1]});d&&g.push(k(d,{name:a.name||a.NAME,properties:a}))});d&&a.copyrightShort&&(d.chart.mapCredits=f(d.chart.options.credits.mapText,{geojson:a}),d.chart.mapCreditsFull=f(d.chart.options.credits.mapTextFull,{geojson:a}));return g};x(A.prototype,"addCredits",function(a,e){e=g(!0,this.options.credits,
e);this.mapCredits&&(e.href=null);a.call(this,e);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(J);(function(a){function B(a,e,f,g,h,b,c,k){return["M",a+h,e,"L",a+f-b,e,"C",a+f-b/2,e,a+f,e+b/2,a+f,e+b,"L",a+f,e+g-c,"C",a+f,e+g-c/2,a+f-c/2,e+g,a+f-c,e+g,"L",a+k,e+g,"C",a+k/2,e+g,a,e+g-k/2,a,e+g-k,"L",a,e+h,"C",a,e+h/2,a+h/2,e,a+h,e,"Z"]}var A=a.Chart,C=a.defaultOptions,k=a.each,f=a.extend,g=a.merge,t=a.pick,x=a.Renderer,r=a.SVGRenderer,e=a.VMLRenderer;f(C.lang,
{zoomIn:"Zoom in",zoomOut:"Zoom out"});C.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));
return a};a.maps={};r.prototype.symbols.topbutton=function(a,e,f,g,h){return B(a-1,e-1,f,g,h.r,h.r,0,0)};r.prototype.symbols.bottombutton=function(a,e,f,g,h){return B(a-1,e-1,f,g,0,0,h.r,h.r)};x===e&&k(["topbutton","bottombutton"],function(a){e.prototype.symbols[a]=r.prototype.symbols[a]});a.Map=a.mapChart=function(d,e,f){var k="string"===typeof d||d.nodeName,h=arguments[k?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},c,m=a.getOptions().credits;c=h.series;h.series=null;
h=g({chart:{panning:"xy",type:"map"},credits:{mapText:t(m.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:t(m.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:g(b,{reversed:!0})},h,{chart:{inverted:!1,alignTicks:!1}});h.series=c;return k?new A(d,h,f):new A(h,e)}})(J);return J});