/*
 Highmaps JS v5.0.0 (2016-09-29)

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