/*
 Highmaps JS v5.0.10 (2017-03-31)

 (c) 2011-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(J,a){"object"===typeof module&&module.exports?module.exports=J.document?a(J):a:J.Highcharts=a(J)})("undefined"!==typeof window?window:this,function(J){J=function(){var a=window,u=a.document,B=a.navigator&&a.navigator.userAgent||"",y=u&&u.createElementNS&&!!u.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,x=/(edge|msie|trident)/i.test(B)&&!window.opera,g=!y,e=/Firefox/.test(B),q=e&&4>parseInt(B.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",
version:"5.0.10",deg2rad:2*Math.PI/360,doc:u,hasBidiBug:q,hasTouch:u&&void 0!==u.documentElement.ontouchstart,isMS:x,isWebKit:/AppleWebKit/.test(B),isFirefox:e,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(B),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:y,vml:g,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var u=[],B=a.charts,y=a.doc,x=a.win;a.error=function(g,e){g=a.isNumber(g)?"Highcharts error #"+
g+": www.highcharts.com/errors/"+g:g;if(e)throw Error(g);x.console&&console.log(g)};a.Fx=function(a,e,q){this.options=e;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],e=this.paths[1],q=[],n=this.now,l=a.length,d;if(1===n)q=this.toD;else if(l===e.length&&1>n)for(;l--;)d=parseFloat(a[l]),q[l]=isNaN(d)?a[l]:n*parseFloat(e[l]-d)+d;else q=e;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,e=this.prop,q=this.now,n=this.options.step;if(this[e+"Setter"])this[e+
"Setter"]();else a.attr?a.element&&a.attr(e,q,null,!0):a.style[e]=q+this.unit;n&&n.call(a,q,this)},run:function(a,e,q){var g=this,l=function(a){return l.stopped?!1:g.step(a)},d;this.startTime=+new Date;this.start=a;this.end=e;this.unit=q;this.now=this.start;this.pos=0;l.elem=this.elem;l.prop=this.prop;l()&&1===u.push(l)&&(l.timerId=setInterval(function(){for(d=0;d<u.length;d++)u[d]()||u.splice(d--,1);u.length||clearInterval(l.timerId)},13))},step:function(a){var e=+new Date,g,n=this.options;g=this.elem;
var l=n.complete,d=n.duration,h=n.curAnim,m;if(g.attr&&!g.element)g=!1;else if(a||e>=d+this.startTime){this.now=this.end;this.pos=1;this.update();a=h[this.prop]=!0;for(m in h)!0!==h[m]&&(a=!1);a&&l&&l.call(g);g=!1}else this.pos=n.easing((e-this.startTime)/d),this.now=this.start+(this.end-this.start)*this.pos,this.update(),g=!0;return g},initPath:function(g,e,q){function n(a){var b,c;for(k=a.length;k--;)b="M"===a[k]||"L"===a[k],c=/[a-zA-Z]/.test(a[k+3]),b&&c&&a.splice(k+1,0,a[k+1],a[k+2],a[k+1],a[k+
2])}function l(a,f){for(;a.length<b;){a[0]=f[b-a.length];var p=a.slice(0,c);[].splice.apply(a,[0,0].concat(p));I&&(p=a.slice(a.length-c),[].splice.apply(a,[a.length,0].concat(p)),k--)}a[0]="M"}function d(a,k){for(var p=(b-a.length)/c;0<p&&p--;)f=a.slice().splice(a.length/v-c,c*v),f[0]=k[b-c-p*c],t&&(f[c-6]=f[c-2],f[c-5]=f[c-1]),[].splice.apply(a,[a.length/v,0].concat(f)),I&&p--}e=e||"";var h,m=g.startX,w=g.endX,t=-1<e.indexOf("C"),c=t?7:3,b,f,k;e=e.split(" ");q=q.slice();var I=g.isArea,v=I?2:1,E;
t&&(n(e),n(q));if(m&&w){for(k=0;k<m.length;k++)if(m[k]===w[0]){h=k;break}else if(m[0]===w[w.length-m.length+k]){h=k;E=!0;break}void 0===h&&(e=[])}e.length&&a.isNumber(h)&&(b=q.length+h*v*c,E?(l(e,q),d(q,e)):(l(q,e),d(e,q)));return[e,q]}};a.extend=function(a,e){var g;a||(a={});for(g in e)a[g]=e[g];return a};a.merge=function(){var g,e=arguments,q,n={},l=function(d,h){var m,e;"object"!==typeof d&&(d={});for(e in h)h.hasOwnProperty(e)&&(m=h[e],a.isObject(m,!0)&&"renderTo"!==e&&"number"!==typeof m.nodeType?
d[e]=l(d[e]||{},m):d[e]=h[e]);return d};!0===e[0]&&(n=e[1],e=Array.prototype.slice.call(e,2));q=e.length;for(g=0;g<q;g++)n=l(n,e[g]);return n};a.pInt=function(a,e){return parseInt(a,e||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(g,e){return g&&"object"===typeof g&&(!e||!a.isArray(g))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=
function(a,e){for(var g=a.length;g--;)if(a[g]===e){a.splice(g,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(g,e,q){var n,l;if(a.isString(e))a.defined(q)?g.setAttribute(e,q):g&&g.getAttribute&&(l=g.getAttribute(e));else if(a.defined(e)&&a.isObject(e))for(n in e)g.setAttribute(n,e[n]);return l};a.splat=function(g){return a.isArray(g)?g:[g]};a.syncTimeout=function(a,e,q){if(e)return setTimeout(a,e,q);a.call(0,q)};a.pick=function(){var a=arguments,e,q,n=a.length;for(e=
0;e<n;e++)if(q=a[e],void 0!==q&&null!==q)return q};a.css=function(g,e){a.isMS&&!a.svg&&e&&void 0!==e.opacity&&(e.filter="alpha(opacity\x3d"+100*e.opacity+")");a.extend(g.style,e)};a.createElement=function(g,e,q,n,l){g=y.createElement(g);var d=a.css;e&&a.extend(g,e);l&&d(g,{padding:0,border:"none",margin:0});q&&d(g,q);n&&n.appendChild(g);return g};a.extendClass=function(g,e){var q=function(){};q.prototype=new g;a.extend(q.prototype,e);return q};a.pad=function(a,e,q){return Array((e||2)+1-String(a).length).join(q||
0)+a};a.relativeLength=function(a,e){return/%$/.test(a)?e*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,e,q){var g=a[e];a[e]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,h=this;h.proceed=function(){g.apply(h,arguments.length?arguments:d)};a.unshift(g);a=q.apply(this,a);h.proceed=null;return a}};a.getTZOffset=function(g){var e=a.Date;return 6E4*(e.hcGetTimezoneOffset&&e.hcGetTimezoneOffset(g)||e.hcTimezoneOffset||0)};a.dateFormat=function(g,e,q){if(!a.defined(e)||isNaN(e))return a.defaultOptions.lang.invalidDate||
"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");var n=a.Date,l=new n(e-a.getTZOffset(e)),d,h=l[n.hcGetHours](),m=l[n.hcGetDay](),w=l[n.hcGetDate](),t=l[n.hcGetMonth](),c=l[n.hcGetFullYear](),b=a.defaultOptions.lang,f=b.weekdays,k=b.shortWeekdays,I=a.pad,n=a.extend({a:k?k[m]:f[m].substr(0,3),A:f[m],d:I(w),e:I(w,2," "),w:m,b:b.shortMonths[t],B:b.months[t],m:I(t+1),y:c.toString().substr(2,2),Y:c,H:I(h),k:h,I:I(h%12||12),l:h%12||12,M:I(l[n.hcGetMinutes]()),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:I(l.getSeconds()),L:I(Math.round(e%
1E3),3)},a.dateFormats);for(d in n)for(;-1!==g.indexOf("%"+d);)g=g.replace("%"+d,"function"===typeof n[d]?n[d](e):n[d]);return q?g.substr(0,1).toUpperCase()+g.substr(1):g};a.formatSingle=function(g,e){var q=/\.([0-9])/,n=a.defaultOptions.lang;/f$/.test(g)?(q=(q=g.match(q))?q[1]:-1,null!==e&&(e=a.numberFormat(e,q,n.decimalPoint,-1<g.indexOf(",")?n.thousandsSep:""))):e=a.dateFormat(g,e);return e};a.format=function(g,e){for(var q="{",n=!1,l,d,h,m,w=[],t;g;){q=g.indexOf(q);if(-1===q)break;l=g.slice(0,
q);if(n){l=l.split(":");d=l.shift().split(".");m=d.length;t=e;for(h=0;h<m;h++)t=t[d[h]];l.length&&(t=a.formatSingle(l.join(":"),t));w.push(t)}else w.push(l);g=g.slice(q+1);q=(n=!n)?"}":"{"}w.push(g);return w.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(g,e,q,n,l){var d,h=g;q=a.pick(q,1);d=g/q;e||(e=l?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===n&&(1===q?e=a.grep(e,function(a){return 0===a%1}):.1>=q&&(e=[1/q])));
for(n=0;n<e.length&&!(h=e[n],l&&h*q>=g||!l&&d<=(e[n]+(e[n+1]||e[n]))/2);n++);return h=a.correctFloat(h*q,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,e){var g=a.length,n,l;for(l=0;l<g;l++)a[l].safeI=l;a.sort(function(a,h){n=e(a,h);return 0===n?a.safeI-h.safeI:n});for(l=0;l<g;l++)delete a[l].safeI};a.arrayMin=function(a){for(var e=a.length,g=a[0];e--;)a[e]<g&&(g=a[e]);return g};a.arrayMax=function(a){for(var e=a.length,g=a[0];e--;)a[e]>g&&(g=a[e]);return g};a.destroyObjectProperties=
function(a,e){for(var g in a)a[g]&&a[g]!==e&&a[g].destroy&&a[g].destroy(),delete a[g]};a.discardElement=function(g){var e=a.garbageBin;e||(e=a.createElement("div"));g&&e.appendChild(g);e.innerHTML=""};a.correctFloat=function(a,e){return parseFloat(a.toPrecision(e||14))};a.setAnimation=function(g,e){e.renderer.globalAnimation=a.pick(g,e.options.chart.animation,!0)};a.animObject=function(g){return a.isObject(g)?a.merge(g):{duration:g?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,
day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(g,e,q,n){g=+g||0;e=+e;var l=a.defaultOptions.lang,d=(g.toString().split(".")[1]||"").length,h,m;-1===e?e=Math.min(d,20):a.isNumber(e)||(e=2);m=(Math.abs(g)+Math.pow(10,-Math.max(e,d)-1)).toFixed(e);d=String(a.pInt(m));h=3<d.length?d.length%3:0;q=a.pick(q,l.decimalPoint);n=a.pick(n,l.thousandsSep);g=(0>g?"-":"")+(h?d.substr(0,h)+n:"");g+=d.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+n);e&&(g+=q+m.slice(-e));return g};Math.easeInOutSine=
function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(g,e){return"width"===e?Math.min(g.offsetWidth,g.scrollWidth)-a.getStyle(g,"padding-left")-a.getStyle(g,"padding-right"):"height"===e?Math.min(g.offsetHeight,g.scrollHeight)-a.getStyle(g,"padding-top")-a.getStyle(g,"padding-bottom"):(g=x.getComputedStyle(g,void 0))&&a.pInt(g.getPropertyValue(e))};a.inArray=function(a,e){return e.indexOf?e.indexOf(a):[].indexOf.call(e,a)};a.grep=function(a,e){return[].filter.call(a,e)};a.find=function(a,
e){return[].find.call(a,e)};a.map=function(a,e){for(var g=[],n=0,l=a.length;n<l;n++)g[n]=e.call(a[n],a[n],n,a);return g};a.offset=function(a){var e=y.documentElement;a=a.getBoundingClientRect();return{top:a.top+(x.pageYOffset||e.scrollTop)-(e.clientTop||0),left:a.left+(x.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}};a.stop=function(a,e){for(var g=u.length;g--;)u[g].elem!==a||e&&e!==u[g].prop||(u[g].stopped=!0)};a.each=function(a,e,q){return Array.prototype.forEach.call(a,e,q)};a.addEvent=function(g,
e,q){function n(a){a.target=a.srcElement||x;q.call(g,a)}var l=g.hcEvents=g.hcEvents||{};g.addEventListener?g.addEventListener(e,q,!1):g.attachEvent&&(g.hcEventsIE||(g.hcEventsIE={}),g.hcEventsIE[q.toString()]=n,g.attachEvent("on"+e,n));l[e]||(l[e]=[]);l[e].push(q);return function(){a.removeEvent(g,e,q)}};a.removeEvent=function(g,e,q){function n(a,d){g.removeEventListener?g.removeEventListener(a,d,!1):g.attachEvent&&(d=g.hcEventsIE[d.toString()],g.detachEvent("on"+a,d))}function l(){var a,d;if(g.nodeName)for(d in e?
(a={},a[e]=!0):a=h,a)if(h[d])for(a=h[d].length;a--;)n(d,h[d][a])}var d,h=g.hcEvents,m;h&&(e?(d=h[e]||[],q?(m=a.inArray(q,d),-1<m&&(d.splice(m,1),h[e]=d),n(e,q)):(l(),h[e]=[])):(l(),g.hcEvents={}))};a.fireEvent=function(g,e,q,n){var l;l=g.hcEvents;var d,h;q=q||{};if(y.createEvent&&(g.dispatchEvent||g.fireEvent))l=y.createEvent("Events"),l.initEvent(e,!0,!0),a.extend(l,q),g.dispatchEvent?g.dispatchEvent(l):g.fireEvent(e,l);else if(l)for(l=l[e]||[],d=l.length,q.target||a.extend(q,{preventDefault:function(){q.defaultPrevented=
!0},target:g,type:e}),e=0;e<d;e++)(h=l[e])&&!1===h.call(g,q)&&q.preventDefault();n&&!q.defaultPrevented&&n(q)};a.animate=function(g,e,q){var n,l="",d,h,m;a.isObject(q)||(n=arguments,q={duration:n[2],easing:n[3],complete:n[4]});a.isNumber(q.duration)||(q.duration=400);q.easing="function"===typeof q.easing?q.easing:Math[q.easing]||Math.easeInOutSine;q.curAnim=a.merge(e);for(m in e)a.stop(g,m),h=new a.Fx(g,q,m),d=null,"d"===m?(h.paths=h.initPath(g,g.d,e.d),h.toD=e.d,n=0,d=1):g.attr?n=g.attr(m):(n=parseFloat(a.getStyle(g,
m))||0,"opacity"!==m&&(l="px")),d||(d=e[m]),d&&d.match&&d.match("px")&&(d=d.replace(/px/g,"")),h.run(n,d,l)};a.seriesType=function(g,e,q,n,l){var d=a.getOptions(),h=a.seriesTypes;d.plotOptions[g]=a.merge(d.plotOptions[e],q);h[g]=a.extendClass(h[e]||function(){},n);h[g].prototype.type=g;l&&(h[g].prototype.pointClass=a.extendClass(a.Point,l));return h[g]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),e=0;return function(){return"highcharts-"+a+"-"+e++}}();x.jQuery&&(x.jQuery.fn.highcharts=
function(){var g=[].slice.call(arguments);if(this[0])return g[0]?(new (a[a.isString(g[0])?g.shift():"Chart"])(this[0],g[0],g[1]),this):B[a.attr(this[0],"data-highcharts-chart")]});y&&!y.defaultView&&(a.getStyle=function(g,e){var q={width:"clientWidth",height:"clientHeight"}[e];if(g.style[e])return a.pInt(g.style[e]);"opacity"===e&&(e="filter");if(q)return g.style.zoom=1,Math.max(g[q]-2*a.getStyle(g,"padding"),0);g=g.currentStyle[e.replace(/\-(\w)/g,function(a,e){return e.toUpperCase()})];"filter"===
e&&(g=g.replace(/alpha\(opacity=([0-9]+)\)/,function(a,e){return e/100}));return""===g?1:a.pInt(g)});Array.prototype.forEach||(a.each=function(a,e,q){for(var n=0,l=a.length;n<l;n++)if(!1===e.call(q,a[n],n,a))return n});Array.prototype.indexOf||(a.inArray=function(a,e){var g,n=0;if(e)for(g=e.length;n<g;n++)if(e[n]===a)return n;return-1});Array.prototype.filter||(a.grep=function(a,e){for(var g=[],n=0,l=a.length;n<l;n++)e(a[n],n)&&g.push(a[n]);return g});Array.prototype.find||(a.find=function(a,e){var g,
n=a.length;for(g=0;g<n;g++)if(e(a[g],g))return a[g]})})(J);(function(a){var u=a.each,B=a.isNumber,y=a.map,x=a.merge,g=a.pInt;a.Color=function(e){if(!(this instanceof a.Color))return new a.Color(e);this.init(e)};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[g(a[1]),g(a[2]),g(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[g(a[1]),
g(a[2]),g(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(e){var g,n,l,d;if((this.input=e=this.names[e&&e.toLowerCase?e.toLowerCase():""]||e)&&e.stops)this.stops=y(e.stops,function(d){return new a.Color(d[1])});else if(e&&"#"===e[0]&&(g=e.length,e=parseInt(e.substr(1),16),7===g?n=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===g&&(n=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])),!n)for(l=this.parsers.length;l--&&!n;)d=this.parsers[l],(g=d.regex.exec(e))&&(n=d.parse(g));
this.rgba=n||[]},get:function(a){var e=this.input,n=this.rgba,l;this.stops?(l=x(e),l.stops=[].concat(l.stops),u(this.stops,function(d,h){l.stops[h]=[l.stops[h][0],d.get(a)]})):l=n&&B(n[0])?"rgb"===a||!a&&1===n[3]?"rgb("+n[0]+","+n[1]+","+n[2]+")":"a"===a?n[3]:"rgba("+n.join(",")+")":e;return l},brighten:function(a){var e,n=this.rgba;if(this.stops)u(this.stops,function(e){e.brighten(a)});else if(B(a)&&0!==a)for(e=0;3>e;e++)n[e]+=g(255*a),0>n[e]&&(n[e]=0),255<n[e]&&(n[e]=255);return this},setOpacity:function(a){this.rgba[3]=
a;return this}};a.color=function(e){return new a.Color(e)}})(J);(function(a){function u(){var e=a.defaultOptions.global,l=q.moment;if(e.timezone){if(l)return function(a){return-l.tz(a,e.timezone).utcOffset()};a.error(25)}return e.useUTC&&e.getTimezoneOffset}function B(){var g=a.defaultOptions.global,l,d=g.useUTC,h=d?"getUTC":"get",m=d?"setUTC":"set";a.Date=l=g.Date||q.Date;l.hcTimezoneOffset=d&&g.timezoneOffset;l.hcGetTimezoneOffset=u();l.hcMakeTime=function(a,h,c,b,f,k){var m;d?(m=l.UTC.apply(0,
arguments),m+=x(m)):m=(new l(a,h,e(c,1),e(b,0),e(f,0),e(k,0))).getTime();return m};y("Minutes Hours Day Date Month FullYear".split(" "),function(a){l["hcGet"+a]=h+a});y("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){l["hcSet"+a]=m+a})}var y=a.each,x=a.getTZOffset,g=a.merge,e=a.pick,q=a.win;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null},
title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,
animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},
credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(e){a.defaultOptions=g(!0,a.defaultOptions,e);B();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;B()})(J);(function(a){var u,B,y=a.addEvent,x=a.animate,g=a.attr,e=a.charts,q=a.color,n=a.css,l=a.createElement,d=a.defined,h=a.deg2rad,m=a.destroyObjectProperties,w=a.doc,
t=a.each,c=a.extend,b=a.erase,f=a.grep,k=a.hasTouch,I=a.inArray,v=a.isArray,E=a.isFirefox,G=a.isMS,D=a.isObject,p=a.isString,C=a.isWebKit,A=a.merge,N=a.noop,F=a.pick,r=a.pInt,z=a.removeEvent,O=a.splat,K=a.stop,S=a.svg,Q=a.SVG_NS,M=a.symbolSizes,P=a.win;u=a.SVGElement=function(){return this};u.prototype={opacity:1,SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,b){this.element=
"span"===b?l(b):w.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,c,r){c=a.animObject(F(c,this.renderer.globalAnimation,!0));0!==c.duration?(r&&(c.complete=r),x(this,b,c)):(this.attr(b,null,r),c.step&&c.step.call(this));return this},colorGradient:function(b,c,r){var H=this.renderer,z,f,k,p,h,L,m,e,C,g,l,n=[],E;b.radialGradient?f="radialGradient":b.linearGradient&&(f="linearGradient");if(f){k=b[f];h=H.gradients;m=b.stops;g=r.radialReference;v(k)&&(b[f]=k={x1:k[0],y1:k[1],x2:k[2],
y2:k[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===f&&g&&!d(k.gradientUnits)&&(p=k,k=A(k,H.getRadialAttr(g,p),{gradientUnits:"userSpaceOnUse"}));for(l in k)"id"!==l&&n.push(l,k[l]);for(l in m)n.push(m[l]);n=n.join(",");h[n]?g=h[n].attr("id"):(k.id=g=a.uniqueKey(),h[n]=L=H.createElement(f).attr(k).add(H.defs),L.radAttr=p,L.stops=[],t(m,function(b){0===b[1].indexOf("rgba")?(z=a.color(b[1]),e=z.get("rgb"),C=z.get("a")):(e=b[1],C=1);b=H.createElement("stop").attr({offset:b[0],"stop-color":e,
"stop-opacity":C}).add(L);L.stops.push(b)}));E="url("+H.url+"#"+g+")";r.setAttribute(c,E);r.gradient=n;b.toString=function(){return E}}},applyTextOutline:function(c){var H=this.element,r,f,z,k,p;-1!==c.indexOf("contrast")&&(c=c.replace(/contrast/g,this.renderer.getContrast(H.style.fill)));c=c.split(" ");f=c[c.length-1];if((z=c[0])&&"none"!==z&&a.svg){this.fakeTS=!0;c=[].slice.call(H.getElementsByTagName("tspan"));this.ySetter=this.xSetter;z=z.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,c){return 2*b+
c});for(p=c.length;p--;)r=c[p],"highcharts-text-outline"===r.getAttribute("class")&&b(c,H.removeChild(r));k=H.firstChild;t(c,function(a,b){0===b&&(a.setAttribute("x",H.getAttribute("x")),b=H.getAttribute("y"),a.setAttribute("y",b||0),null===b&&H.setAttribute("y",0));a=a.cloneNode(1);g(a,{"class":"highcharts-text-outline",fill:f,stroke:f,"stroke-width":z,"stroke-linejoin":"round"});H.insertBefore(a,k)})}},attr:function(a,b,c,r){var H,z=this.element,f,k=this,p;"string"===typeof a&&void 0!==b&&(H=a,
a={},a[H]=b);if("string"===typeof a)k=(this[a+"Getter"]||this._defaultGetter).call(this,a,z);else{for(H in a)b=a[H],p=!1,r||K(this,H),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(H)&&(f||(this.symbolAttr(a),f=!0),p=!0),!this.rotation||"x"!==H&&"y"!==H||(this.doTransform=!0),p||(p=this[H+"Setter"]||this._defaultSetter,p.call(this,b,H,z));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}c&&c();return k},addClass:function(a,b){var c=this.attr("class")||
"";-1===c.indexOf(a)&&(b||(a=(c+(c?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==g(this.element,"class").indexOf(a)},removeClass:function(a){g(this.element,"class",(g(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var b=this;t("x y r start end width height innerR anchorX anchorY".split(" "),function(c){b[c]=F(a[c],b[c])});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 c,r={},H;b=b||a.strokeWidth||0;H=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+H;a.y=Math.floor(a.y||this.y||0)+H;a.width=Math.floor((a.width||this.width||0)-2*H);a.height=Math.floor((a.height||this.height||0)-2*H);d(a.strokeWidth)&&(a.strokeWidth=b);for(c in a)this[c]!==a[c]&&(this[c]=r[c]=a[c]);return r},css:function(a){var b=this.styles,H={},z=this.element,f,k="",p=!b,d=["textOutline","textOverflow","width"];a&&a.color&&
(a.fill=a.color);if(b)for(f in a)a[f]!==b[f]&&(H[f]=a[f],p=!0);if(p){b&&(a=c(b,H));b=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===z.nodeName.toLowerCase()&&r(a.width);this.styles=a;b&&!S&&this.renderer.forExport&&delete a.width;if(G&&!S)n(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(f in a)-1===I(f,d)&&(k+=f.replace(/([A-Z])/g,b)+":"+a[f]+";");k&&g(z,"style",k)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},
getStyle:function(a){return P.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=r(a):(b=w.createElementNS(Q,"rect"),g(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var c=this,r=c.element;k&&"click"===a?(r.ontouchstart=function(a){c.touchEventFired=Date.now();a.preventDefault();b.call(r,a)},r.onclick=
function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&b.call(r,a)}):r["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,c=this.scaleX,r=this.scaleY,f=this.inverted,z=this.rotation,k=this.element;f&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];f?a.push("rotate(90) scale(-1,1)"):z&&a.push("rotate("+z+" "+(k.getAttribute("x")||0)+" "+(k.getAttribute("y")||0)+")");(d(c)||d(r))&&a.push("scale("+F(c,1)+" "+F(r,1)+")");a.length&&k.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,c,r){var f,
z,k,H,d={};z=this.renderer;k=z.alignedObjects;var h,m;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!r||p(r))this.alignTo=f=r||"renderer",b(k,this),k.push(this),r=null}else a=this.alignOptions,c=this.alignByTranslate,f=this.alignTo;r=F(r,z[f],z);f=a.align;z=a.verticalAlign;k=(r.x||0)+(a.x||0);H=(r.y||0)+(a.y||0);"right"===f?h=1:"center"===f&&(h=2);h&&(k+=(r.width-(a.width||0))/h);d[c?"translateX":"x"]=Math.round(k);"bottom"===z?m=1:"middle"===z&&(m=2);m&&(H+=(r.height-(a.height||0))/m);d[c?
"translateY":"y"]=Math.round(H);this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this},getBBox:function(a,b){var r,f=this.renderer,z,k=this.element,H=this.styles,p,d=this.textStr,m,e=f.cache,v=f.cacheKeys,L;b=F(b,this.rotation);z=b*h;p=k&&u.prototype.getStyle.call(k,"font-size");void 0!==d&&(L=d.toString(),-1===L.indexOf("\x3c")&&(L=L.replace(/[0-9]/g,"0")),L+=["",b||0,p,H&&H.width,H&&H.textOverflow].join());L&&!a&&(r=e[L]);if(!r){if(k.namespaceURI===this.SVG_NS||f.forExport){try{(m=
this.fakeTS&&function(a){t(k.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&m("none"),r=k.getBBox?c({},k.getBBox()):{width:k.offsetWidth,height:k.offsetHeight},m&&m("")}catch(U){}if(!r||0>r.width)r={width:0,height:0}}else r=this.htmlGetBBox();f.isSVG&&(a=r.width,f=r.height,H&&"11px"===H.fontSize&&17===Math.round(f)&&(r.height=f=14),b&&(r.width=Math.abs(f*Math.sin(z))+Math.abs(a*Math.cos(z)),r.height=Math.abs(f*Math.cos(z))+Math.abs(a*Math.sin(z))));if(L&&0<r.height){for(;250<
v.length;)delete e[v.shift()];e[L]||v.push(L);e[L]=r}}return r},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,c=this.element,r;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)r=
this.zIndexSetter();r||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},r=a.renderer.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,f,z;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;K(a);a.clipPath&&(t(a.element.ownerSVGElement.querySelectorAll("[clip-path]"),function(b){-1<b.getAttribute("clip-path").indexOf(a.clipPath.element.id)&&b.removeAttribute("clip-path")}),
a.clipPath=a.clipPath.destroy());if(a.stops){for(z=0;z<a.stops.length;z++)a.stops[z]=a.stops[z].destroy();a.stops=null}for(a.safeRemoveChild(c);r&&r.div&&0===r.div.childNodes.length;)c=r.parentGroup,a.safeRemoveChild(r.div),delete r.div,r=c;a.alignTo&&b(a.renderer.alignedObjects,a);for(f in a)delete a[f];return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=F(this[a],this.element?this.element.getAttribute(a):
null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,c){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");c.setAttribute(b,a);this[b]=a},alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,c){this[b]=a;c.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=w.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));
b.firstChild&&b.removeChild(b.firstChild);b.appendChild(w.createTextNode(String(F(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},visibilitySetter:function(a,b,c){"inherit"===a?c.removeAttribute(b):c.setAttribute(b,a)},zIndexSetter:function(a,b){var c=this.renderer,f=this.parentGroup,z=(f||c).element||
c.box,k,p=this.element,h;k=this.added;var m;d(a)&&(p.zIndex=a,a=+a,this[b]===a&&(k=!1),this[b]=a);if(k){(a=this.zIndex)&&f&&(f.handleZ=!0);b=z.childNodes;for(m=0;m<b.length&&!h;m++)f=b[m],k=f.zIndex,f!==p&&(r(k)>a||!d(a)&&d(k)||0>a&&!d(k)&&z!==c.box)&&(z.insertBefore(p,f),h=!0);h||z.appendChild(p)}return h},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};u.prototype.yGetter=u.prototype.xGetter;u.prototype.translateXSetter=u.prototype.translateYSetter=u.prototype.rotationSetter=u.prototype.verticalAlignSetter=
u.prototype.scaleXSetter=u.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};B=a.SVGRenderer=function(){this.init.apply(this,arguments)};B.prototype={Element:u,SVG_NS:Q,init:function(a,b,c,r,f,z){var k;r=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});k=r.element;a.appendChild(k);-1===a.innerHTML.indexOf("xmlns")&&g(k,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=k;this.boxWrapper=r;this.alignedObjects=[];this.url=(E||C)&&w.getElementsByTagName("base").length?
P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(w.createTextNode("Created with Highmaps 5.0.10"));this.defs=this.createElement("defs").add();this.allowHTML=z;this.forExport=f;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var p;E&&a.getBoundingClientRect&&(b=function(){n(a,{left:0,top:0});p=a.getBoundingClientRect();n(a,{left:Math.ceil(p.left)-
p.left+"px",top:Math.ceil(p.top)-p.top+"px"})},b(),this.unSubPixelFix=y(P,"resize",b))},definition:function(a){function b(a,r){var f;t(O(a),function(a){var z=c.createElement(a.tagName),k,p={};for(k in a)"tagName"!==k&&"children"!==k&&"textContent"!==k&&(p[k]=a[k]);z.attr(p);z.add(r||c.defs);a.textContent&&z.element.appendChild(w.createTextNode(a.textContent));b(a.children||[],z);f=z});return f}var c=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();m(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:N,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},getSpanWidth:function(a,b){var c=a.getBBox(!0).width;!S&&this.forExport&&(c=this.measureSpanWidth(b.firstChild.data,
a.styles));return c},applyEllipsis:function(a,b,c,r){var f=this.getSpanWidth(a,b),z=f>r,f=c,k,p=0,d=c.length,h=function(a){b.removeChild(b.firstChild);a&&b.appendChild(w.createTextNode(a))};if(z){for(;p<=d;)k=Math.ceil((p+d)/2),f=c.substring(0,k)+"\u2026",h(f),f=this.getSpanWidth(a,b),p===d?p=d+1:f>r?d=k-1:p=k;0===d&&h("")}return z},buildText:function(a){var b=a.element,c=this,z=c.forExport,k=F(a.textStr,"").toString(),p=-1!==k.indexOf("\x3c"),d=b.childNodes,h,m,e,v,H=g(b,"x"),A=a.styles,l=a.textWidth,
C=A&&A.lineHeight,E=A&&A.textOutline,O=A&&"ellipsis"===A.textOverflow,M=A&&"nowrap"===A.whiteSpace,D,K=d.length,q=l&&!a.added&&this.box,G=function(a){return C?r(C):c.fontMetrics(void 0,a.getAttribute("style")?a:b).h},A=[k,O,M,C,E,A&&A.fontSize,l].join();if(A!==a.textCache){for(a.textCache=A;K--;)b.removeChild(d[K]);p||E||O||l||-1!==k.indexOf(" ")?(h=/<.*class="([^"]+)".*>/,m=/<.*style="([^"]+)".*>/,e=/<.*href="(http[^"]+)".*>/,q&&q.appendChild(b),k=p?k.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,
'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[k],k=f(k,function(a){return""!==a}),t(k,function(r,f){var k,p=0;r=r.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");k=r.split("|||");t(k,function(r){if(""!==r||1===k.length){var d={},A=w.createElementNS(c.SVG_NS,"tspan"),t,C;h.test(r)&&(t=r.match(h)[1],g(A,"class",t));m.test(r)&&(C=r.match(m)[1].replace(/(;| |^)color([ :])/,
"$1fill$2"),g(A,"style",C));e.test(r)&&!z&&(g(A,"onclick",'location.href\x3d"'+r.match(e)[1]+'"'),n(A,{cursor:"pointer"}));r=(r.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==r){A.appendChild(w.createTextNode(r));p?d.dx=0:f&&null!==H&&(d.x=H);g(A,d);b.appendChild(A);!p&&D&&(!S&&z&&n(A,{display:"block"}),g(A,"dy",G(A)));if(l){d=r.replace(/([^\^])-/g,"$1- ").split(" ");t=1<k.length||f||1<d.length&&!M;var E=[],K,q=G(A),L=a.rotation;for(O&&(v=c.applyEllipsis(a,
A,r,l));!O&&t&&(d.length||E.length);)a.rotation=0,K=c.getSpanWidth(a,A),r=K>l,void 0===v&&(v=r),r&&1!==d.length?(A.removeChild(A.firstChild),E.unshift(d.pop())):(d=E,E=[],d.length&&!M&&(A=w.createElementNS(Q,"tspan"),g(A,{dy:q,x:H}),C&&g(A,"style",C),b.appendChild(A)),K>l&&(l=K)),d.length&&A.appendChild(w.createTextNode(d.join(" ").replace(/- /g,"-")));a.rotation=L}p++}}});D=D||b.childNodes.length}),v&&a.attr("title",a.textStr),q&&q.removeChild(b),E&&a.applyTextOutline&&a.applyTextOutline(E)):b.appendChild(w.createTextNode(k.replace(/&lt;/g,
"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=q(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,c,r,f,k,z,p,d){var h=this.label(a,b,c,d,null,null,null,null,"button"),m=0;h.attr(A({padding:8,r:2},f));y(h.element,G?"mouseover":"mouseenter",function(){3!==m&&h.setState(1)});y(h.element,G?"mouseout":"mouseleave",function(){3!==m&&h.setState(m)});h.setState=function(a){1!==a&&(h.state=m=a);h.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
["normal","hover","pressed","disabled"][a||0])};return h.on("click",function(a){3!==m&&r.call(h,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={};v(a)?b.d=a:D(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=D(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,c){c.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,c,r,
f,k){D(a)?(r=a,b=r.y,c=r.r,a=r.x):r={innerR:r,start:f,end:k};a=this.symbol("arc",a,b,c,c,r);a.r=c;return a},rect:function(a,b,c,r,f,k){f=D(a)?a.r:f;k=this.createElement("rect");a=D(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(c,0),height:Math.max(r,0)};f&&(a.r=f);k.rSetter=function(a,b,c){g(c,{rx:a,ry:a})};return k.attr(a)},setSize:function(a,b,c){var r=this.alignedObjects,f=r.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:F(c,!0)?void 0:0});f--;)r[f].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,r,f,k){var z={preserveAspectRatio:"none"};1<arguments.length&&c(z,{x:b,y:r,width:f,height:k});z=this.createElement("image").attr(z);z.element.setAttributeNS?z.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):z.element.setAttribute("hc-svg-href",a);return z},symbol:function(a,b,r,f,k,
z){var p=this,h,m=this.symbols[a],v=d(b)&&m&&this.symbols[a](Math.round(b),Math.round(r),f,k,z),A=/^url\((.*?)\)$/,C,g;m?(h=this.path(v),c(h,{symbolName:a,x:b,y:r,width:f,height:k}),z&&c(h,z)):A.test(a)&&(C=a.match(A)[1],h=this.image(C),h.imgwidth=F(M[C]&&M[C].width,z&&z.width),h.imgheight=F(M[C]&&M[C].height,z&&z.height),g=function(){h.attr({width:h.width,height:h.height})},t(["width","height"],function(a){h[a+"Setter"]=function(a,b){var c={},r=this["img"+b],f="width"===b?"translateX":"translateY";
this[b]=a;d(r)&&(this.element&&this.element.setAttribute(b,r),this.alignByTranslate||(c[f]=((this[b]||0)-r)/2,this.attr(c)))}}),d(b)&&h.attr({x:b,y:r}),h.isImg=!0,d(h.imgwidth)&&d(h.imgheight)?g():(h.attr({width:0,height:0}),l("img",{onload:function(){var a=e[p.chartIndex];0===this.width&&(n(this,{position:"absolute",top:"-999em"}),w.body.appendChild(this));M[C]={width:this.width,height:this.height};h.imgwidth=this.width;h.imgheight=this.height;h.element&&g();this.parentNode&&this.parentNode.removeChild(this);
p.imgCount--;if(!p.imgCount&&a&&a.onload)a.onload()},src:C}),this.imgCount++));return h},symbols:{circle:function(a,b,c,r){return this.arc(a+c/2,b+r/2,c/2,r/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,c,r){return["M",a,b,"L",a+c,b,a+c,b+r,a,b+r,"Z"]},triangle:function(a,b,c,r){return["M",a+c/2,b,"L",a+c,b+r,a,b+r,"Z"]},"triangle-down":function(a,b,c,r){return["M",a,b,"L",a+c,b,a+c/2,b+r,"Z"]},diamond:function(a,b,c,r){return["M",a+c/2,b,"L",a+c,b+r/2,a+c/2,b+r,a,b+r/2,"Z"]},arc:function(a,
b,c,r,f){var z=f.start,k=f.r||c,p=f.r||r||c,h=f.end-.001;c=f.innerR;r=f.open;var m=Math.cos(z),e=Math.sin(z),v=Math.cos(h),h=Math.sin(h);f=f.end-z<Math.PI?0:1;k=["M",a+k*m,b+p*e,"A",k,p,0,f,1,a+k*v,b+p*h];d(c)&&k.push(r?"M":"L",a+c*v,b+c*h,"A",c,c,0,f,0,a+c*m,b+c*e);k.push(r?"":"Z");return k},callout:function(a,b,c,r,f){var k=Math.min(f&&f.r||0,c,r),z=k+6,p=f&&f.anchorX;f=f&&f.anchorY;var d;d=["M",a+k,b,"L",a+c-k,b,"C",a+c,b,a+c,b,a+c,b+k,"L",a+c,b+r-k,"C",a+c,b+r,a+c,b+r,a+c-k,b+r,"L",a+k,b+r,"C",
a,b+r,a,b+r,a,b+r-k,"L",a,b+k,"C",a,b,a,b,a+k,b];p&&p>c?f>b+z&&f<b+r-z?d.splice(13,3,"L",a+c,f-6,a+c+6,f,a+c,f+6,a+c,b+r-k):d.splice(13,3,"L",a+c,r/2,p,f,a+c,r/2,a+c,b+r-k):p&&0>p?f>b+z&&f<b+r-z?d.splice(33,3,"L",a,f+6,a-6,f,a,f-6,a,b+k):d.splice(33,3,"L",a,r/2,p,f,a,r/2,a,b+k):f&&f>r&&p>a+z&&p<a+c-z?d.splice(23,3,"L",p+6,b+r,p,b+r+6,p-6,b+r,a+k,b+r):f&&0>f&&p>a+z&&p<a+c-z&&d.splice(3,3,"L",p-6,b,p,b-6,p+6,b,c-k,b);return d}},clipRect:function(b,c,r,f){var k=a.uniqueKey(),z=this.createElement("clipPath").attr({id:k}).add(this.defs);
b=this.rect(b,c,r,f,0).add(z);b.id=k;b.clipPath=z;b.count=0;return b},text:function(a,b,c,r){var f=!S&&this.forExport,k={};if(r&&(this.allowHTML||!this.forExport))return this.html(a,b,c);k.x=Math.round(b||0);c&&(k.y=Math.round(c));if(a||0===a)k.text=a;a=this.createElement("text").attr(k);f&&a.css({position:"absolute"});r||(a.xSetter=function(a,b,c){var r=c.getElementsByTagName("tspan"),f,k=c.getAttribute(b),z;for(z=0;z<r.length;z++)f=r[z],f.getAttribute(b)===k&&f.setAttribute(b,a);c.setAttribute(b,
a)});return a},fontMetrics:function(a,b){a=b&&u.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?r(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,c){var r=a;b&&c&&(r=Math.max(r*Math.cos(b*h),4));return{x:-a/3*Math.sin(b*h),y:r}},label:function(b,r,f,k,p,h,m,e,v){var C=this,l=C.g("button"!==v&&"label"),g=l.text=C.text("",0,0,m).attr({zIndex:1}),n,E,O=0,M=3,K=0,D,q,w,G,F,I={},N,
P=/^url\((.*?)\)$/.test(k),H=P,S,L,Q,x;v&&l.addClass("highcharts-"+v);H=!0;S=function(){return n.strokeWidth()%2/2};L=function(){var a=g.element.style,b={};E=(void 0===D||void 0===q||F)&&d(g.textStr)&&g.getBBox();l.width=(D||E.width||0)+2*M+K;l.height=(q||E.height||0)+2*M;N=M+C.fontMetrics(a&&a.fontSize,g).b;H&&(n||(l.box=n=C.symbols[k]||P?C.symbol(k):C.rect(),n.addClass(("button"===v?"":"highcharts-label-box")+(v?" highcharts-"+v+"-box":"")),n.add(l),a=S(),b.x=a,b.y=(e?-N:0)+a),b.width=Math.round(l.width),
b.height=Math.round(l.height),n.attr(c(b,I)),I={})};Q=function(){var a=K+M,b;b=e?0:N;d(D)&&E&&("center"===F||"right"===F)&&(a+={center:.5,right:1}[F]*(D-E.width));if(a!==g.x||b!==g.y)g.attr("x",a),void 0!==b&&g.attr("y",b);g.x=a;g.y=b};x=function(a,b){n?n.attr(a,b):I[a]=b};l.onAdd=function(){g.add(l);l.attr({text:b||0===b?b:"",x:r,y:f});n&&d(p)&&l.attr({anchorX:p,anchorY:h})};l.widthSetter=function(b){D=a.isNumber(b)?b:null};l.heightSetter=function(a){q=a};l["text-alignSetter"]=function(a){F=a};l.paddingSetter=
function(a){d(a)&&a!==M&&(M=l.padding=a,Q())};l.paddingLeftSetter=function(a){d(a)&&a!==K&&(K=a,Q())};l.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==O&&(O=a,E&&l.attr({x:w}))};l.textSetter=function(a){void 0!==a&&g.textSetter(a);L();Q()};l["stroke-widthSetter"]=function(a,b){a&&(H=!0);this["stroke-width"]=a;x(b,a)};l.rSetter=function(a,b){x(b,a)};l.anchorXSetter=function(a,b){p=a;x(b,Math.round(a)-S()-w)};l.anchorYSetter=function(a,b){h=a;x(b,a-G)};l.xSetter=function(a){l.x=a;O&&(a-=
O*((D||E.width)+2*M));w=Math.round(a);l.attr("translateX",w)};l.ySetter=function(a){G=l.y=Math.round(a);l.attr("translateY",G)};var R=l.css;return c(l,{css:function(a){if(a){var b={};a=A(a);t(l.textProps,function(c){void 0!==a[c]&&(b[c]=a[c],delete a[c])});g.css(b)}return R.call(l,a)},getBBox:function(){return{width:E.width+2*M,height:E.height+2*M,x:E.x-M,y:E.y-M}},destroy:function(){z(l.element,"mouseenter");z(l.element,"mouseleave");g&&(g=g.destroy());n&&(n=n.destroy());u.prototype.destroy.call(l);
l=C=L=Q=x=null}})}};a.Renderer=B})(J);(function(a){var u=a.attr,B=a.createElement,y=a.css,x=a.defined,g=a.each,e=a.extend,q=a.isFirefox,n=a.isMS,l=a.isWebKit,d=a.pInt,h=a.SVGRenderer,m=a.win,w=a.wrap;e(a.SVGElement.prototype,{htmlCss:function(a){var c=this.element;if(c=a&&"SPAN"===c.tagName&&a.width)delete a.width,this.textWidth=c,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);y(this.element,a);return this},htmlGetBBox:function(){var a=
this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,b=this.x||0,f=this.y||0,k=this.textAlign||"left",h={left:0,center:.5,right:1}[k],m=this.styles;y(c,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&g(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var e=this.rotation,n=d(this.textWidth),
D=m&&m.whiteSpace,p=[e,k,c.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&&(m=a.fontMetrics(c.style.fontSize).b,x(e)&&this.setSpanRotation(e,h,m),y(c,{width:"",whiteSpace:D||"nowrap"}),c.offsetWidth>n&&/[ \-]/.test(c.textContent||c.innerText)&&y(c,{width:n+"px",display:"block",whiteSpace:D||"normal"}),this.getSpanCorrection(c.offsetWidth,m,h,e,k));y(c,{left:b+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});l&&(m=c.offsetHeight);this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(a,
c,b){var f={},k=n?"-ms-transform":l?"-webkit-transform":q?"MozTransform":m.opera?"-o-transform":"";f[k]=f.transform="rotate("+a+"deg)";f[k+(q?"Origin":"-origin")]=f.transformOrigin=100*c+"% "+b+"px";y(this.element,f)},getSpanCorrection:function(a,c,b){this.xCorr=-a*b;this.yCorr=-c}});e(h.prototype,{html:function(a,c,b){var f=this.createElement("span"),k=f.element,d=f.renderer,h=d.isSVG,m=function(a,b){g(["opacity","visibility"],function(c){w(a,c+"Setter",function(a,c,f,k){a.call(this,c,f,k);b[f]=
c})})};f.textSetter=function(a){a!==k.innerHTML&&delete this.bBox;k.innerHTML=this.textStr=a;f.htmlUpdateTransform()};h&&m(f,f.element.style);f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(a,b){"align"===b&&(b="textAlign");f[b]=a;f.htmlUpdateTransform()};f.attr({text:a,x:Math.round(c),y:Math.round(b)}).css({position:"absolute"});k.style.whiteSpace="nowrap";f.css=f.htmlCss;h&&(f.add=function(a){var b,c=d.box.parentNode,h=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)h.push(a),a=a.parentGroup;
g(h.reverse(),function(a){var k,p=u(a.element,"class");p&&(p={className:p});b=a.div=a.div||B("div",p,{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);k=b.style;e(a,{on:function(){f.on.apply({element:h[0].div},arguments);return a},translateXSetter:function(b,c){k.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){k.top=b+"px";a[c]=b;a.doTransform=!0}});m(a,k)})}}else b=
c;b.appendChild(k);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})})(J);(function(a){var u=a.correctFloat,B=a.defined,y=a.destroyObjectProperties,x=a.isNumber,g=a.pick,e=a.deg2rad;a.Tick=function(a,e,l,d){this.axis=a;this.pos=e;this.type=l||"";this.isNew=!0;l||d||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,e=a.options,l=a.chart,d=a.categories,h=a.names,m=this.pos,w=e.labels,t=a.tickPositions,c=m===t[0],b=m===t[t.length-1],h=d?g(d[m],h[m],m):m,d=this.label,
t=t.info,f;a.isDatetimeAxis&&t&&(f=e.dateTimeLabelFormats[t.higherRanks[m]||t.unitName]);this.isFirst=c;this.isLast=b;e=a.labelFormatter.call({axis:a,chart:l,isFirst:c,isLast:b,dateTimeLabelFormat:f,value:a.isLog?u(a.lin2log(h)):h});B(d)?d&&d.attr({text:e}):(this.labelLength=(this.label=d=B(e)&&w.enabled?l.renderer.text(e,0,0,w.useHTML).add(a.labelGroup):null)&&d.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var n=
this.axis,l=a.x,d=n.chart.chartWidth,h=n.chart.spacing,m=g(n.labelLeft,Math.min(n.pos,h[3])),h=g(n.labelRight,Math.max(n.pos+n.len,d-h[1])),w=this.label,t=this.rotation,c={left:0,center:.5,right:1}[n.labelAlign],b=w.getBBox().width,f=n.getSlotWidth(),k=f,q=1,v,E={};if(t)0>t&&l-c*b<m?v=Math.round(l/Math.cos(t*e)-m):0<t&&l+c*b>h&&(v=Math.round((d-l)/Math.cos(t*e)));else if(d=l+(1-c)*b,l-c*b<m?k=a.x+k*(1-c)-m:d>h&&(k=h-a.x+k*c,q=-1),k=Math.min(f,k),k<f&&"center"===n.labelAlign&&(a.x+=q*(f-k-c*(f-Math.min(b,
k)))),b>k||n.autoRotation&&(w.styles||{}).width)v=k;v&&(E.width=v,(n.options.labels.style||{}).textOverflow||(E.textOverflow="ellipsis"),w.css(E))},getPosition:function(a,e,l,d){var h=this.axis,m=h.chart,g=d&&m.oldChartHeight||m.chartHeight;return{x:a?h.translate(e+l,null,null,d)+h.transB:h.left+h.offset+(h.opposite?(d&&m.oldChartWidth||m.chartWidth)-h.right-h.left:0),y:a?g-h.bottom+h.offset-(h.opposite?h.height:0):g-h.translate(e+l,null,null,d)-h.transB}},getLabelPosition:function(a,g,l,d,h,m,w,
t){var c=this.axis,b=c.transA,f=c.reversed,k=c.staggerLines,n=c.tickRotCorr||{x:0,y:0},v=h.y;B(v)||(v=0===c.side?l.rotation?-8:-l.getBBox().height:2===c.side?n.y+8:Math.cos(l.rotation*e)*(n.y-l.getBBox(!1,0).height/2));a=a+h.x+n.x-(m&&d?m*b*(f?-1:1):0);g=g+v-(m&&!d?m*b*(f?1:-1):0);k&&(l=w/(t||1)%k,c.opposite&&(l=k-l-1),g+=c.labelOffset/k*l);return{x:a,y:Math.round(g)}},getMarkPath:function(a,e,l,d,h,m){return m.crispLine(["M",a,e,"L",a+(h?0:-l),e+(h?l:0)],d)},renderGridLine:function(a,e,l){var d=
this.axis,h=this.gridLine,m={},g=this.pos,t=this.type,c=d.tickmarkOffset,b=d.chart.renderer;h||(t||(m.zIndex=1),a&&(m.opacity=0),this.gridLine=h=b.path().attr(m).addClass("highcharts-"+(t?t+"-":"")+"grid-line").add(d.gridGroup));if(!a&&h&&(a=d.getPlotLinePath(g+c,h.strokeWidth()*l,a,!0)))h[this.isNew?"attr":"animate"]({d:a,opacity:e})},renderMark:function(a,e,l){var d=this.axis,h=d.chart.renderer,m=this.type,g=d.tickSize(m?m+"Tick":"tick"),t=this.mark,c=!t,b=a.x;a=a.y;g&&(d.opposite&&(g[0]=-g[0]),
c&&(this.mark=t=h.path().addClass("highcharts-"+(m?m+"-":"")+"tick").add(d.axisGroup)),t[c?"attr":"animate"]({d:this.getMarkPath(b,a,g[0],t.strokeWidth()*l,d.horiz,h),opacity:e}))},renderLabel:function(a,e,l,d){var h=this.axis,m=h.horiz,n=h.options,t=this.label,c=n.labels,b=c.step,f=h.tickmarkOffset,k=!0,I=a.x;a=a.y;t&&x(I)&&(t.xy=a=this.getLabelPosition(I,a,t,m,c,f,d,b),this.isFirst&&!this.isLast&&!g(n.showFirstLabel,1)||this.isLast&&!this.isFirst&&!g(n.showLastLabel,1)?k=!1:!m||h.isRadial||c.step||
c.rotation||e||0===l||this.handleOverflow(a),b&&d%b&&(k=!1),k&&x(a.y)?(a.opacity=l,t[this.isNew?"attr":"animate"](a)):t.attr("y",-9999),this.isNew=!1)},render:function(a,e,l){var d=this.axis,h=d.horiz,m=this.getPosition(h,this.pos,d.tickmarkOffset,e),n=m.x,t=m.y,d=h&&n===d.pos+d.len||!h&&t===d.pos?-1:1;l=g(l,1);this.isActive=!0;this.renderGridLine(e,l,d);this.renderMark(m,l,d);this.renderLabel(m,e,l,a)},destroy:function(){y(this,this.axis)}}})(J);(function(a){var u=a.arrayMax,B=a.arrayMin,y=a.defined,
x=a.destroyObjectProperties,g=a.each,e=a.erase,q=a.merge,n=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,d=a.axis,h=d.horiz,m=a.options,e=m.label,g=a.label,c=m.to,b=m.from,f=m.value,k=y(b)&&y(c),I=y(f),v=a.svgElem,E=!v,G=[],D,p=n(m.zIndex,0),C=m.events,G={"class":"highcharts-plot-"+(k?"band ":"line ")+(m.className||"")},A={},N=d.chart.renderer,F=k?"bands":"lines",r;r=d.log2lin;d.isLog&&(b=r(b),c=r(c),f=
r(f));A.zIndex=p;F+="-"+p;(r=d.plotLinesAndBandsGroups[F])||(d.plotLinesAndBandsGroups[F]=r=N.g("plot-"+F).attr(A).add());E&&(a.svgElem=v=N.path().attr(G).add(r));if(I)G=d.getPlotLinePath(f,v.strokeWidth());else if(k)G=d.getPlotBandPath(b,c,m);else return;if(E&&G&&G.length){if(v.attr({d:G}),C)for(D in m=function(b){v.on(b,function(c){C[b].apply(a,[c])})},C)m(D)}else v&&(G?(v.show(),v.animate({d:G})):(v.hide(),g&&(a.label=g=g.destroy())));e&&y(e.text)&&G&&G.length&&0<d.width&&0<d.height&&!G.flat?(e=
q({align:h&&k&&"center",x:h?!k&&4:10,verticalAlign:!h&&k&&"middle",y:h?k?16:10:k?6:-4,rotation:h&&!k&&90},e),this.renderLabel(e,G,k,p)):g&&g.hide();return a},renderLabel:function(a,d,h,e){var m=this.label,g=this.axis.chart.renderer;m||(m={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(h?"band":"line")+"-label "+(a.className||"")},m.zIndex=e,this.label=m=g.text(a.text,0,0,a.useHTML).attr(m).add());e=[d[1],d[4],h?d[6]:d[1]];d=[d[2],d[5],h?d[7]:d[2]];h=B(e);g=B(d);m.align(a,
!1,{x:h,y:g,width:u(e)-h,height:u(d)-g});m.show()},destroy:function(){e(this.axis.plotLinesAndBands,this);delete this.axis;x(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,d){var h=this.getPlotLinePath(d,null,null,!0),e=this.getPlotLinePath(a,null,null,!0),g=this.horiz,l=1;a=a<this.min&&d<this.min||a>this.max&&d>this.max;e&&h?(a&&(e.flat=e.toString()===h.toString(),l=0),e.push(g&&h[4]===e[4]?h[4]+l:h[4],g||h[5]!==e[5]?h[5]:h[5]+l,g&&h[1]===e[1]?h[1]+l:h[1],g||h[2]!==e[2]?h[2]:h[2]+
l)):e=null;return e},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(e,d){var h=(new a.PlotLineOrBand(this,e)).render(),m=this.userOptions;h&&(d&&(m[d]=m[d]||[],m[d].push(e)),this.plotLinesAndBands.push(h));return h},removePlotBandOrLine:function(a){for(var d=this.plotLinesAndBands,h=this.options,m=this.userOptions,l=d.length;l--;)d[l].id===a&&d[l].destroy();g([h.plotLines||[],m.plotLines||
[],h.plotBands||[],m.plotBands||[]],function(d){for(l=d.length;l--;)d[l].id===a&&e(d,d[l])})}}})(J);(function(a){var u=a.addEvent,B=a.animObject,y=a.arrayMax,x=a.arrayMin,g=a.AxisPlotLineOrBandExtension,e=a.correctFloat,q=a.defaultOptions,n=a.defined,l=a.deg2rad,d=a.destroyObjectProperties,h=a.each,m=a.extend,w=a.fireEvent,t=a.format,c=a.getMagnitude,b=a.grep,f=a.inArray,k=a.isArray,I=a.isNumber,v=a.isString,E=a.merge,G=a.normalizeTickInterval,D=a.pick,p=a.PlotLineOrBand,C=a.removeEvent,A=a.splat,
N=a.syncTimeout,F=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},
type:"linear"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],
x:0},title:{rotation:0}},init:function(a,b){var c=b.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.isXAxis=c;this.coll=this.coll||(c?"xAxis":"yAxis");this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var r=this.options,k=r.type;this.labelFormatter=r.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=r.reversed;this.visible=!1!==r.visible;this.zoomEnabled=!1!==r.zoomEnabled;this.hasNames=
"category"===k||!0===r.categories;this.categories=r.categories||this.hasNames;this.names=this.names||[];this.plotLinesAndBandsGroups={};this.isLog="logarithmic"===k;this.isDatetimeAxis="datetime"===k;this.positiveValuesOnly=this.isLog&&!this.allowNegativeLog;this.isLinked=n(r.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=r.minRange||r.maxZoom;this.range=r.range;this.offset=r.offset||0;this.stacks=
{};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=D(r.crosshair,A(a.options.tooltip.crosshairs)[c?0:1],!1);var z;b=this.options.events;-1===f(this,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&c&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(z in b)u(this,z,b[z]);this.lin2log=r.linearToLogConverter||this.lin2log;this.isLog&&
(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=E(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],E(q[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,c=this.value,f=b.categories,k=this.dateTimeLabelFormat,p=q.lang,d=p.numericSymbols,p=p.numericSymbolMagnitude||1E3,h=d&&d.length,e,m=b.options.labels.format,
b=b.isLog?Math.abs(c):b.tickInterval;if(m)e=t(m,this);else if(f)e=c;else if(k)e=a.dateFormat(k,c);else if(h&&1E3<=b)for(;h--&&void 0===e;)f=Math.pow(p,h+1),b>=f&&0===10*c%f&&null!==d[h]&&0!==c&&(e=a.numberFormat(c/f,-1)+d[h]);void 0===e&&(e=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return e},getSeriesExtremes:function(){var a=this,c=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();h(a.series,function(r){if(r.visible||
!c.options.chart.ignoreHiddenSeries){var f=r.options,k=f.threshold,z;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&&(k=null);if(a.isXAxis)f=r.xData,f.length&&(r=x(f),I(r)||r instanceof Date||(f=b(f,function(a){return I(a)}),r=x(f)),a.dataMin=Math.min(D(a.dataMin,f[0]),r),a.dataMax=Math.max(D(a.dataMax,f[0]),y(f)));else if(r.getExtremes(),z=r.dataMax,r=r.dataMin,n(r)&&n(z)&&(a.dataMin=Math.min(D(a.dataMin,r),r),a.dataMax=Math.max(D(a.dataMax,z),z)),n(k)&&(a.threshold=k),!f.softThreshold||a.positiveValuesOnly)a.softThreshold=
!1}})},translate:function(a,b,c,f,k,p){var r=this.linkedParent||this,z=1,d=0,h=f?r.oldTransA:r.transA;f=f?r.oldMin:r.min;var e=r.minPixelPadding;k=(r.isOrdinal||r.isBroken||r.isLog&&k)&&r.lin2val;h||(h=r.transA);c&&(z*=-1,d=r.len);r.reversed&&(z*=-1,d-=z*(r.sector||r.len));b?(a=(a*z+d-e)/h+f,k&&(a=r.lin2val(a))):(k&&(a=r.val2lin(a)),a=z*(a-f)*h+d+z*e+(I(p)?h*p:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-
(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,f,k){var r=this.chart,z=this.left,p=this.top,d,h,e=c&&r.oldChartHeight||r.chartHeight,m=c&&r.oldChartWidth||r.chartWidth,v;d=this.transB;var g=function(a,b,c){if(a<b||a>c)f?a=Math.min(Math.max(b,a),c):v=!0;return a};k=D(k,this.translate(a,null,null,c));a=c=Math.round(k+d);d=h=Math.round(e-k-d);I(k)?this.horiz?(d=p,h=e-this.bottom,a=c=g(a,z,z+this.width)):(a=z,c=m-this.right,d=h=g(d,p,p+this.height)):v=!0;return v&&!f?null:r.renderer.crispLine(["M",
a,d,"L",c,h],b||1)},getLinearTickPositions:function(a,b,c){var r,f=e(Math.floor(b/a)*a);c=e(Math.ceil(c/a)*a);var k=[];if(this.single)return[b];for(b=f;b<=c;){k.push(b);b=e(b+a);if(b===r)break;r=b}return k},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,k=[],p=a.pointRangePadding||0,d=a.min-p,p=a.max+p,e=p-d;if(e&&e/f<a.len/3)if(a.isLog)h(this.paddedTicks,function(b,c,r){c&&k.push.apply(k,a.getLogTickPositions(f,r[c-1],r[c],!0))});else if(a.isDatetimeAxis&&
"auto"===b.minorTickInterval)k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),d,p,b.startOfWeek));else for(b=d+(c[0]-d)%f;b<=p&&b!==k[0];b+=f)k.push(b);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,f,k=this.dataMax-this.dataMin>=this.minRange,p,d,e,m,v,g;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(n(a.min)||n(a.max)?this.minRange=null:(h(this.series,function(a){m=a.xData;for(d=v=a.xIncrement?1:m.length-1;0<d;d--)if(e=m[d]-
m[d-1],void 0===p||e<p)p=e}),this.minRange=Math.min(5*p,this.dataMax-this.dataMin)));c-b<this.minRange&&(g=this.minRange,f=(g-c+b)/2,f=[b-f,D(a.min,b-f)],k&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=y(f),c=[b+g,D(a.max,b+g)],k&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=x(c),c-b<g&&(f[0]=c-g,f[1]=D(a.min,c-g),b=y(f)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:h(this.series,function(b){var c=b.closestPointRange,f=b.visible||!b.chart.options.chart.ignoreHiddenSeries;
!b.noSharedTooltip&&n(c)&&f&&(a=n(a)?Math.min(a,c):c)});return a},nameToX:function(a){var b=k(this.categories),c=b?this.categories:this.names,r=a.options.x,p;a.series.requireSorting=!1;n(r)||(r=!1===this.options.uniqueNames?a.series.autoIncrement():f(a.name,c));-1===r?b||(p=c.length):p=r;void 0!==p&&(this.names[p]=a.name);return p},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=0,this.minRange=void 0,h(this.series||[],function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)b.processData(),
b.generatePoints();h(b.points,function(c,f){var r;c.options&&(r=a.nameToX(c),void 0!==r&&r!==c.x&&(c.x=r,b.xData[f]=r))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,f=b.axisPointRange||0,r,k=0,p=0,d=b.linkedParent,e=!!b.categories,m=b.transA,g=b.isXAxis;if(g||e||f)r=b.getClosest(),d?(k=d.minPointOffset,p=d.pointRangePadding):h(b.series,function(a){var c=e?1:g?D(a.options.pointRange,r,0):b.axisPointRange||0;a=a.options.pointPlacement;f=Math.max(f,c);b.single||(k=Math.max(k,v(a)?0:
c/2),p=Math.max(p,"on"===a?0:c))}),d=b.ordinalSlope&&r?b.ordinalSlope/r:1,b.minPointOffset=k*=d,b.pointRangePadding=p*=d,b.pointRange=Math.min(f,c),g&&(b.closestPointRange=r);a&&(b.oldTransA=m);b.translationSlope=b.transA=m=b.options.staticScale||b.len/(c+p||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=m*k},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var f=this,r=f.chart,k=f.options,p=f.isLog,d=f.log2lin,m=f.isDatetimeAxis,v=f.isXAxis,g=f.isLinked,l=k.maxPadding,
A=k.minPadding,C=k.tickInterval,E=k.tickPixelInterval,t=f.categories,F=f.threshold,q=f.softThreshold,N,x,u,y;m||t||g||this.getTickAmount();u=D(f.userMin,k.min);y=D(f.userMax,k.max);g?(f.linkedParent=r[f.coll][k.linkedTo],r=f.linkedParent.getExtremes(),f.min=D(r.min,r.dataMin),f.max=D(r.max,r.dataMax),k.type!==f.linkedParent.options.type&&a.error(11,1)):(!q&&n(F)&&(f.dataMin>=F?(N=F,A=0):f.dataMax<=F&&(x=F,l=0)),f.min=D(u,N,f.dataMin),f.max=D(y,x,f.dataMax));p&&(f.positiveValuesOnly&&!b&&0>=Math.min(f.min,
D(f.dataMin,f.min))&&a.error(10,1),f.min=e(d(f.min),15),f.max=e(d(f.max),15));f.range&&n(f.max)&&(f.userMin=f.min=u=Math.max(f.min,f.minFromRange()),f.userMax=y=f.max,f.range=null);w(f,"foundExtremes");f.beforePadding&&f.beforePadding();f.adjustForMinRange();!(t||f.axisPointRange||f.usePercentage||g)&&n(f.min)&&n(f.max)&&(d=f.max-f.min)&&(!n(u)&&A&&(f.min-=d*A),!n(y)&&l&&(f.max+=d*l));I(k.softMin)&&(f.min=Math.min(f.min,k.softMin));I(k.softMax)&&(f.max=Math.max(f.max,k.softMax));I(k.floor)&&(f.min=
Math.max(f.min,k.floor));I(k.ceiling)&&(f.max=Math.min(f.max,k.ceiling));q&&n(f.dataMin)&&(F=F||0,!n(u)&&f.min<F&&f.dataMin>=F?f.min=F:!n(y)&&f.max>F&&f.dataMax<=F&&(f.max=F));f.tickInterval=f.min===f.max||void 0===f.min||void 0===f.max?1:g&&!C&&E===f.linkedParent.options.tickPixelInterval?C=f.linkedParent.tickInterval:D(C,this.tickAmount?(f.max-f.min)/Math.max(this.tickAmount-1,1):void 0,t?1:(f.max-f.min)*E/Math.max(f.len,E));v&&!b&&h(f.series,function(a){a.processData(f.min!==f.oldMin||f.max!==
f.oldMax)});f.setAxisTranslation(!0);f.beforeSetTickPositions&&f.beforeSetTickPositions();f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval));f.pointRange&&!C&&(f.tickInterval=Math.max(f.pointRange,f.tickInterval));b=D(k.minTickInterval,f.isDatetimeAxis&&f.closestPointRange);!C&&f.tickInterval<b&&(f.tickInterval=b);m||p||C||(f.tickInterval=G(f.tickInterval,null,c(f.tickInterval),D(k.allowDecimals,!(.5<f.tickInterval&&5>f.tickInterval&&1E3<f.max&&9999>f.max)),!!this.tickAmount));
this.tickAmount||(f.tickInterval=f.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,f=a.tickPositioner,k=a.startOnTick,p=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&n(this.min)&&!this.tickAmount&&!1!==a.allowDecimals;this.tickPositions=b=
c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,f&&(f=f.apply(this,[this.min,this.max])))&&(this.tickPositions=b=f);this.paddedTicks=b.slice(0);this.trimTicks(b,
k,p);this.isLinked||(this.single&&(this.min-=.5,this.max+=.5),c||f||this.adjustTickAmount())},trimTicks:function(a,b,c){var f=a[0],k=a[a.length-1],r=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==f)this.min=f;else for(;this.min-r>a[0];)a.shift();if(c)this.max=k;else for(;this.max+r<a[a.length-1];)a.pop();0===a.length&&n(f)&&a.push((k+f)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||this.isLog||h(this.chart[this.coll],
function(c){var f=c.options,f=[c.horiz?f.left:f.top,f.width,f.height,f.pane].join();c.series.length&&(a[f]?b=!0:a[f]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!n(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,
f=this.finalTickAmt,k=b&&b.length;if(k<c){for(;b.length<c;)b.push(e(b[b.length-1]+a));this.transA*=(k-1)/(c-1);this.max=b[b.length-1]}else k>c&&(this.tickInterval*=2,this.setTickPositions());if(n(f)){for(a=c=b.length;a--;)(3===f&&1===a%2||2>=f&&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()},setExtremes:function(a,b,c,f,k){var r=this,p=r.chart;c=D(c,!0);h(r.series,
function(a){delete a.kdTree});k=m(k,{min:a,max:b});w(r,"setExtremes",k,function(){r.userMin=a;r.userMax=b;r.eventArgs=k;c&&p.redraw(f)})},zoom:function(a,b){var c=this.dataMin,f=this.dataMax,k=this.options,r=Math.min(c,D(k.min,c)),k=Math.max(f,D(k.max,f));if(a!==this.min||b!==this.max)this.allowZoomOutside||(n(c)&&(a<r&&(a=r),a>k&&(a=k)),n(f)&&(b<r&&(b=r),b>k&&(b=k))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,
b=this.options,c=b.offsets||[0,0,0,0],f=this.horiz,k=D(b.width,a.plotWidth-c[3]+c[1]),p=D(b.height,a.plotHeight-c[0]+c[2]),d=D(b.top,a.plotTop+c[0]),b=D(b.left,a.plotLeft+c[3]),c=/%$/;c.test(p)&&(p=Math.round(parseFloat(p)/100*a.plotHeight));c.test(d)&&(d=Math.round(parseFloat(d)/100*a.plotHeight+a.plotTop));this.left=b;this.top=d;this.width=k;this.height=p;this.bottom=a.chartHeight-p-d;this.right=a.chartWidth-k-b;this.len=Math.max(f?k:p,0);this.pos=f?b:d},getExtremes:function(){var a=this.isLog,
b=this.lin2log;return{min:a?e(b(this.min)):this.min,max:a?e(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,f=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=f:f>a?a=f:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(D(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"],f=D(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(f&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,f]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,f=c,k=this.len/(((this.categories?1:0)+this.max-this.min)/c),p,d=a.rotation,e=this.labelMetrics(),m,g=Number.MAX_VALUE,v,A=function(a){a/=k||1;a=1<
a?Math.ceil(a):1;return a*c};b?(v=!a.staggerLines&&!a.step&&(n(d)?[d]:k<D(a.autoRotationLimit,80)&&a.autoRotation))&&h(v,function(a){var b;if(a===d||a&&-90<=a&&90>=a)m=A(Math.abs(e.h/Math.sin(l*a))),b=m+Math.abs(a/360),b<g&&(g=b,p=a,f=m)}):a.step||(f=A(e.h));this.autoRotation=v;this.labelRotation=D(p,d);return f},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),k=a.margin[3];return b&&2>(c.step||0)&&!c.rotation&&
(this.staggerLines||1)*this.len/f||!b&&(k&&k-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,f=this.ticks,k=this.options.labels,p=this.horiz,d=this.getSlotWidth(),e=Math.max(1,Math.round(d-2*(k.padding||5))),m={},g=this.labelMetrics(),l=k.style&&k.style.textOverflow,A,C=0,n,t;v(k.rotation)||(m.rotation=k.rotation||0);h(c,function(a){(a=f[a])&&a.labelLength>C&&(C=a.labelLength)});this.maxLabelLength=C;if(this.autoRotation)C>e&&C>g.h?m.rotation=
this.labelRotation:this.labelRotation=0;else if(d&&(A={width:e+"px"},!l))for(A.textOverflow="clip",n=c.length;!p&&n--;)if(t=c[n],e=f[t].label)e.styles&&"ellipsis"===e.styles.textOverflow?e.css({textOverflow:"clip"}):f[t].labelLength>d&&e.css({width:d+"px"}),e.getBBox().height>this.len/c.length-(g.h-g.f)&&(e.specCss={textOverflow:"ellipsis"});m.rotation&&(A={width:(C>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},l||(A.textOverflow="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))m.align=
this.labelAlign;h(c,function(a){var b=(a=f[a])&&a.label;b&&(b.attr(m),A&&b.css(E(A,b.specCss)),delete b.specCss,a.rotation=m.rotation)});this.tickRotCorr=b.rotCorr(g.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||n(this.min)&&n(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,f=this.opposite,k=this.options.title,p;this.axisTitle||((p=k.textAlign)||(p=(c?{low:"left",middle:"center",high:"right"}:{low:f?"right":"left",
middle:"center",high:f?"left":"right"})[k.align]),this.axisTitle=b.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:p}).addClass("highcharts-axis-title").add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new F(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,f=a.options,k=a.tickPositions,p=a.ticks,d=a.horiz,e=a.side,m=b.inverted?[1,0,3,2][e]:e,g,v,A=0,l,C=0,E=f.title,
t=f.labels,F=0,G=b.axisOffset,b=b.clipOffset,w=[-1,1,1,-1][e],q,I=f.className,N=a.axisParent,x=this.tickSize("tick");g=a.hasData();a.showAxis=v=g||D(f.showEmpty,!0);a.staggerLines=a.horiz&&t.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(I||"")).add(N),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(I||"")).add(N),a.labelGroup=c.g("axis-labels").attr({zIndex:t.zIndex||
7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(I||"")).add(N));if(g||a.isLinked)h(k,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),!1===t.reserveSpace||0!==e&&2!==e&&{1:"left",3:"right"}[e]!==a.labelAlign&&"center"!==a.labelAlign||h(k,function(a){F=Math.max(p[a].getLabelSize(),F)}),a.staggerLines&&(F*=a.staggerLines,a.labelOffset=F*(a.opposite?-1:1));else for(q in p)p[q].destroy(),delete p[q];E&&E.text&&!1!==E.enabled&&(a.addTitle(v),v&&(A=a.axisTitle.getBBox()[d?"height":"width"],
l=E.offset,C=n(l)?0:D(E.margin,d?5:10)));a.renderLine();a.offset=w*D(f.offset,G[e]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===e?-a.labelMetrics().h:2===e?a.tickRotCorr.y:0;C=Math.abs(F)+C;F&&(C=C-c+w*(d?D(t.y,a.tickRotCorr.y+8*w):t.x));a.axisTitleMargin=D(l,C);G[e]=Math.max(G[e],a.axisTitleMargin+A+w*a.offset,C,g&&k.length&&x?x[0]+w*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[m]=Math.max(b[m],f)},getLinePath:function(a){var b=this.chart,c=this.opposite,f=this.offset,k=this.horiz,
p=this.left+(c?this.width:0)+f,f=b.chartHeight-this.bottom-(c?this.height:0)+f;c&&(a*=-1);return b.renderer.crispLine(["M",k?this.left:p,k?f:this.top,"L",k?b.chartWidth-this.right:p,k?f:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,f=this.len,k=this.options.title,p=a?b:c,d=this.opposite,h=this.offset,e=k.x||0,m=k.y||
0,g=this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,this.axisTitle).f,f={low:p+(a?0:f),middle:p+f/2,high:p+(a?f:0)}[k.align],b=(a?c+this.height:b)+(a?1:-1)*(d?-1:1)*this.axisTitleMargin+(2===this.side?g:0);return{x:a?f+e:b+(d?this.width:0)+h+e,y:a?b+m-(d?this.height:0)+h:f+m}},renderMinorTick:function(a){var b=this.chart.hasRendered&&I(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new F(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,f=this.ticks,k=this.chart.hasRendered&&I(this.oldMin);if(!c||a>=this.min&&a<=this.max)f[a]||(f[a]=new F(this,a)),k&&f[a].isNew&&f[a].render(b,!0,.1),f[a].render(b)},render:function(){var a=this,b=a.chart,c=a.options,f=a.isLog,k=a.lin2log,d=a.isLinked,e=a.tickPositions,m=a.axisTitle,g=a.ticks,v=a.minorTicks,C=a.alternateBands,A=c.stackLabels,l=c.alternateGridColor,E=a.tickmarkOffset,n=a.axisLine,t=a.showAxis,D=B(b.renderer.globalAnimation),G,w;a.labelEdge.length=0;a.overlap=!1;h([g,v,
C],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||d)a.minorTickInterval&&!a.categories&&h(a.getMinorTickPositions(),function(b){a.renderMinorTick(b)}),e.length&&(h(e,function(b,c){a.renderTick(b,c)}),E&&(0===a.min||a.single)&&(g[-1]||(g[-1]=new F(a,-1,null,!0)),g[-1].render(-1))),l&&h(e,function(c,d){w=void 0!==e[d+1]?e[d+1]+E:a.max-E;0===d%2&&c<a.max&&w<=a.max+(b.polar?-E:E)&&(C[c]||(C[c]=new p(a)),G=c+E,C[c].options={from:f?k(G):G,to:f?k(w):w,color:l},C[c].render(),C[c].isActive=
!0)}),a._addedPlotLB||(h((c.plotLines||[]).concat(c.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);h([g,v,C],function(a){var c,f,k=[],p=D.duration;for(c in a)a[c].isActive||(a[c].render(c,!1,0),a[c].isActive=!1,k.push(c));N(function(){for(f=k.length;f--;)a[k[f]]&&!a[k[f]].isActive&&(a[k[f]].destroy(),delete a[k[f]])},a!==C&&b.hasRendered&&p?p:0)});n&&(n[n.isPlaced?"animate":"attr"]({d:this.getLinePath(n.strokeWidth())}),n.isPlaced=!0,n[t?"show":"hide"](!0));m&&t&&(m[m.isNew?
"attr":"animate"](a.getTitlePosition()),m.isNew=!1);A&&A.enabled&&a.renderStackTotals();a.isDirty=!1},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,c=b.stacks,k,p=b.plotLinesAndBands,e,m;a||C(b);for(k in c)d(c[k]),c[k]=null;h([b.ticks,b.minorTicks,b.alternateBands],function(a){d(a)});if(p)for(a=p.length;a--;)p[a].destroy();
h("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(e in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[e]=b.plotLinesAndBandsGroups[e].destroy();for(m in b)b.hasOwnProperty(m)&&-1===f(m,b.keepProps)&&delete b[m]},drawCrosshair:function(a,b){var c,f=this.crosshair,k=D(f.snap,!0),p,d=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&!1!==(n(b)||!k)?(k?n(b)&&(p=this.isXAxis?b.plotX:this.len-b.plotY):p=a&&
(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),n(p)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:D(b.stackY,b.y)),null,null,null,p)||null),n(c)?(b=this.categories&&!this.isRadial,d||(this.cross=d=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(b?"category ":"thin ")+f.className).attr({zIndex:D(f.zIndex,2)}).add()),d.show().attr({d:c}),b&&!f.width&&d.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&
this.cross.hide()}};m(a.Axis.prototype,g)})(J);(function(a){var u=a.Axis,B=a.getMagnitude,y=a.map,x=a.normalizeTickInterval,g=a.pick;u.prototype.getLogTickPositions=function(a,q,n,l){var d=this.options,h=this.len,e=this.lin2log,w=this.log2lin,t=[];l||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),t=this.getLinearTickPositions(a,q,n);else if(.08<=a)for(var h=Math.floor(q),c,b,f,k,I,d=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];h<n+1&&!I;h++)for(b=d.length,c=0;c<b&&!I;c++)f=w(e(h)*d[c]),
f>q&&(!l||k<=n)&&void 0!==k&&t.push(k),k>n&&(I=!0),k=f;else q=e(q),n=e(n),a=d[l?"minorTickInterval":"tickInterval"],a=g("auto"===a?null:a,this._minorAutoInterval,d.tickPixelInterval/(l?5:1)*(n-q)/((l?h/this.tickPositions.length:h)||1)),a=x(a,null,B(a)),t=y(this.getLinearTickPositions(a,q,n),w),l||(this._minorAutoInterval=a/5);l||(this.tickInterval=a);return t};u.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};u.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a){var u=
a.dateFormat,B=a.each,y=a.extend,x=a.format,g=a.isNumber,e=a.map,q=a.merge,n=a.pick,l=a.splat,d=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},cleanSplit:function(a){B(this.chart.series,function(d){var h=d&&d.tt;h&&(!h.isActive||a?d.tt=h.destroy():h.isActive=!1)})},applyFilter:function(){var a=
this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},
getLabel:function(){var a=this.chart.renderer,d=this.options;this.label||(this.label=this.split?a.g("tooltip"):a.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,q(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&
this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,d,h,c){var b=this,f=b.now,k=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(a-f.x)||1<Math.abs(d-f.y)),e=b.followPointer||1<b.len;y(f,{x:k?(2*f.x+a)/3:a,y:k?(f.y+d)/2:d,anchorX:e?void 0:k?(2*f.anchorX+h)/3:h,anchorY:e?void 0:k?(f.anchorY+c)/2:c});b.getLabel().attr(f);k&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&
b.move(a,d,h,c)},32))},hide:function(a){var h=this;clearTimeout(this.hideTimer);a=n(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=d(function(){h.getLabel()[a?"fadeOut":"hide"]();h.isHidden=!0},a))},getAnchor:function(a,d){var h,c=this.chart,b=c.inverted,f=c.plotTop,k=c.plotLeft,m=0,g=0,E,n;a=l(a);h=a[0].tooltipPos;this.followPointer&&d&&(void 0===d.chartX&&(d=c.pointer.normalize(d)),h=[d.chartX-c.plotLeft,d.chartY-f]);h||(B(a,function(a){E=a.series.yAxis;n=a.series.xAxis;m+=a.plotX+
(!b&&n?n.left-k:0);g+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&E?E.top-f:0)}),m/=a.length,g/=a.length,h=[b?c.plotWidth-g:m,this.shared&&!b&&1<a.length&&d?d.chartY-f:b?c.plotHeight-m:g]);return e(h,Math.round)},getPosition:function(a,d,h){var c=this.chart,b=this.distance,f={},k=h.h||0,e,m=["y",c.chartHeight,d,h.plotY+c.plotTop,c.plotTop,c.plotTop+c.plotHeight],g=["x",c.chartWidth,a,h.plotX+c.plotLeft,c.plotLeft,c.plotLeft+c.plotWidth],l=!this.followPointer&&n(h.ttBelow,!c.inverted===!!h.negative),
t=function(a,c,p,d,h,e){var r=p<d-b,m=d+b+p<c,g=d-b-p;d+=b;if(l&&m)f[a]=d;else if(!l&&r)f[a]=g;else if(r)f[a]=Math.min(e-p,0>g-k?g:g-k);else if(m)f[a]=Math.max(h,d+k+p>c?d:d+k);else return!1},p=function(a,c,k,p){var d;p<b||p>c-b?d=!1:f[a]=p<k/2?1:p>c-k/2?c-k-2:p-k/2;return d},C=function(a){var b=m;m=g;g=b;e=a},A=function(){!1!==t.apply(0,m)?!1!==p.apply(0,g)||e||(C(!0),A()):e?f.x=f.y=0:(C(!0),A())};(c.inverted||1<this.len)&&C();A();return f},defaultFormatter:function(a){var d=this.points||l(this),
h;h=[a.tooltipFooterHeaderFormatter(d[0])];h=h.concat(a.bodyFormatter(d));h.push(a.tooltipFooterHeaderFormatter(d[0],!0));return h},refresh:function(a,d){var h,c,b=a,f,k={},e=[];h=this.options.formatter||this.defaultFormatter;var k=this.shared,m;clearTimeout(this.hideTimer);this.followPointer=l(b)[0].series.tooltipOptions.followPointer;f=this.getAnchor(b,d);d=f[0];c=f[1];!k||b.series&&b.series.noSharedTooltip?k=b.getLabelConfig():(B(b,function(a){a.setState("hover");e.push(a.getLabelConfig())}),k=
{x:b[0].category,y:b[0].y},k.points=e,b=b[0]);this.len=e.length;k=h.call(k,this);m=b.series;this.distance=n(m.tooltipOptions.distance,16);!1===k?this.hide():(h=this.getLabel(),this.isHidden&&h.attr({opacity:1}).show(),this.split?this.renderSplit(k,a):(h.attr({text:k&&k.join?k.join(""):k}),h.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+n(b.colorIndex,m.colorIndex)),this.updatePosition({plotX:d,plotY:c,negative:b.negative,ttBelow:b.ttBelow,h:f[2]||0})),this.isHidden=!1)},renderSplit:function(d,
h){var e=this,c=[],b=this.chart,f=b.renderer,k=!0,m=this.options,g,l=this.getLabel();B(d.slice(0,h.length+1),function(a,d){d=h[d-1]||{isHeader:!0,plotX:h[0].plotX};var p=d.series||e,v=p.tt,A="highcharts-color-"+n(d.colorIndex,(d.series||{}).colorIndex,"none");v||(p.tt=v=f.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+A).attr({padding:m.padding,r:m.borderRadius}).add(l));v.isActive=!0;v.attr({text:a});a=v.getBBox();A=a.width+v.strokeWidth();d.isHeader?(g=a.height,A=Math.max(0,
Math.min(d.plotX+b.plotLeft-A/2,b.chartWidth-A))):A=d.plotX+b.plotLeft-n(m.distance,16)-A;0>A&&(k=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=b.plotTop;c.push({target:d.isHeader?b.plotHeight+g:a,rank:d.isHeader?1:0,size:p.tt.getBBox().height+1,point:d,x:A,tt:v})});this.cleanSplit();a.distribute(c,b.plotHeight+g);B(c,function(a){var c=a.point,f=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:k||c.isHeader?a.x:c.plotX+b.plotLeft+n(m.distance,16),y:a.pos+b.plotTop,
anchorX:c.isHeader?c.plotX+b.plotLeft:c.plotX+f.xAxis.pos,anchorY:c.isHeader?a.pos+b.plotTop-15:c.plotY+f.yAxis.pos})})},updatePosition:function(a){var d=this.chart,h=this.getLabel(),h=(this.options.positioner||this.getPosition).call(this,h.width,h.height,a);this.move(Math.round(h.x),Math.round(h.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,d,e,c){var b=u("%m-%d %H:%M:%S.%L",d),f,k,g={millisecond:15,second:12,minute:9,hour:6,day:3},m="millisecond";for(k in h){if(a===h.week&&
+u("%w",d)===e&&"00:00:00.000"===b.substr(6)){k="week";break}if(h[k]>a){k=m;break}if(g[k]&&b.substr(g[k])!=="01-01 00:00:00.000".substr(g[k]))break;"week"!==k&&(m=k)}k&&(f=c[k]);return f},getXDateFormat:function(a,d,h){d=d.dateTimeLabelFormats;var c=h&&h.closestPointRange;return(c?this.getDateFormat(c,a.x,h.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,d){var h=d?"footer":"header";d=a.series;var c=d.tooltipOptions,b=c.xDateFormat,f=d.xAxis,k=f&&"datetime"===f.options.type&&
g(a.key),h=c[h+"Format"];k&&!b&&(b=this.getXDateFormat(a,c,f));k&&b&&(h=h.replace("{point.key}","{point.key:"+b+"}"));return x(h,{point:a,series:d})},bodyFormatter:function(a){return e(a,function(a){var d=a.series.tooltipOptions;return(d.pointFormatter||a.point.tooltipFormatter).call(a.point,d.pointFormat)})}}})(J);(function(a){var u=a.addEvent,B=a.attr,y=a.charts,x=a.css,g=a.defined,e=a.doc,q=a.each,n=a.extend,l=a.fireEvent,d=a.offset,h=a.pick,m=a.removeEvent,w=a.splat,t=a.Tooltip,c=a.win;a.Pointer=
function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};t&&c.tooltip.enabled&&(a.tooltip=new t(a,c.tooltip),this.followTouchMove=h(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,d=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(d=h(c.pinchType,d));this.zoomX=a=/x/.test(d);this.zoomY=d=/y/.test(d);
this.zoomHor=a&&!b||d&&b;this.zoomVert=d&&!b||a&&b;this.hasZoom=a||d},normalize:function(a,f){var b,h;a=a||c.event;a.target||(a.target=a.srcElement);h=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;f||(this.chartPosition=f=d(this.chart.container));void 0===h.pageX?(b=Math.max(a.x,a.clientX-f.left),f=a.y):(b=h.pageX-f.left,f=h.pageY-f.top);return n(a,{chartX:Math.round(b),chartY:Math.round(f)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};q(this.chart.axes,function(c){b[c.isXAxis?
"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},getKDPoints:function(a,c,k){var b=[],f,d,e;q(a,function(a){f=a.noSharedTooltip&&c;d=!c&&a.directTouch;a.visible&&!d&&h(a.options.enableMouseTracking,!0)&&(e=a.searchPoint(k,!f&&0>a.options.findNearestPointBy.indexOf("y")))&&e.series&&b.push(e)});b.sort(function(a,b){var f=a.distX-b.distX,k=a.dist-b.dist,d=(b.series.group&&b.series.group.zIndex)-(a.series.group&&a.series.group.zIndex);return 0!==f&&c?f:0!==k?
k:0!==d?d:a.series.index>b.series.index?-1:1});if(c&&b[0]&&!b[0].series.noSharedTooltip)for(a=b.length;a--;)(b[a].x!==b[0].x||b[a].series.noSharedTooltip)&&b.splice(a,1);return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getHoverData:function(b,c,k,d,e,g){var f=b,m=c,p;d?e?(p=[],q(k,function(a){var b=a.noSharedTooltip&&e,c=!e&&a.directTouch;a.visible&&!b&&!c&&h(a.options.enableMouseTracking,!0)&&(a=a.searchKDTree({clientX:f.clientX,plotY:f.plotY},
!b&&1===a.kdDimensions))&&a.series&&p.push(a)}),0===p.length&&(p=[f])):p=[f]:m&&!m.stickyTracking?(e||(k=[m]),p=this.getKDPoints(k,e,g),f=a.find(p,function(a){return a.series===m})):(b=a.grep(k,function(a){return a.stickyTracking}),p=this.getKDPoints(b,e,g),m=(f=p[0])&&f.series,e&&(p=this.getKDPoints(k,e,g)));p.sort(function(a,b){return a.series.index-b.series.index});return{hoverPoint:f,hoverSeries:m,hoverPoints:p}},runPointActions:function(b,c){var f=this.chart,d=f.tooltip,g=d?d.shared:!1,m=c||
f.hoverPoint,l=m&&m.series||f.hoverSeries;c=this.getHoverData(m,l,f.series,!!c||!g&&l&&l.directTouch,g,b);var n,p,m=c.hoverPoint;n=(l=c.hoverSeries)&&l.tooltipOptions.followPointer;p=(g=g&&m&&!m.series.noSharedTooltip)?c.hoverPoints:m?[m]:[];if(m&&(m!==f.hoverPoint||d&&d.isHidden)){q(f.hoverPoints||[],function(b){-1===a.inArray(b,p)&&b.setState()});q(p||[],function(a){a.setState("hover")});if(f.hoverSeries!==l)l.onMouseOver();l&&!l.directTouch&&(f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut"),
m.firePointEvent("mouseOver"));f.hoverPoints=p;f.hoverPoint=m;d&&d.refresh(g?p:m,b)}else n&&d&&!d.isHidden&&(m=d.getAnchor([{}],b),d.updatePosition({plotX:m[0],plotY:m[1]}));this.unDocMouseMove||(this.unDocMouseMove=u(e,"mousemove",function(b){var c=y[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));q(f.axes,function(a){h(a.crosshair.snap,!0)?q(p,function(c){c.series[a.coll]===a&&a.drawCrosshair(b,c)}):a.drawCrosshair(b)})},reset:function(a,c){var b=this.chart,f=b.hoverSeries,d=b.hoverPoint,
h=b.hoverPoints,e=b.tooltip,m=e&&e.shared?h:d;a&&m&&q(w(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)e&&m&&(e.refresh(m),d&&(d.setState(d.state,!0),q(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();h&&q(h,function(a){a.setState()});if(f)f.onMouseOut();e&&e.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());q(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,
c){var b=this.chart,f;q(b.series,function(k){f=a||k.getPlotBox();k.xAxis&&k.xAxis.zoomEnabled&&k.group&&(k.group.attr(f),k.markerGroup&&(k.markerGroup.attr(f),k.markerGroup.clip(c?b.clipRect:null)),k.dataLabelsGroup&&k.dataLabelsGroup.attr(f))});b.clipRect.attr(c||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,h=a.chartY,
e=this.zoomHor,m=this.zoomVert,g=b.plotLeft,p=b.plotTop,l=b.plotWidth,A=b.plotHeight,n,t=this.selectionMarker,r=this.mouseDownX,q=this.mouseDownY,w=c.panKey&&a[c.panKey+"Key"];t&&t.touch||(d<g?d=g:d>g+l&&(d=g+l),h<p?h=p:h>p+A&&(h=p+A),this.hasDragged=Math.sqrt(Math.pow(r-d,2)+Math.pow(q-h,2)),10<this.hasDragged&&(n=b.isInsidePlot(r-g,q-p),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&n&&!w&&!t&&(this.selectionMarker=t=b.renderer.rect(g,p,e?1:l,m?1:A,0).attr({"class":"highcharts-selection-marker",
zIndex:7}).add()),t&&e&&(d-=r,t.attr({width:Math.abs(d),x:(0<d?0:d)+r})),t&&m&&(d=h-q,t.attr({height:Math.abs(d),y:(0<d?0:d)+q})),n&&!t&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var h={originalEvent:a,xAxis:[],yAxis:[]},e=this.selectionMarker,m=e.attr?e.attr("x"):e.x,t=e.attr?e.attr("y"):e.y,p=e.attr?e.attr("width"):e.width,C=e.attr?e.attr("height"):e.height,A;if(this.hasDragged||d)q(c.axes,function(c){if(c.zoomEnabled&&g(c.min)&&
(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var f=c.horiz,k="touchend"===a.type?c.minPixelPadding:0,e=c.toValue((f?m:t)+k),f=c.toValue((f?m+p:t+C)-k);h[c.coll].push({axis:c,min:Math.min(e,f),max:Math.max(e,f)});A=!0}}),A&&l(c,"selection",h,function(a){c.zoom(n(a,d?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();d&&this.scaleGroups()}c&&(x(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);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){y[a.hoverChartIndex]&&y[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=y[a.hoverChartIndex];c&&(b.relatedTarget||
b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;g(a.hoverChartIndex)&&y[a.hoverChartIndex]&&y[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,c){for(var b;a;){if(b=B(a,"class")){if(-1!==
b.indexOf(c))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;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,d=b.plotLeft,h=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?
(l(c.series,"click",n(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(n(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-h)&&l(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};u(c,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&u(e,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},
c.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&u(e,"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;this.unDocMouseMove&&this.unDocMouseMove();m(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||(m(e,"mouseup",this.onDocumentMouseUp),m(e,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in this)this[b]=null}}})(J);(function(a){var u=a.charts,B=a.each,y=a.extend,x=a.map,g=a.noop,e=a.pick;y(a.Pointer.prototype,
{pinchTranslate:function(a,e,g,d,h,m){this.zoomHor&&this.pinchTranslateDirection(!0,a,e,g,d,h,m);this.zoomVert&&this.pinchTranslateDirection(!1,a,e,g,d,h,m)},pinchTranslateDirection:function(a,e,g,d,h,m,w,t){var c=this.chart,b=a?"x":"y",f=a?"X":"Y",k="chart"+f,l=a?"width":"height",v=c["plot"+(a?"Left":"Top")],n,q,D=t||1,p=c.inverted,C=c.bounds[a?"h":"v"],A=1===e.length,N=e[0][k],F=g[0][k],r=!A&&e[1][k],z=!A&&g[1][k],O;g=function(){!A&&20<Math.abs(N-r)&&(D=t||Math.abs(F-z)/Math.abs(N-r));q=(v-F)/D+
N;n=c["plot"+(a?"Width":"Height")]/D};g();e=q;e<C.min?(e=C.min,O=!0):e+n>C.max&&(e=C.max-n,O=!0);O?(F-=.8*(F-w[b][0]),A||(z-=.8*(z-w[b][1])),g()):w[b]=[F,z];p||(m[b]=q-v,m[l]=n);m=p?1/D:D;h[l]=n;h[b]=e;d[p?a?"scaleY":"scaleX":"scale"+f]=D;d["translate"+f]=m*v+(F-m*N)},pinch:function(a){var n=this,l=n.chart,d=n.pinchDown,h=a.touches,m=h.length,q=n.lastValidTouch,t=n.hasZoom,c=n.selectionMarker,b={},f=1===m&&(n.inClass(a.target,"highcharts-tracker")&&l.runTrackerClick||n.runChartClick),k={};1<m&&(n.initiated=
!0);t&&n.initiated&&!f&&a.preventDefault();x(h,function(a){return n.normalize(a)});"touchstart"===a.type?(B(h,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),q.x=[d[0].chartX,d[1]&&d[1].chartX],q.y=[d[0].chartY,d[1]&&d[1].chartY],B(l.axes,function(a){if(a.zoomEnabled){var b=l.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,f=a.toPixels(e(a.options.min,a.dataMin)),d=a.toPixels(e(a.options.max,a.dataMax)),k=Math.max(f,d);b.min=Math.min(a.pos,Math.min(f,d)-c);b.max=Math.max(a.pos+a.len,k+c)}}),n.res=
!0):n.followTouchMove&&1===m?this.runPointActions(n.normalize(a)):d.length&&(c||(n.selectionMarker=c=y({destroy:g,touch:!0},l.plotBox)),n.pinchTranslate(d,h,b,c,k,q),n.hasPinched=t,n.scaleGroups(b,k),n.res&&(n.res=!1,this.reset(!1,0)))},touch:function(g,n){var l=this.chart,d,h;if(l.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=l.index;1===g.touches.length?(g=this.normalize(g),(h=l.isInsidePlot(g.chartX-l.plotLeft,g.chartY-l.plotTop))&&!l.openMenu?(n&&this.runPointActions(g),
"touchmove"===g.type&&(n=this.pinchDown,d=n[0]?4<=Math.sqrt(Math.pow(n[0].chartX-g.chartX,2)+Math.pow(n[0].chartY-g.chartY,2)):!1),e(d,!0)&&this.pinch(g)):n&&this.reset()):2===g.touches.length&&this.pinch(g)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(e){u[a.hoverChartIndex]&&u[a.hoverChartIndex].pointer.drop(e)}})})(J);(function(a){var u=a.addEvent,B=a.charts,y=a.css,x=a.doc,g=a.extend,e=a.noop,
q=a.Pointer,n=a.removeEvent,l=a.win,d=a.wrap;if(l.PointerEvent||l.MSPointerEvent){var h={},m=!!l.PointerEvent,w=function(){var a,b=[];b.item=function(a){return this[a]};for(a in h)h.hasOwnProperty(a)&&b.push({pageX:h[a].pageX,pageY:h[a].pageY,target:h[a].target});return b},t=function(c,b,f,d){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!B[a.hoverChartIndex]||(d(c),d=B[a.hoverChartIndex].pointer,d[b]({type:f,target:c.currentTarget,preventDefault:e,touches:w()}))};g(q.prototype,
{onContainerPointerDown:function(a){t(a,"onContainerTouchStart","touchstart",function(a){h[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){t(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){t(a,"onDocumentTouchEnd","touchend",function(a){delete h[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,
m?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,m?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(x,m?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});d(q.prototype,"init",function(a,b,f){a.call(this,b,f);this.hasZoom&&y(b.container,{"-ms-touch-action":"none","touch-action":"none"})});d(q.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(u)});d(q.prototype,"destroy",function(a){this.batchMSEvents(n);
a.call(this)})}})(J);(function(a){var u,B=a.addEvent,y=a.css,x=a.discardElement,g=a.defined,e=a.each,q=a.isFirefox,n=a.marginNames,l=a.merge,d=a.pick,h=a.setAnimation,m=a.stableSort,w=a.win,t=a.wrap;u=a.Legend=function(a,b){this.init(a,b)};u.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=d(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=
b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=d(a.symbolWidth,16);this.pages=[]},update:function(a,b){var c=this.chart;this.setOptions(l(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;d(b,!0)&&c.redraw()},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden")},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,h=d[0],d=d[1],e=a.checkbox;(a=a.legendGroup)&&a.element&&
a.translate(b?h:this.legendWidth-h-2*c-4,d);e&&(e.x=h,e.y=d)},destroyItem:function(a){var b=a.checkbox;e(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&x(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}e(this.getAllItems(),function(b){e(["legendItem","legendGroup"],a,b)});e("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,
c,d=this.clipHeight||this.legendHeight,h=this.titleHeight;b&&(c=b.translateY,e(this.allItems,function(f){var k=f.checkbox,e;k&&(e=c+h+k.y+(a||0)+3,y(k,{left:b.translateX+f.checkboxOffset+k.x-20+"px",top:e+"px",display:e>c-6&&e<c+d-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,b=this.options.title,f=0;b.text&&(this.title||(this.title=this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),f=a.height,this.offsetWidth=
a.width,this.contentGroup.attr({translateY:f}));this.titleHeight=f},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,c=b.renderer,k=this.options,h="horizontal"===k.layout,e=this.symbolWidth,g=k.symbolPadding,m=this.padding,l=h?d(k.itemDistance,20):0,p=!k.rtl,C=k.width,A=k.itemMarginBottom||0,n=this.itemMarginTop,t=a.legendItem,r=!a.series,q=!r&&a.series.drawLegendSymbol?a.series:
a,w=q.options,w=this.createCheckboxForItem&&w&&w.showCheckbox,K=k.useHTML,x=a.options.className;t||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+q.type+"-series highcharts-color-"+a.colorIndex+(x?" "+x:"")+(r?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=t=c.text("",p?e+g:-g,this.baseline||0,K).attr({align:p?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(12,t),this.baseline=this.fontMetrics.f+3+n,t.attr("y",
this.baseline)),this.symbolHeight=k.symbolHeight||this.fontMetrics.f,q.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,t,K),w&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);c=t.getBBox();e=a.checkboxOffset=k.itemWidth||a.legendItemWidth||e+g+c.width+l+(w?20:0);this.itemHeight=g=Math.round(a.legendItemHeight||c.height||this.symbolHeight);h&&this.itemX-m+e>(C||b.spacingBox.width-2*m-k.x)&&(this.itemX=m,this.itemY+=n+this.lastLineHeight+A,this.lastLineHeight=
0);this.maxItemWidth=Math.max(this.maxItemWidth,e);this.lastItemY=n+this.itemY+A;this.lastLineHeight=Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];h?this.itemX+=e:(this.itemY+=n+g+A,this.lastLineHeight=g);this.offsetWidth=C||Math.max((h?this.itemX-m-l:e)+m,this.offsetWidth)},getAllItems:function(){var a=[];e(this.chart.series,function(b){var c=b&&b.options;b&&d(c.showInLegend,g(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},
adjustMargins:function(a,b){var c=this.chart,k=this.options,h=k.align.charAt(0)+k.verticalAlign.charAt(0)+k.layout.charAt(0);k.floating||e([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,e){f.test(h)&&!g(a[e])&&(c[n[e]]=Math.max(c[n[e]],c.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*k[e%2?"x":"y"]+d(k.margin,12)+b[e]))})},render:function(){var a=this,b=a.chart,f=b.renderer,d=a.group,h,g,n,t,q=a.box,p=a.options,C=a.padding;a.itemX=C;a.itemY=a.initialItemY;a.offsetWidth=
0;a.lastItemY=0;d||(a.group=d=f.g("legend").attr({zIndex:7}).add(),a.contentGroup=f.g().attr({zIndex:1}).add(d),a.scrollGroup=f.g().add(a.contentGroup));a.renderTitle();h=a.getAllItems();m(h,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});p.reversed&&h.reverse();a.allItems=h;a.display=g=!!h.length;a.lastLineHeight=0;e(h,function(b){a.renderItem(b)});n=(p.width||a.offsetWidth)+C;t=a.lastItemY+a.lastLineHeight+a.titleHeight;t=a.handleOverflow(t);t+=
C;q||(a.box=q=f.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(d),q.isNew=!0);0<n&&0<t&&(q[q.isNew?"attr":"animate"](q.crisp({x:0,y:0,width:n,height:t},q.strokeWidth())),q.isNew=!1);q[g?"show":"hide"]();"none"===d.getStyle("display")&&(n=t=0);a.legendWidth=n;a.legendHeight=t;e(h,function(b){a.positionItem(b)});g&&d.align(l(p,{width:n,height:t}),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,k=c.renderer,h=this.options,
g=h.y,m=this.padding,c=c.spacingBox.height+("top"===h.verticalAlign?-g:g)-m,g=h.maxHeight,l,n=this.clipRect,p=h.navigation,C=d(p.animation,!0),A=p.arrowSize||12,t=this.nav,F=this.pages,r,q=this.allItems,w=function(a){a?n.attr({height:a}):n&&(b.clipRect=n.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(c/=2);g&&(c=Math.min(c,g));F.length=0;a>c&&!1!==
p.enabled?(this.clipHeight=l=Math.max(c-20-this.titleHeight-m,0),this.currentPage=d(this.currentPage,1),this.fullHeight=a,e(q,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var f=F.length;if(!f||c-F[f-1]>l&&(r||c)!==F[f-1])F.push(r||c),f++;b===q.length-1&&c+a-F[f-1]>l&&F.push(c);c!==r&&(r=c)}),n||(n=b.clipRect=k.clipRect(0,m,9999,0),b.contentGroup.clip(n)),w(l),t||(this.nav=t=k.g().attr({zIndex:1}).add(this.group),this.up=k.symbol("triangle",0,0,A,A).on("click",
function(){b.scroll(-1,C)}).add(t),this.pager=k.text("",15,10).addClass("highcharts-legend-navigation").add(t),this.down=k.symbol("triangle-down",0,0,A,A).on("click",function(){b.scroll(1,C)}).add(t)),b.scroll(0),a=c):t&&(w(),this.nav=t.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length;a=this.currentPage+a;var e=this.clipHeight,g=this.pager,m=this.padding;a>d&&(a=d);0<a&&(void 0!==b&&h(b,this.chart),this.nav.attr({translateX:m,
translateY:e+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+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),b=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:b}),this.currentPage=a,this.positionCheckboxes(b))}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,
k=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(k?(a.symbolWidth-c)/2:0,a.baseline-c+1,k?c:a.symbolWidth,c,d(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,k=a.symbolWidth,h=a.symbolHeight;c=h/2;var e=this.chart.renderer,g=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);this.legendLine=e.path(["M",0,a,"L",k,a]).addClass("highcharts-graph").attr({}).add(g);b&&!1!==b.enabled&&
(c=Math.min(d(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=l(b,{width:h,height:h}),c=0),this.legendSymbol=b=e.symbol(this.symbol,k/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(g),b.isMarker=!0)}};(/Trident\/7\.0/.test(w.navigator.userAgent)||q)&&t(u.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)})})(J);(function(a){var u=a.addEvent,B=a.animObject,y=a.attr,x=a.doc,g=a.Axis,e=a.createElement,q=a.defaultOptions,n=a.discardElement,
l=a.charts,d=a.css,h=a.defined,m=a.each,w=a.extend,t=a.find,c=a.fireEvent,b=a.getStyle,f=a.grep,k=a.isNumber,I=a.isObject,v=a.isString,E=a.Legend,G=a.marginNames,D=a.merge,p=a.Pointer,C=a.pick,A=a.pInt,N=a.removeEvent,F=a.seriesTypes,r=a.splat,z=a.svg,O=a.syncTimeout,K=a.win,S=a.Renderer,Q=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new Q(a,b,c)};Q.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(v(a[0])||a[0].nodeName)this.renderTo=
a.shift();this.init(a[0],a[1])},init:function(b,c){var f,d=b.series;b.series=null;f=D(q,b);f.series=b.series=d;this.userOptions=b;b=f.chart;d=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=c;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.hasCartesianSeries=b.showAxes;var k;this.index=l.length;l.push(this);a.chartCount++;if(d)for(k in d)u(this,k,d[k]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},
initSeries:function(b){var c=this.options.chart;(c=F[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].name||"Series "+(b[a].index+1))},isInsidePlot:function(a,b,c){var f=c?b:a;a=c?a:b;return 0<=f&&f<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){var f=this.axes,d=this.series,k=this.pointer,h=this.legend,e=this.isDirtyLegend,p,g,r=this.hasCartesianSeries,
l=this.isDirtyBox,A,n=this.renderer,C=n.isHidden(),v=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);C&&this.cloneRenderTo();this.layOutTitles();for(b=d.length;b--;)if(A=d[b],A.options.stacking&&(p=!0,A.isDirty)){g=!0;break}if(g)for(b=d.length;b--;)A=d[b],A.options.stacking&&(A.isDirty=!0);m(d,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),e=!0);a.isDirtyData&&c(a,"updatedData")});e&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1);
p&&this.getStacks();r&&m(f,function(a){a.updateNames();a.setScale()});this.getMargins();r&&(m(f,function(a){a.isDirty&&(l=!0)}),m(f,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,v.push(function(){c(a,"afterSetExtremes",w(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(l||p)&&a.redraw()}));l&&this.drawChartBox();c(this,"predraw");m(d,function(a){(l||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});k&&k.reset(!0);n.draw();c(this,"redraw");c(this,"render");C&&this.cloneRenderTo(!0);
m(v,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,f=this.series,d;c=t(this.axes,b)||t(this.series,b);for(d=0;!c&&d<f.length;d++)c=t(f[d].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=r(b.xAxis||{}),b=b.yAxis=r(b.yAxis||{});m(c,function(a,b){a.index=b;a.isX=!0});m(b,function(a,b){a.index=b});c=c.concat(b);m(c,function(b){new g(a,b)})},getSelectedPoints:function(){var a=[];m(this.series,function(b){a=a.concat(f(b.points||
[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return f(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var f=this,d=f.options,k;k=d.title=D(d.title,a);d=d.subtitle=D(d.subtitle,b);m([["title",a,k],["subtitle",b,d]],function(a,b){var c=a[0],d=f[c],k=a[1];a=a[2];d&&k&&(f[c]=d=d.destroy());a&&a.text&&!d&&(f[c]=f.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),f[c].update=function(a){f.setTitle(!b&&
a,b&&a)})});f.layOutTitles(c)},layOutTitles:function(a){var b=0,c,f=this.renderer,d=this.spacingBox;m(["title","subtitle"],function(a){var c=this[a],k=this.options[a],h;c&&(h=f.fontMetrics(h,c).b,c.css({width:(k.width||d.width+k.widthAdjust)+"px"}).align(w({y:b+h+("title"===a?-3:2)},k),!1,"spacingBox"),k.floating||k.verticalAlign||(b=Math.ceil(b+c.getBBox(k.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=c,this.hasRendered&&C(a,!0)&&this.isDirtyBox&&
this.redraw())},getChartSize:function(){var c=this.options.chart,f=c.width,c=c.height,d=this.renderToClone||this.renderTo;h(f)||(this.containerWidth=b(d,"width"));h(c)||(this.containerHeight=b(d,"height"));this.chartWidth=Math.max(0,f||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(c,this.chartWidth)||this.containerHeight||400)},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;if(a){if(b){for(;b.childNodes.length;)this.renderTo.appendChild(b.firstChild);
n(b);delete this.renderToClone}}else c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),d(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block","important"),x.body.appendChild(b),c&&b.appendChild(c)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,c=this.options,f=c.chart,d,h;b=this.renderTo;var p=a.uniqueKey(),g;b||
(this.renderTo=b=f.renderTo);v(b)&&(this.renderTo=b=x.getElementById(b));b||a.error(13,!0);d=A(y(b,"data-highcharts-chart"));k(d)&&l[d]&&l[d].hasRendered&&l[d].destroy();y(b,"data-highcharts-chart",this.index);b.innerHTML="";f.skipClone||b.offsetWidth||this.cloneRenderTo();this.getChartSize();d=this.chartWidth;h=this.chartHeight;this.container=b=e("div",{id:p},void 0,this.renderToClone||b);this._cursor=b.style.cursor;this.renderer=new (a[f.renderer]||S)(b,d,h,null,f.forExport,c.exporting&&c.exporting.allowHTML);
this.setClassName(f.className);for(g in c.defs)this.renderer.definition(c.defs[g]);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing,c=this.margin,f=this.titleOffset;this.resetMargins();f&&!h(c[0])&&(this.plotTop=Math.max(this.plotTop,f+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(c,b);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);
a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&m(a.axes,function(a){a.visible&&a.getOffset()});m(G,function(f,d){h(c[d])||(a[f]+=b[d])});a.setChartSize()},reflow:function(a){var c=this,f=c.options.chart,d=c.renderTo,k=h(f.width),p=f.width||b(d,"width"),f=f.height||b(d,"height"),d=a?a.target:K;if(!k&&!c.isPrinting&&p&&f&&(d===K||d===x)){if(p!==c.containerWidth||f!==c.containerHeight)clearTimeout(c.reflowTimeout),c.reflowTimeout=
O(function(){c.container&&c.setSize(void 0,void 0,!1)},a?100:0);c.containerWidth=p;c.containerHeight=f}},initReflow:function(){var a=this,b;b=u(K,"resize",function(b){a.reflow(b)});u(a,"destroy",b)},setSize:function(b,f,d){var k=this,h=k.renderer;k.isResizing+=1;a.setAnimation(d,k);k.oldChartHeight=k.chartHeight;k.oldChartWidth=k.chartWidth;void 0!==b&&(k.options.chart.width=b);void 0!==f&&(k.options.chart.height=f);k.getChartSize();k.setChartSize(!0);h.setSize(k.chartWidth,k.chartHeight,d);m(k.axes,
function(a){a.isDirty=!0;a.setScale()});k.isDirtyLegend=!0;k.isDirtyBox=!0;k.layOutTitles();k.getMargins();k.redraw(d);k.oldChartHeight=null;c(k,"resize");O(function(){k&&c(k,"endResize",null,function(){--k.isResizing})},B(void 0).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,f=this.chartWidth,d=this.chartHeight,k=this.options.chart,h=this.spacing,p=this.clipOffset,e,g,r,l;this.plotLeft=e=Math.round(this.plotLeft);this.plotTop=g=Math.round(this.plotTop);this.plotWidth=r=
Math.max(0,Math.round(f-e-this.marginRight));this.plotHeight=l=Math.max(0,Math.round(d-g-this.marginBottom));this.plotSizeX=b?l:r;this.plotSizeY=b?r:l;this.plotBorderWidth=k.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:h[3],y:h[0],width:f-h[3]-h[1],height:d-h[0]-h[2]};this.plotBox=c.plotBox={x:e,y:g,width:r,height:l};f=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(f,p[3])/2);c=Math.ceil(Math.max(f,p[0])/2);this.clipBox={x:b,y:c,width:Math.floor(this.plotSizeX-Math.max(f,p[1])/2-
b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(f,p[2])/2-c))};a||m(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;m(["margin","spacing"],function(c){var f=b[c],d=I(f)?f:[f,f,f,f];m(["Top","Right","Bottom","Left"],function(f,k){a[c][k]=C(b[c+f],d[k])})});m(G,function(b,c){a[b]=C(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,
f=this.chartHeight,d=this.chartBackground,k=this.plotBackground,h=this.plotBorder,p,e,g=this.plotLeft,m=this.plotTop,r=this.plotWidth,l=this.plotHeight,A=this.plotBox,n=this.clipRect,C=this.clipBox,v="animate";d||(this.chartBackground=d=b.rect().addClass("highcharts-background").add(),v="attr");p=e=d.strokeWidth();d[v]({x:e/2,y:e/2,width:c-e-p%2,height:f-e-p%2,r:a.borderRadius});v="animate";k||(v="attr",this.plotBackground=k=b.rect().addClass("highcharts-plot-background").add());k[v](A);n?n.animate({width:C.width,
height:C.height}):this.clipRect=b.clipRect(C);v="animate";h||(v="attr",this.plotBorder=h=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());h[v](h.crisp({x:g,y:m,width:r,height:l},-h.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,f=a.options.series,d,k;m(["inverted","angular","polar"],function(h){c=F[b.type||b.defaultSeriesType];k=b[h]||c&&c.prototype[h];for(d=f&&f.length;!k&&d--;)(c=F[f[d].type])&&c.prototype[h]&&(k=!0);a[h]=k})},linkSeries:function(){var a=
this,b=a.series;m(b,function(a){a.linkedSeries.length=0});m(b,function(b){var c=b.options.linkedTo;v(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=C(b.options.visible,c.options.visible,b.visible))})},renderSeries:function(){m(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&m(b.items,function(c){var f=w(b.style,c.style),d=A(f.left)+a.plotLeft,k=A(f.top)+
a.plotTop+12;delete f.left;delete f.top;a.renderer.text(c.html,d,k).attr({zIndex:2}).css(f).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,f,d,k;this.setTitle();this.legend=new E(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;f=this.plotHeight-=21;m(a,function(a){a.setScale()});this.getAxisMargins();d=1.1<c/this.plotWidth;k=1.05<f/this.plotHeight;if(d||k)m(a,function(a){(a.horiz&&d||!a.horiz&&k)&&a.setTickInterval(!0)}),
this.getMargins();this.drawChartBox();this.hasCartesianSeries&&m(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=D(!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&&(K.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,f=b.axes,d=b.series,k=b.container,h,p=k&&k.parentNode;c(b,"destroy");l[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");N(b);for(h=f.length;h--;)f[h]=f[h].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(h=d.length;h--;)d[h]=
d[h].destroy();m("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});k&&(k.innerHTML="",N(k),p&&n(k));for(h in b)delete b[h]},isReadyToRender:function(){var a=this;return z||K!=K.top||"complete"===x.readyState?!0:(x.attachEvent("onreadystatechange",function(){x.detachEvent("onreadystatechange",a.firstRender);"complete"===
x.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();c(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();m(b.series||[],function(b){a.initSeries(b)});a.linkSeries();c(a,"beforeRender");p&&(a.pointer=new p(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){m([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},
this);c(this,"load");c(this,"render");h(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(J);(function(a){var u,B=a.each,y=a.extend,x=a.erase,g=a.fireEvent,e=a.format,q=a.isArray,n=a.isNumber,l=a.pick,d=a.removeEvent;u=a.Point=function(){};u.prototype={init:function(a,d,e){var h=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(d,e);a.options.colorByPoint?(d=a.colorCounter,a.colorCounter++,a.colorCounter===h&&(a.colorCounter=0)):d=a.colorIndex;this.colorIndex=
l(this.colorIndex,d);a.chart.pointCount++;return this},applyOptions:function(a,d){var h=this.series,e=h.options.pointValKey||h.pointValKey;a=u.prototype.optionsToObject.call(this,a);y(this,a);this.options=this.options?y(this.options,a):a;a.group&&delete this.group;e&&(this.y=this[e]);this.isNull=l(this.isValid&&!this.isValid(),null===this.x||!n(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&h.xAxis&&h.xAxis.hasNames&&(this.x=h.xAxis.nameToX(this));void 0===this.x&&h&&
(this.x=void 0===d?h.autoIncrement(this):d);return this},optionsToObject:function(a){var d={},h=this.series,e=h.options.keys,c=e||h.pointArrayMap||["y"],b=c.length,f=0,k=0;if(n(a)||null===a)d[c[0]]=a;else if(q(a))for(!e&&a.length>b&&(h=typeof a[0],"string"===h?d.name=a[0]:"number"===h&&(d.x=a[0]),f++);k<b;)e&&void 0===a[f]||(d[c[k]]=a[f]),f++,k++;else"object"===typeof a&&(d=a,a.dataLabels&&(h._hasPointLabels=!0),a.marker&&(h._hasPointMarkers=!0));return d},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",e=0,g;for(g=d[e];this[a]>=g.value;)g=d[++e];g&&g.color&&!this.options.color&&(this.color=
g.color);return g},destroy:function(){var a=this.series.chart,e=a.hoverPoints,g;a.pointCount--;e&&(this.setState(),x(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)d(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,e=6;e--;)d=a[e],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,h=d.tooltipOptions,g=l(h.valueDecimals,""),c=h.valuePrefix||"",b=h.valueSuffix||"";B(d.pointArrayMap||["y"],function(f){f="{point."+f;if(c||b)a=a.replace(f+"}",c+f+"}"+b);a=a.replace(f+"}",f+":,."+g+"f}")});return e(a,{point:this,series:this.series})},firePointEvent:function(a,d,
e){var h=this,c=this.series.options;(c.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&c.allowPointSelect&&(e=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});g(this,a,d,e)},visible:!0}})(J);(function(a){var u=a.addEvent,B=a.animObject,y=a.arrayMax,x=a.arrayMin,g=a.correctFloat,e=a.Date,q=a.defaultOptions,n=a.defined,l=a.each,d=a.erase,h=a.extend,m=a.fireEvent,w=a.grep,t=a.isArray,c=a.isNumber,b=a.isString,f=a.merge,k=a.pick,
I=a.removeEvent,v=a.splat,E=a.SVGElement,G=a.syncTimeout,D=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,
marker:{},halo:{size:10}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,f,d,e=a.series,p;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});d=b.events;for(f in d)u(c,f,d[f]);if(d&&d.click||
b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();l(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);e.length&&(p=e[e.length-1]);c._i=k(p&&p._i,-1)+1;a.orderSeries(this.insert(e))},insert:function(a){var b=this.options.index,f;if(c(b)){for(f=a.length;f--;)if(b>=k(a[f].options.index,a[f]._i)){a.splice(f+1,0,this);break}-1===f&&a.unshift(this);f+=1}else a.push(this);return k(f,
a.length-1)},bindAxes:function(){var b=this,c=b.options,f=b.chart,d;l(b.axisTypes||[],function(k){l(f[k],function(a){d=a.options;if(c[k]===d.index||void 0!==c[k]&&c[k]===d.id||void 0===c[k]&&0===d.index)b.insert(a.series),b[k]=a,a.isDirty=!0});b[k]||b.optionalAxis===k||a.error(18,!0)})},updateParallelArrays:function(a,b){var f=a.series,d=arguments,k=c(b)?function(c){var d="y"===c&&f.toYData?f.toYData(a):a[c];f[c+"Data"][b]=d}:function(a){Array.prototype[b].apply(f[a+"Data"],Array.prototype.slice.call(d,
2))};l(f.parallelArrays,k)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,f=a.pointIntervalUnit,b=k(b,a.pointStart,0);this.pointInterval=c=k(this.pointInterval,a.pointInterval,1);f&&(a=new e(b),"day"===f?a=+a[e.hcSetDate](a[e.hcGetDate]()+c):"month"===f?a=+a[e.hcSetMonth](a[e.hcGetMonth]()+c):"year"===f&&(a=+a[e.hcSetFullYear](a[e.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||
{},e=c[this.type];this.userOptions=a;c=f(e,c.series,a);this.tooltipOptions=f(q.tooltip,q.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);this.stickyTracking=k(a.stickyTracking,d[this.type]&&d[this.type].stickyTracking,d.series&&d.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||
c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&n(a[a.length-1].value)&&a.push({});return c},getCyclic:function(a,b,c){var f,d=this.chart,e=this.userOptions,h=a+"Index",p=a+"Counter",g=c?c.length:k(d.options.chart[a+"Count"],d[a+"Count"]);b||(f=k(e[h],e["_"+h]),n(f)||(d.series.length||(d[p]=0),e["_"+h]=f=d[p]%g,d[p]+=1),c&&(b=c[f]));void 0!==f&&(this[h]=f);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",
this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(f,d,e,h){var p=this,g=p.points,m=g&&g.length||0,n,v=p.options,C=p.chart,A=null,q=p.xAxis,E=v.turboThreshold,D=this.xData,G=this.yData,w=(n=p.pointArrayMap)&&n.length;f=f||[];n=f.length;d=k(d,!0);if(!1!==h&&n&&m===n&&!p.cropped&&!p.hasGroupedData&&p.visible)l(f,function(a,b){g[b].update&&a!==v.data[b]&&g[b].update(a,!1,null,!1)});else{p.xIncrement=null;p.colorCounter=0;l(this.parallelArrays,
function(a){p[a+"Data"].length=0});if(E&&n>E){for(e=0;null===A&&e<n;)A=f[e],e++;if(c(A))for(e=0;e<n;e++)D[e]=this.autoIncrement(),G[e]=f[e];else if(t(A))if(w)for(e=0;e<n;e++)A=f[e],D[e]=A[0],G[e]=A.slice(1,w+1);else for(e=0;e<n;e++)A=f[e],D[e]=A[0],G[e]=A[1];else a.error(12)}else for(e=0;e<n;e++)void 0!==f[e]&&(A={series:p},p.pointClass.prototype.applyOptions.apply(A,[f[e]]),p.updateParallelArrays(A,e));b(G[0])&&a.error(14,!0);p.data=[];p.options.data=p.userOptions.data=f;for(e=m;e--;)g[e]&&g[e].destroy&&
g[e].destroy();q&&(q.minRange=q.userMinRange);p.isDirty=C.isDirtyBox=!0;p.isDirtyData=!!g;e=!1}"point"===v.legendType&&(this.processData(),this.generatePoints());d&&C.redraw(e)},processData:function(b){var c=this.xData,f=this.yData,d=c.length,k;k=0;var e,h,p=this.xAxis,g,m=this.options;g=m.cropThreshold;var l=this.getExtremesFromAll||m.getExtremesFromAll,n=this.isCartesian,m=p&&p.val2lin,v=p&&p.isLog,t,q;if(n&&!this.isDirty&&!p.isDirty&&!this.yAxis.isDirty&&!b)return!1;p&&(b=p.getExtremes(),t=b.min,
q=b.max);if(n&&this.sorted&&!l&&(!g||d>g||this.forceCrop))if(c[d-1]<t||c[0]>q)c=[],f=[];else if(c[0]<t||c[d-1]>q)k=this.cropData(this.xData,this.yData,t,q),c=k.xData,f=k.yData,k=k.start,e=!0;for(g=c.length||1;--g;)d=v?m(c[g])-m(c[g-1]):c[g]-c[g-1],0<d&&(void 0===h||d<h)?h=d:0>d&&this.requireSorting&&a.error(15);this.cropped=e;this.cropStart=k;this.processedXData=c;this.processedYData=f;this.closestPointRange=h},cropData:function(a,b,c,f){var d=a.length,e=0,h=d,p=k(this.cropShoulder,1),g;for(g=0;g<
d;g++)if(a[g]>=c){e=Math.max(0,g-p);break}for(c=g;c<d;c++)if(a[c]>f){h=c+p;break}return{xData:a.slice(e,h),yData:b.slice(e,h),start:e,end:h}},generatePoints:function(){var a=this.options.data,b=this.data,c,f=this.processedXData,d=this.processedYData,k=this.pointClass,e=f.length,h=this.cropStart||0,g,m=this.hasGroupedData,l,n=[],t;b||m||(b=[],b.length=a.length,b=this.data=b);for(t=0;t<e;t++)g=h+t,m?(l=(new k).init(this,[f[t]].concat(v(d[t]))),l.dataGroup=this.groupMap[t]):(l=b[g])||void 0===a[g]||
(b[g]=l=(new k).init(this,a[g],f[t])),l&&(l.index=g,n[t]=l);if(b&&(e!==(c=b.length)||m))for(t=0;t<c;t++)t!==h||m||(t+=e),b[t]&&(b[t].destroyElements(),b[t].plotX=void 0);this.data=b;this.points=n},getExtremes:function(a){var b=this.yAxis,f=this.processedXData,d,k=[],e=0;d=this.xAxis.getExtremes();var h=d.min,p=d.max,g,m,l,n;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(n=0;n<d;n++)if(m=f[n],l=a[n],g=(c(l,!0)||t(l))&&(!b.positiveValuesOnly||l.length||0<l),m=this.getExtremesFromAll||
this.options.getExtremesFromAll||this.cropped||(f[n]||m)>=h&&(f[n]||m)<=p,g&&m)if(g=l.length)for(;g--;)null!==l[g]&&(k[e++]=l[g]);else k[e++]=l;this.dataMin=x(k);this.dataMax=y(k)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,f=this.xAxis,d=f.categories,e=this.yAxis,h=this.points,m=h.length,l=!!this.modifyValue,v=a.pointPlacement,t="between"===v||c(v),q=a.threshold,E=a.startFromThreshold?q:0,D,G,w,x,I=Number.MAX_VALUE;"between"===
v&&(v=.5);c(v)&&(v*=k(a.pointRange||f.pointRange));for(a=0;a<m;a++){var u=h[a],y=u.x,B=u.y;G=u.low;var J=b&&e.stacks[(this.negStacks&&B<(E?0:q)?"-":"")+this.stackKey],T;e.positiveValuesOnly&&null!==B&&0>=B&&(u.isNull=!0);u.plotX=D=g(Math.min(Math.max(-1E5,f.translate(y,0,0,0,1,v,"flags"===this.type)),1E5));b&&this.visible&&!u.isNull&&J&&J[y]&&(x=this.getStackIndicator(x,y,this.index),T=J[y],B=T.points[x.key],G=B[0],B=B[1],G===E&&x.key===J[y].base&&(G=k(q,e.min)),e.positiveValuesOnly&&0>=G&&(G=null),
u.total=u.stackTotal=T.total,u.percentage=T.total&&u.y/T.total*100,u.stackY=B,T.setOffset(this.pointXOffset||0,this.barW||0));u.yBottom=n(G)?e.translate(G,0,1,0,1):null;l&&(B=this.modifyValue(B,u));u.plotY=G="number"===typeof B&&Infinity!==B?Math.min(Math.max(-1E5,e.translate(B,0,1,0,1)),1E5):void 0;u.isInside=void 0!==G&&0<=G&&G<=e.len&&0<=D&&D<=f.len;u.clientX=t?g(f.translate(y,0,0,0,1,v)):D;u.negative=u.y<(q||0);u.category=d&&void 0!==d[u.x]?d[u.x]:u.x;u.isNull||(void 0!==w&&(I=Math.min(I,Math.abs(D-
w))),w=D);u.zone=this.zones.length&&u.getZone()}this.closestPointRangePx=I},getValidPoints:function(a,b){var c=this.chart;return w(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,f=b.renderer,d=b.inverted,k=this.clipBox,e=k||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,e.height,c.xAxis,c.yAxis].join(),g=b[h],p=b[h+"m"];g||(a&&(e.width=0,b[h+"m"]=p=f.clipRect(-99,d?-b.plotLeft:
-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[h]=g=f.clipRect(e),g.count={length:0});a&&!g.count[this.index]&&(g.count[this.index]=!0,g.count.length+=1);!1!==c.clip&&(this.group.clip(a||k?g:b.clipRect),this.markerGroup.clip(p),this.sharedClipKey=h);a||(g.count[this.index]&&(delete g.count[this.index],--g.count.length),0===g.count.length&&h&&b[h]&&(k||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=B(this.options.animation),f;a?this.setClip(c):
(f=this.sharedClipKey,(a=b[f])&&a.animate({width:b.plotSizeX},c),b[f+"m"]&&b[f+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();m(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,f,d,e,h,g=this.options.marker,m,l,n,v,t=this.markerGroup,q=k(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)e=a[d],f=e.plotY,h=e.graphic,m=e.marker||{},l=
!!e.marker,n=q&&void 0===m.enabled||m.enabled,v=e.isInside,n&&c(f)&&null!==e.y?(f=k(m.symbol,this.symbol),e.hasImage=0===f.indexOf("url"),n=this.markerAttribs(e,e.selected&&"select"),h?h[v?"show":"hide"](!0).animate(n):v&&(0<n.width||e.hasImage)&&(e.graphic=h=b.renderer.symbol(f,n.x,n.y,n.width,n.height,l?m:g).add(t)),h&&h.addClass(e.getClassName(),!0)):h&&(e.graphic=h.destroy())},markerAttribs:function(a,b){var c=this.options.marker,f=a.marker||{},d=k(f.radius,c.radius);b&&(c=c.states[b],b=f.states&&
f.states[b],d=k(b&&b.radius,c&&c.radius,d+(c&&c.radiusPlus||0)));a.hasImage&&(d=0);a={x:Math.floor(a.plotX)-d,y:a.plotY-d};d&&(a.width=a.height=2*d);return a},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(D.navigator.userAgent),f,k=a.data||[],e,h,g;m(a,"destroy");I(a);l(a.axisTypes||[],function(b){(g=a[b])&&g.series&&(d(g.series,a),g.isDirty=g.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(f=k.length;f--;)(e=k[f])&&e.destroy&&e.destroy();a.points=null;clearTimeout(a.animationTimeout);
for(h in a)a[h]instanceof E&&!a[h].survive&&(f=c&&"group"===h?"hide":"destroy",a[h][f]());b.hoverSeries===a&&(b.hoverSeries=null);d(b.series,a);b.orderSeries();for(h in a)delete a[h]},getGraphPath:function(a,b,c){var f=this,d=f.options,k=d.step,e,h=[],g=[],p;a=a||f.points;(e=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&e&&(k=4-k);!d.connectNulls||b||c||(a=this.getValidPoints(a));l(a,function(e,m){var l=e.plotX,r=e.plotY,v=a[m-1];(e.leftCliff||v&&v.rightCliff)&&!c&&(p=!0);e.isNull&&!n(b)&&
0<m?p=!d.connectNulls:e.isNull&&!b?p=!0:(0===m||p?m=["M",e.plotX,e.plotY]:f.getPointSpline?m=f.getPointSpline(a,e,m):k?(m=1===k?["L",v.plotX,r]:2===k?["L",(v.plotX+l)/2,v.plotY,"L",(v.plotX+l)/2,r]:["L",l,v.plotY],m.push("L",l,r)):m=["L",l,r],g.push(e.x),k&&g.push(e.x),h.push.apply(h,m),p=!1)});h.xMap=g;return f.graphPath=h},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph"]];l(this.zones,function(a,b){c.push(["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+
b+" "+(a.className||"")])});l(c,function(c,f){f=c[0];var d=a[f];d?(d.endX=b.xMap,d.animate({d:b})):b.length&&(a[f]=a.chart.renderer.path(b).addClass(c[1]).attr({zIndex:1}).add(a.group));d&&(d.startX=b.xMap,d.isArea=b.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,f=this.zones,d,e,h=this.clips||[],g,m=this.graph,n=this.area,v=Math.max(b.chartWidth,b.chartHeight),t=this[(this.zoneAxis||"y")+"Axis"],q,E,D=b.inverted,G,w,x,u,I=!1;f.length&&(m||n)&&t&&void 0!==t.min&&(E=t.reversed,
G=t.horiz,m&&m.hide(),n&&n.hide(),q=t.getExtremes(),l(f,function(f,p){d=E?G?b.plotWidth:0:G?0:t.toPixels(q.min);d=Math.min(Math.max(k(e,d),0),v);e=Math.min(Math.max(Math.round(t.toPixels(k(f.value,q.max),!0)),0),v);I&&(d=e=t.toPixels(q.max));w=Math.abs(d-e);x=Math.min(d,e);u=Math.max(d,e);t.isXAxis?(g={x:D?u:x,y:0,width:w,height:v},G||(g.x=b.plotHeight-g.x)):(g={x:0,y:D?u:x,width:v,height:w},G&&(g.y=b.plotWidth-g.y));h[p]?h[p].animate(g):(h[p]=c.clipRect(g),m&&a["zone-graph-"+p].clip(h[p]),n&&a["zone-area-"+
p].clip(h[p]));I=f.value>q.max}),this.clips=h)},invertGroups:function(a){function b(){l(["group","markerGroup"],function(b){c[b]&&(f.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,f=c.chart,d;c.xAxis&&(d=u(f,"resize",b),u(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,f,d){var k=this[a],e=!k;e&&(this[a]=k=this.chart.renderer.g(b).attr({zIndex:f||.1}).add(d),k.addClass("highcharts-series-"+
this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));k.attr({visibility:c})[e?"attr":"animate"](this.getPlotBox());return k},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,f=a.options,d=!!a.animate&&b.renderer.isSVG&&B(f.animation).duration,k=a.visible?"inherit":
"hidden",e=f.zIndex,h=a.hasRendered,g=b.seriesGroup,m=b.inverted;c=a.plotGroup("group","series",k,e,g);a.markerGroup=a.plotGroup("markerGroup","markers",k,e,g);d&&a.animate(!0);c.inverted=a.isCartesian?m:!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(m);!1===f.clip||a.sharedClipKey||h||c.clip(b.clipRect);d&&a.animate();h||(a.animationTimeout=G(function(){a.afterAnimate()},
d));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,f=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:k(f&&f.left,a.plotLeft),translateY:k(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,f=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+
c.pos:a.chartX-c.pos,plotY:d?f.len-a.chartX+f.pos:a.chartY-f.pos},b)},buildKDTree:function(){function a(c,f,d){var k,e;if(e=c&&c.length)return k=b.kdAxisArray[f%d],c.sort(function(a,b){return a[k]-b[k]}),e=Math.floor(e/2),{point:c[e],left:a(c.slice(0,e),f+1,d),right:a(c.slice(e+1),f+1,d)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;G(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},
searchKDTree:function(a,b){function c(a,b,h,g){var m=b.point,p=f.kdAxisArray[h%g],l,v,r=m;v=n(a[d])&&n(m[d])?Math.pow(a[d]-m[d],2):null;l=n(a[k])&&n(m[k])?Math.pow(a[k]-m[k],2):null;l=(v||0)+(l||0);m.dist=n(l)?Math.sqrt(l):Number.MAX_VALUE;m.distX=n(v)?Math.sqrt(v):Number.MAX_VALUE;p=a[p]-m[p];l=0>p?"left":"right";v=0>p?"right":"left";b[l]&&(l=c(a,b[l],h+1,g),r=l[e]<r[e]?l:m);b[v]&&Math.sqrt(p*p)<r[e]&&(a=c(a,b[v],h+1,g),r=a[e]<r[e]?a:r);return r}var f=this,d=this.kdAxisArray[0],k=this.kdAxisArray[1],
e=b?"distX":"dist";b=-1<f.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 u=a.addEvent,B=a.Axis,y=a.createElement,x=a.css,g=a.defined,e=a.each,q=a.erase,n=a.extend,l=a.fireEvent,d=a.inArray,h=a.isNumber,m=a.isObject,w=a.merge,t=a.pick,c=a.Point,b=a.Series,f=a.seriesTypes,k=a.setAnimation,I=a.splat;n(a.Chart.prototype,{addSeries:function(a,b,c){var f,d=this;a&&(b=t(b,!0),l(d,"addSeries",
{options:a},function(){f=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();b&&d.redraw(c)}));return f},addAxis:function(a,b,c,f){var d=b?"xAxis":"yAxis",k=this.options;a=w(a,{index:this[d].length,isX:b});new B(this,a);k[d]=I(k[d]||{});k[d].push(a);t(c,!0)&&this.redraw(f)},showLoading:function(a){var b=this,c=b.options,f=b.loadingDiv,d=function(){f&&x(f,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};f||(b.loadingDiv=f=y("div",{className:"highcharts-loading highcharts-loading-hidden"},
null,b.container),b.loadingSpan=y("span",{className:"highcharts-loading-inner"},null,f),u(b,"redraw",d));f.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.loadingShown=!0;d()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,b){var c,f={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},k=a.chart,m,l;if(k){w(!0,this.options.chart,k);"className"in k&&this.setClassName(k.className);if("inverted"in k||"polar"in k)this.propFromSeries(),m=!0;"alignTicks"in k&&(m=!0);for(c in k)k.hasOwnProperty(c)&&(-1!==d("chart."+c,this.propsRequireUpdateSeries)&&(l=!0),-1!==d(c,this.propsRequireDirtyBox)&&
(this.isDirtyBox=!0))}for(c in a){if(this[c]&&"function"===typeof this[c].update)this[c].update(a[c],!1);else if("function"===typeof this[f[c]])this[f[c]](a[c]);"chart"!==c&&-1!==d(c,this.propsRequireUpdateSeries)&&(l=!0)}a.plotOptions&&w(!0,this.options.plotOptions,a.plotOptions);e(["xAxis","yAxis","series","colorAxis","pane"],function(b){a[b]&&e(I(a[b]),function(a,c){(c=g(a.id)&&this.get(a.id)||this[b][c])&&c.coll===b&&c.update(a,!1)},this)},this);m&&e(this.axes,function(a){a.update({},!1)});l&&
e(this.series,function(a){a.update({},!1)});a.loading&&w(!0,this.options.loading,a.loading);c=k&&k.width;k=k&&k.height;h(c)&&c!==this.chartWidth||h(k)&&k!==this.chartHeight?this.setSize(c,k):t(b,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});n(c.prototype,{update:function(a,b,c,f){function d(){k.applyOptions(a);null===k.y&&h&&(k.graphic=h.destroy());m(a,!0)&&(h&&h.element&&a&&a.marker&&a.marker.symbol&&(k.graphic=h.destroy()),a&&a.dataLabels&&k.dataLabel&&(k.dataLabel=k.dataLabel.destroy()));
g=k.index;e.updateParallelArrays(k,g);n.data[g]=m(n.data[g],!0)||m(a,!0)?k.options:a;e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===n.legendType&&(l.isDirtyLegend=!0);b&&l.redraw(c)}var k=this,e=k.series,h=k.graphic,g,l=e.chart,n=e.options;b=t(b,!0);!1===f?d():k.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(d(this,this.series.data),a,b)}});n(b.prototype,{addPoint:function(a,b,c,f){var d=this.options,k=this.data,e=this.chart,
h=this.xAxis,h=h&&h.hasNames&&h.names,g=d.data,m,l,n=this.xData,v,q;b=t(b,!0);m={series:this};this.pointClass.prototype.applyOptions.apply(m,[a]);q=m.x;v=n.length;if(this.requireSorting&&q<n[v-1])for(l=!0;v&&n[v-1]>q;)v--;this.updateParallelArrays(m,"splice",v,0,0);this.updateParallelArrays(m,v);h&&m.name&&(h[q]=m.name);g.splice(v,0,a);l&&(this.data.splice(v,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(m,
"shift"),g.shift()));this.isDirtyData=this.isDirty=!0;b&&e.redraw(f)},removePoint:function(a,b,c){var f=this,d=f.data,e=d[a],h=f.points,g=f.chart,m=function(){h&&h.length===d.length&&h.splice(a,1);d.splice(a,1);f.options.data.splice(a,1);f.updateParallelArrays(e||{series:f},"splice",a,1);e&&e.destroy();f.isDirty=!0;f.isDirtyData=!0;b&&g.redraw()};k(c,g);b=t(b,!0);e?e.firePointEvent("remove",null,m):m()},remove:function(a,b,c){function f(){d.destroy();k.isDirtyLegend=k.isDirtyBox=!0;k.linkSeries();
t(a,!0)&&k.redraw(b)}var d=this,k=d.chart;!1!==c?l(d,"remove",null,f):f()},update:function(a,b){var c=this,d=this.chart,k=this.userOptions,h=this.oldType||this.type,g=a.type||k.type||d.options.chart.type,m=f[h].prototype,l=["group","markerGroup","dataLabelsGroup"],r;if(g&&g!==h||void 0!==a.zIndex)l.length=0;e(l,function(a){l[a]=c[a];delete c[a]});a=w(k,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(r in m)this[r]=void 0;n(this,f[g||
h].prototype);e(l,function(a){c[a]=l[a]});this.init(d,a);this.oldType=h;d.linkSeries();t(b,!0)&&d.redraw(!1)}});n(B.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=w(this.userOptions,a);this.destroy(!0);this.init(c,n(a,{events:void 0}));c.isDirtyBox=!0;t(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,f=this.series,d=f.length;d--;)f[d]&&f[d].remove(!1);q(b.axes,this);q(b[c],this);b.options[c].splice(this.options.index,1);e(b[c],function(a,
b){a.options.index=b});this.destroy();b.isDirtyBox=!0;t(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 u=a.animObject,B=a.each,y=a.extend,x=a.isNumber,g=a.merge,e=a.pick,q=a.Series,n=a.seriesType,l=a.svg;n("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,
y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){q.prototype.init.apply(this,arguments);var a=this,e=a.chart;e.hasRendered&&B(e.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,h=a.options,g=a.xAxis,l=a.yAxis,n=g.reversed,c,b={},f=0;!1===h.grouping?f=1:B(a.chart.series,function(d){var k=d.options,e=d.yAxis,
h;d.type===a.type&&d.visible&&l.len===e.len&&l.pos===e.pos&&(k.stacking?(c=d.stackKey,void 0===b[c]&&(b[c]=f++),h=b[c]):!1!==k.grouping&&(h=f++),d.columnIndex=h)});var k=Math.min(Math.abs(g.transA)*(g.ordinalSlope||h.pointRange||g.closestPointRange||g.tickInterval||1),g.len),q=k*h.groupPadding,v=(k-2*q)/(f||1),h=Math.min(h.maxPointWidth||g.len,e(h.pointWidth,v*(1-2*h.pointPadding)));a.columnMetrics={width:h,offset:(v-h)/2+(q+((a.columnIndex||0)+(n?1:0))*v-k/2)*(n?-1:1)};return a.columnMetrics},crispCol:function(a,
e,g,l){var d=this.chart,c=this.borderWidth,b=-(c%2?.5:0),c=c%2?.5:1;d.inverted&&d.renderer.isVML&&(c+=1);this.options.crisp&&(g=Math.round(a+g)+b,a=Math.round(a)+b,g-=a);l=Math.round(e+l)+c;b=.5>=Math.abs(e)&&.5<l;e=Math.round(e)+c;l-=e;b&&l&&(--e,l+=1);return{x:a,y:e,width:g,height:l}},translate:function(){var a=this,h=a.chart,g=a.options,l=a.dense=2>a.closestPointRange*a.xAxis.transA,l=a.borderWidth=e(g.borderWidth,l?0:1),n=a.yAxis,c=a.translatedThreshold=n.getThreshold(g.threshold),b=e(g.minPointLength,
5),f=a.getColumnMetrics(),k=f.width,x=a.barW=Math.max(k,1+2*l),v=a.pointXOffset=f.offset;h.inverted&&(c-=.5);g.pointPadding&&(x=Math.ceil(x));q.prototype.translate.apply(a);B(a.points,function(f){var d=e(f.yBottom,c),g=999+Math.abs(d),g=Math.min(Math.max(-g,f.plotY),n.len+g),m=f.plotX+v,l=x,t=Math.min(g,d),q,E=Math.max(g,d)-t;Math.abs(E)<b&&b&&(E=b,q=!n.reversed&&!f.negative||n.reversed&&f.negative,t=Math.abs(t-c)>b?d-b:c-(q?b:0));f.barX=m;f.pointWidth=k;f.tooltipPos=h.inverted?[n.len+n.pos-h.plotLeft-
g,a.xAxis.len-m-l/2,E]:[m+l/2,g+n.pos-h.plotTop,E];f.shapeType="rect";f.shapeArgs=a.crispCol.apply(a,f.isNull?[f.plotX,n.len/2,0,0]:[m,t,l,E])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,e=this.chart,m=e.renderer,l=a.options.animationLimit||250,n;B(a.points,function(c){var b=c.graphic;if(x(c.plotY)&&null!==c.y){n=c.shapeArgs;if(b)b[e.pointCount<
l?"animate":"attr"](g(n));else c.graphic=b=m[c.shapeType](n).add(c.group||a.group);b.addClass(c.getClassName(),!0)}else b&&(c.graphic=b.destroy())})},animate:function(a){var d=this,e=this.yAxis,g=d.options,n=this.chart.inverted,c={};l&&(a?(c.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(g.threshold))),n?c.translateX=a-e.len:c.translateY=a,d.group.attr(c)):(c[n?"translateX":"translateY"]=e.pos,d.group.animate(c,y(u(d.options.animation),{step:function(a,c){d.group.attr({scaleY:Math.max(.001,
c.pos)})}})),d.animate=null))},remove:function(){var a=this,e=a.chart;e.hasRendered&&B(e.series,function(d){d.type===a.type&&(d.isDirty=!0)});q.prototype.remove.apply(a,arguments)}})})(J);(function(a){var u=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},
{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&u.prototype.drawGraph.call(this)}})})(J);(function(a){var u=a.addEvent,B=a.arrayMax,y=a.defined,x=a.each,g=a.extend,e=a.format,q=a.map,n=a.merge,l=a.noop,d=a.pick,h=a.relativeLength,m=a.Series,w=a.seriesTypes,t=a.stableSort;a.distribute=function(a,b){function c(a,b){return a.target-b.target}var d,e=!0,h=a,g=[],m;m=0;for(d=a.length;d--;)m+=
a[d].size;if(m>b){t(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=d=0;m<=b;)m+=a[d].size,d++;g=a.splice(d-1,a.length)}t(a,c);for(a=q(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(d=a.length;d--;)e=a[d],m=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,m-e.size/2),b-e.size);d=a.length;for(e=!1;d--;)0<d&&a[d-1].pos+a[d-1].size>a[d].pos&&(a[d-1].size+=a[d].size,a[d-1].targets=a[d-1].targets.concat(a[d].targets),a[d-1].pos+a[d-1].size>b&&
(a[d-1].pos=b-a[d-1].size),a.splice(d,1),e=!0)}d=0;x(a,function(a){var b=0;x(a.targets,function(){h[d].pos=a.pos+b;b+=h[d].size;d++})});h.push.apply(h,g);t(h,c)};m.prototype.drawDataLabels=function(){var a=this,b=a.options,f=b.dataLabels,k=a.points,h,g,m=a.hasRendered||0,l,t,p=d(f.defer,!0),q=a.chart.renderer;if(f.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(f),t=a.plotGroup("dataLabelsGroup","data-labels",p&&!m?"hidden":"visible",f.zIndex||6),p&&(t.attr({opacity:+m}),m||u(a,
"afterAnimate",function(){a.visible&&t.show(!0);t[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=f,x(k,function(b){var c,k=b.dataLabel,m,p,v,E=b.connector,w=!k;h=b.dlOptions||b.options&&b.options.dataLabels;if(c=d(h&&h.enabled,g.enabled)&&null!==b.y)for(p in f=n(g,h),m=b.getLabelConfig(),l=f.format?e(f.format,m):f.formatter.call(m,f),v=f.rotation,m={r:f.borderRadius||0,rotation:v,padding:f.padding,zIndex:1},m)void 0===m[p]&&delete m[p];!k||c&&y(l)?c&&y(l)&&(k?m.text=l:(k=b.dataLabel=
q[v?"text":"label"](l,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),k.addClass("highcharts-data-label-color-"+b.colorIndex+" "+(f.className||"")+(f.useHTML?"highcharts-tracker":""))),k.attr(m),k.added||k.add(t),a.alignDataLabel(b,k,f,null,w)):(b.dataLabel=k.destroy(),E&&(b.connector=E.destroy()))})};m.prototype.alignDataLabel=function(a,b,f,k,e){var c=this.chart,h=c.inverted,m=d(a.plotX,-9999),l=d(a.plotY,-9999),n=b.getBBox(),t,q=f.rotation,w=f.align,x=this.visible&&(a.series.forceDL||c.isInsidePlot(m,
Math.round(l),h)||k&&c.isInsidePlot(m,h?k.x+1:k.y+k.height-1,h)),r="justify"===d(f.overflow,"justify");x&&(t=c.renderer.fontMetrics(void 0,b).b,k=g({x:h?c.plotWidth-l:m,y:Math.round(h?c.plotHeight-m:l),width:0,height:0},k),g(f,{width:n.width,height:n.height}),q?(r=!1,h=c.renderer.rotCorr(t,q),h={x:k.x+f.x+k.width/2+h.x,y:k.y+f.y+{top:0,middle:.5,bottom:1}[f.verticalAlign]*k.height},b[e?"attr":"animate"](h).attr({align:w}),m=(q+720)%360,m=180<m&&360>m,"left"===w?h.y-=m?n.height:0:"center"===w?(h.x-=
n.width/2,h.y-=n.height/2):"right"===w&&(h.x-=n.width,h.y-=m?0:n.height)):(b.align(f,null,k),h=b.alignAttr),r?a.isLabelJustified=this.justifyDataLabel(b,f,h,n,k,e):d(f.crop,!0)&&(x=c.isInsidePlot(h.x,h.y)&&c.isInsidePlot(h.x+n.width,h.y+n.height)),f.shape&&!q&&b.attr({anchorX:a.plotX,anchorY:a.plotY}));x||(b.attr({y:-9999}),b.placed=!1)};m.prototype.justifyDataLabel=function(a,b,f,d,e,h){var c=this.chart,k=b.align,g=b.verticalAlign,m,l,n=a.box?0:a.padding||0;m=f.x+n;0>m&&("right"===k?b.align="left":
b.x=-m,l=!0);m=f.x+d.width-n;m>c.plotWidth&&("left"===k?b.align="right":b.x=c.plotWidth-m,l=!0);m=f.y+n;0>m&&("bottom"===g?b.verticalAlign="top":b.y=-m,l=!0);m=f.y+d.height-n;m>c.plotHeight&&("top"===g?b.verticalAlign="bottom":b.y=c.plotHeight-m,l=!0);l&&(a.placed=!h,a.align(b,null,e));return l};w.pie&&(w.pie.prototype.drawDataLabels=function(){var c=this,b=c.data,f,k=c.chart,e=c.options.dataLabels,h=d(e.connectorPadding,10),g=d(e.connectorWidth,1),l=k.plotWidth,n=k.plotHeight,p,t=e.distance,w=c.center,
u=w[2]/2,y=w[1],r=0<t,z,O,K,J,Q=[[],[]],M,P,H,L,R=[0,0,0,0];c.visible&&(e.enabled||c._hasPointLabels)&&(x(b,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),m.prototype.drawDataLabels.apply(c),x(b,function(a){a.dataLabel&&a.visible&&(Q[a.half].push(a),a.dataLabel._pos=null)}),x(Q,function(b,d){var g,m,p=b.length,r,v,E;if(p)for(c.sortByAngle(b,d-.5),0<t&&(g=Math.max(0,y-u-t),m=Math.min(y+
u+t,k.plotHeight),r=q(b,function(a){if(a.dataLabel)return E=a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-g+E/2,size:E,rank:a.y}}),a.distribute(r,m+E-g)),L=0;L<p;L++)f=b[L],K=f.labelPos,z=f.dataLabel,H=!1===f.visible?"hidden":"inherit",v=K[1],r?void 0===r[L].pos?H="hidden":(J=r[L].size,P=g+r[L].pos):P=v,M=e.justify?w[0]+(d?-1:1)*(u+t):c.getX(P<g+2||P>m-2?v:P,d),z._attr={visibility:H,align:K[6]},z._pos={x:M+e.x+({left:h,right:-h}[K[6]]||0),y:P+e.y-10},K.x=M,K.y=P,null===c.options.size&&(O=
z.getBBox().width,v=null,M-O<h?(v=Math.round(O-M+h),R[3]=Math.max(v,R[3])):M+O>l-h&&(v=Math.round(M+O-l+h),R[1]=Math.max(v,R[1])),0>P-J/2?R[0]=Math.max(Math.round(-P+J/2),R[0]):P+J/2>n&&(R[2]=Math.max(Math.round(P+J/2-n),R[2])),z.sideOverflow=v)}),0===B(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),r&&g&&x(this.points,function(a){var b;p=a.connector;if((z=a.dataLabel)&&z._pos&&a.visible){H=z._attr.visibility;if(b=!p)a.connector=p=k.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+
a.colorIndex).add(c.dataLabelsGroup);p[b?"attr":"animate"]({d:c.connectorPath(a.labelPos)});p.attr("visibility",H)}else p&&(a.connector=p.destroy())}))},w.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return d(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},w.pie.prototype.placeDataLabels=function(){x(this.points,function(a){var b=a.dataLabel;b&&a.visible&&
((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},w.pie.prototype.alignDataLabel=l,w.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,g,m;null!==d[0]?g=Math.max(b[2]-Math.max(a[1],a[3]),e):(g=Math.max(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2);null!==d[1]?
g=Math.max(Math.min(g,b[2]-Math.max(a[0],a[2])),e):(g=Math.max(Math.min(g,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);g<b[2]?(b[2]=g,b[3]=Math.min(h(c.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):m=!0;return m});w.column&&(w.column.prototype.alignDataLabel=function(a,b,f,e,h){var c=this.chart.inverted,k=a.series,g=a.dlBox||a.shapeArgs,l=d(a.below,a.plotY>d(this.translatedThreshold,k.yAxis.len)),p=d(f.inside,!!this.options.stacking);g&&(e=n(g),0>e.y&&(e.height+=e.y,
e.y=0),g=e.y+e.height-k.yAxis.len,0<g&&(e.height-=g),c&&(e={x:k.yAxis.len-e.y-e.height,y:k.xAxis.len-e.x-e.width,width:e.height,height:e.width}),p||(c?(e.x+=l?0:e.width,e.width=0):(e.y+=l?e.height:0,e.height=0)));f.align=d(f.align,!c||p?"center":l?"right":"left");f.verticalAlign=d(f.verticalAlign,c||p?"middle":l?"top":"bottom");m.prototype.alignDataLabel.call(this,a,b,f,e,h);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(J);(function(a){var u=a.Chart,B=a.each,y=
a.pick,x=a.addEvent;u.prototype.callbacks.push(function(a){function e(){var e=[];B(a.series||[],function(a){var g=a.options.dataLabels,d=a.dataLabelCollections||["dataLabel"];(g.enabled||a._hasPointLabels)&&!g.allowOverlap&&a.visible&&B(d,function(d){B(a.points,function(a){a[d]&&(a[d].labelrank=y(a.labelrank,a.shapeArgs&&a.shapeArgs.height),e.push(a[d]))})})});a.hideOverlappingLabels(e)}e();x(a,"redraw",e)});u.prototype.hideOverlappingLabels=function(a){var e=a.length,g,n,l,d,h,m,w,t,c,b=function(a,
b,c,d,e,h,g,m){return!(e>a+c||e+g<a||h>b+d||h+m<b)};for(n=0;n<e;n++)if(g=a[n])g.oldOpacity=g.opacity,g.newOpacity=1;a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(n=0;n<e;n++)for(l=a[n],g=n+1;g<e;++g)if(d=a[g],l&&d&&l!==d&&l.placed&&d.placed&&0!==l.newOpacity&&0!==d.newOpacity&&(h=l.alignAttr,m=d.alignAttr,w=l.parentGroup,t=d.parentGroup,c=2*(l.box?0:l.padding),h=b(h.x+w.translateX,h.y+w.translateY,l.width-c,l.height-c,m.x+t.translateX,m.y+t.translateY,d.width-c,d.height-c)))(l.labelrank<
d.labelrank?l:d).newOpacity=0;B(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(J);(function(a){var u=a.addEvent,B=a.Chart,y=a.createElement,x=a.css,g=a.defaultOptions,e=a.defaultPlotOptions,q=a.each,n=a.extend,l=a.fireEvent,d=a.hasTouch,h=a.inArray,m=a.isObject,w=a.Legend,t=a.merge,c=a.pick,b=a.Point,f=a.Series,k=a.seriesTypes,I=a.svg;a=a.TrackerMixin=
{drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);if(void 0!==c)c.onMouseOver(a)};q(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||(q(a.trackerGroups,function(f){if(a[f]&&(a[f].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),d))a[f].on("touchstart",c)}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=
this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),f=c.length,e=a.chart,k=e.pointer,h=e.renderer,g=e.options.tooltip.snap,m=a.tracker,l,n=function(){if(e.hoverSeries!==a)a.onMouseOver()},t="rgba(192,192,192,"+(I?.0001:.002)+")";if(f&&!b)for(l=f+1;l--;)"M"===c[l]&&c.splice(l+1,0,c[l+1]-g,c[l+2],"L"),(l&&"M"===c[l]||l===f)&&c.splice(l,0,"L",c[l-2]+g,c[l-1]);m?m.attr({d:c}):a.graph&&(a.tracker=h.path(c).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:t,
fill:b?t:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*g),zIndex:2}).add(a.group),q([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){k.onTrackerMouseOut(a)});if(d)a.on("touchstart",n)}))}};k.column&&(k.column.prototype.drawTracker=a.drawTrackerPoint);k.pie&&(k.pie.prototype.drawTracker=a.drawTrackerPoint);k.scatter&&(k.scatter.prototype.drawTracker=a.drawTrackerPoint);n(w.prototype,{setItemEvents:function(a,b,c){var d=this.chart.renderer.boxWrapper,
f="highcharts-legend-"+(a.series?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");d.addClass(f)}).on("mouseout",function(){d.removeClass(f);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):l(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=y("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,
this.chart.container);u(a.checkbox,"click",function(b){l(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});n(B.prototype,{showResetZoom:function(){var a=this,b=g.lang,c=a.options.chart.resetZoomButton,d=c.theme,f=d.states,e="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,f&&f.hover).attr({align:c.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,
!1,e)},zoomOut:function(){var a=this;l(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,d=this.pointer,f=!1,e;!a||a.resetSelection?q(this.axes,function(a){b=a.zoom()}):q(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(f=!0))});e=this.resetZoomButton;f&&!e?this.showResetZoom():!f&&m(e)&&(this.resetZoomButton=e.destroy());b&&this.redraw(c(this.options.chart.animation,a&&a.animation,100>this.pointCount))},
pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&q(d,function(a){a.setState()});q("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",k=c[d],h=(b.pointRange||0)/2,g=b.getExtremes(),m=b.toValue(k-e,!0)+h,h=b.toValue(k+b.len-e,!0)-h,l=h<m,k=l?h:m,m=l?m:h,l=b.toValue(b.toPixels(g.min)-b.minPixelPadding),h=b.toValue(b.toPixels(g.max)+b.minPixelPadding),l=Math.min(g.dataMin,l)-k,g=m-Math.max(g.dataMax,h);b.series.length&&0>l&&0>
g&&(b.setExtremes(k,m,!1,!1,{trigger:"pan"}),f=!0);c[d]=e});f&&c.redraw(!1);x(c.container,{cursor:"move"})}});n(b.prototype,{select:function(a,b){var d=this,f=d.series,e=f.chart;a=c(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;f.options.data[h(d,f.data)]=d.options;d.setState(a&&"select");b||q(e.getSelectedPoints(),function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,f.options.data[h(a,f.data)]=a.options,a.setState(""),
a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart.pointer;this.firePointEvent("mouseOver");b.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");q(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=t(this.series.options.point,this.options).events,b;this.events=a;for(b in a)u(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,
b){var d=Math.floor(this.plotX),f=this.plotY,k=this.series,h=k.options.states[a]||{},g=e[k.type].marker&&k.options.marker,m=g&&!1===g.enabled,l=g&&g.states&&g.states[a]||{},n=!1===l.enabled,t=k.stateMarkerGraphic,q=this.marker||{},v=k.chart,w=k.halo,x,u=g&&k.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(n||m&&!1===l.enabled)||a&&q.states&&q.states[a]&&!1===q.states[a].enabled)){u&&(x=k.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+
this.state),a&&this.graphic.addClass("highcharts-point-"+a),x&&this.graphic.animate(x,c(v.options.chart.animation,l.animation,g.animation)),t&&t.hide();else{if(a&&l)if(g=q.symbol||k.symbol,t&&t.currentSymbol!==g&&(t=t.destroy()),t)t[b?"animate":"attr"]({x:x.x,y:x.y});else g&&(k.stateMarkerGraphic=t=v.renderer.symbol(g,x.x,x.y,x.width,x.height).add(k.markerGroup),t.currentSymbol=g);t&&(t[a&&v.isInsidePlot(d,f,v.inverted)?"show":"hide"](),t.element.point=this)}(d=h.halo)&&d.size?(w||(k.halo=w=v.renderer.path().add(u?
k.markerGroup:k.group)),w[b?"animate":"attr"]({d:this.haloPath(d.size)}),w.attr({"class":"highcharts-halo highcharts-color-"+c(this.colorIndex,k.colorIndex)}),w.point=this):w&&w.point&&w.point.haloPath&&w.animate({d:w.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});n(f.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&
l(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&l(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;a=a||"";b.state!==a&&(q([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+
a))}),b.state=a)},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,e,k=d.options.chart.ignoreHiddenSeries,h=c.visible;e=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";q(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][e]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&q(d.series,function(a){a.options.stacking&&a.visible&&
(a.isDirty=!0)});q(c.linkedSeries,function(b){b.setVisible(a,!1)});k&&(d.isDirtyBox=!0);!1!==b&&d.redraw();l(c,e)},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);l(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(J);(function(a){var u=a.Chart,B=a.each,y=a.inArray,x=a.isArray,g=a.isObject,e=a.pick,q=a.splat;u.prototype.setResponsive=function(e){var g=this.options.responsive,
d=[],h=this.currentResponsive;g&&g.rules&&B(g.rules,function(h){void 0===h._id&&(h._id=a.uniqueKey());this.matchResponsiveRule(h,d,e)},this);var m=a.merge.apply(0,a.map(d,function(d){return a.find(g.rules,function(a){return a._id===d}).chartOptions})),d=d.toString()||void 0;d!==(h&&h.ruleIds)&&(h&&this.update(h.undoOptions,e),d?(this.currentResponsive={ruleIds:d,mergedOptions:m,undoOptions:this.currentOptions(m)},this.update(m,e)):this.currentResponsive=void 0)};u.prototype.matchResponsiveRule=function(a,
g){var d=a.condition;(d.callback||function(){return this.chartWidth<=e(d.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=e(d.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=e(d.minWidth,0)&&this.chartHeight>=e(d.minHeight,0)}).call(this)&&g.push(a._id)};u.prototype.currentOptions=function(a){function e(a,d,l,n){var c,b;for(c in a)if(!n&&-1<y(c,["series","xAxis","yAxis"]))for(a[c]=q(a[c]),l[c]=[],b=0;b<a[c].length;b++)d[c][b]&&(l[c][b]={},e(a[c][b],d[c][b],l[c][b],n+1));else g(a[c])?(l[c]=x(a[c])?[]:{},
e(a[c],d[c]||{},l[c],n+1)):l[c]=d[c]||null}var d={};e(a,this.options,d,0);return d}})(J);(function(a){var u=a.Axis,B=a.each,y=a.pick;a=a.wrap;a(u.prototype,"getSeriesExtremes",function(a){var g=this.isXAxis,e,q,n=[],l;g&&B(this.series,function(a,e){a.useMapGeometry&&(n[e]=a.xData,a.xData=[])});a.call(this);g&&(e=y(this.dataMin,Number.MAX_VALUE),q=y(this.dataMax,-Number.MAX_VALUE),B(this.series,function(a,h){a.useMapGeometry&&(e=Math.min(e,y(a.minX,e)),q=Math.max(q,y(a.maxX,e)),a.xData=n[h],l=!0)}),
l&&(this.dataMin=e,this.dataMax=q))});a(u.prototype,"setAxisTranslation",function(a){var g=this.chart,e=g.plotWidth/g.plotHeight,g=g.xAxis[0],q;a.call(this);"yAxis"===this.coll&&void 0!==g.transA&&B(this.series,function(a){a.preserveAspectRatio&&(q=!0)});if(q&&(this.transA=g.transA=Math.min(this.transA,g.transA),a=e/((g.max-g.min)/(this.max-this.min)),a=1>a?this:g,e=(a.max-a.min)*a.transA,a.pixelPadding=a.len-e,a.minPixelPadding=a.pixelPadding/2,e=a.fixTo)){e=e[1]-a.toValue(e[0],!0);e*=a.transA;if(Math.abs(e)>
a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)e=0;a.minPixelPadding-=e}});a(u.prototype,"render",function(a){a.call(this);this.fixTo=null})})(J);(function(a){var u=a.Axis,B=a.Chart,y=a.color,x,g=a.each,e=a.extend,q=a.isNumber,n=a.Legend,l=a.LegendSymbolMixin,d=a.noop,h=a.merge,m=a.pick,w=a.wrap;x=a.ColorAxis=function(){this.init.apply(this,arguments)};e(x.prototype,u.prototype);e(x.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,
startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(u.prototype.keepProps),init:function(a,c){var b="vertical"!==a.options.legend.layout,d;this.coll="colorAxis";d=h(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},c,{opposite:!b,showEmpty:!1,title:null});u.prototype.init.call(this,
a,d);c.dataClasses&&this.initDataClasses(c);this.initStops(c);this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,c,b){var d;c.rgba.length&&a.rgba.length?(a=a.rgba,c=c.rgba,d=1!==c[3]||1!==a[3],a=(d?"rgba(":"rgb(")+Math.round(c[0]+(a[0]-c[0])*(1-b))+","+Math.round(c[1]+(a[1]-c[1])*(1-b))+","+Math.round(c[2]+(a[2]-c[2])*(1-b))+(d?","+(c[3]+(a[3]-c[3])*(1-b)):"")+")"):a=c.input||"none";return a},initDataClasses:function(a){var c=this,b,d=0,e=this.chart.options.chart.colorCount,
m=this.options,l=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];g(a.dataClasses,function(a,f){a=h(a);b.push(a);a.color||("category"===m.dataClassColor?(a.colorIndex=d,d++,d===e&&(d=0)):a.color=c.tweenColors(y(m.minColor),y(m.maxColor),2>l?.5:f/(l-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];g(this.stops,function(a){a.color=y(a[1])})},setOptions:function(a){u.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},
setAxisSize:function(){var a=this.legendSymbol,c=this.chart,b=c.options.legend||{},d,e;a?(this.left=b=a.attr("x"),this.top=d=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-b-e,this.bottom=c.chartHeight-d-a,this.len=this.horiz?e:a,this.pos=this.horiz?b:d):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},toColor:function(a,c){var b=this.stops,d,e,h=this.dataClasses,g,m;if(h)for(m=h.length;m--;){if(g=h[m],d=g.from,b=g.to,(void 0===
d||a>=d)&&(void 0===b||a<=b)){e=g.color;c&&(c.dataClass=m,c.colorIndex=g.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(m=b.length;m--&&!(a>b[m][0]););d=b[m]||b[m+1];b=b[m+1]||d;a=1-(b[0]-a)/(b[0]-d[0]||1);e=this.tweenColors(d.color,b.color,a)}return e},getOffset:function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];a&&(this.axisParent=a,u.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=
this.width),this.chart.axisOffset[this.side]=c)},setLegendColor:function(){var a,c=this.options,b=this.reversed;a=b?1:0;b=b?0:1;a=this.horiz?[a,0,b,0]:[0,b,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:c.stops||[[0,c.minColor],[1,c.maxColor]]}},drawLegendSymbol:function(a,c){var b=a.padding,d=a.options,e=this.horiz,h=m(d.symbolWidth,e?this.defaultLegendLength:12),g=m(d.symbolHeight,e?12:this.defaultLegendLength),l=m(d.labelPadding,e?16:30),d=m(d.itemDistance,10);this.setLegendColor();
c.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,h,g).attr({zIndex:1}).add(c.legendGroup);this.legendItemWidth=h+b+(e?d:l);this.legendItemHeight=g+b+(e?l:0)},setState:d,visible:!0,setVisible:d,getSeriesExtremes:function(){var a=this.series,c=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;c--;)void 0!==a[c].valueMin&&(this.dataMin=Math.min(this.dataMin,a[c].valueMin),this.dataMax=Math.max(this.dataMax,a[c].valueMax))},drawCrosshair:function(a,c){var b=c&&c.plotX,d=c&&c.plotY,e,h=
this.pos,g=this.len;c&&(e=this.toPixels(c[c.series.colorKey]),e<h?e=h-2:e>h+g&&(e=h+g+2),c.plotX=e,c.plotY=this.len-e,u.prototype.drawCrosshair.call(this,a,c),c.plotX=b,c.plotY=d,this.cross&&this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup))},getPlotLinePath:function(a,c,b,d,e){return q(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:u.prototype.getPlotLinePath.call(this,a,c,b,d)},update:function(a,
c){var b=this.chart,d=b.legend;g(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&d.allItems&&(g(d.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=h(this.userOptions,a);u.prototype.update.call(this,a,c);this.legendItem&&(this.setLegendColor(),d.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var h=this,c=this.chart,b=this.legendItems,f=c.options.legend,k=f.valueDecimals,m=f.valueSuffix||"",n;b.length||g(this.dataClasses,
function(f,q){var t=!0,p=f.from,w=f.to;n="";void 0===p?n="\x3c ":void 0===w&&(n="\x3e ");void 0!==p&&(n+=a.numberFormat(p,k)+m);void 0!==p&&void 0!==w&&(n+=" - ");void 0!==w&&(n+=a.numberFormat(w,k)+m);b.push(e({chart:c,name:n,options:{},drawLegendSymbol:l.drawRectangle,visible:!0,setState:d,isDataClass:!0,setVisible:function(){t=this.visible=!t;g(h.series,function(a){g(a.points,function(a){a.dataClass===q&&a.setVisible(t)})});c.legend.colorizeItem(this,t)}},f))});return b},name:""});g(["fill","stroke"],
function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,x.prototype.tweenColors(y(this.start),y(this.end),this.pos),null,!0)}});w(B.prototype,"getAxes",function(a){var c=this.options.colorAxis;a.call(this);this.colorAxis=[];c&&new x(this,c)});w(n.prototype,"getAllItems",function(a){var c=[],b=this.chart.colorAxis[0];b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?c=c.concat(b.getDataClassLegendSymbols()):c.push(b)),g(b.series,function(a){a.options.showInLegend=!1}));return c.concat(a.call(this))});
w(n.prototype,"colorizeItem",function(a,c,b){a.call(this,c,b);b&&c.legendColor&&c.legendSymbol.attr({fill:c.legendColor})})})(J);(function(a){var u=a.defined,B=a.each,y=a.noop;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var g=this,e=a?"show":"hide";B(["graphic","dataLabel"],function(a){if(g[a])g[a][e]()})},setState:function(x){a.Point.prototype.setState.call(this,x);this.graphic&&this.graphic.attr({zIndex:"hover"===x?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],
axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:y,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,g=this.options.nullColor,e=this.colorAxis,q=this.colorKey;B(this.data,function(n){var l=n[q];if(l=n.options.color||(n.isNull?g:e&&void 0!==l?e.toColor(l,n):n.color||a.color))n.color=l})},colorAttribs:function(a){var g={};u(a.color)&&(g[this.colorProp||"fill"]=a.color);return g}}})(J);
(function(a){function u(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function B(a){this.init(a)}var y=a.addEvent,x=a.Chart,g=a.doc,e=a.each,q=a.extend,n=a.merge,l=a.pick;a=a.wrap;B.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};B.prototype.update=function(a){var d=this.chart,e=d.options.mapNavigation,g,t,c,b=function(a){this.handler.call(d,a);u(a)},f=d.mapNavButtons;a&&(e=d.options.mapNavigation=n(d.options.mapNavigation,a));for(;f.length;)f.pop().destroy();
if(l(e.enableButtons,e.enabled)&&!d.renderer.forExport)for(g in a=e.buttons,a)a.hasOwnProperty(g)&&(c=n(e.buttonOptions,a[g]),t=d.renderer.button(c.text,0,0,b,void 0,void 0,void 0,0,"zoomIn"===g?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:c.width,height:c.height,title:d.options.lang[g],padding:c.padding,zIndex:5}).add(),t.handler=c.onclick,t.align(q(c,{width:t.width,height:2*t.height}),null,c.alignTo),y(t.element,"dblclick",u),f.push(t));this.updateEvents(e)};B.prototype.updateEvents=
function(a){var d=this.chart;l(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||y(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());l(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||y(d.container,void 0===g.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){d.pointer.onContainerMouseWheel(a);u(a);return!1}):this.unbindMouseWheel&&
(this.unbindMouseWheel=this.unbindMouseWheel())};q(x.prototype,{fitToBox:function(a,h){e([["x","width"],["y","height"]],function(d){var e=d[0];d=d[1];a[e]+a[d]>h[e]+h[d]&&(a[d]>h[d]?(a[d]=h[d],a[e]=h[e]):a[e]=h[e]+h[d]-a[d]);a[d]>h[d]&&(a[d]=h[d]);a[e]<h[e]&&(a[e]=h[e])});return a},mapZoom:function(a,e,g,n,q){var c=this.xAxis[0],b=c.max-c.min,d=l(e,c.min+b/2),k=b*a,b=this.yAxis[0],h=b.max-b.min,m=l(g,b.min+h/2),h=h*a,d=this.fitToBox({x:d-k*(n?(n-c.pos)/c.len:.5),y:m-h*(q?(q-b.pos)/b.len:.5),width:k,
height:h},{x:c.dataMin,y:b.dataMin,width:c.dataMax-c.dataMin,height:b.dataMax-b.dataMin}),k=d.x<=c.dataMin&&d.width>=c.dataMax-c.dataMin&&d.y<=b.dataMin&&d.height>=b.dataMax-b.dataMin;n&&(c.fixTo=[n-c.pos,e]);q&&(b.fixTo=[q-b.pos,g]);void 0===a||k?(c.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(c.setExtremes(d.x,d.x+d.width,!1),b.setExtremes(d.y,d.y+d.height,!1));this.redraw()}});a(x.prototype,"render",function(a){this.mapNavigation=new B(this);this.mapNavigation.update();a.call(this)})})(J);
(function(a){var u=a.extend,B=a.pick,y=a.Pointer;a=a.wrap;u(y.prototype,{onContainerDblClick:function(a){var g=this.chart;a=this.normalize(a);g.options.mapNavigation.enableDoubleClickZoomTo?g.pointer.inClass(a.target,"highcharts-tracker")&&g.hoverPoint&&g.hoverPoint.zoomTo():g.isInsidePlot(a.chartX-g.plotLeft,a.chartY-g.plotTop)&&g.mapZoom(.5,g.xAxis[0].toValue(a.chartX),g.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var g=this.chart,e;a=this.normalize(a);e=a.detail||
-(a.wheelDelta/120);g.isInsidePlot(a.chartX-g.plotLeft,a.chartY-g.plotTop)&&g.mapZoom(Math.pow(g.options.mapNavigation.mouseWheelSensitivity,e),g.xAxis[0].toValue(a.chartX),g.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(y.prototype,"zoomOption",function(a){var g=this.chart.options.mapNavigation;B(g.enableTouchZoom,g.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(y.prototype,"pinchTranslate",function(a,g,e,q,n,l,d){a.call(this,g,e,q,n,l,d);"map"===
this.chart.options.chart.type&&this.hasZoom&&(a=q.scaleX>q.scaleY,this.pinchTranslateDirection(!a,g,e,q,n,l,d,a?q.scaleX:q.scaleY))})})(J);(function(a){var u=a.colorPointMixin,B=a.each,y=a.extend,x=a.isNumber,g=a.map,e=a.merge,q=a.noop,n=a.pick,l=a.isArray,d=a.Point,h=a.Series,m=a.seriesType,w=a.seriesTypes,t=a.splat,c=void 0!==a.doc.documentElement.style.vectorEffect;m("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:{brightness:.2,halo:null},select:{color:"#cccccc"}}},e(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:q,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],
getBox:function(b){var c=Number.MAX_VALUE,d=-c,e=c,h=-c,g=c,m=c,l=this.xAxis,p=this.yAxis,q;B(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var f=b.path||[],k=f.length,l=!1,p=-c,t=c,w=-c,v=c,u=b.properties;if(!b._foundBox){for(;k--;)x(f[k])&&(l?(p=Math.max(p,f[k]),t=Math.min(t,f[k])):(w=Math.max(w,f[k]),v=Math.min(v,f[k])),l=!l);b._midX=t+(p-t)*(b.middleX||u&&u["hc-middle-x"]||.5);b._midY=v+(w-v)*(b.middleY||u&&u["hc-middle-y"]||.5);b._maxX=p;b._minX=t;b._maxY=
w;b._minY=v;b.labelrank=n(b.labelrank,(p-t)*(w-v));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);h=Math.max(h,b._maxY);g=Math.min(g,b._minY);m=Math.min(b._maxX-b._minX,b._maxY-b._minY,m);q=!0}});q&&(this.minY=Math.min(g,n(this.minY,c)),this.maxY=Math.max(h,n(this.maxY,-c)),this.minX=Math.min(e,n(this.minX,c)),this.maxX=Math.max(d,n(this.maxX,-c)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*m,(this.maxX-this.minX)/5,l.minRange||c)),p&&void 0===p.options.minRange&&(p.minRange=
Math.min(5*m,(this.maxY-this.minY)/5,p.minRange||c)))},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,d=this.yAxis,e=c.min,h=c.transA,c=c.minPixelPadding,g=d.min,m=d.transA,d=d.minPixelPadding,l,n=[];if(a)for(l=a.length;l--;)x(a[l])?(n[l]=b?(a[l]-e)*h+c:
(a[l]-g)*m+d,b=!b):n[l]=a[l];return n},setData:function(b,c,d,m){var f=this.options,k=this.chart.options.chart,n=k&&k.map,q=f.mapData,p=f.joinBy,w=null===p,u=f.keys||this.pointArrayMap,y=[],F={},r,z=this.chart.mapTransforms;!q&&n&&(q="string"===typeof n?a.maps[n]:n);w&&(p="_i");p=this.joinBy=t(p);p[1]||(p[1]=p[0]);b&&B(b,function(a,c){var d=0;if(x(a))b[c]={value:a};else if(l(a)){b[c]={};!f.keys&&a.length>u.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++d);for(var e=0;e<u.length;++e,++d)u[e]&&
(b[c][u[e]]=a[d])}w&&(b[c]._i=c)});this.getBox(b);if(this.chart.mapTransforms=z=k&&k.mapTransforms||q&&q["hc-transform"]||z)for(r in z)z.hasOwnProperty(r)&&r.rotation&&(r.cosAngle=Math.cos(r.rotation),r.sinAngle=Math.sin(r.rotation));if(q){"FeatureCollection"===q.type&&(this.mapTitle=q.title,q=a.geojson(q,this.type,this));this.mapData=q;this.mapMap={};for(r=0;r<q.length;r++)k=q[r],n=k.properties,k._i=r,p[0]&&n&&n[p[0]]&&(k[p[0]]=n[p[0]]),F[k[p[0]]]=k;this.mapMap=F;b&&p[1]&&B(b,function(a){F[a[p[1]]]&&
y.push(F[a[p[1]]])});f.allAreas?(this.getBox(q),b=b||[],p[1]&&B(b,function(a){y.push(a[p[1]])}),y="|"+g(y,function(a){return a&&a[p[0]]}).join("|")+"|",B(q,function(a){p[0]&&-1!==y.indexOf("|"+a[p[0]]+"|")||(b.push(e(a,{value:null})),m=!1)})):this.getBox(y)}h.prototype.setData.call(this,b,c,d,m)},drawGraph:q,drawDataLabels:q,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,c=a.xAxis,d=a.yAxis,e=a.doFullTranslate();
a.generatePoints();B(a.data,function(b){b.plotX=c.toPixels(b._midX,!0);b.plotY=d.toPixels(b._midY,!0);e&&(b.shapeType="path",b.shapeArgs={d:a.translatePath(b.path)})});a.translateColors()},pointAttribs:function(a,d){d=this.colorAttribs(a);a.isFading&&delete d.fill;c?d["vector-effect"]="non-scaling-stroke":d["stroke-width"]="inherit";return d},drawPoints:function(){var a=this,d=a.xAxis,e=a.yAxis,h=a.group,g=a.chart,m=g.renderer,l,n,p,q,t=this.baseTrans,u,x,r,z,y;a.transformGroup||(a.transformGroup=
m.g().attr({scaleX:1,scaleY:1}).add(h),a.transformGroup.survive=!0);a.doFullTranslate()?(a.group=a.transformGroup,w.column.prototype.drawPoints.apply(a),a.group=h,B(a.points,function(b){b.graphic&&(b.name&&b.graphic.addClass("highcharts-name-"+b.name.replace(/ /g,"-").toLowerCase()),b.properties&&b.properties["hc-key"]&&b.graphic.addClass("highcharts-key-"+b.properties["hc-key"].toLowerCase()),b.graphic.css(a.pointAttribs(b,b.selected&&"select")))}),this.baseTrans={originX:d.min-d.minPixelPadding/
d.transA,originY:e.min-e.minPixelPadding/e.transA+(e.reversed?0:e.len/e.transA),transAX:d.transA,transAY:e.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(l=d.transA/t.transAX,n=e.transA/t.transAY,p=d.toPixels(t.originX,!0),q=e.toPixels(t.originY,!0),.99<l&&1.01>l&&.99<n&&1.01>n&&(n=l=1,p=Math.round(p),q=Math.round(q)),u=this.transformGroup,g.renderer.globalAnimation?(x=u.attr("translateX"),r=u.attr("translateY"),z=u.attr("scaleX"),y=u.attr("scaleY"),u.attr({animator:0}).animate({animator:1},
{step:function(a,b){u.attr({translateX:x+(p-x)*b.pos,translateY:r+(q-r)*b.pos,scaleX:z+(l-z)*b.pos,scaleY:y+(n-y)*b.pos})}})):u.attr({translateX:p,translateY:q,scaleX:l,scaleY:n}));c||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/(l||1));this.drawMapDataLabels()},drawMapDataLabels:function(){h.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=
this,c=h.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){c.call(a)}):c.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,e=this.yAxis,h=d.pos,g=e.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:h+d.len/2,translateY:g+e.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:h,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],d=c.bBox,e=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},B(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){w.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){w.column.prototype.animateDrillupTo.call(this,
a)}}),y({applyOptions:function(a,c){a=d.prototype.applyOptions.call(this,a,c);c=this.series;var b=c.joinBy;c.mapData&&((b=void 0!==a[b[1]]&&c.mapMap[a[b[1]]])?(c.xyFromShape&&(a.x=b._midX,a.y=b._midY),y(a,b)):a.value=a.value||null);return a},onMouseOver:function(a){clearTimeout(this.colorInterval);if(null!==this.value)d.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},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()}},u))})(J);(function(a){var u=a.seriesType;u("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(J);(function(a){var u=a.merge,B=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,x){a=void 0!==a.lat&&void 0!==a.lon?u(a,this.series.chart.fromLatLonToPoint(a)):
a;return B.prototype.applyOptions.call(this,a,x)}})})(J);(function(a){var u=a.arrayMax,B=a.arrayMin,y=a.Axis,x=a.each,g=a.isNumber,e=a.noop,q=a.pick,n=a.pInt,l=a.Point,d=a.seriesType,h=a.seriesTypes;d("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},
turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["markerGroup","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(a,d,e,c){var b,f,h,g=this.zData,l=[],m=this.options,n="width"!==m.sizeBy,q=m.zThreshold,p=d-a;f=0;for(b=g.length;f<b;f++)h=g[f],m.sizeByAbsoluteValue&&null!==h&&(h=Math.abs(h-q),d=Math.max(d-q,Math.abs(a-q)),a=0),null===h?h=null:h<a?h=e/2-1:(h=0<p?(h-a)/p:.5,n&&0<=h&&(h=Math.sqrt(h)),h=Math.ceil(e+
h*(c-e))/2),l.push(h);this.radii=l},animate:function(a){var d=this.options.animation;a||(x(this.points,function(a){var c=a.graphic,b;c&&c.width&&(b={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,y:a.plotY,width:1,height:1}),c.animate(b,d))}),this.animate=null)},translate:function(){var d,e=this.data,l,c,b=this.radii;h.scatter.prototype.translate.call(this);for(d=e.length;d--;)l=e[d],c=b?b[d]:0,g(c)&&c>=this.minPxSize/2?(l.marker=a.extend(l.marker,{radius:c,width:2*c,height:2*c}),l.dlBox=
{x:l.plotX-c,y:l.plotY-c,width:2*c,height:2*c}):l.shapeArgs=l.plotY=l.dlBox=void 0},alignDataLabel:h.column.prototype.alignDataLabel,buildKDTree:e,applyZones:e},{haloPath:function(a){return l.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});y.prototype.beforePadding=function(){var a=this,d=this.len,e=this.chart,c=0,b=d,f=this.isXAxis,h=f?"xData":"yData",l=this.min,v={},y=Math.min(e.plotWidth,e.plotHeight),G=Number.MAX_VALUE,D=-Number.MAX_VALUE,p=this.max-
l,C=d/p,A=[];x(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&e.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,A.push(b),f&&(x(["minSize","maxSize"],function(a){var b=c[a],d=/%$/.test(b),b=n(b);v[a]=d?y*b/100:b}),b.minPxSize=v.minSize,b.maxPxSize=Math.max(v.maxSize,v.minSize),b=b.zData,b.length&&(G=q(c.zMin,Math.min(G,Math.max(B(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),D=q(c.zMax,Math.max(D,u(b))))))});x(A,function(d){var e=d[h],k=e.length,m;f&&
d.getRadii(G,D,d.minPxSize,d.maxPxSize);if(0<p)for(;k--;)g(e[k])&&a.dataMin<=e[k]&&e[k]<=a.dataMax&&(m=d.radii[k],c=Math.min((e[k]-l)*C-m,c),b=Math.max((e[k]-l)*C+m,b))});A.length&&0<p&&!this.isLog&&(b-=d,C*=(d+c-b)/d,x([["min","userMin",c],["max","userMax",b]],function(b){void 0===q(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/C)}))}})(J);(function(a){var u=a.merge,B=a.Point,y=a.seriesType,x=a.seriesTypes;x.bubble&&y("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},
{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:x.map.prototype.getMapData,getBox:x.map.prototype.getBox,setData:x.map.prototype.setData},{applyOptions:function(a,e){return a&&void 0!==a.lat&&void 0!==a.lon?B.prototype.applyOptions.call(this,u(a,this.series.chart.fromLatLonToPoint(a)),e):x.map.prototype.pointClass.prototype.applyOptions.call(this,a,e)},ttBelow:!1})})(J);(function(a){var u=a.colorPointMixin,B=a.each,y=a.merge,x=a.noop,g=a.pick,e=a.Series,q=a.seriesType,n=a.seriesTypes;
q("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},y(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;n.scatter.prototype.init.apply(this,
arguments);a=this.options;a.pointRange=g(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,d=this.xAxis,e=this.yAxis,g=function(a,d,c){return Math.min(Math.max(d,a),c)};this.generatePoints();B(this.points,function(h){var l=(a.colsize||1)/2,c=(a.rowsize||1)/2,b=g(Math.round(d.len-d.translate(h.x-l,0,1,0,1)),-d.len,2*d.len),l=g(Math.round(d.len-d.translate(h.x+l,0,1,0,1)),-d.len,2*d.len),f=g(Math.round(e.translate(h.y-c,0,1,0,1)),-e.len,2*e.len),
c=g(Math.round(e.translate(h.y+c,0,1,0,1)),-e.len,2*e.len);h.plotX=h.clientX=(b+l)/2;h.plotY=(f+c)/2;h.shapeType="rect";h.shapeArgs={x:Math.min(b,l),y:Math.min(f,c),width:Math.abs(l-b),height:Math.abs(c-f)}});this.translateColors()},drawPoints:function(){n.column.prototype.drawPoints.call(this);B(this.points,function(a){a.graphic.css(this.colorAttribs(a))},this)},animate:x,getBox:x,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:n.column.prototype.alignDataLabel,getExtremes:function(){e.prototype.getExtremes.call(this,
this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;e.prototype.getExtremes.call(this)}}),u)})(J);(function(a){function u(a,d){var e,g,l,n=!1,c=a.x,b=a.y;a=0;for(e=d.length-1;a<d.length;e=a++)g=d[a][1]>b,l=d[e][1]>b,g!==l&&c<(d[e][0]-d[a][0])*(b-d[a][1])/(d[e][1]-d[a][1])+d[a][0]&&(n=!n);return n}var B=a.Chart,y=a.each,x=a.extend,g=a.format,e=a.merge,q=a.win,n=a.wrap;B.prototype.transformFromLatLon=function(e,d){if(void 0===q.proj4)return a.error(21),{x:0,y:null};e=q.proj4(d.crs,
[e.lon,e.lat]);var h=d.cosAngle||d.rotation&&Math.cos(d.rotation),g=d.sinAngle||d.rotation&&Math.sin(d.rotation);e=d.rotation?[e[0]*h+e[1]*g,-e[0]*g+e[1]*h]:e;return{x:((e[0]-(d.xoffset||0))*(d.scale||1)+(d.xpan||0))*(d.jsonres||1)+(d.jsonmarginX||0),y:(((d.yoffset||0)-e[1])*(d.scale||1)+(d.ypan||0))*(d.jsonres||1)-(d.jsonmarginY||0)}};B.prototype.transformToLatLon=function(e,d){if(void 0===q.proj4)a.error(21);else{e={x:((e.x-(d.jsonmarginX||0))/(d.jsonres||1)-(d.xpan||0))/(d.scale||1)+(d.xoffset||
0),y:((-e.y-(d.jsonmarginY||0))/(d.jsonres||1)+(d.ypan||0))/(d.scale||1)+(d.yoffset||0)};var h=d.cosAngle||d.rotation&&Math.cos(d.rotation),g=d.sinAngle||d.rotation&&Math.sin(d.rotation);d=q.proj4(d.crs,"WGS84",d.rotation?{x:e.x*h+e.y*-g,y:e.x*g+e.y*h}:e);return{lat:d.y,lon:d.x}}};B.prototype.fromPointToLatLon=function(e){var d=this.mapTransforms,h;if(d){for(h in d)if(d.hasOwnProperty(h)&&d[h].hitZone&&u({x:e.x,y:-e.y},d[h].hitZone.coordinates[0]))return this.transformToLatLon(e,d[h]);return this.transformToLatLon(e,
d["default"])}a.error(22)};B.prototype.fromLatLonToPoint=function(e){var d=this.mapTransforms,h,g;if(!d)return a.error(22),{x:0,y:null};for(h in d)if(d.hasOwnProperty(h)&&d[h].hitZone&&(g=this.transformFromLatLon(e,d[h]),u({x:g.x,y:-g.y},d[h].hitZone.coordinates[0])))return g;return this.transformFromLatLon(e,d["default"])};a.geojson=function(a,d,e){var h=[],l=[],n=function(a){var b,c=a.length;l.push("M");for(b=0;b<c;b++)1===b&&l.push("L"),l.push(a[b][0],-a[b][1])};d=d||"map";y(a.features,function(a){var b=
a.geometry,c=b.type,b=b.coordinates;a=a.properties;var e;l=[];"map"===d||"mapbubble"===d?("Polygon"===c?(y(b,n),l.push("Z")):"MultiPolygon"===c&&(y(b,function(a){y(a,n)}),l.push("Z")),l.length&&(e={path:l})):"mapline"===d?("LineString"===c?n(b):"MultiLineString"===c&&y(b,n),l.length&&(e={path:l})):"mappoint"===d&&"Point"===c&&(e={x:b[0],y:-b[1]});e&&h.push(x(e,{name:a.name||a.NAME,properties:a}))});e&&a.copyrightShort&&(e.chart.mapCredits=g(e.chart.options.credits.mapText,{geojson:a}),e.chart.mapCreditsFull=
g(e.chart.options.credits.mapTextFull,{geojson:a}));return h};n(B.prototype,"addCredits",function(a,d){d=e(!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 u(a,d,e,g,c,b,f,k){return["M",a+c,d,"L",a+e-b,d,"C",a+e-b/2,d,a+e,d+b/2,a+e,d+b,"L",a+e,d+g-f,"C",a+e,d+g-f/2,a+e-f/2,d+g,a+e-f,d+g,"L",a+k,d+g,"C",a+k/2,d+g,a,d+g-k/2,a,d+g-k,"L",a,d+c,"C",a,d+c/2,a+c/2,d,a+c,
d,"Z"]}var B=a.Chart,y=a.defaultOptions,x=a.each,g=a.extend,e=a.merge,q=a.pick,n=a.Renderer,l=a.SVGRenderer,d=a.VMLRenderer;g(y.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});y.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g,
" $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));return a};a.maps={};l.prototype.symbols.topbutton=function(a,d,e,g,c){return u(a-1,d-1,e,g,c.r,c.r,0,0)};l.prototype.symbols.bottombutton=function(a,d,e,g,c){return u(a-1,d-1,e,g,0,0,c.r,c.r)};n===d&&x(["topbutton","bottombutton"],function(a){d.prototype.symbols[a]=l.prototype.symbols[a]});a.Map=a.mapChart=function(d,g,l){var h="string"===typeof d||d.nodeName,
c=arguments[h?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},f,k=a.getOptions().credits;f=c.series;c.series=null;c=e({chart:{panning:"xy",type:"map"},credits:{mapText:q(k.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:q(k.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:e(b,{reversed:!0})},c,{chart:{inverted:!1,alignTicks:!1}});c.series=f;return h?new B(d,c,l):new B(c,g)}})(J);return J});
