/*
 Highmaps JS v6.1.4 (2018-09-25)

 (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:"function"===typeof define&&define.amd?define(function(){return J(T)}):T.Highcharts=J(T)})("undefined"!==typeof window?window:this,function(T){var J=function(){var a="undefined"===typeof T?window:T,B=a.document,y=a.navigator&&a.navigator.userAgent||"",D=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,n=/(edge|msie|trident)/i.test(y)&&!a.opera,d=-1!==y.indexOf("Firefox"),
k=-1!==y.indexOf("Chrome"),v=d&&4>parseInt(y.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.1.4",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:v,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:n,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:d,isChrome:k,isSafari:!k&&-1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:D,win:a,marginNames:["plotTop",
"marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var B=a.charts,y=a.doc,D=a.win;a.error=function(n,d){n=a.isNumber(n)?"Highcharts error #"+n+": www.highcharts.com/errors/"+n:n;if(d)throw Error(n);D.console&&console.log(n)};a.Fx=function(a,d,k){this.options=d;this.elem=a;this.prop=k};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],k=[],v=this.now,u=a.length,r;if(1===v)k=this.toD;else if(u===d.length&&1>v)for(;u--;)r=parseFloat(a[u]),
k[u]=isNaN(r)?d[u]:v*parseFloat(d[u]-r)+r;else k=d;this.elem.attr("d",k,null,!0)},update:function(){var a=this.elem,d=this.prop,k=this.now,v=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,k,null,!0):a.style[d]=k+this.unit;v&&v.call(a,k,this)},run:function(n,d,k){var v=this,u=v.options,r=function(a){return r.stopped?!1:v.step(a)},g=D.requestAnimationFrame||function(a){setTimeout(a,13)},h=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,
1);a.timers.length&&g(h)};n!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=n,this.end=d,this.unit=k,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===a.timers.push(r)&&g(h)):(delete u.curAnim[this.prop],u.complete&&0===a.keys(u.curAnim).length&&u.complete.call(this.elem))},step:function(n){var d=+new Date,k,v=this.options,u=this.elem,r=v.complete,g=v.duration,h=v.curAnim;u.attr&&!u.element?n=!1:n||d>=g+this.startTime?(this.now=this.end,this.pos=
1,this.update(),k=h[this.prop]=!0,a.objectEach(h,function(a){!0!==a&&(k=!1)}),k&&r&&r.call(u),n=!1):(this.pos=v.easing((d-this.startTime)/g),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0);return n},initPath:function(n,d,k){function v(a){var e,b;for(c=a.length;c--;)e="M"===a[c]||"L"===a[c],b=/[a-zA-Z]/.test(a[c+3]),e&&b&&a.splice(c+1,0,a[c+1],a[c+2],a[c+1],a[c+2])}function u(a,b){for(;a.length<e;){a[0]=b[e-a.length];var f=a.slice(0,m);[].splice.apply(a,[0,0].concat(f));p&&(f=
a.slice(a.length-m),[].splice.apply(a,[a.length,0].concat(f)),c--)}a[0]="M"}function r(a,c){for(var f=(e-a.length)/m;0<f&&f--;)b=a.slice().splice(a.length/A-m,m*A),b[0]=c[e-m-f*m],q&&(b[m-6]=b[m-2],b[m-5]=b[m-1]),[].splice.apply(a,[a.length/A,0].concat(b)),p&&f--}d=d||"";var g,h=n.startX,f=n.endX,q=-1<d.indexOf("C"),m=q?7:3,e,b,c;d=d.split(" ");k=k.slice();var p=n.isArea,A=p?2:1,I;q&&(v(d),v(k));if(h&&f){for(c=0;c<h.length;c++)if(h[c]===f[0]){g=c;break}else if(h[0]===f[f.length-h.length+c]){g=c;I=
!0;break}void 0===g&&(d=[])}d.length&&a.isNumber(g)&&(e=k.length+g*A*m,I?(u(d,k),r(k,d)):(u(k,d),r(d,k)));return[d,k]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var n,d=arguments,k,v={},u=function(k,g){"object"!==typeof k&&(k={});a.objectEach(g,function(h,f){!a.isObject(h,!0)||a.isClass(h)||a.isDOMElement(h)?k[f]=g[f]:k[f]=u(k[f]||{},
h)});return k};!0===d[0]&&(v=d[1],d=Array.prototype.slice.call(d,2));k=d.length;for(n=0;n<k;n++)v=u(v,d[n]);return v};a.pInt=function(a,d){return parseInt(a,d||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(n,d){return!!n&&"object"===typeof n&&(!d||!a.isArray(n))};a.isDOMElement=function(n){return a.isObject(n)&&"number"===typeof n.nodeType};a.isClass=function(n){var d=
n&&n.constructor;return!(!a.isObject(n,!0)||a.isDOMElement(n)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var k=a.length;k--;)if(a[k]===d){a.splice(k,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(n,d,k){var v;a.isString(d)?a.defined(k)?n.setAttribute(d,k):n&&n.getAttribute&&((v=n.getAttribute(d))||"class"!==d||(v=n.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&
a.objectEach(d,function(a,k){n.setAttribute(k,a)});return v};a.splat=function(n){return a.isArray(n)?n:[n]};a.syncTimeout=function(a,d,k){if(d)return setTimeout(a,d,k);a.call(0,k)};a.clearTimeout=function(n){a.defined(n)&&clearTimeout(n)};a.extend=function(a,d){var k;a||(a={});for(k in d)a[k]=d[k];return a};a.pick=function(){var a=arguments,d,k,v=a.length;for(d=0;d<v;d++)if(k=a[d],void 0!==k&&null!==k)return k};a.css=function(n,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+
100*d.opacity+")");a.extend(n.style,d)};a.createElement=function(n,d,k,v,u){n=y.createElement(n);var r=a.css;d&&a.extend(n,d);u&&r(n,{padding:0,border:"none",margin:0});k&&r(n,k);v&&v.appendChild(n);return n};a.extendClass=function(n,d){var k=function(){};k.prototype=new n;a.extend(k.prototype,d);return k};a.pad=function(a,d,k){return Array((d||2)+1-String(a).replace("-","").length).join(k||0)+a};a.relativeLength=function(a,d,k){return/%$/.test(a)?d*parseFloat(a)/100+(k||0):parseFloat(a)};a.wrap=
function(a,d,k){var n=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,g=this;g.proceed=function(){n.apply(g,arguments.length?arguments:d)};a.unshift(n);a=k.apply(this,a);g.proceed=null;return a}};a.formatSingle=function(n,d,k){var v=/\.([0-9])/,u=a.defaultOptions.lang;/f$/.test(n)?(k=(k=n.match(v))?k[1]:-1,null!==d&&(d=a.numberFormat(d,k,u.decimalPoint,-1<n.indexOf(",")?u.thousandsSep:""))):d=(k||a.time).dateFormat(n,d);return d};a.format=function(n,d,k){for(var v="{",
u=!1,r,g,h,f,q=[],m;n;){v=n.indexOf(v);if(-1===v)break;r=n.slice(0,v);if(u){r=r.split(":");g=r.shift().split(".");f=g.length;m=d;for(h=0;h<f;h++)m&&(m=m[g[h]]);r.length&&(m=a.formatSingle(r.join(":"),m,k));q.push(m)}else q.push(r);n=n.slice(v+1);v=(u=!u)?"}":"{"}q.push(n);return q.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(n,d,k,v,u){var r,g=n;k=a.pick(k,1);r=n/k;d||(d=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],
!1===v&&(1===k?d=a.grep(d,function(a){return 0===a%1}):.1>=k&&(d=[1/k])));for(v=0;v<d.length&&!(g=d[v],u&&g*k>=n||!u&&r<=(d[v]+(d[v+1]||d[v]))/2);v++);return g=a.correctFloat(g*k,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var k=a.length,n,u;for(u=0;u<k;u++)a[u].safeI=u;a.sort(function(a,g){n=d(a,g);return 0===n?a.safeI-g.safeI:n});for(u=0;u<k;u++)delete a[u].safeI};a.arrayMin=function(a){for(var d=a.length,k=a[0];d--;)a[d]<k&&(k=a[d]);return k};a.arrayMax=function(a){for(var d=
a.length,k=a[0];d--;)a[d]>k&&(k=a[d]);return k};a.destroyObjectProperties=function(n,d){a.objectEach(n,function(a,v){a&&a!==d&&a.destroy&&a.destroy();delete n[v]})};a.discardElement=function(n){var d=a.garbageBin;d||(d=a.createElement("div"));n&&d.appendChild(n);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(n,d){d.renderer.globalAnimation=a.pick(n,d.options.chart.animation,!0)};a.animObject=function(n){return a.isObject(n)?a.merge(n):
{duration:n?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(n,d,k,v){n=+n||0;d=+d;var u=a.defaultOptions.lang,r=(n.toString().split(".")[1]||"").split("e")[0].length,g,h,f=n.toString().split("e");-1===d?d=Math.min(r,20):a.isNumber(d)?d&&f[1]&&0>f[1]&&(g=d+ +f[1],0<=g?(f[0]=(+f[0]).toExponential(g).split("e")[0],d=g):(f[0]=f[0].split(".")[0]||0,n=20>d?(f[0]*Math.pow(10,f[1])).toFixed(d):0,f[1]=0)):d=2;h=(Math.abs(f[1]?
f[0]:n)+Math.pow(10,-Math.max(d,r)-1)).toFixed(d);r=String(a.pInt(h));g=3<r.length?r.length%3:0;k=a.pick(k,u.decimalPoint);v=a.pick(v,u.thousandsSep);n=(0>n?"-":"")+(g?r.substr(0,g)+v:"");n+=r.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+v);d&&(n+=k+h.slice(-d));f[1]&&0!==+n&&(n+="e"+f[1]);return n};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(n,d,k){if("width"===d)return Math.max(0,Math.min(n.offsetWidth,n.scrollWidth)-a.getStyle(n,"padding-left")-a.getStyle(n,
"padding-right"));if("height"===d)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-a.getStyle(n,"padding-top")-a.getStyle(n,"padding-bottom"));D.getComputedStyle||a.error(27,!0);if(n=D.getComputedStyle(n,void 0))n=n.getPropertyValue(d),a.pick(k,"opacity"!==d)&&(n=a.pInt(n));return n};a.inArray=function(n,d,k){return(a.indexOfPolyfill||Array.prototype.indexOf).call(d,n,k)};a.grep=function(n,d){return(a.filterPolyfill||Array.prototype.filter).call(n,d)};a.find=Array.prototype.find?function(a,
d){return a.find(d)}:function(a,d){var k,n=a.length;for(k=0;k<n;k++)if(d(a[k],k))return a[k]};a.some=function(n,d,k){return(a.somePolyfill||Array.prototype.some).call(n,d,k)};a.map=function(a,d){for(var k=[],n=0,u=a.length;n<u;n++)k[n]=d.call(a[n],a[n],n,a);return k};a.keys=function(n){return(a.keysPolyfill||Object.keys).call(void 0,n)};a.reduce=function(n,d,k){return(a.reducePolyfill||Array.prototype.reduce).apply(n,2<arguments.length?[d,k]:[d])};a.offset=function(a){var d=y.documentElement;a=a.parentElement||
a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(D.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(D.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(n,d){for(var k=a.timers.length;k--;)a.timers[k].elem!==n||d&&d!==a.timers[k].prop||(a.timers[k].stopped=!0)};a.each=function(n,d,k){return(a.forEachPolyfill||Array.prototype.forEach).call(n,d,k)};a.objectEach=function(a,d,k){for(var n in a)a.hasOwnProperty(n)&&d.call(k||a[n],a[n],n,a)};a.addEvent=function(n,
d,k,v){var u,r=n.addEventListener||a.addEventListenerPolyfill;u="function"===typeof n&&n.prototype?n.prototype.protoEvents=n.prototype.protoEvents||{}:n.hcEvents=n.hcEvents||{};a.Point&&n instanceof a.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);r&&r.call(n,d,k,!1);u[d]||(u[d]=[]);u[d].push(k);v&&a.isNumber(v.order)&&(k.order=v.order,u[d].sort(function(a,h){return a.order-h.order}));return function(){a.removeEvent(n,d,k)}};a.removeEvent=function(n,d,k){function v(h,f){var g=
n.removeEventListener||a.removeEventListenerPolyfill;g&&g.call(n,h,f,!1)}function u(h){var f,g;n.nodeName&&(d?(f={},f[d]=!0):f=h,a.objectEach(f,function(a,e){if(h[e])for(g=h[e].length;g--;)v(e,h[e][g])}))}var r,g;a.each(["protoEvents","hcEvents"],function(h){var f=n[h];f&&(d?(r=f[d]||[],k?(g=a.inArray(k,r),-1<g&&(r.splice(g,1),f[d]=r),v(d,k)):(u(f),f[d]=[])):(u(f),n[h]={}))})};a.fireEvent=function(n,d,k,v){var u,r,g,h,f;k=k||{};y.createEvent&&(n.dispatchEvent||n.fireEvent)?(u=y.createEvent("Events"),
u.initEvent(d,!0,!0),a.extend(u,k),n.dispatchEvent?n.dispatchEvent(u):n.fireEvent(d,u)):a.each(["protoEvents","hcEvents"],function(q){if(n[q])for(r=n[q][d]||[],g=r.length,k.target||a.extend(k,{preventDefault:function(){k.defaultPrevented=!0},target:n,type:d}),h=0;h<g;h++)(f=r[h])&&!1===f.call(n,k)&&k.preventDefault()});v&&!k.defaultPrevented&&v.call(n,k)};a.animate=function(n,d,k){var v,u="",r,g,h;a.isObject(k)||(h=arguments,k={duration:h[2],easing:h[3],complete:h[4]});a.isNumber(k.duration)||(k.duration=
400);k.easing="function"===typeof k.easing?k.easing:Math[k.easing]||Math.easeInOutSine;k.curAnim=a.merge(d);a.objectEach(d,function(f,h){a.stop(n,h);g=new a.Fx(n,k,h);r=null;"d"===h?(g.paths=g.initPath(n,n.d,d.d),g.toD=d.d,v=0,r=1):n.attr?v=n.attr(h):(v=parseFloat(a.getStyle(n,h))||0,"opacity"!==h&&(u="px"));r||(r=f);r&&r.match&&r.match("px")&&(r=r.replace(/px/g,""));g.run(v,r,u)})};a.seriesType=function(n,d,k,v,u){var r=a.getOptions(),g=a.seriesTypes;r.plotOptions[n]=a.merge(r.plotOptions[d],k);
g[n]=a.extendClass(g[d]||function(){},v);g[n].prototype.type=n;u&&(g[n].prototype.pointClass=a.extendClass(a.Point,u));return g[n]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();D.jQuery&&(D.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?(new (a[a.isString(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})})(J);(function(a){var B=a.each,
y=a.isNumber,D=a.map,n=a.merge,d=a.pInt;a.Color=function(k){if(!(this instanceof a.Color))return new a.Color(k);this.init(k)};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[d(a[1]),d(a[2]),d(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[d(a[1]),d(a[2]),d(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(d){var k,
n,r,g;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=D(d.stops,function(h){return new a.Color(h[1])});else if(d&&d.charAt&&"#"===d.charAt()&&(k=d.length,d=parseInt(d.substr(1),16),7===k?n=[(d&16711680)>>16,(d&65280)>>8,d&255,1]:4===k&&(n=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!n)for(r=this.parsers.length;r--&&!n;)g=this.parsers[r],(k=g.regex.exec(d))&&(n=g.parse(k));this.rgba=n||[]},get:function(a){var d=this.input,k=this.rgba,r;this.stops?
(r=n(d),r.stops=[].concat(r.stops),B(this.stops,function(g,h){r.stops[h]=[r.stops[h][0],g.get(a)]})):r=k&&y(k[0])?"rgb"===a||!a&&1===k[3]?"rgb("+k[0]+","+k[1]+","+k[2]+")":"a"===a?k[3]:"rgba("+k.join(",")+")":d;return r},brighten:function(a){var k,n=this.rgba;if(this.stops)B(this.stops,function(d){d.brighten(a)});else if(y(a)&&0!==a)for(k=0;3>k;k++)n[k]+=d(255*a),0>n[k]&&(n[k]=0),255<n[k]&&(n[k]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var k=this.rgba,
r=a.rgba;r.length&&k&&k.length?(a=1!==r[3]||1!==k[3],d=(a?"rgba(":"rgb(")+Math.round(r[0]+(k[0]-r[0])*(1-d))+","+Math.round(r[1]+(k[1]-r[1])*(1-d))+","+Math.round(r[2]+(k[2]-r[2])*(1-d))+(a?","+(r[3]+(k[3]-r[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(d){return new a.Color(d)}})(J);(function(a){var B=a.defined,y=a.each,D=a.extend,n=a.merge,d=a.pick,k=a.timeUnits,v=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var k=d(a&&a.useUTC,
!0),g=this;this.options=a=n(!0,this.options||{},a);this.Date=a.Date||v.Date;this.timezoneOffset=(this.useUTC=k)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(k&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var h=f.getTime(),m=h-g.getTimezoneOffset(f);f.setTime(m);a=f["getUTC"+a]();f.setTime(h);return a},this.set=function(a,f,q){var h;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%
60)f["set"+a](q);else h=g.getTimezoneOffset(f),h=f.getTime()-h,f.setTime(h),f["setUTC"+a](q),a=g.getTimezoneOffset(f),h=f.getTime()+a,f.setTime(h)}):k?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,g){return f["setUTC"+a](g)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,g){return f["set"+a](g)})},makeTime:function(k,r,g,h,f,q){var m,e,b;this.useUTC?(m=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(m),m+=e,b=this.getTimezoneOffset(m),e!==b?m+=
b-e:e-36E5!==this.getTimezoneOffset(m-36E5)||a.isSafari||(m-=36E5)):m=(new this.Date(k,r,d(g,1),d(h,0),d(f,0),d(q,0))).getTime();return m},timezoneOffsetFunction:function(){var d=this,k=this.options,g=v.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(k.timezone){if(g)return function(a){return 6E4*-g.tz(a,k.timezone).utcOffset()};a.error(25)}return this.useUTC&&k.getTimezoneOffset?function(a){return 6E4*k.getTimezoneOffset(a)}:function(){return 6E4*(d.timezoneOffset||
0)}},dateFormat:function(d,k,g){if(!a.defined(k)||isNaN(k))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var h=this,f=new this.Date(k),q=this.get("Hours",f),m=this.get("Day",f),e=this.get("Date",f),b=this.get("Month",f),c=this.get("FullYear",f),p=a.defaultOptions.lang,A=p.weekdays,I=p.shortWeekdays,w=a.pad,f=a.extend({a:I?I[m]:A[m].substr(0,3),A:A[m],d:w(e),e:w(e,2," "),w:m,b:p.shortMonths[b],B:p.months[b],m:w(b+1),o:b+1,y:c.toString().substr(2,2),Y:c,H:w(q),k:q,I:w(q%
12||12),l:q%12||12,M:w(h.get("Minutes",f)),p:12>q?"AM":"PM",P:12>q?"am":"pm",S:w(f.getSeconds()),L:w(Math.floor(k%1E3),3)},a.dateFormats);a.objectEach(f,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+b,"function"===typeof a?a.call(h,k):a)});return g?d.substr(0,1).toUpperCase()+d.substr(1):d},getTimeTicks:function(a,r,g,h){var f=this,q=[],m,e={},b;m=new f.Date(r);var c=a.unitRange,p=a.count||1,A;h=d(h,1);if(B(r)){f.set("Milliseconds",m,c>=k.second?0:p*Math.floor(f.get("Milliseconds",m)/
p));c>=k.second&&f.set("Seconds",m,c>=k.minute?0:p*Math.floor(f.get("Seconds",m)/p));c>=k.minute&&f.set("Minutes",m,c>=k.hour?0:p*Math.floor(f.get("Minutes",m)/p));c>=k.hour&&f.set("Hours",m,c>=k.day?0:p*Math.floor(f.get("Hours",m)/p));c>=k.day&&f.set("Date",m,c>=k.month?1:p*Math.floor(f.get("Date",m)/p));c>=k.month&&(f.set("Month",m,c>=k.year?0:p*Math.floor(f.get("Month",m)/p)),b=f.get("FullYear",m));c>=k.year&&f.set("FullYear",m,b-b%p);c===k.week&&(b=f.get("Day",m),f.set("Date",m,f.get("Date",m)-
b+h+(b<h?-7:0)));b=f.get("FullYear",m);h=f.get("Month",m);var I=f.get("Date",m),w=f.get("Hours",m);r=m.getTime();f.variableTimezone&&(A=g-r>4*k.month||f.getTimezoneOffset(r)!==f.getTimezoneOffset(g));r=m.getTime();for(m=1;r<g;)q.push(r),r=c===k.year?f.makeTime(b+m*p,0):c===k.month?f.makeTime(b,h+m*p):!A||c!==k.day&&c!==k.week?A&&c===k.hour&&1<p?f.makeTime(b,h,I,w+m*p):r+c*p:f.makeTime(b,h,I+m*p*(c===k.day?1:7)),m++;q.push(r);c<=k.hour&&1E4>q.length&&y(q,function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",
a)&&(e[a]="day")})}q.info=D(a,{higherRanks:e,totalRange:c*p});return q}}})(J);(function(a){var B=a.color,y=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},
title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},
itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",
minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:B("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",
fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(D){a.defaultOptions=y(!0,a.defaultOptions,D);a.time.update(y(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(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,n,d){return a.time.dateFormat(y,n,d)}})(J);(function(a){var B,y,D=a.addEvent,n=a.animate,d=a.attr,k=a.charts,v=a.color,u=a.css,r=a.createElement,g=a.defined,h=a.deg2rad,f=a.destroyObjectProperties,q=a.doc,m=a.each,e=a.extend,b=a.erase,c=a.grep,p=a.hasTouch,A=a.inArray,I=a.isArray,w=a.isFirefox,M=a.isMS,C=a.isObject,E=a.isString,l=a.isWebKit,H=a.merge,x=a.noop,L=a.objectEach,G=a.pick,t=a.pInt,z=a.removeEvent,
N=a.stop,S=a.svg,K=a.SVG_NS,P=a.symbolSizes,O=a.win;B=a.SVGElement=function(){return this};e(B.prototype,{opacity:1,SVG_NS:K,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,b){this.element="span"===b?r(b):q.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(F,b,e){b=a.animObject(G(b,this.renderer.globalAnimation,!0));0!==b.duration?(e&&(b.complete=e),n(this,F,b)):
(this.attr(F,null,e),b.step&&b.step.call(this));return this},complexColor:function(b,e,c){var F=this.renderer,t,z,l,f,p,K,h,Q,A,q,x,d=[],w;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?z="radialGradient":b.linearGradient&&(z="linearGradient");z&&(l=b[z],p=F.gradients,h=b.stops,q=c.radialReference,I(l)&&(b[z]=l={x1:l[0],y1:l[1],x2:l[2],y2:l[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===z&&q&&!g(l.gradientUnits)&&(f=l,l=H(l,F.getRadialAttr(q,f),{gradientUnits:"userSpaceOnUse"})),
L(l,function(a,b){"id"!==b&&d.push(b,a)}),L(h,function(a){d.push(a)}),d=d.join(","),p[d]?x=p[d].attr("id"):(l.id=x=a.uniqueKey(),p[d]=K=F.createElement(z).attr(l).add(F.defs),K.radAttr=f,K.stops=[],m(h,function(b){0===b[1].indexOf("rgba")?(t=a.color(b[1]),Q=t.get("rgb"),A=t.get("a")):(Q=b[1],A=1);b=F.createElement("stop").attr({offset:b[0],"stop-color":Q,"stop-opacity":A}).add(K);K.stops.push(b)})),w="url("+F.url+"#"+x+")",c.setAttribute(e,w),c.gradient=d,b.toString=function(){return w})})},applyTextOutline:function(F){var e=
this.element,c,t,z,l,p;-1!==F.indexOf("contrast")&&(F=F.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));F=F.split(" ");t=F[F.length-1];if((z=F[0])&&"none"!==z&&a.svg){this.fakeTS=!0;F=[].slice.call(e.getElementsByTagName("tspan"));this.ySetter=this.xSetter;z=z.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,e){return 2*b+e});for(p=F.length;p--;)c=F[p],"highcharts-text-outline"===c.getAttribute("class")&&b(F,e.removeChild(c));l=e.firstChild;m(F,function(a,b){0===b&&(a.setAttribute("x",e.getAttribute("x")),
b=e.getAttribute("y"),a.setAttribute("y",b||0),null===b&&e.setAttribute("y",0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:t,stroke:t,"stroke-width":z,"stroke-linejoin":"round"});e.insertBefore(a,l)})}},attr:function(a,b,e,c){var F,t=this.element,z,l=this,p,f;"string"===typeof a&&void 0!==b&&(F=a,a={},a[F]=b);"string"===typeof a?l=(this[a+"Getter"]||this._defaultGetter).call(this,a,t):(L(a,function(b,e){p=!1;c||N(this,e);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(e)&&
(z||(this.symbolAttr(a),z=!0),p=!0);!this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0);p||(f=this[e+"Setter"]||this._defaultSetter,f.call(this,b,e,t),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(e)&&this.updateShadows(e,b,f))},this),this.afterSetters());e&&e.call(this);return l},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,e){for(var c=this.shadows,F=c.length;F--;)e.call(c[F],"height"===a?Math.max(b-
(c[F].cutHeight||0),0):"d"===a?this.d:b,a,c[F])},addClass:function(a,b){var e=this.attr("class")||"";-1===e.indexOf(a)&&(b||(a=(e+(e?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==A(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;m("x y r start end width height innerR anchorX anchorY".split(" "),function(e){b[e]=G(a[e],b[e])});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 e;b=b||a.strokeWidth||0;e=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+e;a.y=Math.floor(a.y||this.y||0)+e;a.width=Math.floor((a.width||this.width||0)-2*e);a.height=Math.floor((a.height||this.height||0)-2*e);g(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,c={},F=this.element,z,l="",p,f=!b,K=["textOutline","textOverflow",
"width"];a&&a.color&&(a.fill=a.color);b&&L(a,function(a,e){a!==b[e]&&(c[e]=a,f=!0)});f&&(b&&(a=e(b,c)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===F.nodeName.toLowerCase()&&a.width&&(z=this.textWidth=t(a.width))),this.styles=a,z&&!S&&this.renderer.forExport&&delete a.width,F.namespaceURI===this.SVG_NS?(p=function(a,b){return"-"+b.toLowerCase()},L(a,function(a,b){-1===A(b,K)&&(l+=b.replace(/([A-Z])/g,p)+":"+a+";")}),l&&d(F,"style",l)):u(F,a),this.added&&("text"===this.element.nodeName&&
this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var e=this,c=e.element;p&&"click"===a?(c.ontouchstart=function(a){e.touchEventFired=Date.now();a.preventDefault();b.call(c,a)},c.onclick=function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(e.touchEventFired||0))&&b.call(c,a)}):c["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,e=this.scaleX,c=this.scaleY,t=this.inverted,z=this.rotation,l=this.matrix,p=this.element;t&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];g(l)&&a.push("matrix("+l.join(",")+
")");t?a.push("rotate(90) scale(-1,1)"):z&&a.push("rotate("+z+" "+G(this.rotationOriginX,p.getAttribute("x"),0)+" "+G(this.rotationOriginY,p.getAttribute("y")||0)+")");(g(e)||g(c))&&a.push("scale("+G(e,1)+" "+G(c,1)+")");a.length&&p.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,e,c){var t,F,z,l,p={};F=this.renderer;z=F.alignedObjects;var f,K;if(a){if(this.alignOptions=a,this.alignByTranslate=e,!c||E(c))this.alignTo=
t=c||"renderer",b(z,this),z.push(this),c=null}else a=this.alignOptions,e=this.alignByTranslate,t=this.alignTo;c=G(c,F[t],F);t=a.align;F=a.verticalAlign;z=(c.x||0)+(a.x||0);l=(c.y||0)+(a.y||0);"right"===t?f=1:"center"===t&&(f=2);f&&(z+=(c.width-(a.width||0))/f);p[e?"translateX":"x"]=Math.round(z);"bottom"===F?K=1:"middle"===F&&(K=2);K&&(l+=(c.height-(a.height||0))/K);p[e?"translateY":"y"]=Math.round(l);this[this.placed?"animate":"attr"](p);this.placed=!0;this.alignAttr=p;return this},getBBox:function(a,
b){var c,t=this.renderer,F,z=this.element,l=this.styles,p,f=this.textStr,K,A=t.cache,q=t.cacheKeys,d;b=G(b,this.rotation);F=b*h;p=l&&l.fontSize;g(f)&&(d=f.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,"0")),d+=["",b||0,p,this.textWidth,l&&l.textOverflow].join());d&&!a&&(c=A[d]);if(!c){if(z.namespaceURI===this.SVG_NS||t.forExport){try{(K=this.fakeTS&&function(a){m(z.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&K("none"),c=z.getBBox?e({},z.getBBox()):{width:z.offsetWidth,
height:z.offsetHeight},K&&K("")}catch(X){}if(!c||0>c.width)c={width:0,height:0}}else c=this.htmlGetBBox();t.isSVG&&(a=c.width,t=c.height,l&&"11px"===l.fontSize&&17===Math.round(t)&&(c.height=t=14),b&&(c.width=Math.abs(t*Math.sin(F))+Math.abs(a*Math.cos(F)),c.height=Math.abs(t*Math.cos(F))+Math.abs(a*Math.sin(F))));if(d&&0<c.height){for(;250<q.length;)delete A[q.shift()];A[d]||q.push(d);A[d]=c}}return c},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,e=this.element,c;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)c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(e);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=
this,e=a.element||{},c=a.renderer.isSVG&&"SPAN"===e.nodeName&&a.parentGroup,t=e.ownerSVGElement,z=a.clipPath;e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null;N(a);z&&t&&(m(t.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),e=z.element.id;(-1<b.indexOf("(#"+e+")")||-1<b.indexOf('("#'+e+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=z.destroy());if(a.stops){for(t=0;t<a.stops.length;t++)a.stops[t]=a.stops[t].destroy();a.stops=null}a.safeRemoveChild(e);
for(a.destroyShadows();c&&c.div&&0===c.div.childNodes.length;)e=c.parentGroup,a.safeRemoveChild(c.div),delete c.div,c=e;a.alignTo&&b(a.renderer.alignedObjects,a);L(a,function(b,e){delete a[e]});return null},shadow:function(a,b,e){var c=[],t,z,l=this.element,F,p,f,K;if(!a)this.destroyShadows();else if(!this.shadows){p=G(a.width,3);f=(a.opacity||.15)/p;K=this.parentInverted?"(-1,-1)":"("+G(a.offsetX,1)+", "+G(a.offsetY,1)+")";for(t=1;t<=p;t++)z=l.cloneNode(0),F=2*p+1-2*t,d(z,{stroke:a.color||"#000000",
"stroke-opacity":f*t,"stroke-width":F,transform:"translate"+K,fill:"none"}),z.setAttribute("class",(z.getAttribute("class")||"")+" highcharts-shadow"),e&&(d(z,"height",Math.max(d(z,"height")-F,0)),z.cutHeight=F),b?b.element.appendChild(z):l.parentNode&&l.parentNode.insertBefore(z,l),c.push(z);this.shadows=c}return this},destroyShadows:function(){m(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":
"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=G(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,e){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(e.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,e=this["stroke-width"];"inherit"===e&&(e=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot",
"3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=t(a[b])*e;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,e){this[b]=a;e.setAttribute(b,a)},titleSetter:function(a){var b=
this.element.getElementsByTagName("title")[0];b||(b=q.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(q.createTextNode(String(G(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,e){"string"===typeof a?e.setAttribute(b,a):a&&this.complexColor(a,b,e)},visibilitySetter:function(a,
b,e){"inherit"===a?e.removeAttribute(b):this[b]!==a&&e.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var e=this.renderer,c=this.parentGroup,z=(c||e).element||e.box,l,p=this.element,f,F,e=z===e.box;l=this.added;var K;g(a)?(p.setAttribute("data-z-index",a),a=+a,this[b]===a&&(l=!1)):g(this[b])&&p.removeAttribute("data-z-index");this[b]=a;if(l){(a=this.zIndex)&&c&&(c.handleZ=!0);b=z.childNodes;for(K=b.length-1;0<=K&&!f;K--)if(c=b[K],l=c.getAttribute("data-z-index"),F=!g(l),c!==p)if(0>a&&F&&
!e&&!K)z.insertBefore(p,b[K]),f=!0;else if(t(l)<=a||F&&(!g(a)||0<=a))z.insertBefore(p,b[K+1]||null),f=!0;f||(z.insertBefore(p,b[e?3:0]||null),f=!0)}return f},_defaultSetter:function(a,b,e){e.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};B.prototype["stroke-widthSetter"]=B.prototype.strokeSetter=function(a,b,e){this[b]=a;this.stroke&&this["stroke-width"]?(B.prototype.fillSetter.call(this,this.stroke,"stroke",e),e.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(e.removeAttribute("stroke"),this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(y.prototype,{Element:B,SVG_NS:K,init:function(a,b,e,c,
t,z){var p;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(c));p=c.element;a.appendChild(p);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(p,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=p;this.boxWrapper=c;this.alignedObjects=[];this.url=(w||l)&&q.getElementsByTagName("base").length?O.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(q.createTextNode("Created with Highmaps 6.1.4"));
this.defs=this.createElement("defs").add();this.allowHTML=z;this.forExport=t;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,e,!1);var f;w&&a.getBoundingClientRect&&(b=function(){u(a,{left:0,top:0});f=a.getBoundingClientRect();u(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},b(),this.unSubPixelFix=D(O,"resize",b))},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},
a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();f(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:x,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]}},truncate:function(a,b,e,c,t,z,l){var p=this,f=a.rotation,K,h=c?1:0,g=(e||c).length,F=g,d=[],m=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(q.createTextNode(a))},A=function(z,f){f=f||z;if(void 0===d[f])if(b.getSubStringLength)try{d[f]=t+b.getSubStringLength(0,c?f+1:f)}catch(Y){}else m(l(e||c,z)),d[f]=t+p.getSpanWidth(a,b);return d[f]},x,w;a.rotation=0;x=A(b.textContent.length);if(w=t+x>z){for(;h<=g;)F=Math.ceil((h+g)/2),c&&(K=l(c,F)),x=A(F,K&&
K.length-1),h===g?h=g+1:x>z?g=F-1:h=F;0===g?m(""):e&&g===e.length-1||m(K||l(e||c,F))}c&&c.splice(0,F);a.actualWidth=x;a.rotation=f;return w},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,e=this,z=e.forExport,l=G(a.textStr,"").toString(),p=-1!==l.indexOf("\x3c"),f=b.childNodes,h,g=d(b,"x"),F=a.styles,x=a.textWidth,w=F&&F.lineHeight,H=F&&F.textOutline,C=F&&"ellipsis"===F.textOverflow,N=F&&"nowrap"===F.whiteSpace,k=
F&&F.fontSize,I,r,P=f.length,F=x&&!a.added&&this.box,E=function(a){var c;c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:k||e.style.fontSize||12;return w?t(w):e.fontMetrics(c,a.getAttribute("style")?a:b).h},n=function(a,b){L(e.escapes,function(e,c){b&&-1!==A(e,b)||(a=a.toString().replace(new RegExp(e,"g"),c))});return a},O=function(a,b){var e;e=a.indexOf("\x3c");a=a.substring(e,a.indexOf("\x3e")-e);e=a.indexOf(b+"\x3d");if(-1!==e&&(e=e+b.length+1,b=a.charAt(e),'"'===b||"'"===b))return a=a.substring(e+
1),a.substring(0,a.indexOf(b))};I=[l,C,N,w,H,k,x].join();if(I!==a.textCache){for(a.textCache=I;P--;)b.removeChild(f[P]);p||H||C||x||-1!==l.indexOf(" ")?(F&&F.appendChild(b),l=p?l.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[l],l=c(l,function(a){return""!==a}),m(l,function(c,t){var l,p=0,f=0;c=c.replace(/^\s+|\s+$/g,"").replace(/<span/g,
"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");l=c.split("|||");m(l,function(c){if(""!==c||1===l.length){var F={},m=q.createElementNS(e.SVG_NS,"tspan"),A,w;(A=O(c,"class"))&&d(m,"class",A);if(A=O(c,"style"))A=A.replace(/(;| |^)color([ :])/,"$1fill$2"),d(m,"style",A);(w=O(c,"href"))&&!z&&(d(m,"onclick",'location.href\x3d"'+w+'"'),d(m,"class","highcharts-anchor"),u(m,{cursor:"pointer"}));c=n(c.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==c){m.appendChild(q.createTextNode(c));p?F.dx=0:
t&&null!==g&&(F.x=g);d(m,F);b.appendChild(m);!p&&r&&(!S&&z&&u(m,{display:"block"}),d(m,"dy",E(m)));if(x){var H=c.replace(/([^\^])-/g,"$1- ").split(" "),F=!N&&(1<l.length||t||1<H.length);w=0;var I=E(m);if(C)h=e.truncate(a,m,c,void 0,0,Math.max(0,x-parseInt(k||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(F)for(;H.length;)H.length&&!N&&0<w&&(m=q.createElementNS(K,"tspan"),d(m,{dy:I,x:g}),A&&d(m,"style",A),m.appendChild(q.createTextNode(H.join(" ").replace(/- /g,"-"))),b.appendChild(m)),
e.truncate(a,m,null,H,0===w?f:0,x,function(a,b){return H.slice(0,b).join(" ").replace(/- /g,"-")}),f=a.actualWidth,w++}p++}}});r=r||b.childNodes.length}),C&&h&&a.attr("title",n(a.textStr,["\x26lt;","\x26gt;"])),F&&F.removeChild(b),H&&a.applyTextOutline&&a.applyTextOutline(H)):b.appendChild(q.createTextNode(n(l)))}},getContrast:function(a){a=v(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,c,t,z,l,p,f,K){var g=this.label(a,b,c,K,null,null,null,
null,"button"),h=0;g.attr(H({padding:8,r:2},z));var m,F,A,d;z=H({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},z);m=z.style;delete z.style;l=H(z,{fill:"#e6e6e6"},l);F=l.style;delete l.style;p=H(z,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},p);A=p.style;delete p.style;f=H(z,{style:{color:"#cccccc"}},f);d=f.style;delete f.style;D(g.element,M?"mouseover":"mouseenter",function(){3!==h&&g.setState(1)});D(g.element,M?"mouseout":
"mouseleave",function(){3!==h&&g.setState(h)});g.setState=function(a){1!==a&&(g.state=h=a);g.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);g.attr([z,l,p,f][a||0]).css([m,F,A,d][a||0])};g.attr(z).css(e({cursor:"default"},m));return g.on("click",function(a){3!==h&&t.call(g,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={fill:"none"};I(a)?b.d=a:C(a)&&e(b,a);return this.createElement("path").attr(b)},circle:function(a,b,e){a=C(a)?a:{x:a,y:b,r:e};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,e){e.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,e,c,t,z){C(a)?(c=a,b=c.y,e=c.r,a=c.x):c={innerR:c,start:t,end:z};a=this.symbol("arc",a,b,e,e,c);a.r=e;return a},rect:function(a,b,e,c,t,z){t=C(a)?a.r:t;var l=this.createElement("rect");a=C(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(e,
0),height:Math.max(c,0)};void 0!==z&&(a.strokeWidth=z,a=l.crisp(a));a.fill="none";t&&(a.r=t);l.rSetter=function(a,b,e){d(e,{rx:a,ry:a})};return l.attr(a)},setSize:function(a,b,e){var c=this.alignedObjects,t=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:G(e,!0)?void 0:0});t--;)c[t].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+
a}):b},image:function(a,b,c,t,z,l){var p={preserveAspectRatio:"none"},f,K=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},g=function(b){K(f.element,a);l.call(f,b)};1<arguments.length&&e(p,{x:b,y:c,width:t,height:z});f=this.createElement("image").attr(p);l?(K(f.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),p=new O.Image,D(p,"load",g),p.src=a,p.complete&&g({})):K(f.element,a);return f},
symbol:function(a,b,c,t,z,l){var p=this,f,K=/^url\((.*?)\)$/,h=K.test(a),A=!h&&(this.symbols[a]?a:"circle"),d=A&&this.symbols[A],x=g(b)&&d&&d.call(this.symbols,Math.round(b),Math.round(c),t,z,l),w,H;d?(f=this.path(x),f.attr("fill","none"),e(f,{symbolName:A,x:b,y:c,width:t,height:z}),l&&e(f,l)):h&&(w=a.match(K)[1],f=this.image(w),f.imgwidth=G(P[w]&&P[w].width,l&&l.width),f.imgheight=G(P[w]&&P[w].height,l&&l.height),H=function(){f.attr({width:f.width,height:f.height})},m(["width","height"],function(a){f[a+
"Setter"]=function(a,b){var e={},c=this["img"+b],t="width"===b?"translateX":"translateY";this[b]=a;g(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(e[t]=((this[b]||0)-c)/2,this.attr(e)))}}),g(b)&&f.attr({x:b,y:c}),f.isImg=!0,g(f.imgwidth)&&g(f.imgheight)?H():(f.attr({width:0,height:0}),r("img",{onload:function(){var a=k[p.chartIndex];0===this.width&&(u(this,{position:"absolute",top:"-999em"}),q.body.appendChild(this));P[w]={width:this.width,height:this.height};f.imgwidth=
this.width;f.imgheight=this.height;f.element&&H();this.parentNode&&this.parentNode.removeChild(this);p.imgCount--;if(!p.imgCount&&a&&a.onload)a.onload()},src:w}),this.imgCount++));return f},symbols:{circle:function(a,b,e,c){return this.arc(a+e/2,b+c/2,e/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,e,c){return["M",a,b,"L",a+e,b,a+e,b+c,a,b+c,"Z"]},triangle:function(a,b,e,c){return["M",a+e/2,b,"L",a+e,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,e,c){return["M",a,b,"L",a+e,b,a+e/2,b+
c,"Z"]},diamond:function(a,b,e,c){return["M",a+e/2,b,"L",a+e,b+c/2,a+e/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,e,c,t){var z=t.start,l=t.r||e,f=t.r||c||e,p=t.end-.001;e=t.innerR;c=G(t.open,.001>Math.abs(t.end-t.start-2*Math.PI));var K=Math.cos(z),h=Math.sin(z),m=Math.cos(p),p=Math.sin(p);t=.001>t.end-z-Math.PI?0:1;l=["M",a+l*K,b+f*h,"A",l,f,0,t,1,a+l*m,b+f*p];g(e)&&l.push(c?"M":"L",a+e*m,b+e*p,"A",e,e,0,t,0,a+e*K,b+e*h);l.push(c?"":"Z");return l},callout:function(a,b,e,c,t){var z=Math.min(t&&t.r||0,e,
c),l=z+6,f=t&&t.anchorX;t=t&&t.anchorY;var p;p=["M",a+z,b,"L",a+e-z,b,"C",a+e,b,a+e,b,a+e,b+z,"L",a+e,b+c-z,"C",a+e,b+c,a+e,b+c,a+e-z,b+c,"L",a+z,b+c,"C",a,b+c,a,b+c,a,b+c-z,"L",a,b+z,"C",a,b,a,b,a+z,b];f&&f>e?t>b+l&&t<b+c-l?p.splice(13,3,"L",a+e,t-6,a+e+6,t,a+e,t+6,a+e,b+c-z):p.splice(13,3,"L",a+e,c/2,f,t,a+e,c/2,a+e,b+c-z):f&&0>f?t>b+l&&t<b+c-l?p.splice(33,3,"L",a,t+6,a-6,t,a,t-6,a,b+z):p.splice(33,3,"L",a,c/2,f,t,a,c/2,a,b+z):t&&t>c&&f>a+l&&f<a+e-l?p.splice(23,3,"L",f+6,b+c,f,b+c+6,f-6,b+c,a+z,
b+c):t&&0>t&&f>a+l&&f<a+e-l&&p.splice(3,3,"L",f-6,b,f,b-6,f+6,b,e-z,b);return p}},clipRect:function(b,e,c,t){var z=a.uniqueKey(),l=this.createElement("clipPath").attr({id:z}).add(this.defs);b=this.rect(b,e,c,t,0).add(l);b.id=z;b.clipPath=l;b.count=0;return b},text:function(a,b,e,c){var t={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,e);t.x=Math.round(b||0);e&&(t.y=Math.round(e));if(a||0===a)t.text=a;a=this.createElement("text").attr(t);c||(a.xSetter=function(a,b,e){var c=e.getElementsByTagName("tspan"),
t,z=e.getAttribute(b),l;for(l=0;l<c.length;l++)t=c[l],t.getAttribute(b)===z&&t.setAttribute(b,a);e.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?t(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,e){var c=a;b&&e&&(c=Math.max(c*Math.cos(b*h),4));return{x:-a/3*Math.sin(b*h),y:c}},label:function(b,
c,t,l,f,p,K,h,A){var d=this,x=d.g("button"!==A&&"label"),q=x.text=d.text("",0,0,K).attr({zIndex:1}),w,C,S=0,N=3,k=0,I,G,r,P,E,n={},F,O,L=/^url\((.*?)\)$/.test(l),M=L,u,v,Q,U;A&&x.addClass("highcharts-"+A);M=L;u=function(){return(F||0)%2/2};v=function(){var a=q.element.style,b={};C=(void 0===I||void 0===G||E)&&g(q.textStr)&&q.getBBox();x.width=(I||C.width||0)+2*N+k;x.height=(G||C.height||0)+2*N;O=N+d.fontMetrics(a&&a.fontSize,q).b;M&&(w||(x.box=w=d.symbols[l]||L?d.symbol(l):d.rect(),w.addClass(("button"===
A?"":"highcharts-label-box")+(A?" highcharts-"+A+"-box":"")),w.add(x),a=u(),b.x=a,b.y=(h?-O:0)+a),b.width=Math.round(x.width),b.height=Math.round(x.height),w.attr(e(b,n)),n={})};Q=function(){var a=k+N,b;b=h?0:O;g(I)&&C&&("center"===E||"right"===E)&&(a+={center:.5,right:1}[E]*(I-C.width));if(a!==q.x||b!==q.y)q.attr("x",a),q.hasBoxWidthChanged&&(C=q.getBBox(!0),v()),void 0!==b&&q.attr("y",b);q.x=a;q.y=b};U=function(a,b){w?w.attr(a,b):n[a]=b};x.onAdd=function(){q.add(x);x.attr({text:b||0===b?b:"",x:c,
y:t});w&&g(f)&&x.attr({anchorX:f,anchorY:p})};x.widthSetter=function(b){I=a.isNumber(b)?b:null};x.heightSetter=function(a){G=a};x["text-alignSetter"]=function(a){E=a};x.paddingSetter=function(a){g(a)&&a!==N&&(N=x.padding=a,Q())};x.paddingLeftSetter=function(a){g(a)&&a!==k&&(k=a,Q())};x.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==S&&(S=a,C&&x.attr({x:r}))};x.textSetter=function(a){void 0!==a&&q.textSetter(a);v();Q()};x["stroke-widthSetter"]=function(a,b){a&&(M=!0);F=this["stroke-width"]=
a;U(b,a)};x.strokeSetter=x.fillSetter=x.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(M=!0),x[b]=a);U(b,a)};x.anchorXSetter=function(a,b){f=x.anchorX=a;U(b,Math.round(a)-u()-r)};x.anchorYSetter=function(a,b){p=x.anchorY=a;U(b,a-P)};x.xSetter=function(a){x.x=a;S&&(a-=S*((I||C.width)+2*N),x["forceAnimate:x"]=!0);r=Math.round(a);x.attr("translateX",r)};x.ySetter=function(a){P=x.y=Math.round(a);x.attr("translateY",P)};var R=x.css;return e(x,{css:function(a){if(a){var b={};a=H(a);m(x.textProps,function(e){void 0!==
a[e]&&(b[e]=a[e],delete a[e])});q.css(b);"width"in b&&v()}return R.call(x,a)},getBBox:function(){return{width:C.width+2*N,height:C.height+2*N,x:C.x-N,y:C.y-N}},shadow:function(a){a&&(v(),w&&w.shadow(a));return x},destroy:function(){z(x.element,"mouseenter");z(x.element,"mouseleave");q&&(q=q.destroy());w&&(w=w.destroy());B.prototype.destroy.call(x);x=d=v=Q=U=null}})}});a.Renderer=y})(J);(function(a){var B=a.attr,y=a.createElement,D=a.css,n=a.defined,d=a.each,k=a.extend,v=a.isFirefox,u=a.isMS,r=a.isWebKit,
g=a.pick,h=a.pInt,f=a.SVGRenderer,q=a.win,m=a.wrap;k(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,e=g(b&&a.width,void 0);b&&(delete a.width,this.textWidth=e,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=k(this.styles,a);D(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.translateX||0,f=this.translateY||0,g=this.x||0,m=this.y||0,q=this.textAlign||"left",k={left:0,center:.5,right:1}[q],C=this.styles,r=C&&C.whiteSpace;D(b,{marginLeft:c,marginTop:f});this.shadows&&d(this.shadows,function(a){D(a,{marginLeft:c+1,marginTop:f+1})});this.inverted&&d(b.childNodes,function(e){a.invertChild(e,b)});if("SPAN"===b.tagName){var C=this.rotation,l=this.textWidth&&h(this.textWidth),H=[C,q,b.innerHTML,this.textWidth,this.textAlign].join(),x;(x=l!==
this.oldTextWidth)&&!(x=l>this.oldTextWidth)&&((x=this.textPxLength)||(D(b,{width:"",whiteSpace:r||"nowrap"}),x=b.offsetWidth),x=x>l);x&&/[ \-]/.test(b.textContent||b.innerText)?(D(b,{width:l+"px",display:"block",whiteSpace:r||"normal"}),this.oldTextWidth=l,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;H!==this.cTT&&(r=a.fontMetrics(b.style.fontSize).b,!n(C)||C===(this.oldRotation||0)&&q===this.oldAlign||this.setSpanRotation(C,k,r),this.getSpanCorrection(!n(C)&&this.textPxLength||b.offsetWidth,
r,k,C,q));D(b,{left:g+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=H;this.oldRotation=C;this.oldAlign=q}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var e={},f=this.renderer.getTransformKey();e[f]=e.transform="rotate("+a+"deg)";e[f+(v?"Origin":"-origin")]=e.transformOrigin=100*b+"% "+c+"px";D(this.element,e)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});k(f.prototype,{getTransformKey:function(){return u&&!/Edge/.test(q.navigator.userAgent)?"-ms-transform":
r?"-webkit-transform":v?"MozTransform":q.opera?"-o-transform":""},html:function(a,b,c){var e=this.createElement("span"),f=e.element,h=e.renderer,q=h.isSVG,r=function(a,b){d(["opacity","visibility"],function(e){m(a,e+"Setter",function(a,e,c,l){a.call(this,e,c,l);b[c]=e})});a.addedSetters=!0};e.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=g(a,"");e.doTransform=!0};q&&r(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){"align"===
b&&(b="textAlign");e[b]=a;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});f.style.whiteSpace="nowrap";e.css=e.htmlCss;q&&(e.add=function(a){var b,c=h.box.parentNode,p=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)p.push(a),a=a.parentGroup;d(p.reverse(),function(a){function l(b,e){a[e]=b;"translateX"===
e?f.left=b+"px":f.top=b+"px";a.doTransform=!0}var f,t=B(a.element,"class");t&&(t={className:t});b=a.div=a.div||y("div",t,{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);f=b.style;k(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){p[0].div&&e.on.apply({element:p[0].div},arguments);return a},translateXSetter:l,translateYSetter:l});
a.addedSetters||r(a,f)})}}else b=c;b.appendChild(f);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e}})})(J);(function(a){var B=a.correctFloat,y=a.defined,D=a.destroyObjectProperties,n=a.fireEvent,d=a.isNumber,k=a.merge,v=a.pick,u=a.deg2rad;a.Tick=function(a,g,h,f){this.axis=a;this.pos=g;this.type=h||"";this.isNewLabel=this.isNew=!0;h||f||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,g=a.options,h=a.chart,f=a.categories,q=a.names,m=this.pos,e=g.labels,
b=a.tickPositions,c=m===b[0],p=m===b[b.length-1],q=f?v(f[m],q[m],m):m,f=this.label,b=b.info,d;a.isDatetimeAxis&&b&&(d=g.dateTimeLabelFormats[b.higherRanks[m]||b.unitName]);this.isFirst=c;this.isLast=p;g={axis:a,chart:h,isFirst:c,isLast:p,dateTimeLabelFormat:d,value:a.isLog?B(a.lin2log(q)):q,pos:m};g=a.labelFormatter.call(g,g);if(y(f))f&&f.textStr!==g&&(!f.textWidth||e.style&&e.style.width||f.styles.width||f.css({width:null}),f.attr({text:g}));else{if(this.label=f=y(g)&&e.enabled?h.renderer.text(g,
0,0,e.useHTML).css(k(e.style)).add(a.labelGroup):null)f.textPxLength=f.getBBox().width;this.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var g=this.axis,h=g.options.labels,f=a.x,d=g.chart.chartWidth,m=g.chart.spacing,e=v(g.labelLeft,Math.min(g.pos,m[3])),m=v(g.labelRight,Math.max(g.isRadial?0:g.pos+g.len,d-m[1])),b=this.label,c=this.rotation,p={left:0,center:.5,right:1}[g.labelAlign||b.attr("align")],A=
b.getBBox().width,k=g.getSlotWidth(this),w=k,r=1,C,n={};if(c||"justify"!==v(h.overflow,"justify"))0>c&&f-p*A<e?C=Math.round(f/Math.cos(c*u)-e):0<c&&f+p*A>m&&(C=Math.round((d-f)/Math.cos(c*u)));else if(d=f+(1-p)*A,f-p*A<e?w=a.x+w*(1-p)-e:d>m&&(w=m-a.x+w*p,r=-1),w=Math.min(k,w),w<k&&"center"===g.labelAlign&&(a.x+=r*(k-w-p*(k-Math.min(A,w)))),A>w||g.autoRotation&&(b.styles||{}).width)C=w;C&&(n.width=C,(h.style||{}).textOverflow||(n.textOverflow="ellipsis"),b.css(n))},getPosition:function(d,g,h,f){var q=
this.axis,m=q.chart,e=f&&m.oldChartHeight||m.chartHeight;d={x:d?a.correctFloat(q.translate(g+h,null,null,f)+q.transB):q.left+q.offset+(q.opposite?(f&&m.oldChartWidth||m.chartWidth)-q.right-q.left:0),y:d?e-q.bottom+q.offset-(q.opposite?q.height:0):a.correctFloat(e-q.translate(g+h,null,null,f)-q.transB)};n(this,"afterGetPosition",{pos:d});return d},getLabelPosition:function(a,g,h,f,d,m,e,b){var c=this.axis,p=c.transA,q=c.reversed,k=c.staggerLines,w=c.tickRotCorr||{x:0,y:0},r=d.y,C=f||c.reserveSpaceDefault?
0:-c.labelOffset*("center"===c.labelAlign?.5:1),E={};y(r)||(r=0===c.side?h.rotation?-8:-h.getBBox().height:2===c.side?w.y+8:Math.cos(h.rotation*u)*(w.y-h.getBBox(!1,0).height/2));a=a+d.x+C+w.x-(m&&f?m*p*(q?-1:1):0);g=g+r-(m&&!f?m*p*(q?1:-1):0);k&&(h=e/(b||1)%k,c.opposite&&(h=k-h-1),g+=c.labelOffset/k*h);E.x=a;E.y=Math.round(g);n(this,"afterGetLabelPosition",{pos:E});return E},getMarkPath:function(a,g,h,f,d,m){return m.crispLine(["M",a,g,"L",a+(d?0:-h),g+(d?h:0)],f)},renderGridLine:function(a,g,h){var f=
this.axis,d=f.options,m=this.gridLine,e={},b=this.pos,c=this.type,p=f.tickmarkOffset,A=f.chart.renderer,k=c?c+"Grid":"grid",w=d[k+"LineWidth"],r=d[k+"LineColor"],d=d[k+"LineDashStyle"];m||(e.stroke=r,e["stroke-width"]=w,d&&(e.dashstyle=d),c||(e.zIndex=1),a&&(e.opacity=0),this.gridLine=m=A.path().attr(e).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(f.gridGroup));if(!a&&m&&(a=f.getPlotLinePath(b+p,m.strokeWidth()*h,a,!0)))m[this.isNew?"attr":"animate"]({d:a,opacity:g})},renderMark:function(a,
g,h){var f=this.axis,d=f.options,m=f.chart.renderer,e=this.type,b=e?e+"Tick":"tick",c=f.tickSize(b),p=this.mark,A=!p,k=a.x;a=a.y;var w=v(d[b+"Width"],!e&&f.isXAxis?1:0),d=d[b+"Color"];c&&(f.opposite&&(c[0]=-c[0]),A&&(this.mark=p=m.path().addClass("highcharts-"+(e?e+"-":"")+"tick").add(f.axisGroup),p.attr({stroke:d,"stroke-width":w})),p[A?"attr":"animate"]({d:this.getMarkPath(k,a,c[0],p.strokeWidth()*h,f.horiz,m),opacity:g}))},renderLabel:function(a,g,h,f){var q=this.axis,m=q.horiz,e=q.options,b=this.label,
c=e.labels,p=c.step,q=q.tickmarkOffset,A=!0,k=a.x;a=a.y;b&&d(k)&&(b.xy=a=this.getLabelPosition(k,a,b,m,c,q,f,p),this.isFirst&&!this.isLast&&!v(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(e.showLastLabel,1)?A=!1:!m||c.step||c.rotation||g||0===h||this.handleOverflow(a),p&&f%p&&(A=!1),A&&d(a.y)?(a.opacity=h,b[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(b.attr("y",-9999),this.isNewLabel=!0))},render:function(d,g,h){var f=this.axis,q=f.horiz,m=this.getPosition(q,this.pos,f.tickmarkOffset,
g),e=m.x,b=m.y,f=q&&e===f.pos+f.len||!q&&b===f.pos?-1:1;h=v(h,1);this.isActive=!0;this.renderGridLine(g,h,f);this.renderMark(m,h,f);this.renderLabel(m,g,h,d);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){D(this,this.axis)}}})(J);var W=function(a){var B=a.addEvent,y=a.animObject,D=a.arrayMax,n=a.arrayMin,d=a.color,k=a.correctFloat,v=a.defaultOptions,u=a.defined,r=a.deg2rad,g=a.destroyObjectProperties,h=a.each,f=a.extend,q=a.fireEvent,m=a.format,e=a.getMagnitude,b=a.grep,c=a.inArray,
p=a.isArray,A=a.isNumber,I=a.isString,w=a.merge,M=a.normalizeTickInterval,C=a.objectEach,E=a.pick,l=a.removeEvent,H=a.splat,x=a.syncTimeout,L=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.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,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,
minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,
title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},
title:{rotation:0}},init:function(a,b){var e=b.isX,t=this;t.chart=a;t.horiz=a.inverted&&!t.isZAxis?!e:e;t.isXAxis=e;t.coll=t.coll||(e?"xAxis":"yAxis");q(this,"init",{userOptions:b});t.opposite=b.opposite;t.side=b.side||(t.horiz?t.opposite?0:2:t.opposite?1:3);t.setOptions(b);var z=this.options,l=z.type;t.labelFormatter=z.labels.formatter||t.defaultLabelFormatter;t.userOptions=b;t.minPixelPadding=0;t.reversed=z.reversed;t.visible=!1!==z.visible;t.zoomEnabled=!1!==z.zoomEnabled;t.hasNames="category"===
l||!0===z.categories;t.categories=z.categories||t.hasNames;t.names||(t.names=[],t.names.keys={});t.plotLinesAndBandsGroups={};t.isLog="logarithmic"===l;t.isDatetimeAxis="datetime"===l;t.positiveValuesOnly=t.isLog&&!t.allowNegativeLog;t.isLinked=u(z.linkedTo);t.ticks={};t.labelEdge=[];t.minorTicks={};t.plotLinesAndBands=[];t.alternateBands={};t.len=0;t.minRange=t.userMinRange=z.minRange||z.maxZoom;t.range=z.range;t.offset=z.offset||0;t.stacks={};t.oldStacks={};t.stacksTouched=0;t.max=null;t.min=null;
t.crosshair=E(z.crosshair,H(a.options.tooltip.crosshairs)[e?0:1],!1);b=t.options.events;-1===c(t,a.axes)&&(e?a.axes.splice(a.xAxis.length,0,t):a.axes.push(t),a[t.coll].push(t));t.series=t.series||[];a.inverted&&!t.isZAxis&&e&&void 0===t.reversed&&(t.reversed=!0);C(b,function(a,b){B(t,b,a)});t.lin2log=z.linearToLogConverter||t.lin2log;t.isLog&&(t.val2lin=t.log2lin,t.lin2val=t.lin2log);q(this,"afterInit")},setOptions:function(a){this.options=w(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,
[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],w(v[this.coll],a));q(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,e=this.value,c=b.chart.time,l=b.categories,f=this.dateTimeLabelFormat,p=v.lang,g=p.numericSymbols,p=p.numericSymbolMagnitude||1E3,h=g&&g.length,d,x=b.options.labels.format,b=b.isLog?Math.abs(e):b.tickInterval;if(x)d=m(x,this,c);else if(l)d=e;else if(f)d=c.dateFormat(f,
e);else if(h&&1E3<=b)for(;h--&&void 0===d;)c=Math.pow(p,h+1),b>=c&&0===10*e%c&&null!==g[h]&&0!==e&&(d=a.numberFormat(e/c,-1)+g[h]);void 0===d&&(d=1E4<=Math.abs(e)?a.numberFormat(e,-1):a.numberFormat(e,-1,void 0,""));return d},getSeriesExtremes:function(){var a=this,e=a.chart;q(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();h(a.series,function(c){if(c.visible||!e.options.chart.ignoreHiddenSeries){var t=
c.options,z=t.threshold,l;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=z&&(z=null);if(a.isXAxis)t=c.xData,t.length&&(c=n(t),l=D(t),A(c)||c instanceof Date||(t=b(t,A),c=n(t),l=D(t)),t.length&&(a.dataMin=Math.min(E(a.dataMin,t[0],c),c),a.dataMax=Math.max(E(a.dataMax,t[0],l),l)));else if(c.getExtremes(),l=c.dataMax,c=c.dataMin,u(c)&&u(l)&&(a.dataMin=Math.min(E(a.dataMin,c),c),a.dataMax=Math.max(E(a.dataMax,l),l)),u(z)&&(a.threshold=z),!t.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});
q(this,"afterGetSeriesExtremes")},translate:function(a,b,e,c,l,f){var t=this.linkedParent||this,z=1,p=0,d=c?t.oldTransA:t.transA;c=c?t.oldMin:t.min;var h=t.minPixelPadding;l=(t.isOrdinal||t.isBroken||t.isLog&&l)&&t.lin2val;d||(d=t.transA);e&&(z*=-1,p=t.len);t.reversed&&(z*=-1,p-=z*(t.sector||t.len));b?(a=(a*z+p-h)/d+c,l&&(a=t.lin2val(a))):(l&&(a=t.val2lin(a)),a=A(c)?z*(a-c)*d+p+z*h+(A(f)?d*f: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,e,c,l){var t=this.chart,z=this.left,f=this.top,p,d,h=e&&t.oldChartHeight||t.chartHeight,g=e&&t.oldChartWidth||t.chartWidth,K;p=this.transB;var x=function(a,b,e){if(a<b||a>e)c?a=Math.min(Math.max(b,a),e):K=!0;return a};l=E(l,this.translate(a,null,null,e));l=Math.min(Math.max(-1E5,l),1E5);a=e=Math.round(l+p);p=d=Math.round(h-l-p);A(l)?this.horiz?(p=f,d=h-this.bottom,a=e=x(a,z,z+this.width)):
(a=z,e=g-this.right,p=d=x(p,f,f+this.height)):(K=!0,c=!1);return K&&!c?null:t.renderer.crispLine(["M",a,p,"L",e,d],b||1)},getLinearTickPositions:function(a,b,e){var c,t=k(Math.floor(b/a)*a);e=k(Math.ceil(e/a)*a);var l=[],z;k(t+a)===t&&(z=20);if(this.single)return[b];for(b=t;b<=e;){l.push(b);b=k(b+a,z);if(b===c)break;c=b}return l},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?E(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=
this,b=a.options,e=a.tickPositions,c=a.minorTickInterval,l=[],f=a.pointRangePadding||0,p=a.min-f,f=a.max+f,d=f-p;if(d&&d/c<a.len/3)if(a.isLog)h(this.paddedTicks,function(b,e,t){e&&l.push.apply(l,a.getLogTickPositions(c,t[e-1],t[e],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())l=l.concat(a.getTimeTicks(a.normalizeTimeTickInterval(c),p,f,b.startOfWeek));else for(b=p+(e[0]-p)%c;b<=f&&b!==l[0];b+=c)l.push(b);0!==l.length&&a.trimTicks(l);return l},adjustForMinRange:function(){var a=
this.options,b=this.min,e=this.max,c,l,f,p,d,g,x,m;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(u(a.min)||u(a.max)?this.minRange=null:(h(this.series,function(a){g=a.xData;for(p=x=a.xIncrement?1:g.length-1;0<p;p--)if(d=g[p]-g[p-1],void 0===f||d<f)f=d}),this.minRange=Math.min(5*f,this.dataMax-this.dataMin)));e-b<this.minRange&&(l=this.dataMax-this.dataMin>=this.minRange,m=this.minRange,c=(m-e+b)/2,c=[b-c,E(a.min,b-c)],l&&(c[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=D(c),e=[b+m,
E(a.max,b+m)],l&&(e[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),e=n(e),e-b<m&&(c[0]=e-m,c[1]=E(a.min,e-m),b=D(c)));this.min=b;this.max=e},getClosest:function(){var a;this.categories?a=1:h(this.series,function(b){var e=b.closestPointRange,c=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&u(e)&&c&&(a=u(a)?Math.min(a,e):e)});return a},nameToX:function(a){var b=p(this.categories),e=b?this.categories:this.names,t=a.options.x,l;a.series.requireSorting=!1;u(t)||(t=!1===
this.options.uniqueNames?a.series.autoIncrement():b?c(a.name,e):E(e.keys[a.name],-1));-1===t?b||(l=e.length):l=t;void 0!==l&&(this.names[l]=a.name,this.names.keys[a.name]=l);return l},updateNames:function(){var b=this,e=this.names;0<e.length&&(h(a.keys(e.keys),function(a){delete e.keys[a]}),e.length=0,this.minRange=this.userMinRange,h(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();h(a.points,function(e,c){var t;e.options&&(t=b.nameToX(e),
void 0!==t&&t!==e.x&&(e.x=t,a.xData[c]=t))})}))},setAxisTranslation:function(a){var b=this,e=b.max-b.min,c=b.axisPointRange||0,t,l=0,f=0,p=b.linkedParent,d=!!b.categories,g=b.transA,m=b.isXAxis;if(m||d||c)t=b.getClosest(),p?(l=p.minPointOffset,f=p.pointRangePadding):h(b.series,function(a){var e=d?1:m?E(a.options.pointRange,t,0):b.axisPointRange||0;a=a.options.pointPlacement;c=Math.max(c,e);b.single||(l=Math.max(l,I(a)?0:e/2),f=Math.max(f,"on"===a?0:e))}),p=b.ordinalSlope&&t?b.ordinalSlope/t:1,b.minPointOffset=
l*=p,b.pointRangePadding=f*=p,b.pointRange=Math.min(c,e),m&&(b.closestPointRange=t);a&&(b.oldTransA=g);b.translationSlope=b.transA=g=b.options.staticScale||b.len/(e+f||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=g*l;q(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,t=c.chart,l=c.options,f=c.isLog,p=c.isDatetimeAxis,d=c.isXAxis,g=c.isLinked,m=l.maxPadding,x=l.minPadding,w=l.tickInterval,H=l.tickPixelInterval,C=c.categories,
G=A(c.threshold)?c.threshold:null,I=c.softThreshold,n,r,L,v;p||C||g||this.getTickAmount();L=E(c.userMin,l.min);v=E(c.userMax,l.max);g?(c.linkedParent=t[c.coll][l.linkedTo],t=c.linkedParent.getExtremes(),c.min=E(t.min,t.dataMin),c.max=E(t.max,t.dataMax),l.type!==c.linkedParent.options.type&&a.error(11,1)):(!I&&u(G)&&(c.dataMin>=G?(n=G,x=0):c.dataMax<=G&&(r=G,m=0)),c.min=E(L,n,c.dataMin),c.max=E(v,r,c.dataMax));f&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,E(c.dataMin,c.min))&&a.error(10,1),c.min=
k(c.log2lin(c.min),15),c.max=k(c.log2lin(c.max),15));c.range&&u(c.max)&&(c.userMin=c.min=L=Math.max(c.dataMin,c.minFromRange()),c.userMax=v=c.max,c.range=null);q(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(C||c.axisPointRange||c.usePercentage||g)&&u(c.min)&&u(c.max)&&(t=c.max-c.min)&&(!u(L)&&x&&(c.min-=t*x),!u(v)&&m&&(c.max+=t*m));A(l.softMin)&&!A(c.userMin)&&(c.min=Math.min(c.min,l.softMin));A(l.softMax)&&!A(c.userMax)&&(c.max=Math.max(c.max,l.softMax));A(l.floor)&&
(c.min=Math.max(c.min,l.floor));A(l.ceiling)&&(c.max=Math.min(c.max,l.ceiling));I&&u(c.dataMin)&&(G=G||0,!u(L)&&c.min<G&&c.dataMin>=G?c.min=G:!u(v)&&c.max>G&&c.dataMax<=G&&(c.max=G));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:g&&!w&&H===c.linkedParent.options.tickPixelInterval?w=c.linkedParent.tickInterval:E(w,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,C?1:(c.max-c.min)*H/Math.max(c.len,H));d&&!b&&h(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&&!w&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=E(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!w&&c.tickInterval<b&&(c.tickInterval=b);p||f||w||(c.tickInterval=M(c.tickInterval,null,e(c.tickInterval),E(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 b=this.options,c,e=b.tickPositions;c=this.getMinorTickInterval();var l=b.tickPositioner,f=b.startOnTick,p=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&u(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);
this.tickPositions=c=e&&e.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=
[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,l&&(l=l.apply(this,[this.min,this.max])))&&(this.tickPositions=c=l);this.paddedTicks=c.slice(0);this.trimTicks(c,f,p);this.isLinked||(this.single&&2>c.length&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount());q(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var e=a[0],l=a[a.length-1],t=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==e)this.min=e;else for(;this.min-t>a[0];)a.shift();if(c)this.max=l;else for(;this.max+
t<a[a.length-1];)a.pop();0===a.length&&u(e)&&!this.options.tickPositions&&a.push((l+e)/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||h(this.chart[this.coll],function(c){var e=c.options,e=[c.horiz?e.left:e.top,e.width,e.height,e.pane].join();c.series.length&&(a[e]?b=!0:a[e]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!u(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,e=this.finalTickAmt,l=b&&b.length,f=E(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(l<c){for(;b.length<c;)b.length%2||this.min===f?b.push(k(b[b.length-1]+a)):b.unshift(k(b[0]-a));this.transA*=(l-1)/(c-1);this.min=
b[0];this.max=b[b.length-1]}else l>c&&(this.tickInterval*=2,this.setTickPositions());if(u(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&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;h(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();q(this,"afterSetScale")},setExtremes:function(a,b,c,e,l){var t=this,p=t.chart;c=E(c,!0);h(t.series,function(a){delete a.kdTree});l=f(l,{min:a,max:b});q(t,"setExtremes",l,function(){t.userMin=
a;t.userMax=b;t.eventArgs=l;c&&p.redraw(e)})},zoom:function(a,b){var c=this.dataMin,e=this.dataMax,l=this.options,t=Math.min(c,E(l.min,c)),l=Math.max(e,E(l.max,e));if(a!==this.min||b!==this.max)this.allowZoomOutside||(u(c)&&(a<t&&(a=t),a>l&&(a=l)),u(e)&&(b<t&&(b=t),b>l&&(b=l))),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,e=c.offsets||[0,0,0,0],l=this.horiz,f=this.width=Math.round(a.relativeLength(E(c.width,
b.plotWidth-e[3]+e[1]),b.plotWidth)),p=this.height=Math.round(a.relativeLength(E(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),d=this.top=Math.round(a.relativeLength(E(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(E(c.left,b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-p-d;this.right=b.chartWidth-f-c;this.len=Math.max(l?f:p,0);this.pos=l?c:d},getExtremes:function(){var a=this.isLog;return{min:a?k(this.lin2log(this.min)):this.min,max:a?
k(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=(E(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"],
e=E(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(e&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,e]},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,e=c,l=this.len/(((this.categories?1:0)+this.max-this.min)/c),f,p=a.rotation,d=this.labelMetrics(),g,m=Number.MAX_VALUE,
x,A=function(a){a/=l||1;a=1<a?Math.ceil(a):1;return k(a*c)};b?(x=!a.staggerLines&&!a.step&&(u(p)?[p]:l<E(a.autoRotationLimit,80)&&a.autoRotation))&&h(x,function(a){var b;if(a===p||a&&-90<=a&&90>=a)g=A(Math.abs(d.h/Math.sin(r*a))),b=g+Math.abs(a/360),b<m&&(m=b,f=a,e=g)}):a.step||(e=A(d.h));this.autoRotation=x;this.labelRotation=E(f,p);return e},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),l=a.margin[3];return b&&
2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/e||!b&&(c.style&&parseInt(c.style.width,10)||l&&l-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,e=this.ticks,l=this.options.labels,f=l&&l.style||{},p=this.horiz,d=this.getSlotWidth(),g=Math.max(1,Math.round(d-2*(l.padding||5))),m={},x=this.labelMetrics(),A=l.style&&l.style.textOverflow,q,w,H=0,k;I(l.rotation)||(m.rotation=l.rotation||0);h(c,function(a){(a=e[a])&&a.label&&a.label.textPxLength>
H&&(H=a.label.textPxLength)});this.maxLabelLength=H;if(this.autoRotation)H>g&&H>x.h?m.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(q=g,!A))for(w="clip",g=c.length;!p&&g--;)if(k=c[g],k=e[k].label)k.styles&&"ellipsis"===k.styles.textOverflow?k.css({textOverflow:"clip"}):k.textPxLength>d&&k.css({width:d+"px"}),k.getBBox().height>this.len/c.length-(x.h-x.f)&&(k.specificTextOverflow="ellipsis");m.rotation&&(q=H>.5*a.chartHeight?.33*a.chartHeight:H,A||(w="ellipsis"));if(this.labelAlign=
l.align||this.autoLabelAlign(this.labelRotation))m.align=this.labelAlign;h(c,function(a){var b=(a=e[a])&&a.label,c=f.width,l={};b&&(b.attr(m),q&&!c&&"nowrap"!==f.whiteSpace&&(q<b.textPxLength||"SPAN"===b.element.tagName)?(l.width=q,A||(l.textOverflow=b.specificTextOverflow||w),b.css(l)):b.styles&&b.styles.width&&!l.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=m.rotation)});this.tickRotCorr=b.rotCorr(x.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||
u(this.min)&&u(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,e=this.opposite,l=this.options.title,f;this.axisTitle||((f=l.textAlign)||(f=(c?{low:"left",middle:"center",high:"right"}:{low:e?"right":"left",middle:"center",high:e?"left":"right"})[l.align]),this.axisTitle=b.text(l.text,0,0,l.useHTML).attr({zIndex:7,rotation:l.rotation||0,align:f}).addClass("highcharts-axis-title").css(w(l.style)).add(this.axisGroup),this.axisTitle.isNew=
!0);l.style.width||this.isRadial||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,e=a.options,l=a.tickPositions,f=a.ticks,p=a.horiz,d=a.side,g=b.inverted&&!a.isZAxis?[1,0,3,2][d]:d,m,x,A=0,w,H=0,k=e.title,G=e.labels,I=0,n=b.axisOffset,b=b.clipOffset,r=[-1,1,1,-1][d],L=e.className,M=a.axisParent,v=this.tickSize("tick");m=a.hasData();a.showAxis=
x=m||E(e.showEmpty,!0);a.staggerLines=a.horiz&&G.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:e.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(L||"")).add(M),a.axisGroup=c.g("axis").attr({zIndex:e.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(L||"")).add(M),a.labelGroup=c.g("axis-labels").attr({zIndex:G.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(L||"")).add(M));m||a.isLinked?(h(l,function(b,c){a.generateTick(b,
c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===d||2===d||{1:"left",3:"right"}[d]===a.labelAlign,E(G.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&h(l,function(a){I=Math.max(f[a].getLabelSize(),I)}),a.staggerLines&&(I*=a.staggerLines),a.labelOffset=I*(a.opposite?-1:1)):C(f,function(a,b){a.destroy();delete f[b]});k&&k.text&&!1!==k.enabled&&(a.addTitle(x),x&&!1!==k.reserveSpace&&(a.titleOffset=A=a.axisTitle.getBBox()[p?"height":"width"],w=k.offset,H=u(w)?0:E(k.margin,p?5:10)));
a.renderLine();a.offset=r*E(e.offset,n[d]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===d?-a.labelMetrics().h:2===d?a.tickRotCorr.y:0;H=Math.abs(I)+H;I&&(H=H-c+r*(p?E(G.y,a.tickRotCorr.y+8*r):G.x));a.axisTitleMargin=E(w,H);n[d]=Math.max(n[d],a.axisTitleMargin+A+r*a.offset,H,m&&l.length&&v?v[0]+r*a.offset:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[g]=Math.max(b[g],e);q(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,e=this.offset,l=this.horiz,f=this.left+
(c?this.width:0)+e,e=b.chartHeight-this.bottom-(c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine(["M",l?this.left:f,l?e:this.top,"L",l?b.chartWidth-this.right:f,l?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,
e=this.len,l=this.options.title,f=a?b:c,p=this.opposite,d=this.offset,g=l.x||0,h=l.y||0,m=this.axisTitle,x=this.chart.renderer.fontMetrics(l.style&&l.style.fontSize,m),m=Math.max(m.getBBox(null,0).height-x.h-1,0),e={low:f+(a?0:e),middle:f+e/2,high:f+(a?e:0)}[l.align],b=(a?c+this.height:b)+(a?1:-1)*(p?-1:1)*this.axisTitleMargin+[-m,m,x.f,-m][this.side];return{x:a?e+g:b+(p?this.width:0)+d+g,y:a?b+h-(p?this.height:0)+d:e+h}},renderMinorTick:function(a){var b=this.chart.hasRendered&&A(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,e=this.ticks,l=this.chart.hasRendered&&A(this.oldMin);if(!c||a>=this.min&&a<=this.max)e[a]||(e[a]=new L(this,a)),l&&e[a].isNew&&e[a].render(b,!0,.1),e[a].render(b)},render:function(){var b=this,c=b.chart,e=b.options,l=b.isLog,f=b.isLinked,p=b.tickPositions,d=b.axisTitle,g=b.ticks,m=b.minorTicks,w=b.alternateBands,H=e.stackLabels,k=e.alternateGridColor,
G=b.tickmarkOffset,I=b.axisLine,n=b.showAxis,r=y(c.renderer.globalAnimation),E,u;b.labelEdge.length=0;b.overlap=!1;h([g,m,w],function(a){C(a,function(a){a.isActive=!1})});if(b.hasData()||f)b.minorTickInterval&&!b.categories&&h(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),p.length&&(h(p,function(a,c){b.renderTick(a,c)}),G&&(0===b.min||b.single)&&(g[-1]||(g[-1]=new L(b,-1,null,!0)),g[-1].render(-1))),k&&h(p,function(e,f){u=void 0!==p[f+1]?p[f+1]+G:b.max-G;0===f%2&&e<b.max&&u<=b.max+
(c.polar?-G:G)&&(w[e]||(w[e]=new a.PlotLineOrBand(b)),E=e+G,w[e].options={from:l?b.lin2log(E):E,to:l?b.lin2log(u):u,color:k},w[e].render(),w[e].isActive=!0)}),b._addedPlotLB||(h((e.plotLines||[]).concat(e.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);h([g,m,w],function(a){var b,e=[],l=r.duration;C(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});x(function(){for(b=e.length;b--;)a[e[b]]&&!a[e[b]].isActive&&(a[e[b]].destroy(),delete a[e[b]])},a!==w&&
c.hasRendered&&l?l:0)});I&&(I[I.isPlaced?"animate":"attr"]({d:this.getLinePath(I.strokeWidth())}),I.isPlaced=!0,I[n?"show":"hide"](!0));d&&n&&(e=b.getTitlePosition(),A(e.y)?(d[d.isNew?"attr":"animate"](e),d.isNew=!1):(d.attr("y",-9999),d.isNew=!0));H&&H.enabled&&b.renderStackTotals();b.isDirty=!1;q(this,"afterRender")},redraw:function(){this.visible&&(this.render(),h(this.plotLinesAndBands,function(a){a.render()}));h(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),
destroy:function(a){var b=this,e=b.stacks,f=b.plotLinesAndBands,p;q(this,"destroy",{keepEvents:a});a||l(b);C(e,function(a,b){g(a);e[b]=null});h([b.ticks,b.minorTicks,b.alternateBands],function(a){g(a)});if(f)for(a=f.length;a--;)f[a].destroy();h("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(p in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[p]=b.plotLinesAndBandsGroups[p].destroy();C(b,function(a,e){-1===
c(e,b.keepProps)&&delete b[e]})},drawCrosshair:function(a,b){var c,e=this.crosshair,l=E(e.snap,!0),f,p=this.cross;q(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(u(b)||!l)){l?u(b)&&(f=E(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):f=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);u(f)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:E(b.stackY,b.y)),null,null,null,f)||null);if(!u(c)){this.hideCrosshair();return}l=this.categories&&
!this.isRadial;p||(this.cross=p=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+e.className).attr({zIndex:E(e.zIndex,2)}).add(),p.attr({stroke:e.color||(l?d("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":E(e.width,1)}).css({"pointer-events":"none"}),e.dashStyle&&p.attr({dashstyle:e.dashStyle}));p.show().attr({d:c});l&&!e.width&&p.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();q(this,"afterDrawCrosshair",
{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=G}(J);(function(a){var B=a.Axis,y=a.getMagnitude,D=a.map,n=a.normalizeTickInterval,d=a.pick;B.prototype.getLogTickPositions=function(a,v,u,r){var g=this.options,h=this.len,f=[];r||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,v,u);else if(.08<=a)for(var h=Math.floor(v),q,m,e,b,c,g=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];h<u+1&&!c;h++)for(m=g.length,q=0;q<m&&
!c;q++)e=this.log2lin(this.lin2log(h)*g[q]),e>v&&(!r||b<=u)&&void 0!==b&&f.push(b),b>u&&(c=!0),b=e;else v=this.lin2log(v),u=this.lin2log(u),a=r?this.getMinorTickInterval():g.tickInterval,a=d("auto"===a?null:a,this._minorAutoInterval,g.tickPixelInterval/(r?5:1)*(u-v)/((r?h/this.tickPositions.length:h)||1)),a=n(a,null,y(a)),f=D(this.getLinearTickPositions(a,v,u),this.log2lin),r||(this._minorAutoInterval=a/5);r||(this.tickInterval=a);return f};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 y=a.arrayMax,D=a.arrayMin,n=a.defined,d=a.destroyObjectProperties,k=a.each,v=a.erase,u=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 d=this,h=d.axis,f=h.horiz,q=d.options,m=q.label,e=d.label,b=q.to,c=q.from,p=q.value,A=n(c)&&n(b),k=n(p),w=d.svgElem,M=!w,C=[],E=q.color,l=r(q.zIndex,0),H=q.events,C={"class":"highcharts-plot-"+
(A?"band ":"line ")+(q.className||"")},x={},L=h.chart.renderer,G=A?"bands":"lines";h.isLog&&(c=h.log2lin(c),b=h.log2lin(b),p=h.log2lin(p));k?(C.stroke=E,C["stroke-width"]=q.width,q.dashStyle&&(C.dashstyle=q.dashStyle)):A&&(E&&(C.fill=E),q.borderWidth&&(C.stroke=q.borderColor,C["stroke-width"]=q.borderWidth));x.zIndex=l;G+="-"+l;(E=h.plotLinesAndBandsGroups[G])||(h.plotLinesAndBandsGroups[G]=E=L.g("plot-"+G).attr(x).add());M&&(d.svgElem=w=L.path().attr(C).add(E));if(k)C=h.getPlotLinePath(p,w.strokeWidth());
else if(A)C=h.getPlotBandPath(c,b,q);else return;M&&C&&C.length?(w.attr({d:C}),H&&a.objectEach(H,function(a,b){w.on(b,function(a){H[b].apply(d,[a])})})):w&&(C?(w.show(),w.animate({d:C})):(w.hide(),e&&(d.label=e=e.destroy())));m&&n(m.text)&&C&&C.length&&0<h.width&&0<h.height&&!C.isFlat?(m=u({align:f&&A&&"center",x:f?!A&&4:10,verticalAlign:!f&&A&&"middle",y:f?A?16:10:A?6:-4,rotation:f&&!A&&90},m),this.renderLabel(m,C,A,l)):e&&e.hide();return d},renderLabel:function(a,d,f,q){var g=this.label,e=this.axis.chart.renderer;
g||(g={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||"")},g.zIndex=q,this.label=g=e.text(a.text,0,0,a.useHTML).attr(g).add(),g.css(a.style));q=d.xBounds||[d[1],d[4],f?d[6]:d[1]];d=d.yBounds||[d[2],d[5],f?d[7]:d[2]];f=D(q);e=D(d);g.align(a,!1,{x:f,y:e,width:y(q)-f,height:y(d)-e});g.show()},destroy:function(){v(this.axis.plotLinesAndBands,this);delete this.axis;d(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,d){var f=this.getPlotLinePath(d,
null,null,!0),g=this.getPlotLinePath(a,null,null,!0),m=[],e=this.horiz,b=1,c;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(g&&f)for(a&&(c=g.toString()===f.toString(),b=0),a=0;a<g.length;a+=6)e&&f[a+1]===g[a+1]?(f[a+1]+=b,f[a+4]+=b):e||f[a+2]!==g[a+2]||(f[a+2]+=b,f[a+5]+=b),m.push("M",g[a+1],g[a+2],"L",g[a+4],g[a+5],f[a+4],f[a+5],f[a+1],f[a+2],"z"),m.isFlat=c;return m},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
"plotLines")},addPlotBandOrLine:function(d,h){var f=(new a.PlotLineOrBand(this,d)).render(),g=this.userOptions;f&&(h&&(g[h]=g[h]||[],g[h].push(d)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,f=this.options,g=this.userOptions,m=d.length;m--;)d[m].id===a&&d[m].destroy();k([f.plotLines||[],g.plotLines||[],f.plotBands||[],g.plotBands||[]],function(e){for(m=e.length;m--;)e[m].id===a&&v(e,e[m])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},
removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(J,W);(function(a){var B=a.doc,y=a.each,D=a.extend,n=a.format,d=a.isNumber,k=a.map,v=a.merge,u=a.pick,r=a.splat,g=a.syncTimeout,h=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split;this.outside=d.outside&&!this.split},cleanSplit:function(a){y(this.chart.series,
function(f){var d=f&&f.tt;d&&(!d.isActive||a?f.tt=d.destroy():d.isActive=!1)})},getLabel:function(){var f=this.chart.renderer,d=this.options,g;this.label||(this.outside&&(this.container=g=a.doc.createElement("div"),g.className="highcharts-tooltip-container",a.css(g,{position:"absolute",top:"1px",pointerEvents:d.style&&d.style.pointerEvents}),a.doc.body.appendChild(g),this.renderer=f=new a.Renderer(g,0,0)),this.split?this.label=f.g("tooltip"):(this.label=f.label("",0,0,d.shape||"callout",null,null,
d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor,"stroke-width":d.borderWidth}).css(d.style).shadow(d.shadow)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){g.style.left=a+"px"},this.label.ySetter=function(a){g.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();v(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,v(!0,
this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(f,d,g,e){var b=this,c=b.now,p=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(f-c.x)||1<Math.abs(d-c.y)),h=b.followPointer||1<b.len;D(c,{x:p?(2*c.x+f)/3:f,y:p?(c.y+d)/
2:d,anchorX:h?void 0:p?(2*c.anchorX+g)/3:g,anchorY:h?void 0:p?(c.anchorY+e)/2:e});b.getLabel().attr(c);p&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(f,d,g,e)},32))},hide:function(f){var d=this;a.clearTimeout(this.hideTimer);f=u(f,this.options.hideDelay,500);this.isHidden||(this.hideTimer=g(function(){d.getLabel()[f?"fadeOut":"hide"]();d.isHidden=!0},f))},getAnchor:function(a,d){var f=this.chart,e=f.pointer,b=f.inverted,c=f.plotTop,p=f.plotLeft,g=0,h=0,
w,q;a=r(a);this.followPointer&&d?(void 0===d.chartX&&(d=e.normalize(d)),a=[d.chartX-f.plotLeft,d.chartY-c]):a[0].tooltipPos?a=a[0].tooltipPos:(y(a,function(a){w=a.series.yAxis;q=a.series.xAxis;g+=a.plotX+(!b&&q?q.left-p:0);h+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&w?w.top-c:0)}),g/=a.length,h/=a.length,a=[b?f.plotWidth-h:g,this.shared&&!b&&1<a.length&&d?d.chartY-c:b?f.plotHeight-g:h]);return k(a,Math.round)},getPosition:function(a,d,g){var e=this.chart,b=this.distance,c={},f=e.inverted&&
g.h||0,h,m=this.outside,w=m?B.documentElement.clientWidth-2*b:e.chartWidth,k=m?Math.max(B.body.scrollHeight,B.documentElement.scrollHeight,B.body.offsetHeight,B.documentElement.offsetHeight,B.documentElement.clientHeight):e.chartHeight,q=e.pointer.chartPosition,n=["y",k,d,(m?q.top-b:0)+g.plotY+e.plotTop,m?0:e.plotTop,m?k:e.plotTop+e.plotHeight],l=["x",w,a,(m?q.left-b:0)+g.plotX+e.plotLeft,m?0:e.plotLeft,m?w:e.plotLeft+e.plotWidth],H=!this.followPointer&&u(g.ttBelow,!e.inverted===!!g.negative),x=function(a,
e,l,d,p,g){var t=l<d-b,x=d+b+l<e,h=d-b-l;d+=b;if(H&&x)c[a]=d;else if(!H&&t)c[a]=h;else if(t)c[a]=Math.min(g-l,0>h-f?h:h-f);else if(x)c[a]=Math.max(p,d+f+l>e?d:d+f);else return!1},r=function(a,e,l,f){var d;f<b||f>e-b?d=!1:c[a]=f<l/2?1:f>e-l/2?e-l-2:f-l/2;return d},G=function(a){var b=n;n=l;l=b;h=a},t=function(){!1!==x.apply(0,n)?!1!==r.apply(0,l)||h||(G(!0),t()):h?c.x=c.y=0:(G(!0),t())};(e.inverted||1<this.len)&&G();t();return c},defaultFormatter:function(a){var f=this.points||r(this),d;d=[a.tooltipFooterHeaderFormatter(f[0])];
d=d.concat(a.bodyFormatter(f));d.push(a.tooltipFooterHeaderFormatter(f[0],!0));return d},refresh:function(f,d){var g,e=this.options,b,c=f,p,h={},k=[];g=e.formatter||this.defaultFormatter;var h=this.shared,w;e.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=r(c)[0].series.tooltipOptions.followPointer,p=this.getAnchor(c,d),d=p[0],b=p[1],!h||c.series&&c.series.noSharedTooltip?h=c.getLabelConfig():(y(c,function(a){a.setState("hover");k.push(a.getLabelConfig())}),h={x:c[0].category,y:c[0].y},
h.points=k,c=c[0]),this.len=k.length,h=g.call(h,this),w=c.series,this.distance=u(w.tooltipOptions.distance,16),!1===h?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(h,r(f)):(e.style.width||g.css({width:this.chart.spacingBox.width}),g.attr({text:h&&h.join?h.join(""):h}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(c.colorIndex,w.colorIndex)),g.attr({stroke:e.borderColor||c.color||w.color||"#666666"}),this.updatePosition({plotX:d,
plotY:b,negative:c.negative,ttBelow:c.ttBelow,h:p[2]||0})),this.isHidden=!1))},renderSplit:function(f,d){var g=this,e=[],b=this.chart,c=b.renderer,p=!0,h=this.options,k=0,w,q=this.getLabel(),C=b.plotTop;a.isString(f)&&(f=[!1,f]);y(f.slice(0,d.length+1),function(a,l){if(!1!==a){l=d[l-1]||{isHeader:!0,plotX:d[0].plotX};var f=l.series||g,x=f.tt,m=l.series||{},A="highcharts-color-"+u(l.colorIndex,m.colorIndex,"none");x||(f.tt=x=c.label(null,null,null,"callout",null,null,h.useHTML).addClass("highcharts-tooltip-box "+
A+(l.isHeader?" highcharts-tooltip-header":"")).attr({padding:h.padding,r:h.borderRadius,fill:h.backgroundColor,stroke:h.borderColor||l.color||m.color||"#333333","stroke-width":h.borderWidth}).add(q));x.isActive=!0;x.attr({text:a});x.css(h.style).shadow(h.shadow);a=x.getBBox();m=a.width+x.strokeWidth();l.isHeader?(k=a.height,b.xAxis[0].opposite&&(w=!0,C-=k),m=Math.max(0,Math.min(l.plotX+b.plotLeft-m/2,b.chartWidth+(b.scrollablePixels?b.scrollablePixels-b.marginRight:0)-m))):m=l.plotX+b.plotLeft-u(h.distance,
16)-m;0>m&&(p=!1);a=(l.series&&l.series.yAxis&&l.series.yAxis.pos)+(l.plotY||0);a-=C;l.isHeader&&(a=w?-k:b.plotHeight+k);e.push({target:a,rank:l.isHeader?1:0,size:f.tt.getBBox().height+1,point:l,x:m,tt:x})}});this.cleanSplit();a.distribute(e,b.plotHeight+k);y(e,function(a){var c=a.point,e=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:p||c.isHeader?a.x:c.plotX+b.plotLeft+u(h.distance,16),y:a.pos+C,anchorX:c.isHeader?c.plotX+b.plotLeft:c.plotX+e.xAxis.pos,anchorY:c.isHeader?b.plotTop+
b.plotHeight/2:c.plotY+e.yAxis.pos})})},updatePosition:function(a){var f=this.chart,d=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a),b=a.plotX+f.plotLeft;a=a.plotY+f.plotTop;var c;this.outside&&(c=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(d.width+c,d.height+c,!1),b+=f.pointer.chartPosition.left-e.x,a+=f.pointer.chartPosition.top-e.y);this.move(Math.round(e.x),Math.round(e.y||0),b,a)},getDateFormat:function(a,d,g,e){var b=this.chart.time,
c=b.dateFormat("%m-%d %H:%M:%S.%L",d),f,m,k={millisecond:15,second:12,minute:9,hour:6,day:3},w="millisecond";for(m in h){if(a===h.week&&+b.dateFormat("%w",d)===g&&"00:00:00.000"===c.substr(6)){m="week";break}if(h[m]>a){m=w;break}if(k[m]&&c.substr(k[m])!=="01-01 00:00:00.000".substr(k[m]))break;"week"!==m&&(w=m)}m&&(f=e[m]);return f},getXDateFormat:function(a,d,g){d=d.dateTimeLabelFormats;var e=g&&g.closestPointRange;return(e?this.getDateFormat(e,a.x,g.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,
g){g=g?"footer":"header";var f=a.series,e=f.tooltipOptions,b=e.xDateFormat,c=f.xAxis,p=c&&"datetime"===c.options.type&&d(a.key),h=e[g+"Format"];p&&!b&&(b=this.getXDateFormat(a,e,c));p&&b&&y(a.point&&a.point.tooltipDateKeys||["key"],function(a){h=h.replace("{point."+a+"}","{point."+a+":"+b+"}")});return n(h,{point:a,series:f},this.chart.time)},bodyFormatter:function(a){return k(a,function(a){var f=a.series.tooltipOptions;return(f[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,
f[(a.point.formatPrefix||"point")+"Format"])})}}})(J);(function(a){var B=a.addEvent,y=a.attr,D=a.charts,n=a.color,d=a.css,k=a.defined,v=a.each,u=a.extend,r=a.find,g=a.fireEvent,h=a.isNumber,f=a.isObject,q=a.offset,m=a.pick,e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,e.tooltip),this.followTouchMove=
m(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,e=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=m(c.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,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=q(this.chart.container));return u(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-
b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};v(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,b,e){var c;v(a,function(a){var d=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,d);if((d=f(a,!0))&&!(d=!f(c,!0)))var d=c.distX-a.distX,p=c.dist-a.dist,g=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),d=0<
(0!==d&&b?d:0!==p?p:0!==g?g:c.series.index>a.series.index?-1:1);d&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,e=c.xAxis,c=c.yAxis,f=m(a.clientX,a.plotX),d=a.shapeArgs;if(e&&c)return b?{chartX:e.len+e.pos-f,chartY:c.len+c.pos-a.plotY}:{chartX:f+e.pos,chartY:a.plotY+c.pos};if(d&&d.x&&d.y)return{chartX:d.x,chartY:d.y}},getHoverData:function(b,e,d,g,h,k,C){var c,l=[],p=C&&C.isBoosting;
g=!(!g||!b);C=e&&!e.stickyTracking?[e]:a.grep(d,function(a){return a.visible&&!(!h&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});e=(c=g?b:this.findNearestKDPoint(C,h,k))&&c.series;c&&(h&&!e.noSharedTooltip?(C=a.grep(d,function(a){return a.visible&&!(!h&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),v(C,function(a){var b=r(a.points,function(a){return a.x===c.x&&!a.isNull});f(b)&&(p&&(b=a.getPoint(b)),l.push(b))})):l.push(c));return{hoverPoint:c,
hoverSeries:e,hoverPoints:l}},runPointActions:function(b,e){var c=this.chart,f=c.tooltip&&c.tooltip.options.enabled?c.tooltip:void 0,d=f?f.shared:!1,p=e||c.hoverPoint,g=p&&p.series||c.hoverSeries,g=this.getHoverData(p,g,c.series,"touchmove"!==b.type&&(!!e||g&&g.directTouch&&this.isDirectTouch),d,b,{isBoosting:c.isBoosting}),h,p=g.hoverPoint;h=g.hoverPoints;e=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;d=d&&g&&!g.noSharedTooltip;if(p&&(p!==c.hoverPoint||f&&f.isHidden)){v(c.hoverPoints||[],function(b){-1===
a.inArray(b,h)&&b.setState()});v(h||[],function(a){a.setState("hover")});if(c.hoverSeries!==g)g.onMouseOver();c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut");if(!p.series)return;p.firePointEvent("mouseOver");c.hoverPoints=h;c.hoverPoint=p;f&&f.refresh(d?h:p,b)}else e&&f&&!f.isHidden&&(p=f.getAnchor([{}],b),f.updatePosition({plotX:p[0],plotY:p[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(c.container.ownerDocument,"mousemove",function(b){var c=D[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));
v(c.axes,function(c){var e=m(c.crosshair.snap,!0),l=e?a.find(h,function(a){return a.series[c.coll]===c}):void 0;l||!e?c.drawCrosshair(b,l):c.hideCrosshair()})},reset:function(a,b){var c=this.chart,f=c.hoverSeries,d=c.hoverPoint,p=c.hoverPoints,g=c.tooltip,h=g&&g.shared?p:d;a&&h&&v(e(h),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)g&&h&&(g.refresh(h),g.shared&&p?v(p,function(a){a.setState(a.state,!0);a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a);a.series.yAxis.crosshair&&
a.series.yAxis.drawCrosshair(null,a)}):d&&(d.setState(d.state,!0),v(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();p&&v(p,function(a){a.setState()});if(f)f.onMouseOut();g&&g.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());v(c.axes,function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,e;v(c.series,function(f){e=a||f.getPlotBox();f.xAxis&&f.xAxis.zoomEnabled&&f.group&&(f.group.attr(e),
f.markerGroup&&(f.markerGroup.attr(e),f.markerGroup.clip(b?c.clipRect:null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(e))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,e=a.chartX,f=a.chartY,d=this.zoomHor,g=this.zoomVert,h=b.plotLeft,l=b.plotTop,m=b.plotWidth,x=b.plotHeight,k,G=this.selectionMarker,t=this.mouseDownX,
q=this.mouseDownY,r=c.panKey&&a[c.panKey+"Key"];G&&G.touch||(e<h?e=h:e>h+m&&(e=h+m),f<l?f=l:f>l+x&&(f=l+x),this.hasDragged=Math.sqrt(Math.pow(t-e,2)+Math.pow(q-f,2)),10<this.hasDragged&&(k=b.isInsidePlot(t-h,q-l),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&k&&!r&&!G&&(this.selectionMarker=G=b.renderer.rect(h,l,d?1:m,g?1:x,0).attr({fill:c.selectionMarkerFill||n("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),G&&d&&(e-=t,G.attr({width:Math.abs(e),x:(0<e?
0:e)+t})),G&&g&&(e=f-q,G.attr({height:Math.abs(e),y:(0<e?0:e)+q})),k&&!G&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,e=this.hasPinched;if(this.selectionMarker){var f={originalEvent:a,xAxis:[],yAxis:[]},m=this.selectionMarker,q=m.attr?m.attr("x"):m.x,n=m.attr?m.attr("y"):m.y,l=m.attr?m.attr("width"):m.width,H=m.attr?m.attr("height"):m.height,x;if(this.hasDragged||e)v(c.axes,function(c){if(c.zoomEnabled&&k(c.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var d=c.horiz,
p="touchend"===a.type?c.minPixelPadding:0,g=c.toValue((d?q:n)+p),d=c.toValue((d?q+l:n+H)-p);f[c.coll].push({axis:c,min:Math.min(g,d),max:Math.max(g,d)});x=!0}}),x&&g(c,"selection",f,function(a){c.zoom(u(a,e?{animation:!1}:null))});h(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());e&&this.scaleGroups()}c&&h(c.index)&&(d(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.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){D[a.hoverChartIndex]&&D[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=D[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&
(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;k(a.hoverChartIndex)&&D[a.hoverChartIndex]&&D[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=y(a,"class")){if(-1!==c.indexOf(b))return!0;
if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?
(g(c.series,"click",u(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(u(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-f)&&g(b,"click",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,f=e.ownerDocument;e.onmousedown=function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=B(e,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=
B(f,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(f,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));
clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,e){b[e]=null})}}})(J);(function(a){var B=a.charts,y=a.each,D=a.extend,n=a.map,d=a.noop,k=a.pick;D(a.Pointer.prototype,{pinchTranslate:function(a,d,k,g,h,f){this.zoomHor&&this.pinchTranslateDirection(!0,a,d,k,g,h,f);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,k,g,h,f)},pinchTranslateDirection:function(a,d,k,g,h,f,q,m){var e=this.chart,b=a?"x":"y",c=a?"X":"Y",p="chart"+c,n=a?"width":"height",r=e["plot"+(a?"Left":"Top")],w,u,C=m||1,E=e.inverted,
l=e.bounds[a?"h":"v"],H=1===d.length,x=d[0][p],L=k[0][p],G=!H&&d[1][p],t=!H&&k[1][p],z;k=function(){!H&&20<Math.abs(x-G)&&(C=m||Math.abs(L-t)/Math.abs(x-G));u=(r-L)/C+x;w=e["plot"+(a?"Width":"Height")]/C};k();d=u;d<l.min?(d=l.min,z=!0):d+w>l.max&&(d=l.max-w,z=!0);z?(L-=.8*(L-q[b][0]),H||(t-=.8*(t-q[b][1])),k()):q[b]=[L,t];E||(f[b]=u-r,f[n]=w);f=E?1/C:C;h[n]=w;h[b]=d;g[E?a?"scaleY":"scaleX":"scale"+c]=C;g["translate"+c]=f*r+(L-f*x)},pinch:function(a){var u=this,r=u.chart,g=u.pinchDown,h=a.touches,
f=h.length,q=u.lastValidTouch,m=u.hasZoom,e=u.selectionMarker,b={},c=1===f&&(u.inClass(a.target,"highcharts-tracker")&&r.runTrackerClick||u.runChartClick),p={};1<f&&(u.initiated=!0);m&&u.initiated&&!c&&a.preventDefault();n(h,function(a){return u.normalize(a)});"touchstart"===a.type?(y(h,function(a,b){g[b]={chartX:a.chartX,chartY:a.chartY}}),q.x=[g[0].chartX,g[1]&&g[1].chartX],q.y=[g[0].chartY,g[1]&&g[1].chartY],y(r.axes,function(a){if(a.zoomEnabled){var b=r.bounds[a.horiz?"h":"v"],e=a.minPixelPadding,
c=a.toPixels(k(a.options.min,a.dataMin)),f=a.toPixels(k(a.options.max,a.dataMax)),d=Math.max(c,f);b.min=Math.min(a.pos,Math.min(c,f)-e);b.max=Math.max(a.pos+a.len,d+e)}}),u.res=!0):u.followTouchMove&&1===f?this.runPointActions(u.normalize(a)):g.length&&(e||(u.selectionMarker=e=D({destroy:d,touch:!0},r.plotBox)),u.pinchTranslate(g,h,b,e,p,q),u.hasPinched=m,u.scaleGroups(b,p),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(d,n){var r=this.chart,g,h;if(r.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});
a.hoverChartIndex=r.index;1===d.touches.length?(d=this.normalize(d),(h=r.isInsidePlot(d.chartX-r.plotLeft,d.chartY-r.plotTop))&&!r.openMenu?(n&&this.runPointActions(d),"touchmove"===d.type&&(n=this.pinchDown,g=n[0]?4<=Math.sqrt(Math.pow(n[0].chartX-d.chartX,2)+Math.pow(n[0].chartY-d.chartY,2)):!1),k(g,!0)&&this.pinch(d)):n&&this.reset()):2===d.touches.length&&this.pinch(d)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){B[a.hoverChartIndex]&&
B[a.hoverChartIndex].pointer.drop(d)}})})(J);(function(a){var B=a.addEvent,y=a.charts,D=a.css,n=a.doc,d=a.extend,k=a.noop,v=a.Pointer,u=a.removeEvent,r=a.win,g=a.wrap;if(!a.hasTouch&&(r.PointerEvent||r.MSPointerEvent)){var h={},f=!!r.PointerEvent,q=function(){var e=[];e.item=function(a){return this[a]};a.objectEach(h,function(a){e.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return e},m=function(e,b,c,d){"touch"!==e.pointerType&&e.pointerType!==e.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||
(d(e),d=y[a.hoverChartIndex].pointer,d[b]({type:c,target:e.currentTarget,preventDefault:k,touches:q()}))};d(v.prototype,{onContainerPointerDown:function(a){m(a,"onContainerTouchStart","touchstart",function(a){h[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){m(a,"onContainerTouchMove","touchmove",function(a){h[a.pointerId]={pageX:a.pageX,pageY:a.pageY};h[a.pointerId].target||(h[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){m(a,
"onDocumentTouchEnd","touchend",function(a){delete h[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(n,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});g(v.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&D(b.container,{"-ms-touch-action":"none","touch-action":"none"})});g(v.prototype,"setDOMEvents",function(a){a.apply(this);
(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});g(v.prototype,"destroy",function(a){this.batchMSEvents(u);a.call(this)})}})(J);(function(a){var B=a.addEvent,y=a.css,D=a.discardElement,n=a.defined,d=a.each,k=a.fireEvent,v=a.isFirefox,u=a.marginNames,r=a.merge,g=a.pick,h=a.setAnimation,f=a.stableSort,q=a.win,m=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()}),
this.proximate?this.unchartrender=B(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=g(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=r(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=g(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},
update:function(a,b){var c=this.chart;this.setOptions(r(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;g(b,!0)&&c.redraw();k(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");var c=this.options,e=a.legendItem,d=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.color||g:g,m=a.options&&a.options.marker,q={fill:h};e&&e.css({fill:c,color:c});d&&d.attr({stroke:h});f&&(m&&
f.isMarker&&(q=a.pointAttribs(),b||(q.stroke=q.fill=g)),f.attr(q));k(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){d(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,d=e[0],e=e[1],f=a.checkbox;if((a=a.legendGroup)&&a.element)a[n(a.translateY)?"animate":"attr"]({translateX:b?d:this.legendWidth-d-2*c-4,translateY:e});f&&(f.x=d,f.y=e)},destroyItem:function(a){var b=
a.checkbox;d(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&D(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}d(this.getAllItems(),function(b){d(["legendItem","legendGroup"],a,b)});d("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,f=this.titleHeight;a&&(b=a.translateY,
d(this.allItems,function(e){var d=e.checkbox,g;d&&(g=b+f+d.y+(this.scrollOffset||0)+3,y(d,{left:a.translateX+e.checkboxOffset+d.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}).css(c.style).add(this.group)),a=this.title.getBBox(),d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));
this.titleHeight=d},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},renderItem:function(a){var b=this.chart,c=b.renderer,e=this.options,d=this.symbolWidth,f=e.symbolPadding,h=this.itemStyle,m=this.itemHiddenStyle,k="horizontal"===e.layout?g(e.itemDistance,20):0,q=!e.rtl,l=a.legendItem,H=!a.series,x=!H&&a.series.drawLegendSymbol?a.series:a,n=x.options,n=this.createCheckboxForItem&&n&&n.showCheckbox,k=
d+f+k+(n?20:0),G=e.useHTML,t=a.options.className;l||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+x.type+"-series highcharts-color-"+a.colorIndex+(t?" "+t:"")+(H?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=l=c.text("",q?d+f:-f,this.baseline||0,G).css(r(a.visible?h:m)).attr({align:q?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(d=h.fontSize,this.fontMetrics=c.fontMetrics(d,l),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,
l.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,x.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,l,G),n&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);h.width||l.css({width:(e.itemWidth||e.width||b.spacingBox.width)-k});this.setText(a);b=l.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+k;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,e="horizontal"===b.layout,d=a.itemHeight,f=b.itemMarginBottom||0,h=this.itemMarginTop,m=e?g(b.itemDistance,20):0,k=b.width,q=k||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&this.totalItemWidth>q?this.maxItemWidth:a.itemWidth;e&&this.itemX-c+b>q&&(this.itemX=c,this.itemY+=h+this.lastLineHeight+f,this.lastLineHeight=0);this.lastItemY=h+this.itemY+f;this.lastLineHeight=Math.max(d,
this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=h+d+f,this.lastLineHeight=d);this.offsetWidth=k||Math.max((e?this.itemX-c-(a.checkbox?0:m):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var c=b&&b.options;b&&g(c.showInLegend,n(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});k(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?
a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,e=this.options,f=this.getAlignment();f&&d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,h){d.test(f)&&!n(a[h])&&(c[u[h]]=Math.max(c[u[h]],c.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+g(e.margin,12)+b[h]+(0===h&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var e=
this.chart,b=[],c="left"===this.options.align;d(this.allItems,function(d){var f,g;f=c;d.xAxis&&d.points&&(d.xAxis.options.reversed&&(f=!f),f=a.find(f?d.points:d.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),g=d.legendGroup.getBBox().height,b.push({target:d.visible?(f?f.plotY:d.xAxis.height)-.3*g:e.plotHeight,size:g,item:d}))},this);a.distribute(b,e.plotHeight);d(b,function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,
c=this.group,g,h,m,k=this.box,q=this.options,n=this.padding;this.itemX=n;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();g=this.getAllItems();f(g,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});q.reversed&&g.reverse();this.allItems=g;this.display=h=!!g.length;this.itemHeight=
this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d(g,this.renderItem,this);d(g,this.layoutItem,this);g=(q.width||this.offsetWidth)+n;m=this.lastItemY+this.lastLineHeight+this.titleHeight;m=this.handleOverflow(m);m+=n;k||(this.box=k=b.rect().addClass("highcharts-legend-box").attr({r:q.borderRadius}).add(c),k.isNew=!0);k.attr({stroke:q.borderColor,"stroke-width":q.borderWidth||0,fill:q.backgroundColor||"none"}).shadow(q.shadow);0<g&&0<m&&(k[k.isNew?"attr":"animate"](k.crisp.call({},{x:0,
y:0,width:g,height:m},k.strokeWidth())),k.isNew=!1);k[h?"show":"hide"]();this.legendWidth=g;this.legendHeight=m;h&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=r(b,{y:b.y+a.titleOffset+a.options.title.margin})),c.align(r(q,{width:g,height:m,verticalAlign:this.proximate?"top":q.verticalAlign}),!0,b));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,c=this.chart,e=c.renderer,f=this.options,h=f.y,m=this.padding,c=c.spacingBox.height+("top"===f.verticalAlign?
-h:h)-m,h=f.maxHeight,k,q=this.clipRect,n=f.navigation,l=g(n.animation,!0),H=n.arrowSize||12,x=this.nav,r=this.pages,G,t=this.allItems,z=function(a){"number"===typeof a?q.attr({height:a}):q&&(b.clipRect=q.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(c/=2);h&&(c=Math.min(c,h));r.length=0;a>c&&!1!==n.enabled?(this.clipHeight=k=Math.max(c-20-this.titleHeight-
m,0),this.currentPage=g(this.currentPage,1),this.fullHeight=a,d(t,function(a,b){var c=a._legendItemPos[1],e=Math.round(a.legendItem.getBBox().height),d=r.length;if(!d||c-r[d-1]>k&&(G||c)!==r[d-1])r.push(G||c),d++;a.pageIx=d-1;G&&(t[b-1].pageIx=d-1);b===t.length-1&&c+e-r[d-1]>k&&(r.push(c),a.pageIx=d);c!==G&&(G=c)}),q||(q=b.clipRect=e.clipRect(0,m,9999,0),b.contentGroup.clip(q)),z(k),x||(this.nav=x=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,H,H).on("click",function(){b.scroll(-1,
l)}).add(x),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(x),this.down=e.symbol("triangle-down",0,0,H,H).on("click",function(){b.scroll(1,l)}).add(x)),b.scroll(0),a=c):x&&(z(),this.nav=x.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 d=this.clipHeight,f=this.options.navigation,g=this.pager,m=this.padding;a>e&&(a=e);0<a&&(void 0!==b&&h(b,this.chart),this.nav.attr({translateX:m,
translateY:d+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),g.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.up.attr({fill:1===a?f.inactiveColor:f.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===e?f.inactiveColor:f.activeColor}).css({cursor:a===e?"default":"pointer"}),
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,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-c)/2:0,a.baseline-c+1,e?c:a.symbolWidth,c,g(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,e=a.symbolWidth,
d=a.symbolHeight,f=d/2,h=this.chart.renderer,m=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var k;k={"stroke-width":b.lineWidth||0};b.dashStyle&&(k.dashstyle=b.dashStyle);this.legendLine=h.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(k).add(m);c&&!1!==c.enabled&&e&&(b=Math.min(g(c.radius,f),f),0===this.symbol.indexOf("url")&&(c=r(c,{width:d,height:d}),b=0),this.legendSymbol=c=h.symbol(this.symbol,e/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(m),c.isMarker=!0)}};
(/Trident\/7\.0/.test(q.navigator.userAgent)||v)&&m(a.Legend.prototype,"positionItem",function(a,b){var c=this,e=function(){b._legendItemPos&&a.call(c,b)};e();setTimeout(e)})})(J);(function(a){var B=a.addEvent,y=a.animate,D=a.animObject,n=a.attr,d=a.doc,k=a.Axis,v=a.createElement,u=a.defaultOptions,r=a.discardElement,g=a.charts,h=a.css,f=a.defined,q=a.each,m=a.extend,e=a.find,b=a.fireEvent,c=a.grep,p=a.isNumber,A=a.isObject,I=a.isString,w=a.Legend,M=a.marginNames,C=a.merge,E=a.objectEach,l=a.Pointer,
H=a.pick,x=a.pInt,L=a.removeEvent,G=a.seriesTypes,t=a.splat,z=a.syncTimeout,N=a.win,S=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new S(a,b,c)};m(S.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(I(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,e){var d,f,l=c.series,h=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;d=C(u,c);for(f in d.plotOptions)d.plotOptions[f].tooltip=
h[f]&&C(h[f].tooltip)||void 0;d.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;d.series=c.series=l;this.userOptions=c;var m=d.chart,t=m.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=e;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.time=c.time&&a.keys(c.time).length?new a.Time(c.time):a.time;this.hasCartesianSeries=m.showAxes;var x=this;x.index=g.length;g.push(x);a.chartCount++;t&&E(t,function(a,
b){B(x,b,a)});x.xAxis=[];x.yAxis=[];x.pointCount=x.colorCounter=x.symbolCounter=0;b(x,"afterInit");x.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=G[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 e=c?b:a;a=c?a:b;return 0<=e&&e<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,
"beforeRedraw");var e=this.axes,d=this.series,f=this.pointer,l=this.legend,g=this.userOptions.legend,h=this.isDirtyLegend,t,x,p=this.hasCartesianSeries,k=this.isDirtyBox,H,G=this.renderer,n=G.isHidden(),w=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);n&&this.temporaryDisplay();this.layOutTitles();for(c=d.length;c--;)if(H=d[c],H.options.stacking&&(t=!0,H.isDirty)){x=!0;break}if(x)for(c=d.length;c--;)H=d[c],H.options.stacking&&(H.isDirty=!0);q(d,function(a){a.isDirty&&("point"===
a.options.legendType?(a.updateTotals&&a.updateTotals(),h=!0):g&&(g.labelFormatter||g.labelFormat)&&(h=!0));a.isDirtyData&&b(a,"updatedData")});h&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1);t&&this.getStacks();p&&q(e,function(a){a.updateNames();a.setScale()});this.getMargins();p&&(q(e,function(a){a.isDirty&&(k=!0)}),q(e,function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,w.push(function(){b(a,"afterSetExtremes",m(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(k||t)&&a.redraw()}));
k&&this.drawChartBox();b(this,"predraw");q(d,function(a){(k||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});f&&f.reset(!0);G.draw();b(this,"redraw");b(this,"render");n&&this.temporaryDisplay(!0);q(w,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,f;c=e(this.axes,b)||e(this.series,b);for(f=0;!c&&f<d.length;f++)c=e(d[f].points||[],b);return c},getAxes:function(){var a=this,c=this.options,e=c.xAxis=t(c.xAxis||{}),c=c.yAxis=
t(c.yAxis||{});b(this,"getAxes");q(e,function(a,b){a.index=b;a.isX=!0});q(c,function(a,b){a.index=b});e=e.concat(c);q(e,function(b){new k(a,b)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];q(this.series,function(b){a=a.concat(c(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return c(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var e=this,d=e.options,f;f=d.title=C({style:{color:"#333333",fontSize:d.isStock?"16px":"18px"}},
d.title,a);d=d.subtitle=C({style:{color:"#666666"}},d.subtitle,b);q([["title",a,f],["subtitle",b,d]],function(a,b){var c=a[0],d=e[c],f=a[1];a=a[2];d&&f&&(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[c].css(a.style))});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,e=this.renderer,d=this.spacingBox;q(["title","subtitle"],function(a){var c=this[a],
f=this.options[a];a="title"===a?-3:f.verticalAlign?0:b+2;var l;c&&(l=f.style.fontSize,l=e.fontMetrics(l,c).b,c.css({width:(f.width||d.width+f.widthAdjust)+"px"}).align(m({y:a+l},f),!1,"spacingBox"),f.floating||f.verticalAlign||(b=Math.ceil(b+c.getBBox(f.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&H(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=
b.height,e=this.renderTo;f(c)||(this.containerWidth=a.getStyle(e,"width"));f(b)||(this.containerHeight=a.getStyle(e,"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&&(d.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;
else for(;c&&c.style;){d.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,d.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===d.body)break}},setClassName:function(a){this.container.className="highcharts-container "+
(a||"")},getContainer:function(){var c,e=this.options,f=e.chart,l,h;c=this.renderTo;var t=a.uniqueKey(),k;c||(this.renderTo=c=f.renderTo);I(c)&&(this.renderTo=c=d.getElementById(c));c||a.error(13,!0);l=x(n(c,"data-highcharts-chart"));p(l)&&g[l]&&g[l].hasRendered&&g[l].destroy();n(c,"data-highcharts-chart",this.index);c.innerHTML="";f.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();l=this.chartWidth;h=this.chartHeight;k=m({position:"relative",overflow:"hidden",width:l+"px",height:h+
"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},f.style);this.container=c=v("div",{id:t},k,c);this._cursor=c.style.cursor;this.renderer=new (a[f.renderer]||a.Renderer)(c,l,h,null,f.forExport,e.exporting&&e.exporting.allowHTML);this.setClassName(f.className);this.renderer.setStyle(f.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,e=this.margin,d=this.titleOffset;this.resetMargins();d&&
!f(e[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(e,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&q(a.axes,function(a){a.visible&&a.getOffset()});q(M,function(e,d){f(c[d])||(a[e]+=b[d])});a.setChartSize()},reflow:function(b){var c=this,e=c.options.chart,l=c.renderTo,g=f(e.width)&&f(e.height),h=e.width||a.getStyle(l,
"width"),e=e.height||a.getStyle(l,"height"),l=b?b.target:N;if(!g&&!c.isPrinting&&h&&e&&(l===N||l===d)){if(h!==c.containerWidth||e!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=z(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=h;c.containerHeight=e}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(N,"resize",function(a){b.reflow(a)}),B(this,"destroy",
this.unbindReflow))},setSize:function(c,e,d){var f=this,l=f.renderer;f.isResizing+=1;a.setAnimation(d,f);f.oldChartHeight=f.chartHeight;f.oldChartWidth=f.chartWidth;void 0!==c&&(f.options.chart.width=c);void 0!==e&&(f.options.chart.height=e);f.getChartSize();c=l.globalAnimation;(c?y:h)(f.container,{width:f.chartWidth+"px",height:f.chartHeight+"px"},c);f.setChartSize(!0);l.setSize(f.chartWidth,f.chartHeight,d);q(f.axes,function(a){a.isDirty=!0;a.setScale()});f.isDirtyLegend=!0;f.isDirtyBox=!0;f.layOutTitles();
f.getMargins();f.redraw(d);f.oldChartHeight=null;b(f,"resize");z(function(){f&&b(f,"endResize",null,function(){--f.isResizing})},D(c).duration)},setChartSize:function(a){var c=this.inverted,e=this.renderer,f=this.chartWidth,d=this.chartHeight,l=this.options.chart,g=this.spacing,h=this.clipOffset,m,t,x,k;this.plotLeft=m=Math.round(this.plotLeft);this.plotTop=t=Math.round(this.plotTop);this.plotWidth=x=Math.max(0,Math.round(f-m-this.marginRight));this.plotHeight=k=Math.max(0,Math.round(d-t-this.marginBottom));
this.plotSizeX=c?k:x;this.plotSizeY=c?x:k;this.plotBorderWidth=l.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:g[3],y:g[0],width:f-g[3]-g[1],height:d-g[0]-g[2]};this.plotBox=e.plotBox={x:m,y:t,width:x,height:k};f=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(f,h[3])/2);e=Math.ceil(Math.max(f,h[0])/2);this.clipBox={x:c,y:e,width:Math.floor(this.plotSizeX-Math.max(f,h[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(f,h[2])/2-e))};a||q(this.axes,function(a){a.setAxisSize();
a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;q(["margin","spacing"],function(c){var e=b[c],f=A(e)?e:[e,e,e,e];q(["Top","Right","Bottom","Left"],function(e,d){a[c][d]=H(b[c+e],f[d])})});q(M,function(b,c){a[b]=H(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,c=this.renderer,e=this.chartWidth,f=this.chartHeight,d=this.chartBackground,l=this.plotBackground,
g=this.plotBorder,h,m=this.plotBGImage,t=a.backgroundColor,x=a.plotBackgroundColor,k=a.plotBackgroundImage,p,H=this.plotLeft,q=this.plotTop,G=this.plotWidth,n=this.plotHeight,w=this.plotBox,r=this.clipRect,z=this.clipBox,C="animate";d||(this.chartBackground=d=c.rect().addClass("highcharts-background").add(),C="attr");h=a.borderWidth||0;p=h+(a.shadow?8:0);t={fill:t||"none"};if(h||d["stroke-width"])t.stroke=a.borderColor,t["stroke-width"]=h;d.attr(t).shadow(a.shadow);d[C]({x:p/2,y:p/2,width:e-p-h%2,
height:f-p-h%2,r:a.borderRadius});C="animate";l||(C="attr",this.plotBackground=l=c.rect().addClass("highcharts-plot-background").add());l[C](w);l.attr({fill:x||"none"}).shadow(a.plotShadow);k&&(m?m.animate(w):this.plotBGImage=c.image(k,H,q,G,n).add());r?r.animate({width:z.width,height:z.height}):this.clipRect=c.clipRect(z);C="animate";g||(C="attr",this.plotBorder=g=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());g.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||
0,fill:"none"});g[C](g.crisp({x:H,y:q,width:G,height:n},-g.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,f,d;q(["inverted","angular","polar"],function(l){c=G[b.type||b.defaultSeriesType];d=b[l]||c&&c.prototype[l];for(f=e&&e.length;!d&&f--;)(c=G[e[f].type])&&c.prototype[l]&&(d=!0);a[l]=d})},linkSeries:function(){var a=this,c=a.series;q(c,function(a){a.linkedSeries.length=0});q(c,function(b){var c=b.options.linkedTo;
I(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=H(b.options.visible,c.options.visible,b.visible))});b(this,"afterLinkSeries")},renderSeries:function(){q(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&q(b.items,function(c){var e=m(b.style,c.style),f=x(e.left)+a.plotLeft,d=x(e.top)+a.plotTop+12;delete e.left;delete e.top;a.renderer.text(c.html,f,d).attr({zIndex:2}).css(e).add()})},
render:function(){var a=this.axes,b=this.renderer,c=this.options,e,f,d;this.setTitle();this.legend=new w(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight=Math.max(this.plotHeight-21,0);q(a,function(a){a.setScale()});this.getAxisMargins();f=1.1<c/this.plotWidth;d=1.05<e/this.plotHeight;if(f||d)q(a,function(a){(a.horiz&&f||!a.horiz&&d)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&q(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=C(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,
zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var c=this,e=c.axes,f=c.series,d=c.container,l,h=d&&d.parentNode;b(c,"destroy");c.renderer.forExport?a.erase(g,c):g[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");L(c);for(l=e.length;l--;)e[l]=e[l].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(l=f.length;l--;)f[l]=f[l].destroy();q("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});d&&(d.innerHTML="",L(d),h&&r(d));E(c,function(a,b){delete c[b]})},firstRender:function(){var a=this,c=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();q(c.series||[],function(b){a.initSeries(b)});a.linkSeries();b(a,"beforeRender");l&&(a.pointer=new l(a,c));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){q([this.callback].concat(this.callbacks),
function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");f(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(J);(function(a){var B,y=a.each,D=a.extend,n=a.erase,d=a.fireEvent,k=a.format,v=a.isArray,u=a.isNumber,r=a.pick,g=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,f,g){this.series=a;this.color=a.color;this.applyOptions(f,g);a.options.colorByPoint?(f=a.options.colors||a.chart.options.colors,this.color=this.color||
f[a.colorCounter],f=f.length,g=a.colorCounter,a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):g=a.colorIndex;this.colorIndex=r(this.colorIndex,g);a.chart.pointCount++;d(this,"afterInit");return this},applyOptions:function(a,d){var f=this.series,g=f.options.pointValKey||f.pointValKey;a=B.prototype.optionsToObject.call(this,a);D(this,a);this.options=this.options?D(this.options,a):a;a.group&&delete this.group;g&&(this.y=this[g]);this.isNull=r(this.isValid&&!this.isValid(),null===this.x||!u(this.y,
!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&f.xAxis&&f.xAxis.hasNames&&(this.x=f.xAxis.nameToX(this));void 0===this.x&&f&&(this.x=void 0===d?f.autoIncrement(this):d);return this},setNestedProperty:function(d,f,g){g=g.split(".");a.reduce(g,function(d,e,b,c){d[e]=c.length-1===b?f:a.isObject(d[e],!0)?d[e]:{};return d[e]},d);return d},optionsToObject:function(d){var f={},g=this.series,h=g.options.keys,e=h||g.pointArrayMap||["y"],b=e.length,c=0,k=0;if(u(d)||null===d)f[e[0]]=d;
else if(v(d))for(!h&&d.length>b&&(g=typeof d[0],"string"===g?f.name=d[0]:"number"===g&&(f.x=d[0]),c++);k<b;)h&&void 0===d[c]||(0<e[k].indexOf(".")?a.Point.prototype.setNestedProperty(f,d[c],e[k]):f[e[k]]=d[c]),c++,k++;else"object"===typeof d&&(f=d,d.dataLabels&&(g._hasPointLabels=!0),d.marker&&(g._hasPointMarkers=!0));return f},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,d=a.zones,a=a.zoneAxis||"y",g=0,m;for(m=d[g];this[a]>=m.value;)m=d[++g];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=m&&m.color&&!this.options.color?m.color:this.nonZonedColor;return m},destroy:function(){var a=this.series.chart,
d=a.hoverPoints,k;a.pointCount--;d&&(this.setState(),n(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)g(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(k in this)this[k]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,g=6;g--;)d=a[g],this[d]&&(this[d]=this[d].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,g=d.tooltipOptions,h=r(g.valueDecimals,""),e=g.valuePrefix||"",b=g.valueSuffix||"";y(d.pointArrayMap||["y"],function(c){c="{point."+c;if(e||b)a=a.replace(RegExp(c+"}","g"),e+c+"}"+b);a=a.replace(RegExp(c+"}","g"),c+":,."+h+"f}")});return k(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,
f,g){var h=this,e=this.series.options;(e.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(g=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});d(this,a,f,g)},visible:!0}})(J);(function(a){var B=a.addEvent,y=a.animObject,D=a.arrayMax,n=a.arrayMin,d=a.correctFloat,k=a.defaultOptions,v=a.defaultPlotOptions,u=a.defined,r=a.each,g=a.erase,h=a.extend,f=a.fireEvent,q=a.grep,m=a.isArray,e=a.isNumber,b=a.isString,
c=a.merge,p=a.objectEach,A=a.pick,I=a.removeEvent,w=a.splat,M=a.SVGElement,C=a.syncTimeout,E=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===
this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},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,opacity:.25}},select:{}},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 c=this,e,d=a.series,l;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();h(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;p(e,function(a,b){B(c,b,a)});if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();r(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=
!0);d.length&&(l=d[d.length-1]);c._i=A(l&&l._i,-1)+1;a.orderSeries(this.insert(d));f(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(e(b)){for(c=a.length;c--;)if(b>=A(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 A(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,d;r(b.axisTypes||[],function(f){r(e[f],function(a){d=a.options;if(c[f]===d.index||void 0!==c[f]&&c[f]===d.id||void 0===c[f]&&0===d.index)b.insert(a.series),
b[f]=a,a.isDirty=!0});b[f]||b.optionalAxis===f||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,f=e(b)?function(e){var d="y"===e&&c.toYData?c.toYData(a):a[e];c[e+"Data"][b]=d}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};r(c.parallelArrays,f)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,e=a.pointIntervalUnit,d=this.chart.time,b=A(b,a.pointStart,0);this.pointInterval=c=A(this.pointInterval,a.pointInterval,1);
e&&(a=new d.Date(b),"day"===e?d.set("Date",a,d.get("Date",a)+c):"month"===e?d.set("Month",a,d.get("Month",a)+c):"year"===e&&d.set("FullYear",a,d.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,e=b.options,d=e.plotOptions,l=(b.userOptions||{}).plotOptions||{},g=d[this.type];this.userOptions=a;b=c(g,d.series,a);this.tooltipOptions=c(k.tooltip,k.plotOptions.series&&k.plotOptions.series.tooltip,k.plotOptions[this.type].tooltip,e.tooltip.userOptions,
d.series&&d.series.tooltip,d[this.type].tooltip,a.tooltip);this.stickyTracking=A(a.stickyTracking,l[this.type]&&l[this.type].stickyTracking,l.series&&l.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===g.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});
a.length&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});f(this,"afterSetOptions",{options:b});return b},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var e,d=this.chart,f=this.userOptions,l=a+"Index",g=a+"Counter",h=c?c.length:A(d.options.chart[a+"Count"],d[a+"Count"]);b||(e=A(f[l],f["_"+l]),u(e)||(d.series.length||(d[g]=0),f["_"+l]=e=d[g]%h,d[g]+=1),c&&(b=c[e]));void 0!==e&&(this[l]=e);this[a]=b},getColor:function(){this.options.colorByPoint?
this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},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,f=[],l,g,h,m=this.requireSorting;r(b,function(b){var g;g=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;e(g)&&(g=a.inArray(g,this.xData,h),-1===g||
d[g].touched?f.push(b):b!==c.data[g]?(d[g].update(b,!1,null,!1),d[g].touched=!0,m&&(h=g+1)):d[g]&&(d[g].touched=!0),l=!0)},this);if(l)for(b=d.length;b--;)g=d[b],g.touched||g.remove(!1),g.touched=!1;else if(b.length===d.length)r(b,function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;r(f,function(a){this.addPoint(a,!1)},this);return!0},setData:function(c,d,f,g){var l=this,h=l.points,k=h&&h.length||0,p,x=l.options,n=l.chart,q=null,H=l.xAxis,w=x.turboThreshold,C=this.xData,
E=this.yData,u=(p=l.pointArrayMap)&&p.length,L;c=c||[];p=c.length;d=A(d,!0);!1!==g&&p&&k&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.isSeriesBoosting&&(L=this.updateData(c));if(!L){l.xIncrement=null;l.colorCounter=0;r(this.parallelArrays,function(a){l[a+"Data"].length=0});if(w&&p>w){for(f=0;null===q&&f<p;)q=c[f],f++;if(e(q))for(f=0;f<p;f++)C[f]=this.autoIncrement(),E[f]=c[f];else if(m(q))if(u)for(f=0;f<p;f++)q=c[f],C[f]=q[0],E[f]=q.slice(1,u+1);else for(f=0;f<p;f++)q=c[f],C[f]=q[0],E[f]=q[1];else a.error(12)}else for(f=
0;f<p;f++)void 0!==c[f]&&(q={series:l},l.pointClass.prototype.applyOptions.apply(q,[c[f]]),l.updateParallelArrays(q,f));E&&b(E[0])&&a.error(14,!0);l.data=[];l.options.data=l.userOptions.data=c;for(f=k;f--;)h[f]&&h[f].destroy&&h[f].destroy();H&&(H.minRange=H.userMinRange);l.isDirty=n.isDirtyBox=!0;l.isDirtyData=!!h;f=!1}"point"===x.legendType&&(this.processData(),this.generatePoints());d&&n.redraw(f)},processData:function(b){var c=this.xData,e=this.yData,d=c.length,f;f=0;var l,g,h=this.xAxis,m,k=this.options;
m=k.cropThreshold;var p=this.getExtremesFromAll||k.getExtremesFromAll,q=this.isCartesian,k=h&&h.val2lin,n=h&&h.isLog,w=this.requireSorting,C,r;if(q&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!b)return!1;h&&(b=h.getExtremes(),C=b.min,r=b.max);q&&this.sorted&&!p&&(!m||d>m||this.forceCrop)&&(c[d-1]<C||c[0]>r?(c=[],e=[]):this.yData&&(c[0]<C||c[d-1]>r)&&(f=this.cropData(this.xData,this.yData,C,r),c=f.xData,e=f.yData,f=f.start,l=!0));for(m=c.length||1;--m;)d=n?k(c[m])-k(c[m-1]):c[m]-c[m-1],0<d&&(void 0===
g||d<g)?g=d:0>d&&w&&(a.error(15),w=!1);this.cropped=l;this.cropStart=f;this.processedXData=c;this.processedYData=e;this.closestPointRange=g},cropData:function(a,b,c,e,d){var f=a.length,l=0,g=f,h;d=A(d,this.cropShoulder,1);for(h=0;h<f;h++)if(a[h]>=c){l=Math.max(0,h-d);break}for(c=h;c<f;c++)if(a[c]>e){g=c+d;break}return{xData:a.slice(l,g),yData:b.slice(l,g),start:l,end:g}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,e,d=this.processedXData,f=this.processedYData,g=this.pointClass,
m=d.length,k=this.cropStart||0,p,q=this.hasGroupedData,a=a.keys,n,C=[],r;c||q||(c=[],c.length=b.length,c=this.data=c);a&&q&&(this.options.keys=!1);for(r=0;r<m;r++)p=k+r,q?(n=(new g).init(this,[d[r]].concat(w(f[r]))),n.dataGroup=this.groupMap[r],n.dataGroup.options&&(n.options=n.dataGroup.options,h(n,n.dataGroup.options))):(n=c[p])||void 0===b[p]||(c[p]=n=(new g).init(this,b[p],d[r])),n&&(n.index=p,C[r]=n);this.options.keys=a;if(c&&(m!==(e=c.length)||q))for(r=0;r<e;r++)r!==k||q||(r+=m),c[r]&&(c[r].destroyElements(),
c[r].plotX=void 0);this.data=c;this.points=C},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,f=[],l=0;d=this.xAxis.getExtremes();var g=d.min,h=d.max,k,p,q=this.requireSorting?1:0,w,r;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(r=0;r<d;r++)if(p=c[r],w=a[r],k=(e(w,!0)||m(w))&&(!b.positiveValuesOnly||w.length||0<w),p=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[r+q]||p)>=g&&(c[r-q]||p)<=h,k&&p)if(k=w.length)for(;k--;)"number"===typeof w[k]&&
(f[l++]=w[k]);else f[l++]=w;this.dataMin=n(f);this.dataMax=D(f)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,g=c.categories,h=this.yAxis,m=this.points,k=m.length,p=!!this.modifyValue,q=a.pointPlacement,n="between"===q||e(q),w=a.threshold,r=a.startFromThreshold?w:0,C,E,v,I,M=Number.MAX_VALUE;"between"===q&&(q=.5);e(q)&&(q*=A(a.pointRange||c.pointRange));for(a=0;a<k;a++){var y=m[a],D=y.x,B=y.y;E=y.low;var J=b&&h.stacks[(this.negStacks&&
B<(r?0:w)?"-":"")+this.stackKey],V;h.positiveValuesOnly&&null!==B&&0>=B&&(y.isNull=!0);y.plotX=C=d(Math.min(Math.max(-1E5,c.translate(D,0,0,0,1,q,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&J&&J[D]&&(I=this.getStackIndicator(I,D,this.index),V=J[D],B=V.points[I.key],E=B[0],B=B[1],E===r&&I.key===J[D].base&&(E=A(e(w)&&w,h.min)),h.positiveValuesOnly&&0>=E&&(E=null),y.total=y.stackTotal=V.total,y.percentage=V.total&&y.y/V.total*100,y.stackY=B,V.setOffset(this.pointXOffset||0,this.barW||0));
y.yBottom=u(E)?Math.min(Math.max(-1E5,h.translate(E,0,1,0,1)),1E5):null;p&&(B=this.modifyValue(B,y));y.plotY=E="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,h.translate(B,0,1,0,1)),1E5):void 0;y.isInside=void 0!==E&&0<=E&&E<=h.len&&0<=C&&C<=c.len;y.clientX=n?d(c.translate(D,0,0,0,1,q)):C;y.negative=y.y<(w||0);y.category=g&&void 0!==g[y.x]?g[y.x]:y.x;y.isNull||(void 0!==v&&(M=Math.min(M,Math.abs(C-v))),v=C);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=M;f(this,"afterTranslate")},
getValidPoints:function(a,b){var c=this.chart;return q(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,e=b.renderer,d=b.inverted,f=this.clipBox,l=f||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,l.height,c.xAxis,c.yAxis].join(),h=b[g],m=b[g+"m"];h||(a&&(l.width=0,d&&(l.x=b.plotSizeX),b[g+"m"]=m=e.clipRect(d?b.plotSizeX+99:-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:
b.chartHeight)),b[g]=h=e.clipRect(l),h.count={length:0});a&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1);!1!==c.clip&&(this.group.clip(a||f?h:b.clipRect),this.markerGroup.clip(m),this.sharedClipKey=g);a||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&g&&b[g]&&(f||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,c=y(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&&
a.animate({width:b.plotSizeX,x:0},c),b[e+"m"]&&b[e+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e,d,f,g=this.options.marker,h,m,k,p=this[this.specialGroup]||this.markerGroup,q,n=A(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)e=
a[c],f=e.graphic,h=e.marker||{},m=!!e.marker,d=n&&void 0===h.enabled||h.enabled,k=e.isInside,d&&!e.isNull?(d=A(h.symbol,this.symbol),q=this.markerAttribs(e,e.selected&&"select"),f?f[k?"show":"hide"](!0).animate(q):k&&(0<q.width||e.hasImage)&&(e.graphic=f=b.renderer.symbol(d,q.x,q.y,q.width,q.height,m?h:g).add(p)),f&&f.attr(this.pointAttribs(e,e.selected&&"select")),f&&f.addClass(e.getClassName(),!0)):f&&(e.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,e=a.marker||{},
d=e.symbol||c.symbol,f=A(e.radius,c.radius);b&&(c=c.states[b],b=e.states&&e.states[b],f=A(b&&b.radius,c&&c.radius,f+(c&&c.radiusPlus||0)));a.hasImage=d&&0===d.indexOf("url");a.hasImage&&(f=0);a={x:Math.floor(a.plotX)-f,y:a.plotY-f};f&&(a.width=a.height=2*f);return a},pointAttribs:function(a,b){var c=this.options.marker,e=a&&a.options,d=e&&e.marker||{},f=this.color,l=e&&e.color,g=a&&a.color,e=A(d.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;f=l||a||g||f;a=d.fillColor||c.fillColor||f;f=d.lineColor||
c.lineColor||f;b&&(c=c.states[b],b=d.states&&d.states[b]||{},e=A(b.lineWidth,c.lineWidth,e+A(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,f=b.lineColor||c.lineColor||f);return{stroke:f,"stroke-width":e,fill:a}},destroy:function(){var b=this,c=b.chart,e=/AppleWebKit\/533/.test(E.navigator.userAgent),d,h,m=b.data||[],k,q;f(b,"destroy");I(b);r(b.axisTypes||[],function(a){(q=b[a])&&q.series&&(g(q.series,b),q.isDirty=q.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);p(b,function(a,b){a instanceof M&&!a.survive&&(d=e&&"group"===b?"hide":"destroy",a[d]())});c.hoverSeries===b&&(c.hoverSeries=null);g(c.series,b);c.orderSeries();p(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var e=this,d=e.options,f=d.step,g,l=[],h=[],m;a=a||e.points;(g=a.reversed)&&a.reverse();(f={right:1,center:2}[f]||f&&3)&&g&&(f=4-f);!d.connectNulls||b||c||(a=this.getValidPoints(a));
r(a,function(g,k){var p=g.plotX,t=g.plotY,q=a[k-1];(g.leftCliff||q&&q.rightCliff)&&!c&&(m=!0);g.isNull&&!u(b)&&0<k?m=!d.connectNulls:g.isNull&&!b?m=!0:(0===k||m?k=["M",g.plotX,g.plotY]:e.getPointSpline?k=e.getPointSpline(a,g,k):f?(k=1===f?["L",q.plotX,t]:2===f?["L",(q.plotX+p)/2,q.plotY,"L",(q.plotX+p)/2,t]:["L",p,q.plotY],k.push("L",p,t)):k=["L",p,t],h.push(g.x),f&&(h.push(g.x),2===f&&h.push(g.x)),l.push.apply(l,k),m=!1)});l.xMap=h;return e.graphPath=l},drawGraph:function(){var a=this,b=this.options,
c=(this.gappedPath||this.getGraphPath).call(this),e=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]],e=a.getZonesGraphs(e);r(e,function(e,d){var f=e[0],g=a[f];g?(g.endX=a.preventGraphAnimation?null:c.xMap,g.animate({d:c})):c.length&&(a[f]=a.chart.renderer.path(c).addClass(e[1]).attr({zIndex:1}).add(a.group),g={stroke:e[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},e[3]?g.dashstyle=e[3]:"square"!==b.linecap&&(g["stroke-linecap"]=g["stroke-linejoin"]="round"),g=
a[f].attr(g).shadow(2>d&&b.shadow));g&&(g.startX=c.xMap,g.isArea=c.isArea)})},getZonesGraphs:function(a){r(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||""),b.color||this.color,b.dashStyle||this.options.dashStyle])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,e=this.zones,d,f,g=this.clips||[],h,m=this.graph,k=this.area,p=Math.max(b.chartWidth,b.chartHeight),q=this[(this.zoneAxis||"y")+"Axis"],n,w,C=b.inverted,
E,u,v,I,M=!1;e.length&&(m||k)&&q&&void 0!==q.min&&(w=q.reversed,E=q.horiz,m&&!this.showLine&&m.hide(),k&&k.hide(),n=q.getExtremes(),r(e,function(e,l){d=w?E?b.plotWidth:0:E?0:q.toPixels(n.min);d=Math.min(Math.max(A(f,d),0),p);f=Math.min(Math.max(Math.round(q.toPixels(A(e.value,n.max),!0)),0),p);M&&(d=f=q.toPixels(n.max));u=Math.abs(d-f);v=Math.min(d,f);I=Math.max(d,f);q.isXAxis?(h={x:C?I:v,y:0,width:u,height:p},E||(h.x=b.plotHeight-h.x)):(h={x:0,y:C?I:v,width:p,height:u},E&&(h.y=b.plotWidth-h.y));
C&&c.isVML&&(h=q.isXAxis?{x:0,y:w?v:I,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[l]?g[l].animate(h):(g[l]=c.clipRect(h),m&&a["zone-graph-"+l].clip(g[l]),k&&a["zone-area-"+l].clip(g[l]));M=e.value>n.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=g)},invertGroups:function(a){function b(){r(["group","markerGroup"],function(b){c[b]&&(e.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,e=c.chart,d;c.xAxis&&(d=B(e,"resize",b),B(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,d){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g().attr({zIndex:e||.1}).add(d));f.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(u(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr({visibility:c})[g?
"attr":"animate"](this.getPlotBox());return f},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,d=!!a.animate&&b.renderer.isSVG&&y(e.animation).duration,g=a.visible?"inherit":"hidden",h=e.zIndex,m=a.hasRendered,k=b.seriesGroup,p=b.inverted;c=a.plotGroup("group","series",g,h,k);a.markerGroup=a.plotGroup("markerGroup",
"markers",g,h,k);d&&a.animate(!0);c.inverted=a.isCartesian?p:!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(p);!1===e.clip||a.sharedClipKey||m||c.clip(b.clipRect);d&&a.animate();m||(a.animationTimeout=C(function(){a.afterAnimate()},d));a.isDirty=!1;a.hasRendered=!0;f(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=
this.group,e=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:A(e&&e.left,a.plotLeft),translateY:A(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?e.len-a.chartX+e.pos:a.chartY-e.pos},b)},buildKDTree:function(){function a(c,
e,d){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[e%d],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),e+1,d),right:a(c.slice(g+1),e+1,d)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;C(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,l,h){var m=b.point,k=e.kdAxisArray[l%h],p,q,n=m;q=u(a[d])&&u(m[d])?
Math.pow(a[d]-m[d],2):null;p=u(a[f])&&u(m[f])?Math.pow(a[f]-m[f],2):null;p=(q||0)+(p||0);m.dist=u(p)?Math.sqrt(p):Number.MAX_VALUE;m.distX=u(q)?Math.sqrt(q):Number.MAX_VALUE;k=a[k]-m[k];p=0>k?"left":"right";q=0>k?"right":"left";b[p]&&(p=c(a,b[p],l+1,h),n=p[g]<n[g]?p:m);b[q]&&Math.sqrt(k*k)<n[g]&&(a=c(a,b[q],l+1,h),n=a[g]<n[g]?a:n);return n}var e=this,d=this.kdAxisArray[0],f=this.kdAxisArray[1],g=b?"distX":"dist";b=-1<e.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,y=a.animate,D=a.Axis,n=a.createElement,d=a.css,k=a.defined,v=a.each,u=a.erase,r=a.extend,g=a.fireEvent,h=a.inArray,f=a.isNumber,q=a.isObject,m=a.isArray,e=a.merge,b=a.objectEach,c=a.pick,p=a.Point,A=a.Series,I=a.seriesTypes,w=a.setAnimation,M=a.splat;r(a.Chart.prototype,{addSeries:function(a,b,e){var d,f=this;a&&(b=c(b,!0),g(f,"addSeries",{options:a},function(){d=f.initSeries(a);f.isDirtyLegend=!0;
f.linkSeries();g(f,"afterAddSeries");b&&f.redraw(e)}));return d},addAxis:function(a,b,d,f){var g=b?"xAxis":"yAxis",h=this.options;a=e(a,{index:this[g].length,isX:b});b=new D(this,a);h[g]=M(h[g]||{});h[g].push(a);c(d,!0)&&this.redraw(f);return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,g=function(){e&&d(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=n("div",{className:"highcharts-loading highcharts-loading-hidden"},
null,b.container),b.loadingSpan=n("span",{className:"highcharts-loading-inner"},null,e),B(b,"redraw",g));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;d(e,r(f.style,{zIndex:10}));d(b.loadingSpan,f.labelStyle);b.loadingShown||(d(e,{opacity:0,display:""}),y(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0}));b.loadingShown=!0;g()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",y(b,{opacity:0},
{duration:a.loading.hideDuration||100,complete:function(){d(b,{display:"none"})}}));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,d,l,m){var p=this,q={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},n=a.chart,t,w,r=[];g(p,"update",{options:a});if(n){e(!0,p.options.chart,n);"className"in n&&p.setClassName(n.className);"reflow"in n&&p.setReflow(n.reflow);if("inverted"in n||"polar"in n||"type"in n)p.propFromSeries(),t=!0;"alignTicks"in n&&(t=!0);b(n,function(a,b){-1!==h("chart."+b,p.propsRequireUpdateSeries)&&(w=!0);-1!==h(b,p.propsRequireDirtyBox)&&(p.isDirtyBox=!0)});"style"in n&&p.renderer.setStyle(n.style)}a.colors&&
(this.options.colors=a.colors);a.plotOptions&&e(!0,this.options.plotOptions,a.plotOptions);b(a,function(a,b){if(p[b]&&"function"===typeof p[b].update)p[b].update(a,!1);else if("function"===typeof p[q[b]])p[q[b]](a);"chart"!==b&&-1!==h(b,p.propsRequireUpdateSeries)&&(w=!0)});v("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;a[b]&&("series"===b&&(c=[],v(p[b],function(a,b){a.options.isInternal||c.push(b)})),v(M(a[b]),function(a,e){(e=k(a.id)&&p.get(a.id)||p[b][c?c[e]:e])&&e.coll===
b&&(e.update(a,!1),l&&(e.touched=!0));if(!e&&l)if("series"===b)p.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)p.addAxis(a,"xAxis"===b,!1).touched=!0}),l&&v(p[b],function(a){a.touched||a.options.isInternal?delete a.touched:r.push(a)}))});v(r,function(a){a.remove(!1)});t&&v(p.axes,function(a){a.update({},!1)});w&&v(p.series,function(a){a.update({},!1)});a.loading&&e(!0,p.options.loading,a.loading);t=n&&n.width;n=n&&n.height;f(t)&&t!==p.chartWidth||f(n)&&n!==p.chartHeight?p.setSize(t,
n,m):c(d,!0)&&p.redraw(m);g(p,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});r(p.prototype,{update:function(a,b,e,d){function f(){g.applyOptions(a);null===g.y&&l&&(g.graphic=l.destroy());q(a,!0)&&(l&&l.element&&a&&a.marker&&void 0!==a.marker.symbol&&(g.graphic=l.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()),g.connector&&(g.connector=g.connector.destroy()));m=g.index;h.updateParallelArrays(g,m);k.data[m]=q(k.data[m],!0)||q(a,!0)?g.options:
c(a,k.data[m]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(p.isDirtyBox=!0);"point"===k.legendType&&(p.isDirtyLegend=!0);b&&p.redraw(e)}var g=this,h=g.series,l=g.graphic,m,p=h.chart,k=h.options;b=c(b,!0);!1===d?f():g.firePointEvent("update",{options:a},f)},remove:function(a,b){this.series.removePoint(h(this,this.series.data),a,b)}});r(A.prototype,{addPoint:function(a,b,e,d){var f=this.options,g=this.data,h=this.chart,l=this.xAxis,l=l&&l.hasNames&&l.names,m=f.data,p,k,q=this.xData,
n,w;b=c(b,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);w=p.x;n=q.length;if(this.requireSorting&&w<q[n-1])for(k=!0;n&&q[n-1]>w;)n--;this.updateParallelArrays(p,"splice",n,0,0);this.updateParallelArrays(p,n);l&&p.name&&(l[w]=p.name);m.splice(n,0,a);k&&(this.data.splice(n,0,null),this.processData());"point"===f.legendType&&this.generatePoints();e&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(p,"shift"),m.shift()));this.isDirtyData=this.isDirty=!0;
b&&h.redraw(d)},removePoint:function(a,b,e){var d=this,f=d.data,g=f[a],h=d.points,l=d.chart,p=function(){h&&h.length===f.length&&h.splice(a,1);f.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(g||{series:d},"splice",a,1);g&&g.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&l.redraw()};w(e,l);b=c(b,!0);g?g.firePointEvent("remove",null,p):p()},remove:function(a,b,e){function d(){f.destroy();h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries();c(a,!0)&&h.redraw(b)}var f=this,h=f.chart;!1!==e?g(f,
"remove",null,d):d()},update:function(b,d){var f=this,p=f.chart,m=f.userOptions,k=f.oldType||f.type,q=b.type||m.type||p.options.chart.type,n=I[k].prototype,w,C=["group","markerGroup","dataLabelsGroup"],A=["navigatorSeries","baseSeries"],u=f.finishedAnimating&&{animation:!1},E=["data","name","turboThreshold"],M=a.keys(b),y=0<M.length;v(M,function(a){-1===h(a,E)&&(y=!1)});if(y)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{A=C.concat(A);v(A,function(a){A[a]=f[a];delete f[a]});
b=e(m,u,{index:f.index,pointStart:c(m.pointStart,f.xData[0])},{data:f.options.data},b);f.remove(!1,null,!1);for(w in n)f[w]=void 0;I[q||k]?r(f,I[q||k].prototype):a.error(17,!0);v(A,function(a){f[a]=A[a]});f.init(p,b);b.zIndex!==m.zIndex&&v(C,function(a){f[a]&&f[a].attr({zIndex:b.zIndex})});f.oldType=k;p.linkSeries()}g(this,"afterUpdate");c(d,!0)&&p.redraw(y?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});r(D.prototype,{update:function(a,
d){var f=this.chart,g=a&&a.events||{};a=e(this.userOptions,a);f.options[this.coll].indexOf&&(f.options[this.coll][f.options[this.coll].indexOf(this.userOptions)]=a);b(f.options[this.coll].events,function(a,b){"undefined"===typeof g[b]&&(g[b]=void 0)});this.destroy(!0);this.init(f,r(a,{events:g}));f.isDirtyBox=!0;c(d,!0)&&f.redraw()},remove:function(a){for(var b=this.chart,e=this.coll,d=this.series,f=d.length;f--;)d[f]&&d[f].remove(!1);u(b.axes,this);u(b[e],this);m(b.options[e])?b.options[e].splice(this.options.index,
1):delete b.options[e];v(b[e],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;c(a,!0)&&b.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,y=a.color,D=a.each,n=a.extend,d=a.isNumber,k=a.merge,v=a.pick,u=a.Series,r=a.seriesType,g=a.svg;r("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,
states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){u.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&D(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=
this,d=a.options,g=a.xAxis,m=a.yAxis,e=g.options.reversedStacks,e=g.reversed&&!e||!g.reversed&&e,b,c={},p=0;!1===d.grouping?p=1:D(a.chart.series,function(e){var d=e.options,f=e.yAxis,g;e.type!==a.type||!e.visible&&a.chart.options.chart.ignoreHiddenSeries||m.len!==f.len||m.pos!==f.pos||(d.stacking?(b=e.stackKey,void 0===c[b]&&(c[b]=p++),g=c[b]):!1!==d.grouping&&(g=p++),e.columnIndex=g)});var k=Math.min(Math.abs(g.transA)*(g.ordinalSlope||d.pointRange||g.closestPointRange||g.tickInterval||1),g.len),
n=k*d.groupPadding,w=(k-2*n)/(p||1),d=Math.min(d.maxPointWidth||g.len,v(d.pointWidth,w*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(w-d)/2+(n+((a.columnIndex||0)+(e?1:0))*w-k/2)*(e?-1:1)};return a.columnMetrics},crispCol:function(a,d,g,m){var e=this.chart,b=this.borderWidth,c=-(b%2?.5:0),b=b%2?.5:1;e.inverted&&e.renderer.isVML&&(b+=1);this.options.crisp&&(g=Math.round(a+g)+c,a=Math.round(a)+c,g-=a);m=Math.round(d+m)+b;c=.5>=Math.abs(d)&&.5<m;d=Math.round(d)+b;m-=d;c&&m&&(--d,m+=1);return{x:a,
y:d,width:g,height:m}},translate:function(){var a=this,d=a.chart,g=a.options,m=a.dense=2>a.closestPointRange*a.xAxis.transA,m=a.borderWidth=v(g.borderWidth,m?0:1),e=a.yAxis,b=g.threshold,c=a.translatedThreshold=e.getThreshold(b),p=v(g.minPointLength,5),k=a.getColumnMetrics(),n=k.width,w=a.barW=Math.max(n,1+2*m),r=a.pointXOffset=k.offset;d.inverted&&(c-=.5);g.pointPadding&&(w=Math.ceil(w));u.prototype.translate.apply(a);D(a.points,function(f){var g=v(f.yBottom,c),h=999+Math.abs(g),h=Math.min(Math.max(-h,
f.plotY),e.len+h),m=f.plotX+r,k=w,q=Math.min(h,g),C,t=Math.max(h,g)-q;p&&Math.abs(t)<p&&(t=p,C=!e.reversed&&!f.negative||e.reversed&&f.negative,f.y===b&&a.dataMax<=b&&e.min<b&&(C=!C),q=Math.abs(q-c)>p?g-p:c-(C?p:0));f.barX=m;f.pointWidth=n;f.tooltipPos=d.inverted?[e.len+e.pos-d.plotLeft-h,a.xAxis.len-m-k/2,t]:[m+k/2,h+e.pos-d.plotTop,t];f.shapeType="rect";f.shapeArgs=a.crispCol.apply(a,f.isNull?[m,c,k,0]:[m,q,k,t])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?
"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var f=this.options,g,e=this.pointAttrToOptions||{};g=e.stroke||"borderColor";var b=e["stroke-width"]||"borderWidth",c=a&&a.color||this.color,h=a&&a[g]||f[g]||this.color||c,n=a&&a[b]||f[b]||this[b]||0,e=f.dashStyle;a&&this.zones.length&&(c=a.getZone(),c=a.options.color||c&&c.color||this.color);d&&(a=k(f.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,c=a.color||void 0!==d&&y(c).brighten(a.brightness).get()||
c,h=a[g]||h,n=a[b]||n,e=a.dashStyle||e);g={fill:c,stroke:h,"stroke-width":n};e&&(g.dashstyle=e);return g},drawPoints:function(){var a=this,f=this.chart,g=a.options,m=f.renderer,e=g.animationLimit||250,b;D(a.points,function(c){var h=c.graphic,n=h&&f.pointCount<e?"animate":"attr";if(d(c.plotY)&&null!==c.y){b=c.shapeArgs;if(h)h[n](k(b));else c.graphic=h=m[c.shapeType](b).add(c.group||a.group);g.borderRadius&&h.attr({r:g.borderRadius});h[n](a.pointAttribs(c,c.selected&&"select")).shadow(g.shadow,null,
g.stacking&&!g.borderRadius);h.addClass(c.getClassName(),!0)}else h&&(c.graphic=h.destroy())})},animate:function(a){var d=this,h=this.yAxis,k=d.options,e=this.chart.inverted,b={},c=e?"translateX":"translateY",p;g&&(a?(b.scaleY=.001,a=Math.min(h.pos+h.len,Math.max(h.pos,h.toPixels(k.threshold))),e?b.translateX=a-h.len:b.translateY=a,d.group.attr(b)):(p=d.group.attr(c),d.group.animate({scaleY:1},n(B(d.options.animation),{step:function(a,e){b[c]=p+e.pos*(h.pos-p);d.group.attr(b)}})),d.animate=null))},
remove:function(){var a=this,d=a.chart;d.hasRendered&&D(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});u.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 style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\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,y=a.arrayMax,D=a.defined,n=a.each,d=a.extend,k=a.format,v=a.map,u=a.merge,r=a.noop,g=a.pick,h=a.relativeLength,f=a.Series,q=a.seriesTypes,m=a.some,e=a.stableSort;a.distribute=function(b,c,d){function f(a,b){return a.target-b.target}var h,k=!0,p=b,q=[],r;r=0;
var l=p.reducedLen||c;for(h=b.length;h--;)r+=b[h].size;if(r>l){e(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(r=h=0;r<=l;)r+=b[h].size,h++;q=b.splice(h-1,b.length)}e(b,f);for(b=v(b,function(a){return{size:a.size,targets:[a.target],align:g(a.align,.5)}});k;){for(h=b.length;h--;)k=b[h],r=(Math.min.apply(0,k.targets)+Math.max.apply(0,k.targets))/2,k.pos=Math.min(Math.max(0,r-k.size*k.align),c-k.size);h=b.length;for(k=!1;h--;)0<h&&b[h-1].pos+b[h-1].size>b[h].pos&&(b[h-1].size+=b[h].size,b[h-1].targets=
b[h-1].targets.concat(b[h].targets),b[h-1].align=.5,b[h-1].pos+b[h-1].size>c&&(b[h-1].pos=c-b[h-1].size),b.splice(h,1),k=!0)}p.push.apply(p,q);h=0;m(b,function(b){var e=0;if(m(b.targets,function(){p[h].pos=b.pos+e;if(Math.abs(p[h].pos-p[h].target)>d)return n(p.slice(0,h+1),function(a){delete a.pos}),p.reducedLen=(p.reducedLen||c)-.1*c,p.reducedLen>.1*c&&a.distribute(p,c,d),!0;e+=p[h].size;h++}))return!0});e(p,f)};f.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,e=c.chart,d=c.options,f=d.dataLabels,h=c.points,m,q,r=c.hasRendered||0,l,v,x=g(f.defer,!!d.animation),y=e.renderer;if(f.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(f),v=c.plotGroup("dataLabelsGroup","data-labels",x&&!r?"hidden":"visible",f.zIndex||6),x&&(v.attr({opacity:+r}),r||B(c,"afterAnimate",function(){c.visible&&
v.show(!0);v[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),q=f,n(h,function(h){var p,n=h.dataLabel,r,w,C=h.connector,A=!n,x;m=h.dlOptions||h.options&&h.options.dataLabels;(p=g(m&&m.enabled,q.enabled)&&!h.isNull)&&(p=!0===b(h,m||f));p&&(f=u(q,m),r=h.getLabelConfig(),x=f[h.formatPrefix+"Format"]||f.format,l=D(x)?k(x,r,e.time):(f[h.formatPrefix+"Formatter"]||f.formatter).call(r,f),x=f.style,r=f.rotation,x.color=g(f.color,x.color,c.color,"#000000"),"contrast"===x.color&&(h.contrastColor=
y.getContrast(h.color||c.color),x.color=f.inside||0>g(h.labelDistance,f.distance)||d.stacking?h.contrastColor:"#000000"),d.cursor&&(x.cursor=d.cursor),w={fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth,r:f.borderRadius||0,rotation:r,padding:f.padding,zIndex:1},a.objectEach(w,function(a,b){void 0===a&&delete w[b]}));!n||p&&D(l)?p&&D(l)&&(n?w.text=l:(n=h.dataLabel=r?y.text(l,0,-9999,f.useHTML).addClass("highcharts-data-label"):y.label(l,0,-9999,f.shape,null,null,f.useHTML,null,
"data-label"),n.addClass(" highcharts-data-label-color-"+h.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),n.attr(w),n.css(x).shadow(f.shadow),n.added||n.add(v),c.alignDataLabel(h,n,f,null,A)):(h.dataLabel=n=n.destroy(),C&&(h.connector=C.destroy()))});a.fireEvent(this,"afterDrawDataLabels")};f.prototype.alignDataLabel=function(a,c,e,f,h){var b=this.chart,k=b.inverted,m=g(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),p=g(a.plotY,-9999),l=c.getBBox(),n,q=e.rotation,r=e.align,u=this.visible&&
(a.series.forceDL||b.isInsidePlot(m,Math.round(p),k)||f&&b.isInsidePlot(m,k?f.x+1:f.y+f.height-1,k)),t="justify"===g(e.overflow,"justify");if(u&&(n=e.style.fontSize,n=b.renderer.fontMetrics(n,c).b,f=d({x:k?this.yAxis.len-p:m,y:Math.round(k?this.xAxis.len-m:p),width:0,height:0},f),d(e,{width:l.width,height:l.height}),q?(t=!1,m=b.renderer.rotCorr(n,q),m={x:f.x+e.x+f.width/2+m.x,y:f.y+e.y+{top:0,middle:.5,bottom:1}[e.verticalAlign]*f.height},c[h?"attr":"animate"](m).attr({align:r}),p=(q+720)%360,p=180<
p&&360>p,"left"===r?m.y-=p?l.height:0:"center"===r?(m.x-=l.width/2,m.y-=l.height/2):"right"===r&&(m.x-=l.width,m.y-=p?0:l.height),c.placed=!0,c.alignAttr=m):(c.align(e,null,f),m=c.alignAttr),t&&0<=f.height?a.isLabelJustified=this.justifyDataLabel(c,e,m,l,f,h):g(e.crop,!0)&&(u=b.isInsidePlot(m.x,m.y)&&b.isInsidePlot(m.x+l.width,m.y+l.height)),e.shape&&!q))c[h?"attr":"animate"]({anchorX:k?b.plotWidth-a.plotY:a.plotX,anchorY:k?b.plotHeight-a.plotX:a.plotY});u||(c.attr({y:-9999}),c.placed=!1)};f.prototype.justifyDataLabel=
function(a,c,e,d,f,g){var b=this.chart,h=c.align,m=c.verticalAlign,l,k,p=a.box?0:a.padding||0;l=e.x+p;0>l&&("right"===h?c.align="left":c.x=-l,k=!0);l=e.x+d.width-p;l>b.plotWidth&&("left"===h?c.align="right":c.x=b.plotWidth-l,k=!0);l=e.y+p;0>l&&("bottom"===m?c.verticalAlign="top":c.y=-l,k=!0);l=e.y+d.height-p;l>b.plotHeight&&("top"===m?c.verticalAlign="bottom":c.y=b.plotHeight-l,k=!0);k&&(a.placed=!g,a.align(c,null,f));return k};q.pie&&(q.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,
e,d=b.chart,h=b.options.dataLabels,m=g(h.connectorPadding,10),k=g(h.connectorWidth,1),q=d.plotWidth,r=d.plotHeight,l=Math.round(d.chartWidth/3),u,v=b.center,B=v[2]/2,G=v[1],t,z,N,J,K=[[],[]],P,O,F,Q,R=[0,0,0,0];b.visible&&(h.enabled||b._hasPointLabels)&&(n(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),f.prototype.drawDataLabels.apply(b),n(c,function(a){a.dataLabel&&(a.visible?(K[a.half].push(a),
a.dataLabel._pos=null,!D(h.style.width)&&!D(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>l&&(a.dataLabel.css({width:.7*l}),a.dataLabel.shortened=!0)):a.dataLabel=a.dataLabel.destroy())}),n(K,function(c,f){var l,k,p=c.length,w=[],u;if(p)for(b.sortByAngle(c,f-.5),0<b.maxLabelDistance&&(l=Math.max(0,G-B-b.maxLabelDistance),k=Math.min(G+B+b.maxLabelDistance,d.plotHeight),n(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,
G-B-a.labelDistance),a.bottom=Math.min(G+B+a.labelDistance,d.plotHeight),u=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y},w.push(a.distributeBox))}),l=k+u-l,a.distribute(w,l,l/5)),Q=0;Q<p;Q++)e=c[Q],N=e.labelPos,t=e.dataLabel,F=!1===e.visible?"hidden":"inherit",O=l=N[1],w&&D(e.distributeBox)&&(void 0===e.distributeBox.pos?F="hidden":(J=e.distributeBox.size,O=e.top+e.distributeBox.pos)),delete e.positionIndex,P=h.justify?v[0]+(f?-1:1)*(B+e.labelDistance):
b.getX(O<e.top+2||O>e.bottom-2?l:O,f,e),t._attr={visibility:F,align:N[6]},t._pos={x:P+h.x+({left:m,right:-m}[N[6]]||0),y:O+h.y-10},N.x=P,N.y=O,g(h.crop,!0)&&(z=t.getBBox().width,l=null,P-z<m&&1===f?(l=Math.round(z-P+m),R[3]=Math.max(l,R[3])):P+z>q-m&&0===f&&(l=Math.round(P+z-q+m),R[1]=Math.max(l,R[1])),0>O-J/2?R[0]=Math.max(Math.round(-O+J/2),R[0]):O+J/2>r&&(R[2]=Math.max(Math.round(O+J/2-r),R[2])),t.sideOverflow=l)}),0===y(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),k&&n(this.points,
function(a){var c;u=a.connector;if((t=a.dataLabel)&&t._pos&&a.visible&&0<a.labelDistance){F=t._attr.visibility;if(c=!u)a.connector=u=d.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),u.attr({"stroke-width":k,stroke:h.connectorColor||a.color||"#666666"});u[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});u.attr("visibility",F)}else u&&(a.connector=u.destroy())}))},q.pie.prototype.connectorPath=function(a){var b=
a.x,e=a.y;return g(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),e,"C",b,e,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),e,"L",a[2],a[3],"L",a[4],a[5]]},q.pie.prototype.placeDataLabels=function(){n(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)},q.pie.prototype.alignDataLabel=r,q.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,d=e.center,f=e.minSize||80,g,m=null!==e.size;m||(null!==d[0]?g=Math.max(b[2]-Math.max(a[1],a[3]),f):(g=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2),null!==d[1]?g=Math.max(Math.min(g,b[2]-Math.max(a[0],a[2])),f):(g=Math.max(Math.min(g,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2),g<b[2]?(b[2]=
g,b[3]=Math.min(h(e.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):m=!0);return m});q.column&&(q.column.prototype.alignDataLabel=function(a,c,e,d,h){var b=this.chart.inverted,m=a.series,k=a.dlBox||a.shapeArgs,p=g(a.below,a.plotY>g(this.translatedThreshold,m.yAxis.len)),l=g(e.inside,!!this.options.stacking);k&&(d=u(k),0>d.y&&(d.height+=d.y,d.y=0),k=d.y+d.height-m.yAxis.len,0<k&&(d.height-=k),b&&(d={x:m.yAxis.len-d.y-d.height,y:m.xAxis.len-d.x-d.width,width:d.height,
height:d.width}),l||(b?(d.x+=p?0:d.width,d.width=0):(d.y+=p?d.height:0,d.height=0)));e.align=g(e.align,!b||l?"center":p?"right":"left");e.verticalAlign=g(e.verticalAlign,b||l?"middle":p?"top":"bottom");f.prototype.alignDataLabel.call(this,a,c,e,d,h);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(J);(function(a){var B=a.Chart,y=a.each,D=a.objectEach,n=a.pick;a=a.addEvent;a(B,"render",function(){var a=[];y(this.labelCollectors||[],function(d){a=a.concat(d())});y(this.yAxis||
[],function(d){d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&D(d.stacks,function(d){D(d,function(d){a.push(d.label)})})});y(this.series||[],function(d){var k=d.options.dataLabels,u=d.dataLabelCollections||["dataLabel"];(k.enabled||d._hasPointLabels)&&!k.allowOverlap&&d.visible&&y(u,function(k){y(d.points,function(d){d[k]&&d.visible&&(d[k].labelrank=n(d.labelrank,d.shapeArgs&&d.shapeArgs.height),a.push(d[k]))})})});this.hideOverlappingLabels(a)});B.prototype.hideOverlappingLabels=function(a){var d=
a.length,n=this.renderer,u,r,g,h,f,q,m=function(a,b,c,d,f,g,h,m){return!(f>a+c||f+h<a||g>b+d||g+m<b)};g=function(a){var b,c,e,d=2*(a.box?0:a.padding||0);e=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,e=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0),y:b.y+(c.translateY||0)-e,width:a.width-d,height:a.height-d}};for(r=0;r<d;r++)if(u=a[r])u.oldOpacity=u.opacity,u.newOpacity=1,u.absoluteBox=
g(u);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(r=0;r<d;r++)for(q=(g=a[r])&&g.absoluteBox,u=r+1;u<d;++u)if(f=(h=a[u])&&h.absoluteBox,q&&f&&g!==h&&0!==g.newOpacity&&0!==h.newOpacity&&(f=m(q.x,q.y,q.width,q.height,f.x,f.y,f.width,f.height)))(g.labelrank<h.labelrank?g:h).newOpacity=0;y(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)):a.attr({opacity:c})),
a.isOld=!0)})}})(J);(function(a){var B=a.addEvent,y=a.Chart,D=a.createElement,n=a.css,d=a.defaultOptions,k=a.defaultPlotOptions,v=a.each,u=a.extend,r=a.fireEvent,g=a.hasTouch,h=a.inArray,f=a.isObject,q=a.Legend,m=a.merge,e=a.pick,b=a.Point,c=a.Series,p=a.seriesTypes,A=a.svg,I;I=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))};v(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||(v(a.trackerGroups,function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(g)a[e].on("touchstart",c);a.options.cursor&&a[e].css(n).css({cursor:a.options.cursor})}}),a._hasTracking=!0);r(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,e=[].concat(c?a.areaPath:a.graphPath),d=e.length,
f=a.chart,h=f.pointer,m=f.renderer,k=f.options.tooltip.snap,p=a.tracker,n,q=function(){if(f.hoverSeries!==a)a.onMouseOver()},u="rgba(192,192,192,"+(A?.0001:.002)+")";if(d&&!c)for(n=d+1;n--;)"M"===e[n]&&e.splice(n+1,0,e[n+1]-k,e[n+2],"L"),(n&&"M"===e[n]||n===d)&&e.splice(n,0,"L",e[n-2]+k,e[n-1]);p?p.attr({d:e}):a.graph&&(a.tracker=m.path(e).attr({"stroke-linejoin":"round",stroke:u,fill:c?u:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*k),visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?
"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),v([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",q).on("mouseout",function(a){h.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(g)a.on("touchstart",q)}));r(this,"afterDrawTracker")}};p.column&&(p.column.prototype.drawTracker=I.drawTrackerPoint);p.pie&&(p.pie.prototype.drawTracker=I.drawTrackerPoint);p.scatter&&(p.scatter.prototype.drawTracker=I.drawTrackerPoint);u(q.prototype,{setItemEvents:function(a,
c,e){var d=this,f=d.chart.renderer.boxWrapper,g="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(e?c:a.legendGroup).on("mouseover",function(){a.setState("hover");f.addClass(g);c.css(d.options.itemHoverStyle)}).on("mouseout",function(){c.css(m(a.visible?d.itemStyle:d.itemHiddenStyle));f.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};f.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):r(a,
"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-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()})})}});d.legend.itemStyle.cursor="pointer";u(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=d.lang,e=b.options.chart.resetZoomButton,
f=e.theme,g=f.states,h="chart"===e.relativeTo?null:"plotBox";r(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,f,g&&g.hover).attr({align:e.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,h)})},zoomOut:function(){r(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,c=this.pointer,d=!1,g;!a||a.resetSelection?(v(this.axes,function(a){b=a.zoom()}),c.initiated=!1):v(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))});g=this.resetZoomButton;d&&!g?this.showResetZoom():!d&&f(g)&&(this.resetZoomButton=g.destroy());b&&this.redraw(e(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,e=c.hoverPoints,d;e&&v(e,function(a){a.setState()});v("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var e=b.horiz,f=a[e?"chartX":"chartY"],e=e?"mouseDownX":"mouseDownY",g=c[e],h=(b.pointRange||
0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,k=b.getExtremes(),l=b.toValue(g-f,!0)+h*m,m=b.toValue(g+b.len-f,!0)-h*m,p=m<l,g=p?m:l,l=p?l:m,m=Math.min(k.dataMin,h?k.min:b.toValue(b.toPixels(k.min)-b.minPixelPadding)),h=Math.max(k.dataMax,h?k.max:b.toValue(b.toPixels(k.max)+b.minPixelPadding)),p=m-g;0<p&&(l+=p,g=m);p=l-h;0<p&&(l=h,g-=p);b.series.length&&g!==k.min&&l!==k.max&&(b.setExtremes(g,l,!1,!1,{trigger:"pan"}),d=!0);c[e]=f});d&&c.redraw(!1);n(c.container,{cursor:"move"})}});u(b.prototype,
{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[h(c,d.data)]=c.options;c.setState(a&&"select");b||v(f.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[h(a,d.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");v(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=m(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,f=this.series,g=f.options.states[a||"normal"]||{},h=
k[f.type].marker&&f.options.marker,m=h&&!1===h.enabled,p=h&&h.states&&h.states[a||"normal"]||{},n=!1===p.enabled,q=f.stateMarkerGraphic,w=this.marker||{},v=f.chart,A=f.halo,y,B=h&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===g.enabled||a&&(n||m&&!1===p.enabled)||a&&w.states&&w.states[a]&&!1===w.states[a].enabled)){B&&(y=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+
a),this.graphic.animate(f.pointAttribs(this,a),e(v.options.chart.animation,g.animation)),y&&this.graphic.animate(y,e(v.options.chart.animation,p.animation,h.animation)),q&&q.hide();else{if(a&&p){h=w.symbol||f.symbol;q&&q.currentSymbol!==h&&(q=q.destroy());if(q)q[b?"animate":"attr"]({x:y.x,y:y.y});else h&&(f.stateMarkerGraphic=q=v.renderer.symbol(h,y.x,y.y,y.width,y.height).add(f.markerGroup),q.currentSymbol=h);q&&q.attr(f.pointAttribs(this,a))}q&&(q[a&&v.isInsidePlot(c,d,v.inverted)?"show":"hide"](),
q.element.point=this)}(c=g.halo)&&c.size?(A||(f.halo=A=v.renderer.path().add((this.graphic||q).parentGroup)),A.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),A.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),A.point=this,A.attr(u({fill:this.color||f.color,"fill-opacity":c.opacity},c.attributes))):A&&A.point&&A.point.haloPath&&A.animate({d:A.point.haloPath(0)},null,A.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)}});u(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,e=b.hoverPoint;b.hoverSeries=null;if(e)e.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,c=b.options,d=b.graph,f=c.states,g=c.lineWidth,c=0;a=a||"";if(b.state!==a&&(v([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,!f[a]||!1!==f[a].enabled)&&(a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),d&&!d.dashstyle))for(g={"stroke-width":g},d.animate(g,e(f[a||"normal"]&&f[a||"normal"].animation,
b.chart.options.chart.animation));b["zone-graph-"+c];)b["zone-graph-"+c].attr(g),c+=1},setVisible:function(a,b){var c=this,e=c.chart,d=c.legendItem,f,g=e.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";v(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(e.hoverSeries===c||(e.hoverPoint&&e.hoverPoint.series)===c)c.onMouseOut();d&&e.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&
v(e.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});v(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(e.isDirtyBox=!0);r(c,f);!1!==b&&e.redraw()},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:I.drawTrackerGraph})})(J);(function(a){var B=a.Chart,y=a.each,D=a.inArray,n=a.isArray,d=a.isObject,k=a.pick,v=a.splat;
B.prototype.setResponsive=function(d){var k=this.options.responsive,g=[],h=this.currentResponsive;k&&k.rules&&y(k.rules,function(f){void 0===f._id&&(f._id=a.uniqueKey());this.matchResponsiveRule(f,g,d)},this);var f=a.merge.apply(0,a.map(g,function(d){return a.find(k.rules,function(a){return a._id===d}).chartOptions})),g=g.toString()||void 0;g!==(h&&h.ruleIds)&&(h&&this.update(h.undoOptions,d),g?(this.currentResponsive={ruleIds:g,mergedOptions:f,undoOptions:this.currentOptions(f)},this.update(f,d)):
this.currentResponsive=void 0)};B.prototype.matchResponsiveRule=function(a,d){var g=a.condition;(g.callback||function(){return this.chartWidth<=k(g.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=k(g.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=k(g.minWidth,0)&&this.chartHeight>=k(g.minHeight,0)}).call(this)&&d.push(a._id)};B.prototype.currentOptions=function(k){function r(g,f,k,m){var e;a.objectEach(g,function(a,c){if(!m&&-1<D(c,["series","xAxis","yAxis"]))for(a=v(a),k[c]=[],e=0;e<a.length;e++)f[c][e]&&
(k[c][e]={},r(a[e],f[c][e],k[c][e],m+1));else d(a)?(k[c]=n(a)?[]:{},r(a,f[c]||{},k[c],m+1)):k[c]=f[c]||null})}var g={};r(k,this.options,g,0);return g}})(J);(function(a){var B=a.addEvent,y=a.Axis,D=a.each,n=a.pick;B(y,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(D(this.series,function(d,n){d.useMapGeometry&&(a[n]=d.xData,d.xData=[])}),this.seriesXData=a)});B(y,"afterGetSeriesExtremes",function(){var a=this.seriesXData,k,v,u;this.isXAxis&&(k=n(this.dataMin,Number.MAX_VALUE),v=n(this.dataMax,
-Number.MAX_VALUE),D(this.series,function(d,g){d.useMapGeometry&&(k=Math.min(k,n(d.minX,k)),v=Math.max(v,n(d.maxX,v)),d.xData=a[g],u=!0)}),u&&(this.dataMin=k,this.dataMax=v),delete this.seriesXData)});B(y,"afterSetAxisTranslation",function(){var a=this.chart,k;k=a.plotWidth/a.plotHeight;var a=a.xAxis[0],n;"yAxis"===this.coll&&void 0!==a.transA&&D(this.series,function(a){a.preserveAspectRatio&&(n=!0)});if(n&&(this.transA=a.transA=Math.min(this.transA,a.transA),k/=(a.max-a.min)/(this.max-this.min),
k=1>k?this:a,a=(k.max-k.min)*k.transA,k.pixelPadding=k.len-a,k.minPixelPadding=k.pixelPadding/2,a=k.fixTo)){a=a[1]-k.toValue(a[0],!0);a*=k.transA;if(Math.abs(a)>k.minPixelPadding||k.min===k.dataMin&&k.max===k.dataMax)a=0;k.minPixelPadding-=a}});B(y,"render",function(){this.fixTo=null})})(J);(function(a){var B=a.addEvent,y=a.Axis,D=a.Chart,n=a.color,d,k=a.each,v=a.extend,u=a.isNumber,r=a.Legend,g=a.LegendSymbolMixin,h=a.noop,f=a.merge,q=a.pick;a.ColorAxis||(d=a.ColorAxis=function(){this.init.apply(this,
arguments)},v(d.prototype,y.prototype),v(d.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(y.prototype.keepProps),init:function(a,e){var b=
"vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=f(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},e,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled});y.prototype.init.call(this,a,c);e.dataClasses&&this.initDataClasses(e);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var e=this.chart,b,c=0,d=e.options.chart.colorCount,g=this.options,h=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=
[];k(a.dataClasses,function(a,m){a=f(a);b.push(a);a.color||("category"===g.dataClassColor?(m=e.options.colors,d=m.length,a.color=m[c],a.colorIndex=c,c++,c===d&&(c=0)):a.color=n(g.minColor).tweenTo(n(g.maxColor),2>h?.5:m/(h-1)))})},setTickPositions:function(){if(!this.dataClasses)return y.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];k(this.stops,function(a){a.color=n(a[1])})},setOptions:function(a){y.prototype.setOptions.call(this,
a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,e=this.chart,b=e.options.legend||{},c,d;a?(this.left=b=a.attr("x"),this.top=c=a.attr("y"),this.width=d=a.attr("width"),this.height=a=a.attr("height"),this.right=e.chartWidth-b-d,this.bottom=e.chartHeight-c-a,this.len=this.horiz?d: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,e){var b=this.stops,c,d,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=g.color;e&&(e.dataClass=h,e.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);d=c.color.tweenTo(b.color,a)}return d},getOffset:function(){var a=this.legendGroup,e=this.chart.axisOffset[this.side];a&&(this.axisParent=
a,y.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e)},setLegendColor:function(){var a,e=this.reversed;a=e?1:0;e=e?0:1;a=this.horiz?[a,0,e,0]:[0,e,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,e){var b=a.padding,c=a.options,d=this.horiz,f=q(c.symbolWidth,d?this.defaultLegendLength:12),g=q(c.symbolHeight,d?12:this.defaultLegendLength),h=q(c.labelPadding,
d?16:30),c=q(c.itemDistance,10);this.setLegendColor();e.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(e.legendGroup);this.legendItemWidth=f+b+(d?c:h);this.legendItemHeight=g+b+(d?h:0)},setState:function(a){k(this.series,function(e){e.setState(a)})},visible:!0,setVisible:h,getSeriesExtremes:function(){var a=this.series,e=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;e--;)a[e].getExtremes(),void 0!==a[e].valueMin&&(this.dataMin=Math.min(this.dataMin,a[e].valueMin),
this.dataMax=Math.max(this.dataMax,a[e].valueMax))},drawCrosshair:function(a,e){var b=e&&e.plotX,c=e&&e.plotY,d,f=this.pos,g=this.len;e&&(d=this.toPixels(e[e.series.colorKey]),d<f?d=f-2:d>f+g&&(d=f+g+2),e.plotX=d,e.plotY=this.len-d,y.prototype.drawCrosshair.call(this,a,e),e.plotX=b,e.plotY=c,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.cross.attr({fill:this.crosshair.color})))},
getPlotLinePath:function(a,e,b,c,d){return u(d)?this.horiz?["M",d-4,this.top-6,"L",d+4,this.top-6,d,this.top,"Z"]:["M",this.left,d,"L",this.left-6,d+6,this.left-6,d-6,"Z"]:y.prototype.getPlotLinePath.call(this,a,e,b,c)},update:function(a,e){var b=this.chart,c=b.legend;k(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&&(k(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=f(this.userOptions,a);y.prototype.update.call(this,
a,e);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);y.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var d=this,e=this.chart,b=this.legendItems,c=e.options.legend,f=c.valueDecimals,n=c.valueSuffix||"",q;b.length||k(this.dataClasses,function(c,m){var p=!0,r=c.from,l=c.to;q="";void 0===r?q="\x3c ":void 0===l&&(q="\x3e ");void 0!==r&&(q+=a.numberFormat(r,f)+n);void 0!==r&&void 0!==l&&(q+=" - ");
void 0!==l&&(q+=a.numberFormat(l,f)+n);b.push(v({chart:e,name:q,options:{},drawLegendSymbol:g.drawRectangle,visible:!0,setState:h,isDataClass:!0,setVisible:function(){p=this.visible=!p;k(d.series,function(a){k(a.points,function(a){a.dataClass===m&&a.setVisible(p)})});e.legend.colorizeItem(this,p)}},c))});return b},name:""}),k(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,n(this.start).tweenTo(n(this.end),this.pos),null,!0)}}),B(D,"afterGetAxes",function(){var a=
this.options.colorAxis;this.colorAxis=[];a&&new d(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),k(b.series,function(b){a.erase(d.allItems,b)}));for(b=e.length;b--;)d.allItems.unshift(e[b])}),B(r,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),B(r,"afterUpdate",function(a,e,b){this.chart.colorAxis[0]&&
this.chart.colorAxis[0].update({},b)}))})(J);(function(a){var B=a.defined,y=a.each,D=a.noop,n=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var d=this,n=a?"show":"hide";d.visible=!!a;y(["graphic","dataLabel"],function(a){if(d[a])d[a][n]()})},setState:function(d){a.Point.prototype.setState.call(this,d);this.graphic&&this.graphic.attr({zIndex:"hover"===d?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],
axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:D,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:n.column.prototype.pointAttribs,translateColors:function(){var a=this,k=this.options.nullColor,n=this.colorAxis,u=this.colorKey;y(this.data,function(d){var g=d[u];if(g=d.options.color||(d.isNull?k:n&&void 0!==g?n.toColor(g,d):d.color||a.color))d.color=g})},colorAttribs:function(a){var d={};B(a.color)&&(d[this.colorProp||
"fill"]=a.color);return d}}})(J);(function(a){function B(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function y(a){this.init(a)}var D=a.addEvent,n=a.Chart,d=a.doc,k=a.each,v=a.extend,u=a.merge,r=a.pick;y.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};y.prototype.update=function(d){var g=this.chart,f=g.options.mapNavigation,k,m,e,b,c,p=function(a){this.handler.call(g,a);B(a)},n=g.mapNavButtons;d&&(f=g.options.mapNavigation=u(g.options.mapNavigation,
d));for(;n.length;)n.pop().destroy();r(f.enableButtons,f.enabled)&&!g.renderer.forExport&&a.objectEach(f.buttons,function(a,d){k=u(f.buttonOptions,a);m=k.theme;m.style=u(k.theme.style,k.style);b=(e=m.states)&&e.hover;c=e&&e.select;a=g.renderer.button(k.text,0,0,p,m,b,c,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:k.width,height:k.height,title:g.options.lang[d],padding:k.padding,zIndex:5}).add();a.handler=k.onclick;a.align(v(k,{width:a.width,height:2*
a.height}),null,k.alignTo);D(a.element,"dblclick",B);n.push(a)});this.updateEvents(f)};y.prototype.updateEvents=function(a){var g=this.chart;r(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||D(g.container,"dblclick",function(a){g.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());r(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||D(g.container,void 0===d.onmousewheel?
"DOMMouseScroll":"mousewheel",function(a){g.pointer.onContainerMouseWheel(a);B(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};v(n.prototype,{fitToBox:function(a,d){k([["x","width"],["y","height"]],function(f){var g=f[0];f=f[1];a[g]+a[f]>d[g]+d[f]&&(a[f]>d[f]?(a[f]=d[f],a[g]=d[g]):a[g]=d[g]+d[f]-a[f]);a[f]>d[f]&&(a[f]=d[f]);a[g]<d[g]&&(a[g]=d[g])});return a},mapZoom:function(a,d,f,k,m){var e=this.xAxis[0],b=e.max-e.min,c=r(d,e.min+b/2),g=b*a,b=this.yAxis[0],h=
b.max-b.min,n=r(f,b.min+h/2),h=h*a,c=this.fitToBox({x:c-g*(k?(k-e.pos)/e.len:.5),y:n-h*(m?(m-b.pos)/b.len:.5),width:g,height:h},{x:e.dataMin,y:b.dataMin,width:e.dataMax-e.dataMin,height:b.dataMax-b.dataMin}),g=c.x<=e.dataMin&&c.width>=e.dataMax-e.dataMin&&c.y<=b.dataMin&&c.height>=b.dataMax-b.dataMin;k&&(e.fixTo=[k-e.pos,d]);m&&(b.fixTo=[m-b.pos,f]);void 0===a||g?(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()}});D(n,"beforeRender",function(){this.mapNavigation=new y(this);this.mapNavigation.update()})})(J);(function(a){var B=a.extend,y=a.pick,D=a.Pointer;a=a.wrap;B(D.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),
a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,k;a=this.normalize(a);k=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,k),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(D.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;y(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,
1))});a(D.prototype,"pinchTranslate",function(a,d,k,v,u,r,g){a.call(this,d,k,v,u,r,g);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=v.scaleX>v.scaleY,this.pinchTranslateDirection(!a,d,k,v,u,r,g,a?v.scaleX:v.scaleY))})})(J);(function(a){var B=a.colorPointMixin,y=a.each,D=a.extend,n=a.isNumber,d=a.map,k=a.merge,v=a.noop,u=a.pick,r=a.isArray,g=a.Point,h=a.Series,f=a.seriesType,q=a.seriesTypes,m=a.splat;f("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth: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},select:{color:"#cccccc"}}},k(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:v,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],
getBox:function(e){var b=Number.MAX_VALUE,c=-b,d=b,f=-b,g=b,h=b,k=this.xAxis,m=this.yAxis,q;y(e||[],function(e){if(e.path){"string"===typeof e.path&&(e.path=a.splitPath(e.path));var k=e.path||[],m=k.length,l=!1,p=-b,r=b,v=-b,w=b,A=e.properties;if(!e._foundBox){for(;m--;)n(k[m])&&(l?(p=Math.max(p,k[m]),r=Math.min(r,k[m])):(v=Math.max(v,k[m]),w=Math.min(w,k[m])),l=!l);e._midX=r+(p-r)*u(e.middleX,A&&A["hc-middle-x"],.5);e._midY=w+(v-w)*u(e.middleY,A&&A["hc-middle-y"],.5);e._maxX=p;e._minX=r;e._maxY=
v;e._minY=w;e.labelrank=u(e.labelrank,(p-r)*(v-w));e._foundBox=!0}c=Math.max(c,e._maxX);d=Math.min(d,e._minX);f=Math.max(f,e._maxY);g=Math.min(g,e._minY);h=Math.min(e._maxX-e._minX,e._maxY-e._minY,h);q=!0}});q&&(this.minY=Math.min(g,u(this.minY,b)),this.maxY=Math.max(f,u(this.maxY,-b)),this.minX=Math.min(d,u(this.minX,b)),this.maxX=Math.max(c,u(this.maxX,-b)),k&&void 0===k.options.minRange&&(k.minRange=Math.min(5*h,(this.maxX-this.minX)/5,k.minRange||b)),m&&void 0===m.options.minRange&&(m.minRange=
Math.min(5*h,(this.maxY-this.minY)/5,m.minRange||b)))},getExtremes:function(){h.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,c=this.xAxis,e=this.yAxis,d=c.min,f=c.transA,c=c.minPixelPadding,g=e.min,h=e.transA,e=e.minPixelPadding,k,m=[];if(a)for(k=a.length;k--;)n(a[k])?(m[k]=b?(a[k]-d)*f+c:
(a[k]-g)*h+e,b=!b):m[k]=a[k];return m},setData:function(e,b,c,f){var g=this.options,p=this.chart.options.chart,q=p&&p.map,u=g.mapData,v=g.joinBy,B=null===v,l=g.keys||this.pointArrayMap,D=[],x={},L=this.chart.mapTransforms;!u&&q&&(u="string"===typeof q?a.maps[q]:q);B&&(v="_i");v=this.joinBy=m(v);v[1]||(v[1]=v[0]);e&&y(e,function(b,c){var d=0;if(n(b))e[c]={value:b};else if(r(b)){e[c]={};!g.keys&&b.length>l.length&&"string"===typeof b[0]&&(e[c]["hc-key"]=b[0],++d);for(var f=0;f<l.length;++f,++d)l[f]&&
void 0!==b[d]&&(0<l[f].indexOf(".")?a.Point.prototype.setNestedProperty(e[c],b[d],l[f]):e[c][l[f]]=b[d])}B&&(e[c]._i=c)});this.getBox(e);(this.chart.mapTransforms=L=p&&p.mapTransforms||u&&u["hc-transform"]||L)&&a.objectEach(L,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(u){"FeatureCollection"===u.type&&(this.mapTitle=u.title,u=a.geojson(u,this.type,this));this.mapData=u;this.mapMap={};for(L=0;L<u.length;L++)p=u[L],q=p.properties,p._i=L,v[0]&&q&&q[v[0]]&&
(p[v[0]]=q[v[0]]),x[p[v[0]]]=p;this.mapMap=x;e&&v[1]&&y(e,function(a){x[a[v[1]]]&&D.push(x[a[v[1]]])});g.allAreas?(this.getBox(u),e=e||[],v[1]&&y(e,function(a){D.push(a[v[1]])}),D="|"+d(D,function(a){return a&&a[v[0]]}).join("|")+"|",y(u,function(a){v[0]&&-1!==D.indexOf("|"+a[v[0]]+"|")||(e.push(k(a,{value:null})),f=!1)})):this.getBox(D)}h.prototype.setData.call(this,e,b,c,f)},drawGraph:v,drawDataLabels:v,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||
!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.doFullTranslate();a.generatePoints();y(a.data,function(e){e.plotX=b.toPixels(e._midX,!0);e.plotY=c.toPixels(e._midY,!0);d&&(e.shapeType="path",e.shapeArgs={d:a.translatePath(e.path)})});a.translateColors()},pointAttribs:function(a,b){b=q.column.prototype.pointAttribs.call(this,a,b);b["stroke-width"]=u(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=
this,b=a.xAxis,c=a.yAxis,d=a.group,f=a.chart,g=f.renderer,h,k,m,n,l=this.baseTrans,r,u,v,B,t;a.transformGroup||(a.transformGroup=g.g().attr({scaleX:1,scaleY:1}).add(d),a.transformGroup.survive=!0);a.doFullTranslate()?(f.hasRendered&&y(a.points,function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,q.column.prototype.drawPoints.apply(a),a.group=d,y(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),
a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(h=b.transA/l.transAX,k=c.transA/l.transAY,m=b.toPixels(l.originX,!0),n=c.toPixels(l.originY,!0),.99<h&&1.01>h&&.99<k&&1.01>k&&(k=h=1,m=Math.round(m),
n=Math.round(n)),r=this.transformGroup,f.renderer.globalAnimation?(u=r.attr("translateX"),v=r.attr("translateY"),B=r.attr("scaleX"),t=r.attr("scaleY"),r.attr({animator:0}).animate({animator:1},{step:function(a,b){r.attr({translateX:u+(m-u)*b.pos,translateY:v+(n-v)*b.pos,scaleX:B+(h-B)*b.pos,scaleY:t+(k-t)*b.pos})}})):r.attr({translateX:m,translateY:n,scaleX:h,scaleY:k}));d.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/
(h||1));this.drawMapDataLabels()},drawMapDataLabels:function(){h.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=h.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,e=this.xAxis,d=this.yAxis,f=e.pos,g=d.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:f+e.len/2,translateY:g+
d.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:f,translateY:g,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],e=c.bBox,d=this.chart.options.drilldown.animation;a||(a=Math.min(e.width/b.width,e.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},y(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,
translateY:0},d)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){q.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){q.column.prototype.animateDrillupTo.call(this,a)}}),D({applyOptions:function(a,b){a=g.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),D(a,c)):a.value=a.value||null);return a},onMouseOver:function(e){a.clearTimeout(this.colorInterval);
if(null!==this.value||this.series.options.nullInteraction)g.prototype.onMouseOver.call(this,e);else this.series.onMouseOut(e)},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,y=a.seriesTypes;B("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,
n){a=y.map.prototype.pointAttribs.call(this,a,n);a.fill=this.options.fillColor;return a},drawLegendSymbol:y.line.prototype.drawLegendSymbol})})(J);(function(a){var B=a.merge,y=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,n){a=void 0!==a.lat&&void 0!==a.lon?B(a,this.series.chart.fromLatLonToPoint(a)):a;return y.prototype.applyOptions.call(this,
a,n)}})})(J);(function(a){var B=a.arrayMax,y=a.arrayMin,D=a.Axis,n=a.color,d=a.each,k=a.isNumber,v=a.noop,u=a.pick,r=a.pInt,g=a.Point,h=a.Series,f=a.seriesType,q=a.seriesTypes;f("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,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,pointAttribs:function(a,e){var b=this.options.marker.fillOpacity;a=h.prototype.pointAttribs.call(this,a,e);1!==b&&(a.fill=n(a.fill).setOpacity(b).get("rgba"));return a},getRadii:function(a,e,b,c){var d,f,g,h=this.zData,m=[],n=this.options,q="width"!==n.sizeBy,l=n.zThreshold,r=e-a;f=0;for(d=h.length;f<
d;f++)g=h[f],n.sizeByAbsoluteValue&&null!==g&&(g=Math.abs(g-l),e=r=Math.max(e-l,Math.abs(a-l)),a=0),k(g)?g<a?g=b/2-1:(g=0<r?(g-a)/r:.5,q&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(b+g*(c-b))/2):g=null,m.push(g);this.radii=m},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(d(this.points,function(a){var b=a.graphic,c;b&&b.width&&(c={x:b.x,y:b.y,width:b.width,height:b.height},b.attr({x:a.plotX,y:a.plotY,width:1,height:1}),b.animate(c,this.options.animation))},this),this.animate=null)},
translate:function(){var d,e=this.data,b,c,f=this.radii;q.scatter.prototype.translate.call(this);for(d=e.length;d--;)b=e[d],c=f?f[d]:0,k(c)&&c>=this.minPxSize/2?(b.marker=a.extend(b.marker,{radius:c,width:2*c,height:2*c}),b.dlBox={x:b.plotX-c,y:b.plotY-c,width:2*c,height:2*c}):b.shapeArgs=b.plotY=b.dlBox=void 0},alignDataLabel:q.column.prototype.alignDataLabel,buildKDTree:v,applyZones:v},{haloPath:function(a){return g.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},
ttBelow:!1});D.prototype.beforePadding=function(){var f=this,e=this.len,b=this.chart,c=0,g=e,h=this.isXAxis,n=h?"xData":"yData",q=this.min,v={},C=Math.min(b.plotWidth,b.plotHeight),D=Number.MAX_VALUE,l=-Number.MAX_VALUE,H=this.max-q,x=e/H,J=[];d(this.series,function(c){var e=c.options;!c.bubblePadding||!c.visible&&b.options.chart.ignoreHiddenSeries||(f.allowZoomOutside=!0,J.push(c),h&&(d(["minSize","maxSize"],function(a){var b=e[a],c=/%$/.test(b),b=r(b);v[a]=c?C*b/100:b}),c.minPxSize=v.minSize,c.maxPxSize=
Math.max(v.maxSize,v.minSize),c=a.grep(c.zData,a.isNumber),c.length&&(D=u(e.zMin,Math.min(D,Math.max(y(c),!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),l=u(e.zMax,Math.max(l,B(c))))))});d(J,function(a){var b=a[n],e=b.length,d;h&&a.getRadii(D,l,a.minPxSize,a.maxPxSize);if(0<H)for(;e--;)k(b[e])&&f.dataMin<=b[e]&&b[e]<=f.dataMax&&(d=a.radii[e],c=Math.min((b[e]-q)*x-d,c),g=Math.max((b[e]-q)*x+d,g))});J.length&&0<H&&!this.isLog&&(g-=e,x*=(e+Math.max(0,c)-Math.min(g,e))/e,d([["min","userMin",
c],["max","userMax",g]],function(a){void 0===u(f.options[a[0]],f[a[1]])&&(f[a[0]]+=a[2]/x)}))}})(J);(function(a){var B=a.merge,y=a.Point,D=a.seriesType,n=a.seriesTypes;n.bubble&&D("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:n.map.prototype.getMapData,getBox:n.map.prototype.getBox,setData:n.map.prototype.setData},{applyOptions:function(a,k){return a&&void 0!==a.lat&&void 0!==a.lon?y.prototype.applyOptions.call(this,
B(a,this.series.chart.fromLatLonToPoint(a)),k):n.map.prototype.pointClass.prototype.applyOptions.call(this,a,k)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(J);(function(a){var B=a.colorPointMixin,y=a.each,D=a.merge,n=a.noop,d=a.pick,k=a.Series,v=a.seriesType,u=a.seriesTypes;v("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",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}}},D(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;u.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=d(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,g=this.xAxis,h=this.yAxis,f=a.pointPadding||0,k=function(a,
e,b){return Math.min(Math.max(e,a),b)};this.generatePoints();y(this.points,function(m){var e=(a.colsize||1)/2,b=(a.rowsize||1)/2,c=k(Math.round(g.len-g.translate(m.x-e,0,1,0,1)),-g.len,2*g.len),e=k(Math.round(g.len-g.translate(m.x+e,0,1,0,1)),-g.len,2*g.len),p=k(Math.round(h.translate(m.y-b,0,1,0,1)),-h.len,2*h.len),b=k(Math.round(h.translate(m.y+b,0,1,0,1)),-h.len,2*h.len),n=d(m.pointPadding,f);m.plotX=m.clientX=(c+e)/2;m.plotY=(p+b)/2;m.shapeType="rect";m.shapeArgs={x:Math.min(c,e)+n,y:Math.min(p,
b)+n,width:Math.abs(e-c)-2*n,height:Math.abs(b-p)-2*n}});this.translateColors()},drawPoints:function(){u.column.prototype.drawPoints.call(this);y(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},animate:n,getBox:n,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:u.column.prototype.alignDataLabel,getExtremes:function(){k.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;k.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];
var d=this.shapeArgs;return["M",d.x-a,d.y-a,"L",d.x-a,d.y+d.height+a,d.x+d.width+a,d.y+d.height+a,d.x+d.width+a,d.y-a,"Z"]}},B))})(J);(function(a){function B(a,d){var g,f,k,m=!1,e=a.x,b=a.y;a=0;for(g=d.length-1;a<d.length;g=a++)f=d[a][1]>b,k=d[g][1]>b,f!==k&&e<(d[g][0]-d[a][0])*(b-d[a][1])/(d[g][1]-d[a][1])+d[a][0]&&(m=!m);return m}var y=a.Chart,D=a.each,n=a.extend,d=a.format,k=a.merge,v=a.win,u=a.wrap;y.prototype.transformFromLatLon=function(d,g){if(void 0===v.proj4)return a.error(21),{x:0,y:null};
d=v.proj4(g.crs,[d.lon,d.lat]);var h=g.cosAngle||g.rotation&&Math.cos(g.rotation),f=g.sinAngle||g.rotation&&Math.sin(g.rotation);d=g.rotation?[d[0]*h+d[1]*f,-d[0]*f+d[1]*h]:d;return{x:((d[0]-(g.xoffset||0))*(g.scale||1)+(g.xpan||0))*(g.jsonres||1)+(g.jsonmarginX||0),y:(((g.yoffset||0)-d[1])*(g.scale||1)+(g.ypan||0))*(g.jsonres||1)-(g.jsonmarginY||0)}};y.prototype.transformToLatLon=function(d,g){if(void 0===v.proj4)a.error(21);else{d={x:((d.x-(g.jsonmarginX||0))/(g.jsonres||1)-(g.xpan||0))/(g.scale||
1)+(g.xoffset||0),y:((-d.y-(g.jsonmarginY||0))/(g.jsonres||1)+(g.ypan||0))/(g.scale||1)+(g.yoffset||0)};var h=g.cosAngle||g.rotation&&Math.cos(g.rotation),f=g.sinAngle||g.rotation&&Math.sin(g.rotation);g=v.proj4(g.crs,"WGS84",g.rotation?{x:d.x*h+d.y*-f,y:d.x*f+d.y*h}:d);return{lat:g.y,lon:g.x}}};y.prototype.fromPointToLatLon=function(d){var g=this.mapTransforms,h;if(g){for(h in g)if(g.hasOwnProperty(h)&&g[h].hitZone&&B({x:d.x,y:-d.y},g[h].hitZone.coordinates[0]))return this.transformToLatLon(d,g[h]);
return this.transformToLatLon(d,g["default"])}a.error(22)};y.prototype.fromLatLonToPoint=function(d){var g=this.mapTransforms,h,f;if(!g)return a.error(22),{x:0,y:null};for(h in g)if(g.hasOwnProperty(h)&&g[h].hitZone&&(f=this.transformFromLatLon(d,g[h]),B({x:f.x,y:-f.y},g[h].hitZone.coordinates[0])))return f;return this.transformFromLatLon(d,g["default"])};a.geojson=function(a,g,h){var f=[],k=[],m=function(a){var b,c=a.length;k.push("M");for(b=0;b<c;b++)1===b&&k.push("L"),k.push(a[b][0],-a[b][1])};
g=g||"map";D(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var e;k=[];"map"===g||"mapbubble"===g?("Polygon"===c?(D(b,m),k.push("Z")):"MultiPolygon"===c&&(D(b,function(a){D(a,m)}),k.push("Z")),k.length&&(e={path:k})):"mapline"===g?("LineString"===c?m(b):"MultiLineString"===c&&D(b,m),k.length&&(e={path:k})):"mappoint"===g&&"Point"===c&&(e={x:b[0],y:-b[1]});e&&f.push(n(e,{name:a.name||a.NAME,properties:a}))});h&&a.copyrightShort&&(h.chart.mapCredits=d(h.chart.options.credits.mapText,
{geojson:a}),h.chart.mapCreditsFull=d(h.chart.options.credits.mapTextFull,{geojson:a}));return f};u(y.prototype,"addCredits",function(a,d){d=k(!0,this.options.credits,d);this.mapCredits&&(d.href=null);a.call(this,d);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(J);(function(a){function B(a,d,g,k,e,b,c,n){return["M",a+e,d,"L",a+g-b,d,"C",a+g-b/2,d,a+g,d+b/2,a+g,d+b,"L",a+g,d+k-c,"C",a+g,d+k-c/2,a+g-c/2,d+k,a+g-c,d+k,"L",a+n,d+k,"C",a+n/2,d+k,a,d+k-n/2,a,d+k-
n,"L",a,d+e,"C",a,d+e/2,a+e/2,d,a+e,d,"Z"]}var y=a.Chart,D=a.defaultOptions,n=a.each,d=a.extend,k=a.merge,v=a.pick,u=a.Renderer,r=a.SVGRenderer,g=a.VMLRenderer;d(D.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});D.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},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,d,g,k,e){return B(a-1,d-1,g,k,e.r,e.r,0,0)};r.prototype.symbols.bottombutton=function(a,d,g,k,e){return B(a-1,d-1,g,k,0,0,e.r,e.r)};u===g&&n(["topbutton","bottombutton"],function(a){g.prototype.symbols[a]=
r.prototype.symbols[a]});a.Map=a.mapChart=function(d,f,g){var h="string"===typeof d||d.nodeName,e=arguments[h?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},c,n=a.getOptions().credits;c=e.series;e.series=null;e=k({chart:{panning:"xy",type:"map"},credits:{mapText:v(n.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:v(n.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:k(b,{reversed:!0})},
e,{chart:{inverted:!1,alignTicks:!1}});e.series=c;return h?new y(d,e,g):new y(e,f)}})(J);return J});
//# sourceMappingURL=highmaps.js.map
