(function(n,t){"object"==typeof module&&module.exports?(t["default"]=t,module.exports=n.document?t(n):t):"function"==typeof define&&define.amd?define("highcharts/highmaps",function(){return t(n)}):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=t(n))})("undefined"!=typeof window?window:this,function(n){function i(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}var t={};return i(t,"parts/Globals.js",[],function(){var i="undefined"!=typeof n?n:"undefined"!=typeof window?window:{},r=i.document,t=i.navigator&&i.navigator.userAgent||"",e=r&&r.createElementNS&&!!r.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,o=/(edge|msie|trident)/i.test(t)&&!i.opera,u=-1!==t.indexOf("Firefox"),f=-1!==t.indexOf("Chrome"),s=u&&4>parseInt(t.split("Firefox/")[1],10);return{product:"Highcharts",version:"8.1.2",deg2rad:Math.PI/180,doc:r,hasBidiBug:s,hasTouch:!!i.TouchEvent,isMS:o,isWebKit:-1!==t.indexOf("AppleWebKit"),isFirefox:u,isChrome:f,isSafari:!f&&-1!==t.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(t),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:e,win:i,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}}),i(t,"parts/Utilities.js",[t["parts/Globals.js"]],function(n){function t(n,r,f,e){var h=r?"Highcharts error":"Highcharts warning",c,o,l;32===n&&(n=h+": Deprecated member");c=s(n);o=c?h+" #"+n+": www.highcharts.com/errors/"+n+"/":n.toString();h=function(){if(r)throw Error(o);u.console&&-1===t.messages.indexOf(o)&&console.log(o)};"undefined"!=typeof e&&(l="",c&&(o+="?"),i(e,function(n,t){l+="\n - "+t+": "+n;c&&(o+=encodeURI(t)+"="+encodeURI(n))}),o+=l);f?ot(f,"displayError",{code:n,message:o,params:e},h):h();t.messages.push(o)}function f(){var t,n=arguments,r={},u=function(n,t){return"object"!=typeof n&&(n={}),i(t,function(i,r){n[r]=!e(i,!0)||nt(i)||p(i)?t[r]:u(n[r]||{},i)}),n},f;for(!0===n[0]&&(r=n[1],n=Array.prototype.slice.call(n,2)),f=n.length,t=0;t<f;t++)r=u(r,n[t]);return r}function e(n,t){return!!n&&"object"==typeof n&&(!t||!c(n))}function l(n,t,r){var u;return y(t)?w(r)?n.setAttribute(t,r):n&&n.getAttribute&&((u=n.getAttribute(t))||"class"!==t||(u=n.getAttribute(t+"Name"))):i(t,function(t,i){n.setAttribute(i,t)}),u}function r(){for(var n,i=arguments,r=i.length,t=0;t<r;t++)if(n=i[t],"undefined"!=typeof n&&null!==n)return n}function g(n,t){if(!n)return t;var i=n.split(".").reverse();if(1===i.length)return t[n];for(n=i.pop();"undefined"!=typeof n&&"undefined"!=typeof t&&null!==t;)t=t[n],n=i.pop();return t}var a;n.timers=[];var ht=n.charts,h=n.doc,u=n.win;(t||(t={})).messages=[];n.error=t;a=function(){function t(n,t,i){this.options=t;this.elem=n;this.prop=i}return t.prototype.dSetter=function(){var n=this.paths,o=n&&n[0],i,u,r,f,e;if(n=n&&n[1],i=[],u=this.now||0,1!==u&&o&&n)if(o.length===n.length&&1>u)for(r=0;r<n.length;r++){for(var c=o[r],s=n[r],h=[],t=0;t<s.length;t++)f=c[t],e=s[t],h[t]="number"==typeof f&&"number"==typeof e&&("A"!==s[0]||4!==t&&5!==t)?f+u*(e-f):e;i.push(h)}else i=n;else i=this.toD||[];this.elem.attr("d",i,void 0,!0)},t.prototype.update=function(){var n=this.elem,t=this.prop,i=this.now,r=this.options.step;this[t+"Setter"]?this[t+"Setter"]():n.attr?n.element&&n.attr(t,i,null,!0):n.style[t]=i+this.unit;r&&r.call(n,i,this)},t.prototype.run=function(t,i,r){var o=this,e=o.options,f=function(n){return f.stopped?!1:o.step(n)},s=u.requestAnimationFrame||function(n){setTimeout(n,13)},h=function(){for(var t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&s(h)};t!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=i,this.unit=r,this.now=this.start,this.pos=0,f.elem=this.elem,f.prop=this.prop,f()&&1===n.timers.push(f)&&s(h)):(delete e.curAnim[this.prop],e.complete&&0===Object.keys(e.curAnim).length&&e.complete.call(this.elem))},t.prototype.step=function(n){var f=+new Date,t=this.options,r=this.elem,e=t.complete,o=t.duration,s=t.curAnim,u;return r.attr&&!r.element?n=!1:n||f>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=s[this.prop]=!0,i(s,function(n){!0!==n&&(u=!1)}),u&&e&&e.call(r),n=!1):(this.pos=t.easing((f-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0),n},t.prototype.initPath=function(n,t,i){function c(n,t){for(;n.length<h;){var i=n[0],r=t[h-n.length];r&&"M"===i[0]&&(n[0]="C"===r[0]?["C",i[1],i[2],i[1],i[2],i[1],i[2]]:["L",i[1],i[2]]);n.unshift(i);e&&n.push(n[n.length-1])}}function l(n,t){for(;n.length<h;)if(t=n[n.length/o-1].slice(),"C"===t[0]&&(t[1]=t[5],t[2]=t[6]),e){var i=n[n.length/o].slice();n.splice(n.length/2,0,t,i)}else n.push(t)}var r=n.startX,u=n.endX,e,o,f,a,h;if(t=t&&t.slice(),i=i.slice(),e=n.isArea,o=e?2:1,!t)return[i,i];if(r&&u){for(n=0;n<r.length;n++)if(r[n]===u[0]){f=n;break}else if(r[0]===u[u.length-r.length+n]){f=n;a=!0;break}else if(r[r.length-1]===u[u.length-r.length+n]){f=r.length-n;break}"undefined"==typeof f&&(t=[])}return t.length&&s(f)&&(h=i.length+f*o,a?(c(t,i),l(i,t)):(c(i,t),l(t,i))),[t,i]},t.prototype.fillSetter=function(){t.prototype.strokeSetter.apply(this,arguments)},t.prototype.strokeSetter=function(){this.elem.attr(this.prop,n.color(this.start).tweenTo(n.color(this.end),this.pos),null,!0)},t}();n.Fx=a;n.merge=f;var v=n.pInt=function(n,t){return parseInt(n,t||10)},y=n.isString=function(n){return"string"==typeof n},c=n.isArray=function(n){return n=Object.prototype.toString.call(n),"[object Array]"===n||"[object Array Iterator]"===n};n.isObject=e;var p=n.isDOMElement=function(n){return e(n)&&"number"==typeof n.nodeType},nt=n.isClass=function(n){var t=n&&n.constructor;return!(!e(n,!0)||p(n)||!t||!t.name||"Object"===t.name)},s=n.isNumber=function(n){return"number"==typeof n&&!isNaN(n)&&Infinity>n&&-Infinity<n},ct=n.erase=function(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}},w=n.defined=function(n){return"undefined"!=typeof n&&null!==n};n.attr=l;var lt=n.splat=function(n){return c(n)?n:[n]},at=n.syncTimeout=function(n,t,i){return 0<t?setTimeout(n,t,i):(n.call(0,i),-1)},vt=n.clearTimeout=function(n){w(n)&&clearTimeout(n)},o=n.extend=function(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n};n.pick=r;var b=n.css=function(t,i){n.isMS&&!n.svg&&i&&"undefined"!=typeof i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")");o(t.style,i)},tt=n.createElement=function(n,t,i,r,u){return n=h.createElement(n),t&&o(n,t),u&&b(n,{padding:"0",border:"none",margin:"0"}),i&&b(n,i),r&&r.appendChild(n),n},k=n.extendClass=function(n,t){var i=function(){};return i.prototype=new n,o(i.prototype,t),i},yt=n.pad=function(n,t,i){return Array((t||2)+1-String(n).replace("-","").length).join(i||"0")+n},pt=n.relativeLength=function(n,t,i){return/%$/.test(n)?t*parseFloat(n)/100+(i||0):parseFloat(n)},wt=n.wrap=function(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments),u=arguments,t=this;return t.proceed=function(){r.apply(t,arguments.length?arguments:u)},n.unshift(r),n=i.apply(this,n),t.proceed=null,n}},bt=n.format=function(t,i,r){var f="{",s=!1,e=[],h=n.defaultOptions.lang,l=r&&r.time||n.time,o,u,c;for(r=r&&r.numberFormatter||rt;t;){if(o=t.indexOf(f),-1===o)break;u=t.slice(0,o);s?(u=u.split(":"),f=g(u.shift()||"",i),u.length&&"number"==typeof f&&((u=u.join(":"),/f$/.test(u))?(c=parseInt((u.match(/\.([0-9])/)||["","-1"])[1],10),null!==f&&(f=r(f,c,h.decimalPoint,-1<u.indexOf(",")?h.thousandsSep:""))):f=l.dateFormat(u,f)),e.push(f)):e.push(u);t=t.slice(o+1);f=(s=!s)?"}":"{"}return e.push(t),e.join("")},kt=n.getMagnitude=function(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))},dt=n.normalizeTickInterval=function(n,t,i,u,f){var e=n,o;for(i=r(i,1),o=n/i,t||(t=f?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===i?t=t.filter(function(n){return 0==n%1}):.1>=i&&(t=[1/i]))),u=0;u<t.length&&!(e=t[u],f&&e*i>=n||!f&&o<=(t[u]+(t[u+1]||t[u]))/2);u++);return it(e*i,-Math.round(Math.log(.001)/Math.LN10))},gt=n.stableSort=function(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].safeI=i;for(n.sort(function(n,i){return r=t(n,i),0===r?n.safeI-i.safeI:r}),i=0;i<u;i++)delete n[i].safeI},ni=n.arrayMin=function(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i},ti=n.arrayMax=function(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i},ii=n.destroyObjectProperties=function(n,t){i(n,function(i,r){i&&i!==t&&i.destroy&&i.destroy();delete n[r]})},ri=n.discardElement=function(t){var i=n.garbageBin;i||(i=tt("div"));t&&i.appendChild(t);i.innerHTML=""},it=n.correctFloat=function(n,t){return parseFloat(n.toPrecision(t||14))},ui=n.setAnimation=function(n,t){t.renderer.globalAnimation=r(n,t.options.chart.animation,!0)},fi=n.animObject=function(n){return e(n)?f(n):{duration:n?500:0}},ei=n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},rt=n.numberFormat=function(t,i,u,f){var o,c;t=+t||0;i=+i;var l=n.defaultOptions.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,e=t.toString().split("e");return-1===i?i=Math.min(h,20):s(i)?i&&e[1]&&0>e[1]&&(o=i+ +e[1],0<=o?(e[0]=(+e[0]).toExponential(o).split("e")[0],i=o):(e[0]=e[0].split(".")[0]||0,t=20>i?(e[0]*Math.pow(10,e[1])).toFixed(i):0,e[1]=0)):i=2,c=(Math.abs(e[1]?e[0]:t)+Math.pow(10,-Math.max(i,h)-1)).toFixed(i),h=String(v(c)),o=3<h.length?h.length%3:0,u=r(u,l.decimalPoint),f=r(f,l.thousandsSep),t=(0>t?"-":"")+(o?h.substr(0,o)+f:""),t+=h.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+f),i&&(t+=u+c.slice(-i)),e[1]&&0!=+t&&(t+="e"+e[1]),t};Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};var ut=n.getStyle=function(i,f,e){return"width"===f?(f=Math.min(i.offsetWidth,i.scrollWidth),e=i.getBoundingClientRect&&i.getBoundingClientRect().width,e<f&&e>=f-1&&(f=Math.floor(e)),Math.max(0,f-n.getStyle(i,"padding-left")-n.getStyle(i,"padding-right"))):"height"===f?Math.max(0,Math.min(i.offsetHeight,i.scrollHeight)-n.getStyle(i,"padding-top")-n.getStyle(i,"padding-bottom")):(u.getComputedStyle||t(27,!0),(i=u.getComputedStyle(i,void 0))&&(i=i.getPropertyValue(f),r(e,"opacity"!==f)&&(i=v(i))),i)},oi=n.inArray=function(n,i,r){return t(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(n,r)},si=n.find=Array.prototype.find?function(n,t){return n.find(t)}:function(n,t){for(var r=n.length,i=0;i<r;i++)if(t(n[i],i))return n[i]};n.keys=function(n){return t(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(n)};var hi=n.offset=function(n){var t=h.documentElement;return n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0},{top:n.top+(u.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(u.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}},ft=n.stop=function(t,i){for(var r=n.timers.length;r--;)n.timers[r].elem!==t||i&&i!==n.timers[r].prop||(n.timers[r].stopped=!0)},i=n.objectEach=function(n,t,i){for(var r in n)Object.hasOwnProperty.call(n,r)&&t.call(i||n[r],n[r],r,n)};i({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,r){n[r]=function(n){var u;return t(32,!1,void 0,(u={},u["Highcharts."+r]="use Array."+i,u)),Array.prototype[i].apply(n,[].slice.call(arguments,1))}});var ci=n.addEvent=function(t,i,r,u){void 0===u&&(u={});var e=t.addEventListener||n.addEventListenerPolyfill,f="function"==typeof t&&t.prototype?t.prototype.protoEvents=t.prototype.protoEvents||{}:t.hcEvents=t.hcEvents||{};return n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),e&&e.call(t,i,r,!1),f[i]||(f[i]=[]),f[i].push({fn:r,order:"number"==typeof u.order?u.order:Infinity}),f[i].sort(function(n,t){return n.order-t.order}),function(){et(t,i,r)}},et=n.removeEvent=function(t,r,u){function f(i,r){var u=t.removeEventListener||n.removeEventListenerPolyfill;u&&u.call(t,i,r,!1)}function e(n){var e,u;t.nodeName&&(r?(u={},u[r]=!0):u=n,i(u,function(t,i){if(n[i])for(e=n[i].length;e--;)f(i,n[i][e].fn)}))}var o;["protoEvents","hcEvents"].forEach(function(n,i){var s=(i=i?t:t.prototype)&&i[n];s&&(r?(o=s[r]||[],u?(s[r]=o.filter(function(n){return u!==n.fn}),f(r,u)):(e(s),s[r]=[])):(e(s),i[n]={}))})},ot=n.fireEvent=function(n,t,i,r){var f,u;i=i||{};h.createEvent&&(n.dispatchEvent||n.fireEvent)?(u=h.createEvent("Events"),u.initEvent(t,!0,!0),o(u,i),n.dispatchEvent?n.dispatchEvent(u):n.fireEvent(t,u)):(i.target||o(i,{preventDefault:function(){i.defaultPrevented=!0},target:n,type:t}),function(t,r){void 0===t&&(t=[]);void 0===r&&(r=[]);var u=0,e=0,o=t.length+r.length;for(f=0;f<o;f++)!1===(t[u]?r[e]?t[u].order<=r[e].order?t[u++]:r[e++]:t[u++]:r[e++]).fn.call(n,i)&&i.preventDefault()}(n.protoEvents&&n.protoEvents[t],n.hcEvents&&n.hcEvents[t]));r&&!i.defaultPrevented&&r.call(n,i)},li=n.animate=function(n,t,r){var h,v="",u,o,l;e(r)||(l=arguments,r={duration:l[2],easing:l[3],complete:l[4]});s(r.duration)||(r.duration=400);r.easing="function"==typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine;r.curAnim=f(t);i(t,function(i,f){ft(n,f);o=new a(n,r,f);u=null;"d"===f&&c(t.d)?(o.paths=o.initPath(n,n.pathArray,t.d),o.toD=t.d,h=0,u=1):n.attr?h=n.attr(f):(h=parseFloat(ut(n,f))||0,"opacity"!==f&&(v="px"));u||(u=i);u&&u.match&&u.match("px")&&(u=u.replace(/px/g,""));o.run(h,u,v)})},ai=n.seriesType=function(t,i,r,u,e){var s=st(),o=n.seriesTypes;return s.plotOptions[t]=f(s.plotOptions[i],r),o[t]=k(o[i]||function(){},u),o[t].prototype.type=t,e&&(o[t].prototype.pointClass=k(n.Point,e)),o[t]},d,vi=n.uniqueKey=function(){var n=Math.random().toString(36).substring(2,9)+"-",t=0;return function(){return"highcharts-"+(d?"":n)+t++}}(),yi=n.useSerialIds=function(n){return d=r(n,d)},pi=n.isFunction=function(n){return"function"==typeof n},st=n.getOptions=function(){return n.defaultOptions},wi=n.setOptions=function(t){return n.defaultOptions=f(!0,n.defaultOptions,t),(t.time||t.global)&&n.time.update(f(n.defaultOptions.global,n.defaultOptions.time,t.global,t.time)),n.defaultOptions};return u.jQuery&&(u.jQuery.fn.highcharts=function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new n[y(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):ht[l(this[0],"data-highcharts-chart")]}),{Fx:n.Fx,addEvent:ci,animate:li,animObject:fi,arrayMax:ti,arrayMin:ni,attr:l,clamp:function(n,t,i){return n>t?n<i?n:i:t},clearTimeout:vt,correctFloat:it,createElement:tt,css:b,defined:w,destroyObjectProperties:ii,discardElement:ri,erase:ct,error:t,extend:o,extendClass:k,find:si,fireEvent:ot,format:bt,getMagnitude:kt,getNestedProperty:g,getOptions:st,getStyle:ut,inArray:oi,isArray:c,isClass:nt,isDOMElement:p,isFunction:pi,isNumber:s,isObject:e,isString:y,merge:f,normalizeTickInterval:dt,numberFormat:rt,objectEach:i,offset:hi,pad:yt,pick:r,pInt:v,relativeLength:pt,removeEvent:et,seriesType:ai,setAnimation:ui,setOptions:wi,splat:lt,stableSort:gt,stop:ft,syncTimeout:at,timeUnits:ei,uniqueKey:vi,useSerialIds:yi,wrap:wt}}),i(t,"parts/Color.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.isNumber,u=t.merge,i=t.pInt;return t=function(){function n(t){if(this.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(n){return[i(n[1]),i(n[2]),i(n[3]),parseFloat(n[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(n){return[i(n[1]),i(n[2]),i(n[3]),1]}}],this.rgba=[],!(this instanceof n))return new n(t);this.init(t)}return n.parse=function(t){return new n(t)},n.prototype.init=function(t){var i,u,r,f;if((this.input=t=n.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new n(t[1])});else if(t&&t.charAt&&"#"===t.charAt()&&(r=t.length,t=parseInt(t.substr(1),16),7===r?i=[(t&16711680)>>16,(t&65280)>>8,t&255,1]:4===r&&(i=[(t&3840)>>4|(t&3840)>>8,(t&240)>>4|t&240,(t&15)<<4|t&15,1])),!i)for(u=this.parsers.length;u--&&!i;)f=this.parsers[u],(r=f.regex.exec(t))&&(i=f.parse(r));this.rgba=i||[]},n.prototype.get=function(n){var f=this.input,t=this.rgba,i;return"undefined"!=typeof this.stops?(i=u(f),i.stops=[].concat(i.stops),this.stops.forEach(function(t,r){i.stops[r]=[i.stops[r][0],t.get(n)]})):i=t&&r(t[0])?"rgb"===n||!n&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===n?t[3]:"rgba("+t.join(",")+")":f,i},n.prototype.brighten=function(n){var t,u=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(n)});else if(r(n)&&0!==n)for(t=0;3>t;t++)u[t]+=i(255*n),0>u[t]&&(u[t]=0),255<u[t]&&(u[t]=255);return this},n.prototype.setOpacity=function(n){return this.rgba[3]=n,this},n.prototype.tweenTo=function(n,t){var r=this.rgba,i=n.rgba;return i.length&&r&&r.length?(n=1!==i[3]||1!==r[3],t=(n?"rgba(":"rgb(")+Math.round(i[0]+(r[0]-i[0])*(1-t))+","+Math.round(i[1]+(r[1]-i[1])*(1-t))+","+Math.round(i[2]+(r[2]-i[2])*(1-t))+(n?","+(i[3]+(r[3]-i[3])*(1-t)):"")+")"):t=n.input||"none",t},n.names={white:"#ffffff",black:"#000000"},n}(),n.Color=t,n.color=t.parse,n.Color}),i(t,"parts/SVGElement.js",[t["parts/Color.js"],t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t,i){var g=t.deg2rad,e=t.doc,nt=t.hasTouch,l=t.isFirefox,tt=t.noop,it=t.svg,a=t.SVG_NS,rt=t.win,ut=i.animate,ft=i.animObject,o=i.attr,et=i.createElement,ot=i.css,u=i.defined,h=i.erase,c=i.extend,v=i.fireEvent,y=i.isArray,p=i.isFunction,st=i.isNumber,w=i.isString,b=i.merge,f=i.objectEach,r=i.pick,s=i.pInt,k=i.stop,d=i.uniqueKey;return i=function(){function i(){this.height=this.element=void 0;this.opacity=1;this.renderer=void 0;this.SVG_NS=a;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ");this.width=void 0}return i.prototype._defaultGetter=function(n){return n=r(this[n+"Value"],this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},i.prototype._defaultSetter=function(n,t,i){i.setAttribute(t,n)},i.prototype.add=function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,"undefined"!=typeof this.textStr&&"text"===this.element.nodeName&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},i.prototype.addClass=function(n,t){var i=t?"":this.attr("class")||"";return n=(n||"").split(/ /g).reduce(function(n,t){return-1===i.indexOf(t)&&n.push(t),n},i?[i]:[]).join(" "),n!==i&&this.attr("class",n),this},i.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},i.prototype.align=function(n,t,i){var u,o={},f=this.renderer,e=f.alignedObjects,s,c,l;return n?(this.alignOptions=n,this.alignByTranslate=t,!i||w(i))&&(this.alignTo=u=i||"renderer",h(e,this),e.push(this),i=void 0):(n=this.alignOptions,t=this.alignByTranslate,u=this.alignTo),i=r(i,f[u],f),u=n.align,f=n.verticalAlign,e=(i.x||0)+(n.x||0),l=(i.y||0)+(n.y||0),"right"===u?s=1:"center"===u&&(s=2),s&&(e+=(i.width-(n.width||0))/s),o[t?"translateX":"x"]=Math.round(e),"bottom"===f?c=1:"middle"===f&&(c=2),c&&(l+=(i.height-(n.height||0))/c),o[t?"translateY":"y"]=Math.round(l),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},i.prototype.alignSetter=function(n){var t={left:"start",center:"middle",right:"end"};t[n]&&(this.alignValue=n,this.element.setAttribute("text-anchor",t[n]))},i.prototype.animate=function(n,t,i){var u=ft(r(t,this.renderer.globalAnimation,!0));return r(e.hidden,e.msHidden,e.webkitHidden,!1)&&(u.duration=0),0!==u.duration?(i&&(u.complete=i),ut(this,n,u)):(this.attr(n,void 0,i),f(n,function(n,t){u.step&&u.step.call(this,n,{prop:t,pos:1})},this)),this},i.prototype.applyTextOutline=function(n){var i=this.element,r,u,f,e;-1!==n.indexOf("contrast")&&(n=n.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));n=n.split(" ");u=n[n.length-1];(r=n[0])&&"none"!==r&&t.svg&&(this.fakeTS=!0,n=[].slice.call(i.getElementsByTagName("tspan")),this.ySetter=this.xSetter,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(n,t,i){return 2*t+i}),this.removeTextOutline(n),f=i.textContent?/^[\u0591-\u065F\u066A-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/.test(i.textContent):!1,e=i.firstChild,n.forEach(function(n,t){0===t&&(n.setAttribute("x",i.getAttribute("x")),t=i.getAttribute("y"),n.setAttribute("y",t||0),null===t&&i.setAttribute("y",0));t=n.cloneNode(!0);o(f&&!l?n:t,{"class":"highcharts-text-outline",fill:u,stroke:u,"stroke-width":r,"stroke-linejoin":"round"});i.insertBefore(t,e)}),f&&l&&n[0]&&(n=n[0].cloneNode(!0),n.textContent=" ",i.insertBefore(n,e)))},i.prototype.attr=function(n,t,i,r){var o=this.element,s,h=this,u,e,l=this.symbolCustomAttribs,c;return"string"==typeof n&&"undefined"!=typeof t&&(c=n,n={},n[c]=t),"string"==typeof n?h=(this[n+"Getter"]||this._defaultGetter).call(this,n,o):(f(n,function(t,i){u=!1;r||k(this,i);this.symbolName&&-1!==l.indexOf(i)&&(s||(this.symbolAttr(n),s=!0),u=!0);this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0);u||(e=this[i+"Setter"]||this._defaultSetter,e.call(this,t,i,o),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(i)&&this.updateShadows(i,t,e))},this),this.afterSetters()),i&&i.call(this),h},i.prototype.clip=function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},i.prototype.crisp=function(n,t){t=t||n.strokeWidth||0;var i=Math.round(t)%2/2;return n.x=Math.floor(n.x||this.x||0)+i,n.y=Math.floor(n.y||this.y||0)+i,n.width=Math.floor((n.width||this.width||0)-2*i),n.height=Math.floor((n.height||this.height||0)-2*i),u(n.strokeWidth)&&(n.strokeWidth=t),n},i.prototype.complexColor=function(t,i,r){var h=this.renderer,l,s,e,a,c,p,w,k,g,nt,o=[],tt;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?s="radialGradient":t.linearGradient&&(s="linearGradient"),s){if(e=t[s],c=h.gradients,p=t.stops,g=r.radialReference,y(e)&&(t[s]=e={x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===s&&g&&!u(e.gradientUnits)&&(a=e,e=b(e,h.getRadialAttr(g,a),{gradientUnits:"userSpaceOnUse"})),f(e,function(n,t){"id"!==t&&o.push(t,n)}),f(p,function(n){o.push(n)}),o=o.join(","),c[o])nt=c[o].attr("id");else{e.id=nt=d();var v=c[o]=h.createElement(s).attr(e).add(h.defs);v.radAttr=a;v.stops=[];p.forEach(function(t){0===t[1].indexOf("rgba")?(l=n.parse(t[1]),w=l.get("rgb"),k=l.get("a")):(w=t[1],k=1);t=h.createElement("stop").attr({offset:t[0],"stop-color":w,"stop-opacity":k}).add(v);v.stops.push(t)})}tt="url("+h.url+"#"+nt+")";r.setAttribute(i,tt);r.gradient=o;t.toString=function(){return tt}}})},i.prototype.css=function(n){var t=this.styles,u={},i=this.element,r="",e=!t,a=["textOutline","textOverflow","width"],h,l;return n&&n.color&&(n.fill=n.color),t&&f(n,function(n,i){t&&t[i]!==n&&(u[i]=n,e=!0)}),e&&(t&&(n=c(t,u)),n&&(null===n.width||"auto"===n.width?delete this.textWidth:"text"===i.nodeName.toLowerCase()&&n.width&&(h=this.textWidth=s(n.width))),this.styles=n,h&&!it&&this.renderer.forExport&&delete n.width,i.namespaceURI===this.SVG_NS?(l=function(n,t){return"-"+t.toLowerCase()},f(n,function(n,t){-1===a.indexOf(t)&&(r+=t.replace(/([A-Z])/g,l)+":"+n+";")}),r&&o(i,"style",r)):ot(i,n),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),n&&n.textOutline&&this.applyTextOutline(n.textOutline))),this},i.prototype.dashstyleSetter=function(n){var i=this["stroke-width"],t;if("inherit"===i&&(i=1),n=n&&n.toLowerCase()){for(t=n.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(","),n=t.length;n--;)t[n]=""+s(t[n])*r(i,NaN);n=t.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",n)}},i.prototype.destroy=function(){var n=this,t=n.element||{},u=n.renderer,i=u.isSVG&&"SPAN"===t.nodeName&&n.parentGroup||void 0,r=t.ownerSVGElement,e;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,k(n),n.clipPath&&r&&(e=n.clipPath,[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(n){-1<n.getAttribute("clip-path").indexOf(e.element.id)&&n.removeAttribute("clip-path")}),n.clipPath=e.destroy()),n.stops){for(r=0;r<n.stops.length;r++)n.stops[r].destroy();n.stops.length=0;n.stops=void 0}for(n.safeRemoveChild(t),u.styledMode||n.destroyShadows();i&&i.div&&0===i.div.childNodes.length;)t=i.parentGroup,n.safeRemoveChild(i.div),delete i.div,i=t;n.alignTo&&h(u.alignedObjects,n);f(n,function(t,i){n[i]&&n[i].parentGroup===n&&n[i].destroy&&n[i].destroy();delete n[i]})},i.prototype.destroyShadows=function(){(this.shadows||[]).forEach(function(n){this.safeRemoveChild(n)},this);this.shadows=void 0},i.prototype.destroyTextPath=function(n,t){var i=n.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),t.element.setAttribute("id",""),this.textPathWrapper&&i.getElementsByTagName("textPath").length){for(n=this.textPathWrapper.element.childNodes;n.length;)i.appendChild(n[0]);i.removeChild(this.textPathWrapper.element)}}else(n.getAttribute("dx")||n.getAttribute("dy"))&&(n.removeAttribute("dx"),n.removeAttribute("dy"));this.textPathWrapper&&(this.textPathWrapper=this.textPathWrapper.destroy())},i.prototype.dSetter=function(n,t,i){y(n)&&("string"==typeof n[0]&&(n=this.renderer.pathToSegments(n)),this.pathArray=n,n=n.reduce(function(n,t,i){return t&&t.join?(i?n+" ":"")+t.join(" "):(t||"").toString()},""));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");this[t]!==n&&(i.setAttribute(t,n),this[t]=n)},i.prototype.fadeOut=function(n){var t=this;t.animate({opacity:0},{duration:r(n,150),complete:function(){t.attr({y:-9999}).hide()}})},i.prototype.fillSetter=function(n,t,i){"string"==typeof n?i.setAttribute(t,n):n&&this.complexColor(n,t,i)},i.prototype.getBBox=function(n,t){var f,o=this.renderer,h=this.element,e=this.styles,y=this.textStr,a=o.cache,v=o.cacheKeys,w=h.namespaceURI===this.SVG_NS,b,s,l;if(t=r(t,this.rotation,0),b=o.styledMode?h&&i.prototype.getStyle.call(h,"font-size"):e&&e.fontSize,u(y)&&(s=y.toString(),-1===s.indexOf("<")&&(s=s.replace(/[0-9]/g,"0")),s+=["",t,b,this.textWidth,e&&e.textOverflow,e&&e.fontWeight].join()),s&&!n&&(f=a[s]),!f){if(w||o.forExport){try{l=this.fakeTS&&function(n){[].forEach.call(h.querySelectorAll(".highcharts-text-outline"),function(t){t.style.display=n})};p(l)&&l("none");f=h.getBBox?c({},h.getBBox()):{width:h.offsetWidth,height:h.offsetHeight};p(l)&&l("")}catch(k){""}(!f||0>f.width)&&(f={width:0,height:0})}else f=this.htmlGetBBox();if(o.isSVG&&(n=f.width,o=f.height,w&&(f.height=o={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(o)]||o),t&&(e=t*g,f.width=Math.abs(o*Math.sin(e))+Math.abs(n*Math.cos(e)),f.height=Math.abs(o*Math.cos(e))+Math.abs(n*Math.sin(e)))),s&&0<f.height){for(;250<v.length;)delete a[v.shift()];a[s]||v.push(s);a[s]=f}}return f},i.prototype.getStyle=function(n){return rt.getComputedStyle(this.element||this,"").getPropertyValue(n)},i.prototype.hasClass=function(n){return-1!==(""+this.attr("class")).split(" ").indexOf(n)},i.prototype.hide=function(n){return n?this.attr({y:-9999}):this.attr({visibility:"hidden"}),this},i.prototype.htmlGetBBox=function(){return{height:0,width:0,x:0,y:0}},i.prototype.init=function(n,t){this.element="span"===t?et(t):e.createElementNS(this.SVG_NS,t);this.renderer=n;v(this,"afterInit")},i.prototype.invert=function(n){return this.inverted=n,this.updateTransform(),this},i.prototype.on=function(n,t){var r,u,i=this.element,f;return nt&&"click"===n?(i.ontouchstart=function(n){r=n.touches[0].clientX;u=n.touches[0].clientY},i.ontouchend=function(n){r&&4<=Math.sqrt(Math.pow(r-n.changedTouches[0].clientX,2)+Math.pow(u-n.changedTouches[0].clientY,2))||t.call(i,n);f=!0;n.preventDefault()},i.onclick=function(n){f||t.call(i,n)}):i["on"+n]=t,this},i.prototype.opacitySetter=function(n,t,i){this[t]=n;i.setAttribute(t,n)},i.prototype.removeClass=function(n){return this.attr("class",(""+this.attr("class")).replace(w(n)?new RegExp("(^| )"+n+"( |$)"):n," ").replace(/ +/g," ").trim())},i.prototype.removeTextOutline=function(n){for(var i=n.length,t;i--;)t=n[i],"highcharts-text-outline"===t.getAttribute("class")&&h(n,this.element.removeChild(t))},i.prototype.safeRemoveChild=function(n){var t=n.parentNode;t&&t.removeChild(n)},i.prototype.setRadialReference=function(n){var t=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},i.prototype.setTextPath=function(n,t){var e=this.element,c={textAnchor:"text-anchor"},s=!1,i=this.textPathWrapper,h=!i,r,o;if(t=b(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t),r=t.attributes,n&&t&&t.enabled){if(i&&null===i.element.parentNode?(h=!0,i=i.destroy()):i&&this.removeTextOutline.call(i.parentGroup,[].slice.call(e.getElementsByTagName("tspan"))),this.options&&this.options.padding&&(r.dx=-this.options.padding),i||(this.textPathWrapper=i=this.renderer.createElement("textPath"),s=!0),o=i.element,(t=n.element.getAttribute("id"))||n.element.setAttribute("id",t=d()),h)for(n=e.getElementsByTagName("tspan");n.length;)n[0].setAttribute("y",0),st(r.dx)&&n[0].setAttribute("x",-r.dx),o.appendChild(n[0]);s&&i&&i.add({element:this.text?this.text.element:e});o.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+t);u(r.dy)&&(o.parentNode.setAttribute("dy",r.dy),delete r.dy);u(r.dx)&&(o.parentNode.setAttribute("dx",r.dx),delete r.dx);f(r,function(n,t){o.setAttribute(c[t]||t,n)});e.removeAttribute("transform");this.removeTextOutline.call(i,[].slice.call(e.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=tt}else i&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(e,n),this.updateTransform(),this.options&&this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},i.prototype.shadow=function(n,t,i){var l=[],s=this.element,a=!1,v=this.oldShadowOptions,e={color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:3},r,y,p,u,h;if(!0===n?r=e:"object"==typeof n&&(r=c(e,n)),r&&(r&&v&&f(r,function(n,t){n!==v[t]&&(a=!0)}),a&&this.destroyShadows(),this.oldShadowOptions=r),r){if(!this.shadows){for(y=r.opacity/r.width,p=this.parentInverted?"translate(-1,-1)":"translate("+r.offsetX+", "+r.offsetY+")",e=1;e<=r.width;e++)u=s.cloneNode(!1),h=2*r.width+1-2*e,o(u,{stroke:n.color||"#000000","stroke-opacity":y*e,"stroke-width":h,transform:p,fill:"none"}),u.setAttribute("class",(u.getAttribute("class")||"")+" highcharts-shadow"),i&&(o(u,"height",Math.max(o(u,"height")-h,0)),u.cutHeight=h),t?t.element.appendChild(u):s.parentNode&&s.parentNode.insertBefore(u,s),l.push(u);this.shadows=l}}else this.destroyShadows();return this},i.prototype.show=function(n){return this.attr({visibility:n?"inherit":"visible"})},i.prototype.strokeSetter=function(n,t,r){this[t]=n;this.stroke&&this["stroke-width"]?(i.prototype.fillSetter.call(this,this.stroke,"stroke",r),r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===t&&0===n&&this.hasStroke?(r.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)},i.prototype.strokeWidth=function(){var n,i,t;return this.renderer.styledMode?(n=this.getStyle("stroke-width"),i=0,n.indexOf("px")===n.length-2?i=s(n):""!==n&&(t=e.createElementNS(a,"rect"),o(t,{width:n,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i):this["stroke-width"]||0},i.prototype.symbolAttr=function(n){var t=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){t[i]=r(n[i],t[i])});t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})},i.prototype.textSetter=function(n){n!==this.textStr&&(delete this.textPxLength,this.textStr=n,this.added&&this.renderer.buildText(this))},i.prototype.titleSetter=function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=e.createElementNS(this.SVG_NS,"title"),this.element.appendChild(t));t.firstChild&&t.removeChild(t.firstChild);t.appendChild(e.createTextNode(String(r(n,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")))},i.prototype.toFront=function(){var n=this.element;return n.parentNode.appendChild(n),this},i.prototype.translate=function(n,t){return this.attr({translateX:n,translateY:t})},i.prototype.updateShadows=function(n,t,i){var r=this.shadows,u;if(r)for(u=r.length;u--;)i.call(r[u],"height"===n?Math.max(t-(r[u].cutHeight||0),0):"d"===n?this.d:t,n,r[u])},i.prototype.updateTransform=function(){var n=this.translateX||0,i=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,h=this.matrix,t=this.element;o&&(n+=this.width,i+=this.height);n=["translate("+n+","+i+")"];u(h)&&n.push("matrix("+h.join(",")+")");o?n.push("rotate(90) scale(-1,1)"):s&&n.push("rotate("+s+" "+r(this.rotationOriginX,t.getAttribute("x"),0)+" "+r(this.rotationOriginY,t.getAttribute("y")||0)+")");(u(f)||u(e))&&n.push("scale("+r(f,1)+" "+r(e,1)+")");n.length&&t.setAttribute("transform",n.join(" "))},i.prototype.visibilitySetter=function(n,t,i){"inherit"===n?i.removeAttribute(t):this[t]!==n&&i.setAttribute(t,n);this[t]=n},i.prototype.xGetter=function(n){return"circle"===this.element.nodeName&&("x"===n?n="cx":"y"===n&&(n="cy")),this._defaultGetter(n)},i.prototype.zIndexSetter=function(n,t){var r=this.renderer,f=this.parentGroup,c=(f||r).element||r.box,e=this.element,o=!1,h,i,l;if(r=c===r.box,h=this.added,u(n)?(e.setAttribute("data-z-index",n),n=+n,this[t]===n&&(h=!1)):u(this[t])&&e.removeAttribute("data-z-index"),this[t]=n,h){for((n=this.zIndex)&&f&&(f.handleZ=!0),t=c.childNodes,i=t.length-1;0<=i&&!o;i--)f=t[i],h=f.getAttribute("data-z-index"),l=!u(h),f!==e&&(0>n&&l&&!r&&!i?(c.insertBefore(e,t[i]),o=!0):(s(h)<=n||l&&(!u(n)||0<=n))&&(c.insertBefore(e,t[i+1]||null),o=!0));o||(c.insertBefore(e,t[r?3:0]||null),o=!0)}return o},i}(),i.prototype["stroke-widthSetter"]=i.prototype.strokeSetter,i.prototype.yGetter=i.prototype.xGetter,i.prototype.matrixSetter=i.prototype.rotationOriginXSetter=i.prototype.rotationOriginYSetter=i.prototype.rotationSetter=i.prototype.scaleXSetter=i.prototype.scaleYSetter=i.prototype.translateXSetter=i.prototype.translateYSetter=i.prototype.verticalAlignSetter=function(n,t){this[t]=n;this.doTransform=!0},t.SVGElement=i,t.SVGElement}),i(t,"parts/SVGLabel.js",[t["parts/SVGElement.js"],t["parts/Utilities.js"]],function(n,t){var f=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),i=t.defined,e=t.extend,r=t.isNumber,o=t.merge,u=t.removeEvent;return function(t){function s(n,i,r,u,f,e,o,h,c,l){var a=t.call(this)||this,v;return a.init(n,"g"),a.textStr=i,a.x=r,a.y=u,a.anchorX=e,a.anchorY=o,a.baseline=c,a.className=l,"button"!==l&&a.addClass("highcharts-label"),l&&a.addClass("highcharts-"+l),a.text=n.text("",0,0,h).attr({zIndex:1}),"string"==typeof f&&(v=/^url\((.*?)\)$/.test(f),(a.renderer.symbols[f]||v)&&(a.symbolKey=f)),a.bBox=s.emptyBBox,a.padding=3,a.paddingLeft=0,a.baselineOffset=0,a.needsBox=n.styledMode||v,a.deferredAttr={},a.alignFactor=0,a}return f(s,t),s.prototype.alignSetter=function(n){n={left:0,center:.5,right:1}[n];n!==this.alignFactor&&(this.alignFactor=n,this.bBox&&r(this.xSetting)&&this.attr({x:this.xSetting}))},s.prototype.anchorXSetter=function(n,t){this.anchorX=n;this.boxAttr(t,Math.round(n)-this.getCrispAdjust()-this.xSetting)},s.prototype.anchorYSetter=function(n,t){this.anchorY=n;this.boxAttr(t,n-this.ySetting)},s.prototype.boxAttr=function(n,t){this.box?this.box.attr(n,t):this.deferredAttr[n]=t},s.prototype.css=function(t){var i,r;return t&&(i={},t=o(t),s.textProps.forEach(function(n){"undefined"!=typeof t[n]&&(i[n]=t[n],delete t[n])}),this.text.css(i),r="fontSize"in i||"fontWeight"in i,("width"in i||r)&&(this.updateBoxSize(),r&&this.updateTextPadding())),n.prototype.css.call(this,t)},s.prototype.destroy=function(){u(this.element,"mouseenter");u(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());n.prototype.destroy.call(this)},s.prototype.fillSetter=function(n,t){n&&(this.needsBox=!0);this.fill=n;this.boxAttr(t,n)},s.prototype.getBBox=function(){var n=this.bBox,t=this.padding;return{width:n.width+2*t,height:n.height+2*t,x:n.x-t,y:n.y-t}},s.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2},s.prototype.heightSetter=function(n){this.heightSetting=n},s.prototype.on=function(t,i){var r=this,u=r.text,f=u&&"SPAN"===u.element.tagName?u:void 0,e;if(f){e=function(n){("mouseenter"===t||"mouseleave"===t)&&n.relatedTarget instanceof Element&&(r.element.contains(n.relatedTarget)||f.element.contains(n.relatedTarget))||i.call(r.element,n)};f.on(t,e)}return n.prototype.on.call(r,t,e||i),r},s.prototype.onAdd=function(){var n=this.textStr;this.text.add(this);this.attr({text:i(n)?n:"",x:this.x,y:this.y});this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})},s.prototype.paddingSetter=function(n){i(n)&&n!==this.padding&&(this.padding=n,this.updateTextPadding())},s.prototype.paddingLeftSetter=function(n){i(n)&&n!==this.paddingLeft&&(this.paddingLeft=n,this.updateTextPadding())},s.prototype.rSetter=function(n,t){this.boxAttr(t,n)},s.prototype.shadow=function(n){return n&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(n)),this},s.prototype.strokeSetter=function(n,t){this.stroke=n;this.boxAttr(t,n)},s.prototype["stroke-widthSetter"]=function(n,t){n&&(this.needsBox=!0);this["stroke-width"]=n;this.boxAttr(t,n)},s.prototype["text-alignSetter"]=function(n){this.textAlign=n},s.prototype.textSetter=function(n){"undefined"!=typeof n&&this.text.attr({text:n});this.updateBoxSize();this.updateTextPadding()},s.prototype.updateBoxSize=function(){var n=this.text.element.style,t={},f=this.padding,o=this.paddingLeft,u=r(this.widthSetting)&&r(this.heightSetting)&&!this.textAlign||!i(this.text.textStr)?s.emptyBBox:this.text.getBBox();this.width=(this.widthSetting||u.width||0)+2*f+o;this.height=(this.heightSetting||u.height||0)+2*f;this.baselineOffset=f+Math.min(this.renderer.fontMetrics(n&&n.fontSize,this.text).b,u.height||Infinity);this.needsBox&&(this.box||(n=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),n.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),n.add(this),n=this.getCrispAdjust(),t.x=n,t.y=(this.baseline?-this.baselineOffset:0)+n),t.width=Math.round(this.width),t.height=Math.round(this.height),this.box.attr(e(t,this.deferredAttr)),this.deferredAttr={});this.bBox=u},s.prototype.updateTextPadding=function(){var n=this.text,t=this.baseline?0:this.baselineOffset,r=this.paddingLeft+this.padding;i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(r+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));(r!==n.x||t!==n.y)&&(n.attr("x",r),n.hasBoxWidthChanged&&(this.bBox=n.getBBox(!0),this.updateBoxSize()),"undefined"!=typeof t&&n.attr("y",t));n.x=r;n.y=t},s.prototype.widthSetter=function(n){this.widthSetting=r(n)?n:void 0},s.prototype.xSetter=function(n){this.x=n;this.alignFactor&&(n-=this.alignFactor*((this.widthSetting||this.bBox.width)+2*this.padding),this["forceAnimate:x"]=!0);this.xSetting=Math.round(n);this.attr("translateX",this.xSetting)},s.prototype.ySetter=function(n){this.ySetting=this.y=Math.round(n);this.attr("translateY",this.ySetting)},s.emptyBBox={width:0,height:0,x:0,y:0},s.textProps="color cursor direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "),s}(n)}),i(t,"parts/SVGRenderer.js",[t["parts/Color.js"],t["parts/Globals.js"],t["parts/SVGElement.js"],t["parts/SVGLabel.js"],t["parts/Utilities.js"]],function(n,t,i,r,u){var p=u.addEvent,f=u.attr,rt=u.createElement,l=u.css,o=u.defined,ut=u.destroyObjectProperties,h=u.extend,ft=u.isArray,et=u.isNumber,a=u.isObject,b=u.isString,v=u.merge,k=u.objectEach,s=u.pick,d=u.pInt,ot=u.splat,st=u.uniqueKey,ht=t.charts,g=t.deg2rad,e=t.doc,nt=t.isFirefox,tt=t.isMS,ct=t.isWebKit;u=t.noop;var lt=t.svg,it=t.SVG_NS,y=t.symbolSizes,w=t.win,c=function(){function t(n,t,i,r,u,f,e){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(n,t,i,r,u,f,e)}return t.prototype.init=function(n,t,i,r,u,o,s){var c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),h;s||c.css(this.getStyle(r));r=c.element;n.appendChild(r);f(n,"dir","ltr");-1===n.innerHTML.indexOf("xmlns")&&f(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=c;this.alignedObjects=[];this.url=(nt||ct)&&e.getElementsByTagName("base").length?w.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highcharts 8.1.2"));this.defs=this.createElement("defs").add();this.allowHTML=o;this.forExport=u;this.styledMode=s;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(t,i,!1);nt&&n.getBoundingClientRect&&(t=function(){l(n,{left:0,top:0});h=n.getBoundingClientRect();l(n,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},t(),this.unSubPixelFix=p(w,"resize",t))},t.prototype.definition=function(n){function t(n,r){var u;return ot(n).forEach(function(n){var f=i.createElement(n.tagName),o={};k(n,function(n,t){"tagName"!==t&&"children"!==t&&"textContent"!==t&&(o[t]=n)});f.attr(o);f.add(r||i.defs);n.textContent&&f.element.appendChild(e.createTextNode(n.textContent));t(n.children||[],f);u=f}),u}var i=this;return t(n)},t.prototype.getStyle=function(n){return this.style=h({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},t.prototype.setStyle=function(n){this.boxWrapper.css(this.getStyle(n))},t.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width},t.prototype.destroy=function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),ut(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},t.prototype.createElement=function(n){var t=new this.Element;return t.init(this,n),t},t.prototype.getRadialAttr=function(n,t){return{cx:n[0]-n[2]/2+t.cx*n[2],cy:n[1]-n[2]/2+t.cy*n[2],r:t.r*n[2]}},t.prototype.truncate=function(n,t,i,r,u,f,o){var p=this,k=n.rotation,a,c=r?1:0,s=(i||r).length,h=s,v=[],y=function(n){t.firstChild&&t.removeChild(t.firstChild);n&&t.appendChild(e.createTextNode(n))},w=function(f,e){if(e=e||f,"undefined"==typeof v[e])if(t.getSubStringLength)try{v[e]=u+t.getSubStringLength(0,r?e+1:e)}catch(s){""}else p.getSpanWidth&&(y(o(i||r,f)),v[e]=u+p.getSpanWidth(n,t));return v[e]},b,l;if(n.rotation=0,l=w(t.textContent.length),b=u+l>f){for(;c<=s;)h=Math.ceil((c+s)/2),r&&(a=o(r,h)),l=w(h,a&&a.length-1),c===s?c=s+1:l>f?s=h-1:c=h;0===s?y(""):i&&s===i.length-1||y(a||o(i||r,h))}return r&&r.splice(0,h),n.actualWidth=l,n.rotation=k,b},t.prototype.buildText=function(n){var u=n.element,r=this,tt=r.forExport,t=s(n.textStr,"").toString(),rt=-1!==t.indexOf("<"),ut=u.childNodes,ft,v=f(u,"x"),i=n.styles,o=n.textWidth,y=i&&i.lineHeight,h=i&&i.textOutline,c=i&&"ellipsis"===i.textOverflow,a=i&&"nowrap"===i.whiteSpace,p=i&&i.fontSize,w,et=ut.length;i=o&&!n.added&&this.box;var ot=function(n){var t;return r.styledMode||(t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:p||r.style.fontSize||12),y?d(y):r.fontMetrics(t,n.getAttribute("style")?n:u).h},g=function(n,t){return k(r.escapes,function(i,r){t&&-1!==t.indexOf(i)||(n=n.toString().replace(new RegExp(i,"g"),r))}),n},nt=function(n,t){var i=n.indexOf("<");return n=n.substring(i,n.indexOf(">")-i),i=n.indexOf(t+"="),-1!==i&&(i=i+t.length+1,t=n.charAt(i),'"'===t||"'"===t)?(n=n.substring(i+1),n.substring(0,n.indexOf(t))):void 0},st=/<br.*?>/g,ht=[t,c,a,y,h,p,o].join();if(ht!==n.textCache){for(n.textCache=ht;et--;)u.removeChild(ut[et]);rt||h||c||o||-1!==t.indexOf(" ")&&(!a||st.test(t))?(i&&i.appendChild(u),rt?(t=r.styledMode?t.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):t.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),t=t.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(st)):t=[t],t=t.filter(function(n){return""!==n}),t.forEach(function(t,i){var h=0,y=0,s;t=t.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");s=t.split("|||");s.forEach(function(t){var ut,b,k,et,d,rt;if((""!==t||1===s.length)&&(ut={},b=e.createElementNS(r.SVG_NS,"tspan"),(k=nt(t,"class"))&&f(b,"class",k),(k=nt(t,"style"))&&(k=k.replace(/(;| |^)color([ :])/,"$1fill$2"),f(b,"style",k)),(et=nt(t,"href"))&&!tt&&-1===et.split(":")[0].toLowerCase().indexOf("javascript")&&(d=e.createElementNS(r.SVG_NS,"a"),f(d,"href",et),f(b,"class","highcharts-anchor"),d.appendChild(b),r.styledMode||l(b,{cursor:"pointer"})),t=g(t.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ")," "!==t)){if(b.appendChild(e.createTextNode(t)),h?ut.dx=0:i&&null!==v&&(ut.x=v),f(b,ut),u.appendChild(d||b),!h&&w&&(!lt&&tt&&l(b,{display:"block"}),f(b,"dy",ot(b))),o)if(rt=t.replace(/([^\^])-/g,"$1- ").split(" "),ut=!a&&(1<s.length||i||1<rt.length),d=0,et=ot(b),c)ft=r.truncate(n,b,t,void 0,0,Math.max(0,o-parseInt(p||12,10)),function(n,t){return n.substring(0,t)+"…"});else if(ut)for(;rt.length;)rt.length&&!a&&0<d&&(b=e.createElementNS(it,"tspan"),f(b,{dy:et,x:v}),k&&f(b,"style",k),b.appendChild(e.createTextNode(rt.join(" ").replace(/- /g,"-"))),u.appendChild(b)),r.truncate(n,b,null,rt,0===d?y:0,o,function(n,t){return rt.slice(0,t).join(" ").replace(/- /g,"-")}),y=n.actualWidth,d++;h++}});w=w||u.childNodes.length}),c&&ft&&n.attr("title",g(n.textStr||"",["&lt;","&gt;"])),i&&i.removeChild(u),b(h)&&n.applyTextOutline&&n.applyTextOutline(h)):u.appendChild(e.createTextNode(g(t)))}},t.prototype.getContrast=function(t){return t=n.parse(t).rgba,t[0]*=1,t[1]*=1.2,t[2]*=.5,459<t[0]+t[1]+t[2]?"#000000":"#FFFFFF"},t.prototype.button=function(n,t,i,r,u,f,e,o,s,c){var l=this.label(n,t,i,s,void 0,void 0,c,void 0,"button"),a=0,y=this.styledMode,w,b,k,d;n=u&&u.style||{};u&&u.style&&delete u.style;l.attr(v({padding:8,r:2},u));y||(u=v({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},{style:n},u),w=u.style,delete u.style,f=v(u,{fill:"#e6e6e6"},f),b=f.style,delete f.style,e=v(u,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e),k=e.style,delete e.style,o=v(u,{style:{color:"#cccccc"}},o),d=o.style,delete o.style);p(l.element,tt?"mouseover":"mouseenter",function(){3!==a&&l.setState(1)});p(l.element,tt?"mouseout":"mouseleave",function(){3!==a&&l.setState(a)});l.setState=function(n){1!==n&&(l.state=a=n);l.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][n||0]);y||l.attr([u,f,e,o][n||0]).css([w,b,k,d][n||0])};y||l.attr(u).css(h({cursor:"default"},w));return l.on("click",function(n){3!==a&&r.call(l,n)})},t.prototype.crispLine=function(n,t,i){void 0===i&&(i="round");var r=n[0],u=n[1];return r[1]===u[1]&&(r[1]=u[1]=Math[i](r[1])-t%2/2),r[2]===u[2]&&(r[2]=u[2]=Math[i](r[2])+t%2/2),n},t.prototype.path=function(n){var t=this.styledMode?{}:{fill:"none"};return ft(n)?t.d=n:a(n)&&h(t,n),this.createElement("path").attr(t)},t.prototype.circle=function(n,t,i){return n=a(n)?n:"undefined"==typeof n?{}:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=t.ySetter=function(n,t,i){i.setAttribute("c"+t,n)},t.attr(n)},t.prototype.arc=function(n,t,i,r,u,f){return a(n)?(r=n,t=r.y,i=r.r,n=r.x):r={innerR:r,start:u,end:f},n=this.symbol("arc",n,t,i,i,r),n.r=i,n},t.prototype.rect=function(n,t,i,r,u,e){u=a(n)?n.r:u;var o=this.createElement("rect");return n=a(n)?n:"undefined"==typeof n?{}:{x:n,y:t,width:Math.max(i,0),height:Math.max(r,0)},this.styledMode||("undefined"!=typeof e&&(n.strokeWidth=e,n=o.crisp(n)),n.fill="none"),u&&(n.r=u),o.rSetter=function(n,t,i){o.r=n;f(i,{rx:n,ry:n})},o.rGetter=function(){return o.r},o.attr(n)},t.prototype.setSize=function(n,t,i){var r=this.alignedObjects,u=r.length;for(this.width=n,this.height=t,this.boxWrapper.animate({width:n,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:s(i,!0)?void 0:0});u--;)r[u].align()},t.prototype.g=function(n){var t=this.createElement("g");return n?t.attr({"class":"highcharts-"+n}):t},t.prototype.image=function(n,t,i,r,u,f){var e={preserveAspectRatio:"none"},s=function(n,t){n.setAttributeNS?n.setAttributeNS("http://www.w3.org/1999/xlink","href",t):n.setAttribute("hc-svg-href",t)},c=function(t){s(o.element,n);f.call(o,t)},o;return 1<arguments.length&&h(e,{x:t,y:i,width:r,height:u}),o=this.createElement("image").attr(e),f?(s(o.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),e=new w.Image,p(e,"load",c),e.src=n,e.complete&&c({})):s(o.element,n),o},t.prototype.symbol=function(n,t,i,r,u,f){var v=this,b=/^url\((.*?)\)$/,k=b.test(n),p=!k&&(this.symbols[n]?n:"circle"),d=p&&this.symbols[p],g,c,a,w;return d?("number"==typeof t&&(g=d.call(this.symbols,Math.round(t||0),Math.round(i||0),r||0,u||0,f)),c=this.path(g),v.styledMode||c.attr("fill","none"),h(c,{symbolName:p,x:t,y:i,width:r,height:u}),f&&h(c,f)):k&&(a=n.match(b)[1],c=this.image(a),c.imgwidth=s(y[a]&&y[a].width,f&&f.width),c.imgheight=s(y[a]&&y[a].height,f&&f.height),w=function(){c.attr({width:c.width,height:c.height})},["width","height"].forEach(function(n){c[n+"Setter"]=function(n,t){var r={},i=this["img"+t],u="width"===t?"translateX":"translateY";this[t]=n;o(i)&&(f&&"within"===f.backgroundSize&&this.width&&this.height&&(i=Math.round(i*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(t,i),this.alignByTranslate||(r[u]=((this[t]||0)-i)/2,this.attr(r)))}}),o(t)&&c.attr({x:t,y:i}),c.isImg=!0,o(c.imgwidth)&&o(c.imgheight)?w():(c.attr({width:0,height:0}),rt("img",{onload:function(){var n=ht[v.chartIndex];0===this.width&&(l(this,{position:"absolute",top:"-999em"}),e.body.appendChild(this));y[a]={width:this.width,height:this.height};c.imgwidth=this.width;c.imgheight=this.height;c.element&&w();this.parentNode&&this.parentNode.removeChild(this);v.imgCount--;v.imgCount||!n||n.hasLoaded||n.onload()},src:a}),this.imgCount++)),c},t.prototype.clipRect=function(n,t,i,r){var u=st()+"-",f=this.createElement("clipPath").attr({id:u}).add(this.defs);return n=this.rect(n,t,i,r,0).add(f),n.id=u,n.clipPath=f,n.count=0,n},t.prototype.text=function(n,t,i,r){var u={};return r&&(this.allowHTML||!this.forExport)?this.html(n,t,i):(u.x=Math.round(t||0),i&&(u.y=Math.round(i)),o(n)&&(u.text=n),n=this.createElement("text").attr(u),r||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),e=i.getAttribute(t),u,r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},t.prototype.fontMetrics=function(n,t){return n=!this.styledMode&&/px/.test(n)||!w.getComputedStyle?n||t&&t.style&&t.style.fontSize||this.style&&this.style.fontSize:t&&i.prototype.getStyle.call(t,"font-size"),n=/px/.test(n)?d(n):12,t=24>n?n+3:Math.round(1.2*n),{h:t,b:Math.round(.8*t),f:n}},t.prototype.rotCorr=function(n,t,i){var r=n;return t&&i&&(r=Math.max(r*Math.cos(t*g),4)),{x:-n/3*Math.sin(t*g),y:r}},t.prototype.pathToSegments=function(n){for(var r=[],t=[],u={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},i=0;i<n.length;i++)b(t[0])&&et(n[i])&&t.length===u[t[0].toUpperCase()]&&n.splice(i,0,t[0].replace("M","L").replace("m","l")),"string"==typeof n[i]&&(t.length&&r.push(t.slice(0)),t.length=0),t.push(n[i]);return r.push(t.slice(0)),r},t.prototype.label=function(n,t,i,u,f,e,o,s,h){return new r(this,n,t,i,u,f,e,o,s,h)},t}();return c.prototype.Element=i,c.prototype.SVG_NS=it,c.prototype.draw=u,c.prototype.escapes={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},c.prototype.symbols={circle:function(n,t,i,r){return this.arc(n+i/2,t+r/2,i/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(n,t,i,r){return[["M",n,t],["L",n+i,t],["L",n+i,t+r],["L",n,t+r],["Z"]]},triangle:function(n,t,i,r){return[["M",n+i/2,t],["L",n+i,t+r],["L",n,t+r],["Z"]]},"triangle-down":function(n,t,i,r){return[["M",n,t],["L",n+i,t],["L",n+i/2,t+r],["Z"]]},diamond:function(n,t,i,r){return[["M",n+i/2,t],["L",n+i,t+r/2],["L",n+i/2,t+r],["L",n,t+r/2],["Z"]]},arc:function(n,t,i,r,u){var c=[],h;if(u){var f=u.start||0,e=u.end||0,l=u.r||i;i=u.r||r||i;h=.001>Math.abs(e-f-2*Math.PI);e-=.001;r=u.innerR;h=s(u.open,h);var y=Math.cos(f),p=Math.sin(f),a=Math.cos(e),v=Math.sin(e);f=s(u.longArc,.001>e-f-Math.PI?0:1);c.push(["M",n+l*y,t+i*p],["A",l,i,0,f,s(u.clockwise,1),n+l*a,t+i*v]);o(r)&&c.push(h?["M",n+r*a,t+r*v]:["L",n+r*a,t+r*v],["A",r,r,0,f,o(u.clockwise)?1-u.clockwise:0,n+r*y,t+r*p]);h||c.push(["Z"])}return c},callout:function(n,t,i,r,u){var f=Math.min(u&&u.r||0,i,r),o=f+6,e=u&&u.anchorX||0,s;return u=u&&u.anchorY||0,s=[["M",n+f,t],["L",n+i-f,t],["C",n+i,t,n+i,t,n+i,t+f],["L",n+i,t+r-f],["C",n+i,t+r,n+i,t+r,n+i-f,t+r],["L",n+f,t+r],["C",n,t+r,n,t+r,n,t+r-f],["L",n,t+f],["C",n,t,n,t,n+f,t]],e&&e>i?u>t+o&&u<t+r-o?s.splice(3,1,["L",n+i,u-6],["L",n+i+6,u],["L",n+i,u+6],["L",n+i,t+r-f]):s.splice(3,1,["L",n+i,r/2],["L",e,u],["L",n+i,r/2],["L",n+i,t+r-f]):e&&0>e?u>t+o&&u<t+r-o?s.splice(7,1,["L",n,u+6],["L",n-6,u],["L",n,u-6],["L",n,t+f]):s.splice(7,1,["L",n,r/2],["L",e,u],["L",n,r/2],["L",n,t+f]):u&&u>r&&e>n+o&&e<n+i-o?s.splice(5,1,["L",e+6,t+r],["L",e,t+r+6],["L",e-6,t+r],["L",n+f,t+r]):u&&0>u&&e>n+o&&e<n+i-o&&s.splice(1,1,["L",e-6,t],["L",e,t-6],["L",e+6,t],["L",i-f,t]),s}},t.SVGRenderer=c,t.Renderer=t.SVGRenderer,t.Renderer}),i(t,"parts/Html.js",[t["parts/Globals.js"],t["parts/SVGElement.js"],t["parts/SVGRenderer.js"],t["parts/Utilities.js"]],function(n,t,i,r){var c=r.attr,l=r.createElement,u=r.css,e=r.defined,f=r.extend,o=r.pick,a=r.pInt,s=n.isFirefox,v=n.isMS,y=n.isWebKit,h=n.win;f(t.prototype,{htmlCss:function(n){var t="SPAN"===this.element.tagName&&n&&"width"in n,r=o(t&&n.width,void 0),i;return t&&(delete n.width,this.textWidth=r,i=!0),n&&"ellipsis"===n.textOverflow&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=f(this.styles,n),u(this.element,n),i&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var n=this.element;return{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){var r,h,i;if(this.added){var s=this.renderer,n=this.element,c=this.translateX||0,l=this.translateY||0,y=this.x||0,p=this.y||0,f=this.textAlign||"left",v={left:0,center:.5,right:1}[f],t=this.styles,o=t&&t.whiteSpace;u(n,{marginLeft:c,marginTop:l});!s.styledMode&&this.shadows&&this.shadows.forEach(function(n){u(n,{marginLeft:c+1,marginTop:l+1})});this.inverted&&[].forEach.call(n.childNodes,function(t){s.invertChild(t,n)});"SPAN"===n.tagName&&(t=this.rotation,r=this.textWidth&&a(this.textWidth),h=[t,f,n.innerHTML,this.textWidth,this.textAlign].join(),!(i=r!==this.oldTextWidth)||(i=r>this.oldTextWidth)||((i=this.textPxLength)||(u(n,{width:"",whiteSpace:o||"nowrap"}),i=n.offsetWidth),i=i>r),i&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)?(u(n,{width:r+"px",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=r,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,h!==this.cTT&&(o=s.fontMetrics(n.style.fontSize,n).b,!e(t)||t===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(t,v,o),this.getSpanCorrection(!e(t)&&this.textPxLength||n.offsetWidth,o,v,t,f)),u(n,{left:y+(this.xCorr||0)+"px",top:p+(this.yCorr||0)+"px"}),this.cTT=h,this.oldRotation=t,this.oldAlign=f)}else this.alignOnAdd=!0},setSpanRotation:function(n,t,i){var r={},f=this.renderer.getTransformKey();r[f]=r.transform="rotate("+n+"deg)";r[f+(s?"Origin":"-origin")]=r.transformOrigin=100*t+"% "+i+"px";u(this.element,r)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}});f(i.prototype,{getTransformKey:function(){return v&&!/Edge/.test(h.navigator.userAgent)?"-ms-transform":y?"-webkit-transform":s?"MozTransform":h.opera?"-o-transform":""},html:function(n,i,r){var u=this.createElement("span"),e=u.element,s=u.renderer,h=s.isSVG,a=function(n,i){["opacity","visibility"].forEach(function(r){n[r+"Setter"]=function(u,f,e){var o=n.div?n.div.style:i;t.prototype[r+"Setter"].call(this,u,f,e);o&&(o[f]=u)}});n.addedSetters=!0};return u.textSetter=function(n){n!==e.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=n;e.innerHTML=o(n,"");u.doTransform=!0},h&&a(u,u.element.style),u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){"align"===t&&(t="textAlign");u[t]=n;u.doTransform=!0},u.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},u.attr({text:n,x:Math.round(i),y:Math.round(r)}).css({position:"absolute"}),s.styledMode||u.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),e.style.whiteSpace="nowrap",u.css=u.htmlCss,h&&(u.add=function(n){var r=s.box.parentNode,i=[],t;if(this.parentGroup=n){if(t=n.div,!t){for(;n;)i.push(n),n=n.parentGroup;i.reverse().forEach(function(n){function o(t,i){n[i]=t;"translateX"===i?e.left=t+"px":e.top=t+"px";n.doTransform=!0}var s=c(n.element,"class"),e;t=n.div=n.div||l("div",s?{className:s}:void 0,{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px",display:n.display,opacity:n.opacity,pointerEvents:n.styles&&n.styles.pointerEvents},t||r);e=t.style;f(n,{classSetter:function(n){return function(t){this.element.setAttribute("class",t);n.className=t}}(t),on:function(){return i[0].div&&u.on.apply({element:i[0].div},arguments),n},translateXSetter:o,translateYSetter:o});n.addedSetters||a(n)})}}else t=r;return t.appendChild(e),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}})}),i(t,"parts/Tick.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var s=t.clamp,u=t.correctFloat,f=t.defined,h=t.destroyObjectProperties,c=t.extend,r=t.fireEvent,o=t.isNumber,l=t.merge,a=t.objectEach,i=t.pick,e=n.deg2rad;return t=function(){function n(n,t,i,u,f){this.isNewLabel=this.isNew=!0;this.axis=n;this.pos=t;this.type=i||"";this.parameters=f||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;r(this,"init");i||u||this.addLabel()}return n.prototype.addLabel=function(){var n=this,t=n.axis,o=t.options,w=t.chart,l=t.categories,b=t.logarithmic,a=t.names,s=n.pos,h=i(n.options&&n.options.labels,o.labels),e=t.tickPositions,k=s===e[0],d=s===e[e.length-1],r,v,p,y,g;a=this.parameters.category||(l?i(l[s],a[s],s):s);r=n.label;l=(!h.step||1===h.step)&&1===t.tickInterval;e=e.info;t.dateTime&&e&&(y=w.time.resolveDTLFormat(o.dateTimeLabelFormats[!o.grid&&e.higherRanks[s]||e.unitName]),g=y.main);n.isFirst=k;n.isLast=d;n.formatCtx={axis:t,chart:w,isFirst:k,isLast:d,dateTimeLabelFormat:g,tickPositionInfo:e,value:b?u(b.lin2log(a)):a,pos:s};o=t.labelFormatter.call(n.formatCtx,this.formatCtx);(p=y&&y.list)&&(n.shortenLabel=function(){for(v=0;v<p.length;v++)if(r.attr({text:t.labelFormatter.call(c(n.formatCtx,{dateTimeLabelFormat:p[v]}))}),r.getBBox().width<t.getSlotWidth(n)-2*i(h.padding,5))return;r.attr({text:""})});l&&t._addedPlotLB&&t.isXAxis&&n.moveLabel(o,h);f(r)||n.movedLabel?r&&r.textStr!==o&&!l&&(!r.textWidth||h.style&&h.style.width||r.styles.width||r.css({width:null}),r.attr({text:o}),r.textPxLength=r.getBBox().width):(n.label=r=n.createLabel({x:0,y:0},o,h),n.rotation=0)},n.prototype.createLabel=function(n,t,i){var r=this.axis,u=r.chart;return(n=f(t)&&i.enabled?u.renderer.text(t,n.x,n.y,i.useHTML).add(r.labelGroup):null)&&(u.styledMode||n.css(l(i.style)),n.textPxLength=n.getBBox().width),n},n.prototype.destroy=function(){h(this,this.axis)},n.prototype.getPosition=function(n,t,i,f){var e=this.axis,o=e.chart,h=f&&o.oldChartHeight||o.chartHeight;return n={x:n?u(e.translate(t+i,null,null,f)+e.transB):e.left+e.offset+(e.opposite?(f&&o.oldChartWidth||o.chartWidth)-e.right-e.left:0),y:n?h-e.bottom+e.offset-(e.opposite?e.height:0):u(h-e.translate(t+i,null,null,f)-e.transB)},n.y=s(n.y,-1e5,1e5),r(this,"afterGetPosition",{pos:n}),n},n.prototype.getLabelPosition=function(n,t,i,u,o,s,h,c){var l=this.axis,w=l.transA,b=l.isLinked&&l.linkedParent?l.linkedParent.reversed:l.reversed,a=l.staggerLines,y=l.tickRotCorr||{x:0,y:0},p=o.y,k=u||l.reserveSpaceDefault?0:-l.labelOffset*("center"===l.labelAlign?.5:1),v={};return f(p)||(p=0===l.side?i.rotation?-8:-i.getBBox().height:2===l.side?y.y+8:Math.cos(i.rotation*e)*(y.y-i.getBBox(!1,0).height/2)),n=n+o.x+k+y.x-(s&&u?s*w*(b?-1:1):0),t=t+p-(s&&!u?s*w*(b?1:-1):0),a&&(i=h/(c||1)%a,l.opposite&&(i=a-i-1),t+=l.labelOffset/a*i),v.x=n,v.y=Math.round(t),r(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:s,index:h}),v},n.prototype.getLabelSize=function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},n.prototype.getMarkPath=function(n,t,i,r,u,f){return f.crispLine([["M",n,t],["L",n+(u?0:-i),t+(u?i:0)]],r)},n.prototype.handleOverflow=function(n){var t=this.axis,w=t.options.labels,f=n.x,a=t.chart.chartWidth,o=t.chart.spacing,v=i(t.labelLeft,Math.min(t.pos,o[3]));o=i(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,a-o[1]));var y=this.label,h=this.rotation,u={left:0,center:.5,right:1}[t.labelAlign||y.attr("align")],s=y.getBBox().width,c=t.getSlotWidth(this),r=c,b=1,l,p={};h||"justify"!==i(w.overflow,"justify")?0>h&&f-u*s<v?l=Math.round(f/Math.cos(h*e)-v):0<h&&f+u*s>o&&(l=Math.round((a-f)/Math.cos(h*e))):(a=f+(1-u)*s,f-u*s<v?r=n.x+r*(1-u)-v:a>o&&(r=o-n.x+r*u,b=-1),r=Math.min(c,r),r<c&&"center"===t.labelAlign&&(n.x+=b*(c-r-u*(c-Math.min(s,r)))),s>r||t.autoRotation&&(y.styles||{}).width)&&(l=r);l&&(this.shortenLabel?this.shortenLabel():(p.width=Math.floor(l)+"px",(w.style||{}).textOverflow||(p.textOverflow="ellipsis"),y.css(p)))},n.prototype.moveLabel=function(n,t){var i=this,u=i.label,f=!1,r=i.axis,o=r.reversed,s=r.chart.inverted,e;u&&u.textStr===n?(i.movedLabel=u,f=!0,delete i.label):a(r.ticks,function(t){f||t.isNew||t===i||!t.label||t.label.textStr!==n||(i.movedLabel=t.label,f=!0,t.labelPos=i.movedLabel.xy,delete t.label)});!f&&(i.labelPos||u)&&(e=i.labelPos||u.xy,u=s?e.x:o?0:r.width+r.left,r=s?o?r.width+r.left:0:e.y,i.movedLabel=i.createLabel({x:u,y:r},n,t),i.movedLabel&&i.movedLabel.attr({opacity:0}))},n.prototype.render=function(n,t,u){var f=this.axis,o=f.horiz,e=this.pos,s=i(this.tickmarkOffset,f.tickmarkOffset),h;e=this.getPosition(o,e,s,t);s=e.x;h=e.y;f=o&&s===f.pos+f.len||!o&&h===f.pos?-1:1;u=i(u,1);this.isActive=!0;this.renderGridLine(t,u,f);this.renderMark(e,u,f);this.renderLabel(e,t,u,n);this.isNew=!1;r(this,"afterRender")},n.prototype.renderGridLine=function(n,t,r){var u=this.axis,f=u.options,e=this.gridLine,o={},c=this.pos,s=this.type,l=i(this.tickmarkOffset,u.tickmarkOffset),a=u.chart.renderer,h=s?s+"Grid":"grid",v=f[h+"LineWidth"],y=f[h+"LineColor"];f=f[h+"LineDashStyle"];e||(u.chart.styledMode||(o.stroke=y,o["stroke-width"]=v,f&&(o.dashstyle=f)),s||(o.zIndex=1),n&&(t=0),this.gridLine=e=a.path().attr(o).addClass("highcharts-"+(s?s+"-":"")+"grid-line").add(u.gridGroup));e&&(r=u.getPlotLinePath({value:c+l,lineWidth:e.strokeWidth()*r,force:"pass",old:n}))&&e[n||this.isNew?"attr":"animate"]({d:r,opacity:t})},n.prototype.renderMark=function(n,t,r){var u=this.axis,o=u.options,c=u.chart.renderer,f=this.type,h=f?f+"Tick":"tick",s=u.tickSize(h),e=this.mark,l=!e,v=n.x,a;n=n.y;a=i(o[h+"Width"],!f&&u.isXAxis?1:0);o=o[h+"Color"];s&&(u.opposite&&(s[0]=-s[0]),l&&(this.mark=e=c.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(u.axisGroup),u.chart.styledMode||e.attr({stroke:o,"stroke-width":a})),e[l?"attr":"animate"]({d:this.getMarkPath(v,n,s[0],e.strokeWidth()*r,u.horiz,c),opacity:t}))},n.prototype.renderLabel=function(n,t,r,u){var f=this.axis,v=f.horiz,c=f.options,e=this.label,s=c.labels,l=s.step,h,a;f=i(this.tickmarkOffset,f.tickmarkOffset);h=!0;a=n.x;n=n.y;e&&o(a)&&(e.xy=n=this.getLabelPosition(a,n,e,v,s,f,u,l),this.isFirst&&!this.isLast&&!i(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!i(c.showLastLabel,1)?h=!1:!v||s.step||s.rotation||t||0===r||this.handleOverflow(n),l&&u%l&&(h=!1),h&&o(n.y)?(n.opacity=r,e[this.isNewLabel?"attr":"animate"](n),this.isNewLabel=!1):(e.attr("y",-9999),this.isNewLabel=!0))},n.prototype.replaceMovedLabel=function(){var t=this.label,n=this.axis,i=n.reversed,r=this.axis.chart.inverted,u;t&&!this.isNew&&(u=r?t.xy.x:i?n.left:n.width+n.left,i=r?i?n.width+n.top:n.top:t.xy.y,t.animate({x:u,y:i,opacity:0},void 0,t.destroy),delete this.label);n.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel},n}(),n.Tick=t,n.Tick}),i(t,"parts/Time.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var e=t.defined,s=t.error,o=t.extend,h=t.isObject,c=t.merge,l=t.objectEach,r=t.pad,u=t.pick,a=t.splat,i=t.timeUnits,f=n.win;return t=function(){function t(n){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=f.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(n)}return t.prototype.get=function(n,t){if(this.variableTimezone||this.timezoneOffset){var i=t.getTime(),r=i-this.getTimezoneOffset(t);return t.setTime(r),n=t["getUTC"+n](),t.setTime(i),n}return this.useUTC?t["getUTC"+n]():t["get"+n]()},t.prototype.set=function(n,t,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===n||"Seconds"===n||"Minutes"===n)return t["setUTC"+n](i);var r=this.getTimezoneOffset(t);return r=t.getTime()-r,t.setTime(r),t["setUTC"+n](i),n=this.getTimezoneOffset(t),r=t.getTime()+n,t.setTime(r)}return this.useUTC?t["setUTC"+n](i):t["set"+n](i)},t.prototype.update=function(n){var t=u(n&&n.useUTC,!0);this.options=n=c(!0,this.options||{},n);this.Date=n.Date||f.Date||Date;this.timezoneOffset=(this.useUTC=t)&&n.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=!(t&&!n.getTimezoneOffset&&!n.timezone)},t.prototype.makeTime=function(t,i,r,f,e,o){var s,h,c;return this.useUTC?(s=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(s),s+=h,c=this.getTimezoneOffset(s),h!==c?s+=c-h:h-36e5!==this.getTimezoneOffset(s-36e5)||n.isSafari||(s-=36e5)):s=new this.Date(t,i,u(r,1),u(f,0),u(e,0),u(o,0)).getTime(),s},t.prototype.timezoneOffsetFunction=function(){var i=this,n=this.options,t=f.moment;if(!this.useUTC)return function(n){return 6e4*new Date(n.toString()).getTimezoneOffset()};if(n.timezone){if(t)return function(i){return 6e4*-t.tz(i,n.timezone).utcOffset()};s(25)}return this.useUTC&&n.getTimezoneOffset?function(t){return 6e4*n.getTimezoneOffset(t.valueOf())}:function(){return 6e4*(i.timezoneOffset||0)}},t.prototype.dateFormat=function(t,i,f){var s,y;if(!e(i)||isNaN(i))return(null===(s=n.defaultOptions.lang)||void 0===s?void 0:s.invalidDate)||"";t=u(t,"%Y-%m-%d %H:%M:%S");y=this;s=new this.Date(i);var c=this.get("Hours",s),a=this.get("Day",s),p=this.get("Date",s),v=this.get("Month",s),w=this.get("FullYear",s),h=n.defaultOptions.lang,b=null===h||void 0===h?void 0:h.weekdays,k=null===h||void 0===h?void 0:h.shortWeekdays;return s=o({a:k?k[a]:b[a].substr(0,3),A:b[a],d:r(p),e:r(p,2," "),w:a,b:h.shortMonths[v],B:h.months[v],m:r(v+1),o:v+1,y:w.toString().substr(2,2),Y:w,H:r(c),k:c,I:r(c%12||12),l:c%12||12,M:r(this.get("Minutes",s)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:r(s.getSeconds()),L:r(Math.floor(i%1e3),3)},n.dateFormats),l(s,function(n,r){for(;-1!==t.indexOf("%"+r);)t=t.replace("%"+r,"function"==typeof n?n.call(y,i):n)}),f?t.substr(0,1).toUpperCase()+t.substr(1):t},t.prototype.resolveDTLFormat=function(n){return h(n,!0)?n:(n=a(n),{main:n[0],from:n[1],to:n[2]})},t.prototype.getTimeTicks=function(n,t,r,f){var s=this,v=[],w={},h=new s.Date(t),c=n.unitRange,l=n.count||1,y,a,p,b;if(f=u(f,1),e(t)){for(s.set("Milliseconds",h,c>=i.second?0:l*Math.floor(s.get("Milliseconds",h)/l)),c>=i.second&&s.set("Seconds",h,c>=i.minute?0:l*Math.floor(s.get("Seconds",h)/l)),c>=i.minute&&s.set("Minutes",h,c>=i.hour?0:l*Math.floor(s.get("Minutes",h)/l)),c>=i.hour&&s.set("Hours",h,c>=i.day?0:l*Math.floor(s.get("Hours",h)/l)),c>=i.day&&s.set("Date",h,c>=i.month?1:Math.max(1,l*Math.floor(s.get("Date",h)/l))),c>=i.month&&(s.set("Month",h,c>=i.year?0:l*Math.floor(s.get("Month",h)/l)),a=s.get("FullYear",h)),c>=i.year&&s.set("FullYear",h,a-a%l),c===i.week&&(a=s.get("Day",h),s.set("Date",h,s.get("Date",h)-a+f+(a<f?-7:0))),a=s.get("FullYear",h),f=s.get("Month",h),p=s.get("Date",h),b=s.get("Hours",h),t=h.getTime(),s.variableTimezone&&(y=r-t>4*i.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(r)),t=h.getTime(),h=1;t<r;)v.push(t),t=c===i.year?s.makeTime(a+h*l,0):c===i.month?s.makeTime(a,f+h*l):!y||c!==i.day&&c!==i.week?y&&c===i.hour&&1<l?s.makeTime(a,f,p,b+h*l):t+c*l:s.makeTime(a,f,p+h*l*(c===i.day?1:7)),h++;v.push(t);c<=i.hour&&1e4>v.length&&v.forEach(function(n){0==n%18e5&&"000000000"===s.dateFormat("%H%M%S%L",n)&&(w[n]="day")})}return v.info=o(n,{higherRanks:w,totalRange:c*l}),v},t}(),n.Time=t,n.Time}),i(t,"parts/Options.js",[t["parts/Globals.js"],t["parts/Time.js"],t["parts/Color.js"],t["parts/Utilities.js"]],function(n,t,i,r){return i=i.parse,r=r.merge,n.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n.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:n.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{point.color}">●<\/span> {series.name}: <b>{point.y}<\/b><br/>',backgroundColor:i("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}},n.time=new t(r(n.defaultOptions.global,n.defaultOptions.time)),n.dateFormat=function(t,i,r){return n.time.dateFormat(t,i,r)},{dateFormat:n.dateFormat,defaultOptions:n.defaultOptions,time:n.time}}),i(t,"parts/Axis.js",[t["parts/Color.js"],t["parts/Globals.js"],t["parts/Tick.js"],t["parts/Utilities.js"],t["parts/Options.js"]],function(n,t,i,r,u){var d=r.addEvent,g=r.animObject,y=r.arrayMax,nt=r.arrayMin,p=r.clamp,h=r.correctFloat,e=r.defined,tt=r.destroyObjectProperties,a=r.error,w=r.extend,o=r.fireEvent,it=r.format,rt=r.getMagnitude,ut=r.isArray,ft=r.isFunction,s=r.isNumber,b=r.isString,v=r.merge,et=r.normalizeTickInterval,c=r.objectEach,f=r.pick,l=r.relativeLength,ot=r.removeEvent,st=r.splat,ht=r.syncTimeout,k=u.defaultOptions,ct=t.deg2rad;return r=function(){function r(n,t){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.oldMin=this.oldMax=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0;this.init(n,t)}return r.prototype.init=function(n,t){var u=t.isX,i=this,r,s;i.chart=n;i.horiz=n.inverted&&!i.isZAxis?!u:u;i.isXAxis=u;i.coll=i.coll||(u?"xAxis":"yAxis");o(this,"init",{userOptions:t});i.opposite=t.opposite;i.side=t.side||(i.horiz?i.opposite?0:2:i.opposite?1:3);i.setOptions(t);r=this.options;s=r.type;i.labelFormatter=r.labels.formatter||i.defaultLabelFormatter;i.userOptions=t;i.minPixelPadding=0;i.reversed=r.reversed;i.visible=!1!==r.visible;i.zoomEnabled=!1!==r.zoomEnabled;i.hasNames="category"===s||!0===r.categories;i.categories=r.categories||i.hasNames;i.names||(i.names=[],i.names.keys={});i.plotLinesAndBandsGroups={};i.positiveValuesOnly=!(!i.logarithmic||r.allowNegativeLog);i.isLinked=e(r.linkedTo);i.ticks={};i.labelEdge=[];i.minorTicks={};i.plotLinesAndBands=[];i.alternateBands={};i.len=0;i.minRange=i.userMinRange=r.minRange||r.maxZoom;i.range=r.range;i.offset=r.offset||0;i.max=null;i.min=null;i.crosshair=f(r.crosshair,st(n.options.tooltip.crosshairs)[u?0:1],!1);t=i.options.events;-1===n.axes.indexOf(i)&&(u?n.axes.splice(n.xAxis.length,0,i):n.axes.push(i),n[i.coll].push(i));i.series=i.series||[];n.inverted&&!i.isZAxis&&u&&"undefined"==typeof i.reversed&&(i.reversed=!0);i.labelRotation=i.options.labels.rotation;c(t,function(n,t){ft(n)&&d(i,t,n)});o(this,"afterInit")},r.prototype.setOptions=function(n){this.options=v(r.defaultOptions,"yAxis"===this.coll&&r.defaultYAxisOptions,[r.defaultTopAxisOptions,r.defaultRightAxisOptions,r.defaultBottomAxisOptions,r.defaultLeftAxisOptions][this.side],v(k[this.coll],n));o(this,"afterSetOptions",{userOptions:n})},r.prototype.defaultLabelFormatter=function(){var n=this.axis,t=s(this.value)?this.value:NaN,u=n.chart.time,a=n.categories,l=this.dateTimeLabelFormat,f=k.lang,e=f.numericSymbols,r,h,c,o,i;if(f=f.numericSymbolMagnitude||1e3,r=e&&e.length,h=n.options.labels.format,n=n.logarithmic?Math.abs(t):n.tickInterval,c=this.chart,o=c.numberFormatter,h)i=it(h,this,c);else if(a)i=""+this.value;else if(l)i=u.dateFormat(l,t);else if(r&&1e3<=n)for(;r--&&"undefined"==typeof i;)u=Math.pow(f,r+1),n>=u&&0==10*t%u&&null!==e[r]&&0!==t&&(i=o(t/u,-1)+e[r]);return"undefined"==typeof i&&(i=1e4<=Math.abs(t)?o(t,-1):o(t,-1,void 0,"")),i},r.prototype.getSeriesExtremes=function(){var n=this,i=n.chart,t;o(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1;n.dataMin=n.dataMax=n.threshold=null;n.softThreshold=!n.isXAxis;n.stacking&&n.stacking.buildStacks();n.series.forEach(function(r){var u,c,o,h;(r.visible||!i.options.chart.ignoreHiddenSeries)&&(u=r.options,c=u.threshold,n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=c&&(c=null),n.isXAxis?(u=r.xData,u.length)&&(t=r.getXExtremes(u),o=t.min,h=t.max,s(o)||o instanceof Date||(u=u.filter(s),t=r.getXExtremes(u),o=t.min,h=t.max),u.length&&(n.dataMin=Math.min(f(n.dataMin,o),o),n.dataMax=Math.max(f(n.dataMax,h),h))):(r=r.applyExtremes(),s(r.dataMin)&&(o=r.dataMin,n.dataMin=Math.min(f(n.dataMin,o),o)),s(r.dataMax)&&(h=r.dataMax,n.dataMax=Math.max(f(n.dataMax,h),h)),e(c)&&(n.threshold=c),!u.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1))})});o(this,"afterGetSeriesExtremes")},r.prototype.translate=function(n,t,i,r,u,f){var e=this.linkedParent||this,o=1,c=0,h=r?e.oldTransA:e.transA,l;return r=r?e.oldMin:e.min,l=e.minPixelPadding,u=(e.isOrdinal||e.brokenAxis&&e.brokenAxis.hasBreaks||e.logarithmic&&u)&&e.lin2val,h||(h=e.transA),i&&(o*=-1,c=e.len),e.reversed&&(o*=-1,c-=o*(e.sector||e.len)),t?(n=(n*o+c-l)/h+r,u&&(n=e.lin2val(n))):(u&&(n=e.val2lin(n)),n=s(r)?o*(n-r)*h+c+o*l+(s(f)?h*f:0):void 0),n},r.prototype.toPixels=function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},r.prototype.toValue=function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},r.prototype.getPlotLinePath=function(n){function b(n,t,i){return("pass"!==u&&n<t||n>i)&&(u?n=p(n,t,i):w=!0),n}var t=this,r=t.chart,v=t.left,y=t.top,c=n.old,k=n.value,i=n.translatedValue,d=n.lineWidth,u=n.force,e,h,l,a,g=c&&r.oldChartHeight||r.chartHeight,tt=c&&r.oldChartWidth||r.chartWidth,w,nt=t.transB;return n={value:k,lineWidth:d,old:c,force:u,acrossPanes:n.acrossPanes,translatedValue:i},o(this,"getPlotLinePath",n,function(n){i=f(i,t.translate(k,null,null,c));i=p(i,-1e5,1e5);e=l=Math.round(i+nt);h=a=Math.round(g-i-nt);s(i)?t.horiz?(h=y,a=g-t.bottom,e=l=b(e,v,v+t.width)):(e=v,l=tt-t.right,h=a=b(h,y,y+t.height)):(w=!0,u=!1);n.path=w&&!u?null:r.renderer.crispLine([["M",e,h],["L",l,a]],d||1)}),n.path},r.prototype.getLinearTickPositions=function(n,t,i){var r=h(Math.floor(t/n)*n),u,f,e;if(i=h(Math.ceil(i/n)*n),u=[],h(r+n)===r&&(f=20),this.single)return[t];for(t=r;t<=i;){if(u.push(t),t=h(t+n,f),t===e)break;e=t}return u},r.prototype.getMinorTickInterval=function(){var n=this.options;return!0===n.minorTicks?f(n.minorTickInterval,"auto"):!1===n.minorTicks?null:n.minorTickInterval},r.prototype.getMinorTickPositions=function(){var t=this.options,o=this.tickPositions,r=this.minorTickInterval,n=[],i=this.pointRangePadding||0,u=this.min-i,f,e;if(i=this.max+i,f=i-u,f&&f/r<this.len/3)if(e=this.logarithmic,e)this.paddedTicks.forEach(function(t,i,u){i&&n.push.apply(n,e.getLogTickPositions(r,u[i-1],u[i],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(r),u,i,t.startOfWeek));else for(t=u+(o[0]-u)%r;t<=i&&t!==n[0];t+=r)n.push(t);return 0!==n.length&&this.trimTicks(n),n},r.prototype.adjustForMinRange=function(){var u=this.options,n=this.min,t=this.max,c=this.logarithmic,s,o,l,h,v;if(this.isXAxis&&"undefined"==typeof this.minRange&&!c&&(e(u.min)||e(u.max)?this.minRange=null:(this.series.forEach(function(n){for(h=n.xData,o=v=n.xIncrement?1:h.length-1;0<o;o--)(l=h[o]-h[o-1],"undefined"==typeof s||l<s)&&(s=l)}),this.minRange=Math.min(5*s,this.dataMax-this.dataMin))),t-n<this.minRange){var a=this.dataMax-this.dataMin>=this.minRange,r=this.minRange,i=(r-t+n)/2;i=[n-i,f(u.min,n-i)];a&&(i[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);n=y(i);t=[n+r,f(u.max,n+r)];a&&(t[2]=c?c.log2lin(this.dataMax):this.dataMax);t=nt(t);t-n<r&&(i[0]=t-r,i[1]=f(u.min,t-r),n=y(i))}this.min=n;this.max=t},r.prototype.getClosest=function(){var n;return this.categories?n=1:this.series.forEach(function(t){var i=t.closestPointRange,r=t.visible||!t.chart.options.chart.ignoreHiddenSeries;!t.noSharedTooltip&&e(i)&&r&&(n=e(n)?Math.min(n,i):i)}),n},r.prototype.nameToX=function(n){var r=ut(this.categories),u=r?this.categories:this.names,i=n.options.x,t;return n.series.requireSorting=!1,e(i)||(i=!1===this.options.uniqueNames?n.series.autoIncrement():r?u.indexOf(n.name):f(u.keys[n.name],-1)),-1===i?r||(t=u.length):t=i,"undefined"!=typeof t&&(this.names[t]=n.name,this.names.keys[n.name]=t),t},r.prototype.updateNames=function(){var t=this,n=this.names;0<n.length&&(Object.keys(n.keys).forEach(function(t){delete n.keys[t]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(n){n.xIncrement=null;(!n.points||n.isDirtyData)&&(t.max=Math.max(t.max,n.xData.length-1),n.processData(),n.generatePoints());n.data.forEach(function(i,r){if(i&&i.options&&"undefined"!=typeof i.name){var u=t.nameToX(i);"undefined"!=typeof u&&u!==i.x&&(i.x=u,n.xData[r]=u)}})}))},r.prototype.setAxisTranslation=function(n){var t=this,a=t.max-t.min,h=t.axisPointRange||0,r=0,u=0,i=t.linkedParent,c=!!t.categories,l=t.transA,e=t.isXAxis,s;(e||c||h)&&(s=t.getClosest(),i?(r=i.minPointOffset,u=i.pointRangePadding):t.series.forEach(function(n){var i=c?1:e?f(n.options.pointRange,s,0):t.axisPointRange||0,o=n.options.pointPlacement;h=Math.max(h,i);(!t.single||c)&&(n=n.is("xrange")?!e:e,r=Math.max(r,n&&b(o)?0:i/2),u=Math.max(u,n&&"on"===o?0:i))}),i=t.ordinal&&t.ordinal.slope&&s?t.ordinal.slope/s:1,t.minPointOffset=r*=i,t.pointRangePadding=u*=i,t.pointRange=Math.min(h,t.single&&c?1:a),e&&(t.closestPointRange=s));n&&(t.oldTransA=l);t.translationSlope=t.transA=l=t.staticScale||t.len/(a+u||1);t.transB=t.horiz?t.left:t.bottom;t.minPixelPadding=l*r;o(this,"afterSetAxisTranslation")},r.prototype.minFromRange=function(){return this.max-this.range},r.prototype.setTickInterval=function(n){var t=this,c=t.chart,w=t.logarithmic,i=t.options,it=t.isXAxis,p=t.isLinked,b=i.maxPadding,k=i.minPadding,l=i.tickInterval,d=i.tickPixelInterval,g=t.categories,r=s(t.threshold)?t.threshold:null,nt=t.softThreshold,v,y,u,tt;t.dateTime||g||p||this.getTickAmount();v=f(t.userMin,i.min);y=f(t.userMax,i.max);p?(t.linkedParent=c[t.coll][i.linkedTo],u=t.linkedParent.getExtremes(),t.min=f(u.min,u.dataMin),t.max=f(u.max,u.dataMax),i.type!==t.linkedParent.options.type&&a(11,1,c)):(!nt&&e(r)&&(t.dataMin>=r?(u=r,k=0):t.dataMax<=r&&(tt=r,b=0)),t.min=f(v,u,t.dataMin),t.max=f(y,tt,t.dataMax));w&&(t.positiveValuesOnly&&!n&&0>=Math.min(t.min,f(t.dataMin,t.min))&&a(10,1,c),t.min=h(w.log2lin(t.min),16),t.max=h(w.log2lin(t.max),16));t.range&&e(t.max)&&(t.userMin=t.min=v=Math.max(t.dataMin,t.minFromRange()),t.userMax=y=t.max,t.range=null);o(t,"foundExtremes");t.beforePadding&&t.beforePadding();t.adjustForMinRange();!(g||t.axisPointRange||t.stacking&&t.stacking.usePercentage||p)&&e(t.min)&&e(t.max)&&(c=t.max-t.min)&&(!e(v)&&k&&(t.min-=c*k),!e(y)&&b&&(t.max+=c*b));s(t.userMin)||(s(i.softMin)&&i.softMin<t.min&&(t.min=v=i.softMin),s(i.floor)&&(t.min=Math.max(t.min,i.floor)));s(t.userMax)||(s(i.softMax)&&i.softMax>t.max&&(t.max=y=i.softMax),s(i.ceiling)&&(t.max=Math.min(t.max,i.ceiling)));nt&&e(t.dataMin)&&(r=r||0,!e(v)&&t.min<r&&t.dataMin>=r?t.min=t.options.minRange?Math.min(r,t.max-t.minRange):r:!e(y)&&t.max>r&&t.dataMax<=r&&(t.max=t.options.minRange?Math.max(r,t.min+t.minRange):r));t.tickInterval=t.min===t.max||"undefined"==typeof t.min||"undefined"==typeof t.max?1:p&&!l&&d===t.linkedParent.options.tickPixelInterval?l=t.linkedParent.tickInterval:f(l,this.tickAmount?(t.max-t.min)/Math.max(this.tickAmount-1,1):void 0,g?1:(t.max-t.min)*d/Math.max(t.len,d));it&&!n&&t.series.forEach(function(n){n.processData(t.min!==t.oldMin||t.max!==t.oldMax)});t.setAxisTranslation(!0);o(this,"initialAxisTranslation");t.pointRange&&!l&&(t.tickInterval=Math.max(t.pointRange,t.tickInterval));n=f(i.minTickInterval,t.dateTime&&!t.series.some(function(n){return n.noSharedTooltip})?t.closestPointRange:0);!l&&t.tickInterval<n&&(t.tickInterval=n);t.dateTime||t.logarithmic||l||(t.tickInterval=et(t.tickInterval,void 0,rt(t.tickInterval),f(i.allowDecimals,.5>t.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount||(t.tickInterval=t.unsquish());this.setTickPositions()},r.prototype.setTickPositions=function(){var t=this.options,u=t.tickPositions,n=this.getMinorTickInterval(),i=t.tickPositioner,r=this.hasVerticalPanning(),f="colorAxis"===this.coll,s=(f||!r)&&t.startOnTick;r=(f||!r)&&t.endOnTick;this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===n&&this.tickInterval?this.tickInterval/5:n;this.single=this.min===this.max&&e(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==t.allowDecimals);this.tickPositions=n=u&&u.slice();!n&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?n=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(n=[this.min,this.max],a(19,!1,this.chart)),n.length>this.len&&(n=[n[0],n.pop()],n[0]===n[1]&&(n.length=1)),this.tickPositions=n,i&&(i=i.apply(this,[this.min,this.max])))&&(this.tickPositions=n=i);this.paddedTicks=n.slice(0);this.trimTicks(n,s,r);this.isLinked||(this.single&&2>n.length&&!this.categories&&!this.series.some(function(n){return n.is("heatmap")&&"between"===n.options.pointPlacement})&&(this.min-=.5,this.max+=.5),u||i||this.adjustTickAmount());o(this,"afterSetTickPositions")},r.prototype.trimTicks=function(n,t,i){var r=n[0],u=n[n.length-1],f=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(t&&-Infinity!==r)this.min=r;else for(;this.min-f>n[0];)n.shift();if(i)this.max=u;else for(;this.max+f<n[n.length-1];)n.pop();0===n.length&&e(r)&&!this.options.tickPositions&&n.push((u+r)/2)}},r.prototype.alignToOthers=function(){var t={},i,n=this.options;return!1===this.chart.options.chart.alignTicks||!1===n.alignTicks||!1===n.startOnTick||!1===n.endOnTick||this.logarithmic||this.chart[this.coll].forEach(function(n){var r=n.options;r=[n.horiz?r.left:r.top,r.width,r.height,r.pane].join();n.series.length&&(t[r]?i=!0:t[r]=1)}),i},r.prototype.getTickAmount=function(){var t=this.options,n=t.tickAmount,i=t.tickPixelInterval;!e(t.tickInterval)&&!n&&this.len<i&&!this.isRadial&&!this.logarithmic&&t.startOnTick&&t.endOnTick&&(n=2);!n&&this.alignToOthers()&&(n=Math.ceil(this.len/i)+1);4>n&&(this.finalTickAmt=n,n=5);this.tickAmount=n},r.prototype.adjustTickAmount=function(){var i=this.options,t=this.tickInterval,n=this.tickPositions,r=this.tickAmount,u=this.finalTickAmt,o=n&&n.length,c=f(this.threshold,this.softThreshold?0:null),s;if(this.hasData()){if(o<r){for(s=this.min;n.length<r;)n.length%2||s===c?n.push(h(n[n.length-1]+t)):n.unshift(h(n[0]-t));this.transA*=(o-1)/(r-1);this.min=i.startOnTick?n[0]:Math.min(this.min,n[0]);this.max=i.endOnTick?n[n.length-1]:Math.max(this.max,n[n.length-1])}else o>r&&(this.tickInterval*=2,this.setTickPositions());if(e(u)){for(t=i=n.length;t--;)(3===u&&1==t%2||2>=u&&0<t&&t<i-1)&&n.splice(t,1);this.finalTickAmt=void 0}}},r.prototype.setScale=function(){var i,n=!1,t=!1;this.series.forEach(function(i){var r;n=n||i.isDirtyData||i.isDirty;t=t||(null===(r=i.xAxis)||void 0===r?void 0:r.isDirty)||!1});this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(i=this.len!==this.oldAxisLength)||n||t||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.stacking&&this.stacking.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=i||this.min!==this.oldMin||this.max!==this.oldMax)):this.stacking&&this.stacking.cleanStacks();n&&this.panningState&&(this.panningState.isDirty=!0);o(this,"afterSetScale")},r.prototype.setExtremes=function(n,t,i,r,u){var e=this,s=e.chart;i=f(i,!0);e.series.forEach(function(n){delete n.kdTree});u=w(u,{min:n,max:t});o(e,"setExtremes",u,function(){e.userMin=n;e.userMax=t;e.eventArgs=u;i&&s.redraw(r)})},r.prototype.zoom=function(n,t){var i=this,s=this.dataMin,h=this.dataMax,c=this.options,r=Math.min(s,f(c.min,s)),u=Math.max(h,f(c.max,h));return n={newMin:n,newMax:t},o(this,"zoom",n,function(n){var t=n.newMin,f=n.newMax;(t!==i.min||f!==i.max)&&(i.allowZoomOutside||(e(s)&&(t<r&&(t=r),t>u&&(t=u)),e(h)&&(f<r&&(f=r),f>u&&(f=u))),i.displayBtn="undefined"!=typeof t||"undefined"!=typeof f,i.setExtremes(t,f,!1,void 0,{trigger:"zoom"}));n.zoomed=!0}),n.zoomed},r.prototype.setAxisSize=function(){var n=this.chart,t=this.options,i=t.offsets||[0,0,0,0],r=this.horiz,u=this.width=Math.round(l(f(t.width,n.plotWidth-i[3]+i[1]),n.plotWidth)),e=this.height=Math.round(l(f(t.height,n.plotHeight-i[0]+i[2]),n.plotHeight)),o=this.top=Math.round(l(f(t.top,n.plotTop+i[0]),n.plotHeight,n.plotTop));t=this.left=Math.round(l(f(t.left,n.plotLeft+i[3]),n.plotWidth,n.plotLeft));this.bottom=n.chartHeight-e-o;this.right=n.chartWidth-u-t;this.len=Math.max(r?u:e,0);this.pos=r?t:o},r.prototype.getExtremes=function(){var n=this.logarithmic;return{min:n?h(n.lin2log(this.min)):this.min,max:n?h(n.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},r.prototype.getThreshold=function(n){var t=this.logarithmic,i=t?t.lin2log(this.min):this.min;return t=t?t.lin2log(this.max):this.max,null===n||-Infinity===n?n=i:Infinity===n?n=t:i>n?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},r.prototype.autoLabelAlign=function(n){var t=(f(n,0)-90*this.side+720)%360;return n={align:"center"},o(this,"autoLabelAlign",n,function(n){15<t&&165>t?n.align="right":195<t&&345>t&&(n.align="left")}),n.align},r.prototype.tickSize=function(n){var i=this.options,t=i["tick"===n?"tickLength":"minorTickLength"],r=f(i["tick"===n?"tickWidth":"minorTickWidth"],"tick"===n&&this.isXAxis&&!this.categories?1:0),u;return r&&t&&("inside"===i[n+"Position"]&&(t=-t),u=[t,r]),n={tickSize:u},o(this,"afterTickSize",n),n.tickSize},r.prototype.labelMetrics=function(){var n=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[n]&&this.ticks[n].label)},r.prototype.unsquish=function(){var n=this.options.labels,p=this.horiz,t=this.tickInterval,r=t,u=this.len/(((this.categories?1:0)+this.max-this.min)/t),l,i=n.rotation,a=this.labelMetrics(),o,v=Number.MAX_VALUE,s,c=this.max-this.min,y=function(n){var i=n/(u||1);return i=1<i?Math.ceil(i):1,i*t>c&&Infinity!==n&&Infinity!==u&&c&&(i=Math.ceil(c/t)),h(i*t)};return p?(s=!n.staggerLines&&!n.step&&(e(i)?[i]:u<f(n.autoRotationLimit,80)&&n.autoRotation))&&s.forEach(function(n){if(n===i||n&&-90<=n&&90>=n){o=y(Math.abs(a.h/Math.sin(ct*n)));var t=o+Math.abs(n/360);t<v&&(v=t,l=n,r=o)}}):n.step||(r=y(a.h)),this.autoRotation=s,this.labelRotation=f(l,i),r},r.prototype.getSlotWidth=function(n){var i,r=this.chart,u=this.horiz,t=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),f=r.margin[3];if(n&&s(n.slotWidth))return n.slotWidth;if(u&&t&&2>(t.step||0))return t.rotation?0:(this.staggerLines||1)*this.len/e;if(!u){if(n=null===(i=null===t||void 0===t?void 0:t.style)||void 0===i?void 0:i.width,void 0!==n)return parseInt(n,10);if(f)return f-r.spacing[3]}return.33*r.chartWidth},r.prototype.renderUnsquish=function(){var h=this.chart,y=h.renderer,u=this.tickPositions,c=this.ticks,t=this.options.labels,v=t&&t.style||{},p=this.horiz,o=this.getSlotWidth(),f=Math.max(1,Math.round(o-2*(t.padding||5))),r={},s=this.labelMetrics(),l=t.style&&t.style.textOverflow,i=0,e,a,n;if(b(t.rotation)||(r.rotation=t.rotation||0),u.forEach(function(n){n=c[n];n.movedLabel&&n.replaceMovedLabel();n&&n.label&&n.label.textPxLength>i&&(i=n.label.textPxLength)}),this.maxLabelLength=i,this.autoRotation)i>f&&i>s.h?r.rotation=this.labelRotation:this.labelRotation=0;else if(o&&(e=f,!l))for(a="clip",f=u.length;!p&&f--;)n=u[f],(n=c[n].label)&&(n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>o&&n.css({width:o+"px"}),n.getBBox().height>this.len/u.length-(s.h-s.f)&&(n.specificTextOverflow="ellipsis"));r.rotation&&(e=i>.5*h.chartHeight?.33*h.chartHeight:i,l||(a="ellipsis"));(this.labelAlign=t.align||this.autoLabelAlign(this.labelRotation))&&(r.align=this.labelAlign);u.forEach(function(n){var t=(n=c[n])&&n.label,u=v.width,i={};t&&(t.attr(r),n.shortenLabel?n.shortenLabel():e&&!u&&"nowrap"!==v.whiteSpace&&(e<t.textPxLength||"SPAN"===t.element.tagName)?(i.width=e+"px",l||(i.textOverflow=t.specificTextOverflow||a),t.css(i)):t.styles&&t.styles.width&&!i.width&&!u&&t.css({width:null}),delete t.specificTextOverflow,n.rotation=r.rotation)},this);this.tickRotCorr=y.rotCorr(s.b,this.labelRotation||0,0!==this.side)},r.prototype.hasData=function(){return this.series.some(function(n){return n.hasData()})||this.options.showEmpty&&e(this.min)&&e(this.max)},r.prototype.addTitle=function(n){var f=this.chart.renderer,e=this.horiz,r=this.opposite,t=this.options.title,i,u=this.chart.styledMode;this.axisTitle||((i=t.textAlign)||(i=(e?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[t.align]),this.axisTitle=f.text(t.text,0,0,t.useHTML).attr({zIndex:7,rotation:t.rotation||0,align:i}).addClass("highcharts-axis-title"),u||this.axisTitle.css(v(t.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);u||t.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"});this.axisTitle[n?"show":"hide"](n)},r.prototype.generateTick=function(n){var t=this.ticks;t[n]?t[n].addLabel():t[n]=new i(this,n)},r.prototype.getOffset=function(){var n=this,r=n.chart,a=r.renderer,i=n.options,v=n.tickPositions,w=n.ticks,s=n.horiz,t=n.side,tt=r.inverted&&!n.isZAxis?[1,0,3,2][t]:t,k,it=0,u=0,h=i.title,y=i.labels,l=0,b=r.axisOffset,nt;r=r.clipOffset;var p=[-1,1,1,-1][t],d=i.className,g=n.axisParent,rt=n.hasData();n.showAxis=k=rt||f(i.showEmpty,!0);n.staggerLines=n.horiz&&y.staggerLines;n.axisGroup||(n.gridGroup=a.g("grid").attr({zIndex:i.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(d||"")).add(g),n.axisGroup=a.g("axis").attr({zIndex:i.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(d||"")).add(g),n.labelGroup=a.g("axis-labels").attr({zIndex:y.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels "+(d||"")).add(g));rt||n.isLinked?(v.forEach(function(t,i){n.generateTick(t,i)}),n.renderUnsquish(),n.reserveSpaceDefault=0===t||2===t||{1:"left",3:"right"}[t]===n.labelAlign,f(y.reserveSpace,"center"===n.labelAlign?!0:null,n.reserveSpaceDefault)&&v.forEach(function(n){l=Math.max(w[n].getLabelSize(),l)}),n.staggerLines&&(l*=n.staggerLines),n.labelOffset=l*(n.opposite?-1:1)):c(w,function(n,t){n.destroy();delete w[t]});h&&h.text&&!1!==h.enabled&&(n.addTitle(k),k&&!1!==h.reserveSpace)&&(n.titleOffset=it=n.axisTitle.getBBox()[s?"height":"width"],nt=h.offset,u=e(nt)?0:f(h.margin,s?5:10));n.renderLine();n.offset=p*f(i.offset,b[t]?b[t]+(i.margin||0):0);n.tickRotCorr=n.tickRotCorr||{x:0,y:0};a=0===t?-n.labelMetrics().h:2===t?n.tickRotCorr.y:0;u=Math.abs(l)+u;l&&(u=u-a+p*(s?f(y.y,n.tickRotCorr.y+8*p):y.x));n.axisTitleMargin=f(nt,u);n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(w,v));s=this.tickSize("tick");b[t]=Math.max(b[t],n.axisTitleMargin+it+p*n.offset,u,v&&v.length&&s?s[0]+p*n.offset:0);i=i.offset?0:2*Math.floor(n.axisLine.strokeWidth()/2);r[tt]=Math.max(r[tt],i);o(this,"afterGetOffset")},r.prototype.getLinePath=function(n){var i=this.chart,u=this.opposite,t=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+t;return t=i.chartHeight-this.bottom-(u?this.height:0)+t,u&&(n*=-1),i.renderer.crispLine([["M",r?this.left:f,r?t:this.top],["L",r?i.chartWidth-this.right:f,r?t:i.chartHeight-this.bottom]],n)},r.prototype.renderLine=function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},r.prototype.getTitlePosition=function(){var n=this.horiz,r=this.left,s=this.top,t=this.len,u=this.options.title,f=n?r:s,e=this.opposite,h=this.offset,c=u.x||0,l=u.y||0,i=this.axisTitle,a=this.chart.renderer.fontMetrics(u.style&&u.style.fontSize,i);return i=Math.max(i.getBBox(null,0).height-a.h-1,0),t={low:f+(n?0:t),middle:f+t/2,high:f+(n?t:0)}[u.align],r=(n?s+this.height:r)+(n?1:-1)*(e?-1:1)*this.axisTitleMargin+[-i,i,a.f,-i][this.side],n={x:n?t+c:r+(e?this.width:0)+h+c,y:n?r+l-(e?this.height:0)+h:t+l},o(this,"afterGetTitlePosition",{titlePosition:n}),n},r.prototype.renderMinorTick=function(n){var r=this.chart.hasRendered&&s(this.oldMin),t=this.minorTicks;t[n]||(t[n]=new i(this,n,"minor"));r&&t[n].isNew&&t[n].render(null,!0);t[n].render(null,!1,1)},r.prototype.renderTick=function(n,t){var u=this.isLinked,r=this.ticks,f=this.chart.hasRendered&&s(this.oldMin);(!u||n>=this.min&&n<=this.max)&&(r[n]||(r[n]=new i(this,n)),f&&r[n].isNew&&r[n].render(t,!0,-1),r[n].render(t))},r.prototype.render=function(){var n=this,p=n.chart,v=n.logarithmic,u=n.options,tt=n.isLinked,l=n.tickPositions,f=n.axisTitle,a=n.ticks,k=n.minorTicks,r=n.alternateBands,d=u.stackLabels,nt=u.alternateGridColor,e=n.tickmarkOffset,h=n.axisLine,w=n.showAxis,it=g(p.renderer.globalAnimation),b,y;n.labelEdge.length=0;n.overlap=!1;[a,k,r].forEach(function(n){c(n,function(n){n.isActive=!1})});(n.hasData()||tt)&&(n.minorTickInterval&&!n.categories&&n.getMinorTickPositions().forEach(function(t){n.renderMinorTick(t)}),l.length&&(l.forEach(function(t,i){n.renderTick(t,i)}),e&&(0===n.min||n.single)&&(a[-1]||(a[-1]=new i(n,-1,null,!0)),a[-1].render(-1))),nt&&l.forEach(function(i,u){y="undefined"!=typeof l[u+1]?l[u+1]+e:n.max-e;0==u%2&&i<n.max&&y<=n.max+(p.polar?-e:e)&&(r[i]||(r[i]=new t.PlotLineOrBand(n)),b=i+e,r[i].options={from:v?v.lin2log(b):b,to:v?v.lin2log(y):y,color:nt,className:"highcharts-alternate-grid"},r[i].render(),r[i].isActive=!0)}),n._addedPlotLB||((u.plotLines||[]).concat(u.plotBands||[]).forEach(function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0));[a,k,r].forEach(function(n){var t,i=[],u=it.duration;c(n,function(n,t){n.isActive||(n.render(t,!1,0),n.isActive=!1,i.push(t))});ht(function(){for(t=i.length;t--;)n[i[t]]&&!n[i[t]].isActive&&(n[i[t]].destroy(),delete n[i[t]])},n!==r&&p.hasRendered&&u?u:0)});h&&(h[h.isPlaced?"animate":"attr"]({d:this.getLinePath(h.strokeWidth())}),h.isPlaced=!0,h[w?"show":"hide"](w));f&&w&&(u=n.getTitlePosition(),s(u.y)?(f[f.isNew?"attr":"animate"](u),f.isNew=!1):(f.attr("y",-9999),f.isNew=!0));d&&d.enabled&&n.stacking&&n.stacking.renderStackTotals();n.isDirty=!1;o(this,"afterRender")},r.prototype.redraw=function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(n){n.render()}));this.series.forEach(function(n){n.isDirty=!0})},r.prototype.getKeepProps=function(){return this.keepProps||r.keepProps},r.prototype.destroy=function(n){var t=this,i=t.plotLinesAndBands,r;if(o(this,"destroy",{keepEvents:n}),n||ot(t),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(n){tt(n)}),i)for(n=i.length;n--;)i[n].destroy();"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(n){t[n]&&(t[n]=t[n].destroy())});for(r in t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[r]=t.plotLinesAndBandsGroups[r].destroy();c(t,function(n,i){-1===t.getKeepProps().indexOf(i)&&delete t[i]})},r.prototype.drawCrosshair=function(t,i){var r=this.crosshair,u=f(r.snap,!0),c,s=this.cross,l=this.chart,h;if(o(this,"drawCrosshair",{e:t,point:i}),t||(t=this.cross&&this.cross.e),this.crosshair&&!1!==(e(i)||!u)){if(u?e(i)&&(c=f("colorAxis"!==this.coll?i.crosshairPos:null,this.isXAxis?i.plotX:this.len-i.plotY)):c=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),e(c)&&(h={value:i&&(this.isXAxis?i.x:f(i.stackY,i.y)),translatedValue:c},l.polar&&w(h,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:i}),h=this.getPlotLinePath(h)||null),!e(h)){this.hideCrosshair();return}u=this.categories&&!this.isRadial;s||(this.cross=s=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(u?"category ":"thin ")+r.className).attr({zIndex:f(r.zIndex,2)}).add(),l.styledMode||(s.attr({stroke:r.color||(u?n.parse("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":f(r.width,1)}).css({"pointer-events":"none"}),r.dashStyle&&s.attr({dashstyle:r.dashStyle})));s.show().attr({d:h});u&&!r.width&&s.attr({"stroke-width":this.transA});this.cross.e=t}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:t,point:i})},r.prototype.hideCrosshair=function(){this.cross&&this.cross.hide();o(this,"afterHideCrosshair")},r.prototype.hasVerticalPanning=function(){var n,t;return/y/.test((null===(t=null===(n=this.chart.options.chart)||void 0===n?void 0:n.panning)||void 0===t?void 0:t.type)||"")},r.defaultOptions={dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},r.defaultYAxisOptions={endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){var n=this.axis.chart.numberFormatter;return n(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},r.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}},r.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}},r.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},r.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},r.keepProps="extKey hcEvents names series userMax userMin".split(" "),r}(),t.Axis=r,t.Axis}),i(t,"parts/DateTimeAxis.js",[t["parts/Axis.js"],t["parts/Utilities.js"]],function(n,t){var u=t.addEvent,f=t.getMagnitude,e=t.normalizeTickInterval,i=t.timeUnits,r=function(){function n(n){this.axis=n}return n.prototype.normalizeTimeTickInterval=function(n,t){var u=t||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],r,o,s;for(t=u[u.length-1],r=i[t[0]],o=t[1],s=0;s<u.length&&!(t=u[s],r=i[t[0]],o=t[1],u[s+1]&&n<=(r*o[o.length-1]+i[u[s+1][0]])/2);s++);return r===i.year&&n<5*r&&(o=[1,2,5]),n=e(n/r,o,"year"===t[0]?Math.max(f(n/r),1):1),{unitRange:r,count:n,unitName:t[0]}},n}();return t=function(){function n(){}return n.compose=function(n){n.keepProps.push("dateTime");n.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};u(n,"init",function(n){"datetime"!==n.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new r(this))})},n.AdditionsClass=r,n}(),t.compose(n),t}),i(t,"parts/LogarithmicAxis.js",[t["parts/Axis.js"],t["parts/Utilities.js"]],function(n,t){var i=t.addEvent,u=t.getMagnitude,f=t.normalizeTickInterval,e=t.pick,r=function(){function n(n){this.axis=n}return n.prototype.getLogTickPositions=function(n,t,i,r){var o=this.axis,h=o.len,s=o.options,l=[],a,v,p,y,c;if(r||(this.minorAutoInterval=void 0),.5<=n)n=Math.round(n),l=o.getLinearTickPositions(n,t,i);else if(.08<=n)for(s=Math.floor(t),h=.3<n?[1,2,4]:.15<n?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];s<i+1&&!v;s++)for(p=h.length,a=0;a<p&&!v;a++)y=this.log2lin(this.lin2log(s)*h[a]),y>t&&(!r||c<=i)&&"undefined"!=typeof c&&l.push(c),c>i&&(v=!0),c=y;else t=this.lin2log(t),i=this.lin2log(i),n=r?o.getMinorTickInterval():s.tickInterval,n=e("auto"===n?null:n,this.minorAutoInterval,s.tickPixelInterval/(r?5:1)*(i-t)/((r?h/o.tickPositions.length:h)||1)),n=f(n,void 0,u(n)),l=o.getLinearTickPositions(n,t,i).map(this.log2lin),r||(this.minorAutoInterval=n/5);return r||(o.tickInterval=n),l},n.prototype.lin2log=function(n){return Math.pow(10,n)},n.prototype.log2lin=function(n){return Math.log(n)/Math.LN10},n}();return t=function(){function n(){}return n.compose=function(n){n.keepProps.push("logarithmic");var t=n.prototype,u=r.prototype;t.log2lin=u.log2lin;t.lin2log=u.lin2log;i(n,"init",function(n){var t=this.logarithmic;"logarithmic"!==n.userOptions.type?this.logarithmic=void 0:(t||(t=this.logarithmic=new r(this)),this.log2lin!==t.log2lin&&(t.log2lin=this.log2lin.bind(this)),this.lin2log!==t.lin2log&&(t.lin2log=this.lin2log.bind(this)))});i(n,"afterInit",function(){var n=this.logarithmic;n&&(this.lin2val=function(t){return n.lin2log(t)},this.val2lin=function(t){return n.log2lin(t)})})},n}(),t.compose(n),t}),i(t,"parts/PlotLineOrBand.js",[t["parts/Axis.js"],t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t,i){var u=i.arrayMax,f=i.arrayMin,r=i.defined,h=i.destroyObjectProperties,e=i.erase,c=i.extend,l=i.merge,a=i.objectEach,o=i.pick,s=function(){function n(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)}return n.prototype.render=function(){t.fireEvent(this,"render");var e=this,s=e.axis,v=s.horiz,h=s.logarithmic,i=e.options,c=i.label,y=e.label,p=i.to,w=i.from,b=i.value,u=r(w)&&r(p),nt=r(b),f=e.svgElem,tt=!f,n=[],it=i.color,d=o(i.zIndex,0),g=i.events;n={"class":"highcharts-plot-"+(u?"band ":"line ")+(i.className||"")};var rt={},ut=s.chart.renderer,k=u?"bands":"lines";if(h&&(w=h.log2lin(w),p=h.log2lin(p),b=h.log2lin(b)),s.chart.styledMode||(nt?(n.stroke=it||"#999999",n["stroke-width"]=o(i.width,1),i.dashStyle&&(n.dashstyle=i.dashStyle)):u&&(n.fill=it||"#e6ebf5",i.borderWidth&&(n.stroke=i.borderColor,n["stroke-width"]=i.borderWidth))),rt.zIndex=d,k+="-"+d,(h=s.plotLinesAndBandsGroups[k])||(s.plotLinesAndBandsGroups[k]=h=ut.g("plot-"+k).attr(rt).add()),tt&&(e.svgElem=f=ut.path().attr(n).add(h)),nt)n=s.getPlotLinePath({value:b,lineWidth:f.strokeWidth(),acrossPanes:i.acrossPanes});else if(u)n=s.getPlotBandPath(w,p,i);else return;return!e.eventsAdded&&g&&(a(g,function(n,t){f.on(t,function(n){g[t].apply(e,[n])})}),e.eventsAdded=!0),(tt||!f.d)&&n&&n.length?f.attr({d:n}):f&&(n?(f.show(!0),f.animate({d:n})):f.d&&(f.hide(),y&&(e.label=y=y.destroy()))),c&&(r(c.text)||r(c.formatter))&&n&&n.length&&0<s.width&&0<s.height&&!n.isFlat?(c=l({align:v&&u&&"center",x:v?!u&&4:10,verticalAlign:!v&&u&&"middle",y:v?u?16:10:u?6:-4,rotation:v&&!u&&90},c),this.renderLabel(c,n,u,d)):y&&y.hide(),e},n.prototype.renderLabel=function(n,t,i,r){var e=this.label,o=this.axis.chart.renderer;e||(e={align:n.textAlign||n.align,rotation:n.rotation,"class":"highcharts-plot-"+(i?"band":"line")+"-label "+(n.className||"")},e.zIndex=r,r=this.getLabelText(n),this.label=e=o.text(r,0,0,n.useHTML).attr(e).add(),this.axis.chart.styledMode||e.css(n.style));o=t.xBounds||[t[0][1],t[1][1],i?t[2][1]:t[0][1]];t=t.yBounds||[t[0][2],t[1][2],i?t[2][2]:t[0][2]];i=f(o);r=f(t);e.align(n,!1,{x:i,y:r,width:u(o)-i,height:u(t)-r});e.show(!0)},n.prototype.getLabelText=function(n){return r(n.formatter)?n.formatter.call(this):n.text},n.prototype.destroy=function(){e(this.axis.plotLinesAndBands,this);delete this.axis;h(this)},n}();return c(n.prototype,{getPlotBandPath:function(n,t){var e=this.getPlotLinePath({value:t,force:!0,acrossPanes:this.options.acrossPanes}),u=this.getPlotLinePath({value:n,force:!0,acrossPanes:this.options.acrossPanes}),s=[],h=this.horiz,f=1,c;if(n=n<this.min&&t<this.min||n>this.max&&t>this.max,u&&e)for(n&&(c=u.toString()===e.toString(),f=0),n=0;n<u.length;n+=2){t=u[n];var o=u[n+1],i=e[n],r=e[n+1];"M"!==t[0]&&"L"!==t[0]||"M"!==o[0]&&"L"!==o[0]||"M"!==i[0]&&"L"!==i[0]||"M"!==r[0]&&"L"!==r[0]||(h&&i[1]===t[1]?(i[1]+=f,r[1]+=f):h||i[2]!==t[2]||(i[2]+=f,r[2]+=f),s.push(["M",t[1],t[2]],["L",o[1],o[2]],["L",r[1],r[2]],["L",i[1],i[2]],["Z"]));s.isFlat=c}return s},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(n,t){var i=new s(this,n).render(),u=this.userOptions,r;return i&&(t&&(r=u[t]||[],r.push(n),u[t]=r),this.plotLinesAndBands.push(i),this._addedPlotLB=!0),i},removePlotBandOrLine:function(n){for(var i=this.plotLinesAndBands,r=this.options,u=this.userOptions,t=i.length;t--;)i[t].id===n&&i[t].destroy();[r.plotLines||[],u.plotLines||[],r.plotBands||[],u.plotBands||[]].forEach(function(i){for(t=i.length;t--;)(i[t]||{}).id===n&&e(i,i[t])})},removePlotBand:function(n){this.removePlotBandOrLine(n)},removePlotLine:function(n){this.removePlotBandOrLine(n)}}),t.PlotLineOrBand=s,t.PlotLineOrBand}),i(t,"parts/Tooltip.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=n.doc,u=t.clamp,o=t.css,a=t.defined,v=t.discardElement,s=t.extend,h=t.fireEvent,y=t.format,p=t.isNumber,w=t.isString,c=t.merge,i=t.pick,f=t.splat,b=t.syncTimeout,e=t.timeUnits,l;return l=function(){function l(n,t){this.container=void 0;this.crosshairs=[];this.distance=0;this.isHidden=!0;this.isSticky=!1;this.now={};this.options={};this.outside=!1;this.chart=n;this.init(n,t)}return l.prototype.applyFilter=function(){var n=this.chart;n.renderer.definition({tagName:"filter",id:"drop-shadow-"+n.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});n.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+n.index+"{filter:url(#drop-shadow-"+n.index+")}"})},l.prototype.bodyFormatter=function(n){return n.map(function(n){var t=n.series.tooltipOptions;return(t[(n.point.formatPrefix||"point")+"Formatter"]||n.point.tooltipFormatter).call(n.point,t[(n.point.formatPrefix||"point")+"Format"]||"")})},l.prototype.cleanSplit=function(n){this.chart.series.forEach(function(t){var i=t&&t.tt;i&&(!i.isActive||n?t.tt=i.destroy():i.isActive=!1)})},l.prototype.defaultFormatter=function(n){var i=this.points||f(this),t=[n.tooltipFooterHeaderFormatter(i[0])];return t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t},l.prototype.destroy=function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),v(this.container));t.clearTimeout(this.hideTimer);t.clearTimeout(this.tooltipTimeout)},l.prototype.getAnchor=function(n,t){var i=this.chart,l=i.pointer,r=i.inverted,o=i.plotTop,c=i.plotLeft,u=0,e=0,s,h;return n=f(n),this.followPointer&&t?("undefined"==typeof t.chartX&&(t=l.normalize(t)),n=[t.chartX-c,t.chartY-o]):n[0].tooltipPos?n=n[0].tooltipPos:(n.forEach(function(n){s=n.series.yAxis;h=n.series.xAxis;u+=n.plotX+(!r&&h?h.left-c:0);e+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!r&&s?s.top-o:0)}),u/=n.length,e/=n.length,n=[r?i.plotWidth-e:u,this.shared&&!r&&1<n.length&&t?t.chartY-o:r?i.plotHeight-u:e]),n.map(Math.round)},l.prototype.getDateFormat=function(n,t,i,r){var f=this.chart.time,s=f.dateFormat("%m-%d %H:%M:%S.%L",t),o={millisecond:15,second:12,minute:9,hour:6,day:3},h="millisecond",u,c;for(u in e){if(n===e.week&&+f.dateFormat("%w",t)===i&&"00:00:00.000"===s.substr(6)){u="week";break}if(e[u]>n){u=h;break}if(o[u]&&s.substr(o[u])!=="01-01 00:00:00.000".substr(o[u]))break;"week"!==u&&(h=u)}return u&&(c=f.resolveDTLFormat(r[u]).main),c},l.prototype.getLabel=function(){var f,s,i=this,e=this.chart.renderer,h=this.chart.styledMode,t=this.options,c="tooltip"+(a(t.className)?" "+t.className:""),l=(null===(f=t.style)||void 0===f?void 0:f.pointerEvents)||(!this.followPointer&&t.stickOnContact?"auto":"none"),r,v;if(f=function(){i.inContact=!0},v=function(){var n=i.chart.hoverSeries;i.inContact=!1;n&&n.onMouseOut&&n.onMouseOut()},!this.label){if(this.outside&&(this.container=r=n.doc.createElement("div"),r.className="highcharts-tooltip-container",o(r,{position:"absolute",top:"1px",pointerEvents:l,zIndex:3}),n.doc.body.appendChild(r),this.renderer=e=new n.Renderer(r,0,0,null===(s=this.chart.options.chart)||void 0===s?void 0:s.style,void 0,void 0,e.styledMode)),this.split?this.label=e.g(c):(this.label=e.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,c).attr({padding:t.padding,r:t.borderRadius}),h||this.label.attr({fill:t.backgroundColor,"stroke-width":t.borderWidth}).css(t.style).css({pointerEvents:l}).shadow(t.shadow)),h&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),i.outside&&!i.split){var u=this.label,y=u.xSetter,p=u.ySetter;u.xSetter=function(n){y.call(u,i.distance);r.style.left=n+"px"};u.ySetter=function(n){p.call(u,i.distance);r.style.top=n+"px"}}this.label.on("mouseenter",f).on("mouseleave",v).attr({zIndex:8}).add()}return this.label},l.prototype.getPosition=function(n,t,u){var f=this.chart,e=this.distance,o={},s=f.inverted&&u.h||0,c,l=this.outside,k=l?r.documentElement.clientWidth-2*e:f.chartWidth,d=l?Math.max(r.body.scrollHeight,r.documentElement.scrollHeight,r.body.offsetHeight,r.documentElement.offsetHeight,r.documentElement.clientHeight):f.chartHeight,g=f.pointer.getChartPosition(),h=f.containerScaling,a=function(n){return h?n*h.scaleX:n},v=function(n){return h?n*h.scaleY:n},nt=function(i){var r="x"===i;return[i,r?k:d,r?n:t].concat(l?[r?a(n):v(t),r?g.left-e+a(u.plotX+f.plotLeft):g.top-e+v(u.plotY+f.plotTop),0,r?k:d]:[r?n:t,r?u.plotX+f.plotLeft:u.plotY+f.plotTop,r?f.plotLeft:f.plotTop,r?f.plotLeft+f.plotWidth:f.plotTop+f.plotHeight])},y=nt("y"),p=nt("x"),tt=!this.followPointer&&i(u.ttBelow,!f.inverted==!!u.negative),it=function(n,t,i,r,u,f,h){var l="y"===n?v(e):a(e),y=(i-r)/2,p=r<u-e,w=u+e+r<t,c=u-l-i+y;if(u=u+l-y,tt&&w)o[n]=u;else if(!tt&&p)o[n]=c;else if(p)o[n]=Math.min(h-r,0>c-s?c:c-s);else if(w)o[n]=Math.max(f,u+s+i>t?u:u+s);else return!1},rt=function(n,t,i,r,u){var f;return u<e||u>t-e?f=!1:o[n]=u<i/2?1:u>t-r/2?t-r-2:u-i/2,f},w=function(n){var t=y;y=p;p=t;c=n},b=function(){!1!==it.apply(0,y)?!1!==rt.apply(0,p)||c||(w(!0),b()):c?o.x=o.y=0:(w(!0),b())};return(f.inverted||1<this.len)&&w(),b(),o},l.prototype.getXDateFormat=function(n,t,i){t=t.dateTimeLabelFormats;var r=i&&i.closestPointRange;return(r?this.getDateFormat(r,n.x,i.options.startOfWeek,t):t.day)||t.year},l.prototype.hide=function(n){var r=this;t.clearTimeout(this.hideTimer);n=i(n,this.options.hideDelay,500);this.isHidden||(this.hideTimer=b(function(){r.getLabel().fadeOut(n?void 0:n);r.isHidden=!0},n))},l.prototype.init=function(n,t){this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=t.split&&!n.inverted&&!n.polar;this.shared=t.shared||this.split;this.outside=i(t.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))},l.prototype.isStickyOnContact=function(){return!(this.followPointer||!this.options.stickOnContact||!this.inContact)},l.prototype.move=function(n,i,r,u){var f=this,e=f.now,o=!1!==f.options.animation&&!f.isHidden&&(1<Math.abs(n-e.x)||1<Math.abs(i-e.y)),h=f.followPointer||1<f.len;s(e,{x:o?(2*e.x+n)/3:n,y:o?(e.y+i)/2:i,anchorX:h?void 0:o?(2*e.anchorX+r)/3:r,anchorY:h?void 0:o?(e.anchorY+u)/2:u});f.getLabel().attr(e);f.drawTracker();o&&(t.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(n,i,r,u)},32))},l.prototype.refresh=function(n,r){var e=this.chart,c=this.options,u=n,o={},a=[],s=c.formatter||this.defaultFormatter,v,l,y;o=this.shared;v=e.styledMode;c.enabled&&(t.clearTimeout(this.hideTimer),this.followPointer=f(u)[0].series.tooltipOptions.followPointer,l=this.getAnchor(u,r),r=l[0],y=l[1],!o||u.series&&u.series.noSharedTooltip?o=u.getLabelConfig():(e.pointer.applyInactiveState(u),u.forEach(function(n){n.setState("hover");a.push(n.getLabelConfig())}),o={x:u[0].category,y:u[0].y},o.points=a,u=u[0]),this.len=a.length,e=s.call(o,this),s=u.series,this.distance=i(s.tooltipOptions.distance,16),!1===e?this.hide():(this.split?this.renderSplit(e,f(n)):(n=this.getLabel(),c.style.width&&!v||n.css({width:this.chart.spacingBox.width+"px"}),n.attr({text:e&&e.join?e.join(""):e}),n.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+i(u.colorIndex,s.colorIndex)),v||n.attr({stroke:c.borderColor||u.color||s.color||"#666666"}),this.updatePosition({plotX:r,plotY:y,negative:u.negative,ttBelow:u.ttBelow,h:l[2]||0})),this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1),h(this,"refresh"))},l.prototype.renderSplit=function(t,r){function tt(n,t,i,r,f){return void 0===f&&(f=!0),i?(t=et?0:nt,n=u(n-r/2,c.left,c.right-r)):(t-=d,n=f?n-r-l:n+l,n=u(n,f?n:c.left,c.right)),{x:n,y:t}}var e=this,a=e.chart,f=e.chart,y=f.plotHeight,ot=f.plotLeft,p=f.plotTop,b=f.pointer,st=f.renderer,h=f.scrollablePixelsY,it=void 0===h?0:h;h=f.scrollingContainer;h=void 0===h?{scrollLeft:0,scrollTop:0}:h;var rt=h.scrollLeft,v=h.scrollTop,ut=f.styledMode,l=e.distance,o=e.options,k=e.options.positioner,c={left:rt,right:rt+f.chartWidth,top:v,bottom:v+f.chartHeight},ft=e.getLabel(),et=!(!a.xAxis[0]||!a.xAxis[0].opposite),d=p+v,g=0,nt=y-it;w(t)&&(t=[!1,t]);t=t.slice(0,r.length+1).reduce(function(n,t,f){var b,ht;if(!1!==t&&""!==t){f=r[f-1]||{isHeader:!0,plotX:r[0].plotX,plotY:y,series:{}};var ct=f.isHeader,rt=ct?e:f.series,h=rt.tt,w=f.isHeader,s=f.series,a="highcharts-color-"+i(f.colorIndex,s.colorIndex,"none");h||(h={padding:o.padding,r:o.borderRadius},ut||(h.fill=o.backgroundColor,h["stroke-width"]=o.borderWidth),h=st.label("",0,0,o[w?"headerShape":"shape"]||"callout",void 0,void 0,o.useHTML).addClass((w?"highcharts-tooltip-header ":"")+"highcharts-tooltip-box "+a).attr(h).add(ft));h.isActive=!0;h.attr({text:t});ut||h.css(o.style).shadow(o.shadow).attr({stroke:o.borderColor||f.color||s.color||"#333333"});t=rt.tt=h;w=t.getBBox();rt=w.width+t.strokeWidth();ct&&(g=w.height,nt+=g,et&&(d-=g));s=f.plotX;s=void 0===s?0:s;a=f.plotY;a=void 0===a?0:a;b=f.series;f.isHeader?(s=ot+s,ht=p+y/2):(h=b.xAxis,b=b.yAxis,s=h.pos+u(s,-l,h.len+l),b.pos+a>=v+p&&b.pos+a<=v+p+y-it&&(ht=b.pos+a));s=u(s,c.left-l,c.right+l);"number"==typeof ht?(w=w.height+1,a=k?k.call(e,rt,w,f):tt(s,ht,ct,rt),n.push({align:k?0:void 0,anchorX:s,anchorY:ht,boxWidth:rt,point:f,rank:i(a.rank,ct?1:0),size:w,target:a.y,tt:t,x:a.x})):t.isActive=!1}return n},[]);!k&&t.some(function(n){return n.x<c.left})&&(t=t.map(function(n){var t=tt(n.anchorX,n.anchorY,n.point.isHeader,n.boxWidth,!1);return s(n,{target:t.y,x:t.x})}));e.cleanSplit();n.distribute(t,nt);t.forEach(function(n){var t=n.pos;n.tt.attr({visibility:"undefined"==typeof t?"hidden":"inherit",x:n.x,y:t+d,anchorX:n.anchorX,anchorY:n.anchorY})});t=e.container;a=e.renderer;e.outside&&t&&a&&(f=ft.getBBox(),a.setSize(f.width+f.x,f.height+f.y,!1),b=b.getChartPosition(),t.style.left=b.left+"px",t.style.top=b.top+"px")},l.prototype.drawTracker=function(){var t,r;if(this.followPointer||!this.options.stickOnContact)this.tracker&&this.tracker.destroy();else{var u=this.chart,i=this.label,n=u.hoverPoint;i&&n&&(t={x:0,y:0,width:0,height:0},n=this.getAnchor(n),r=i.getBBox(),n[0]+=u.plotLeft-i.translateX,n[1]+=u.plotTop-i.translateY,t.x=Math.min(0,n[0]),t.y=Math.min(0,n[1]),t.width=0>n[0]?Math.max(Math.abs(n[0]),r.width-n[0]):Math.max(Math.abs(n[0]),r.width),t.height=0>n[1]?Math.max(Math.abs(n[1]),r.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),r.height),this.tracker?this.tracker.attr(t):(this.tracker=i.renderer.rect(t).addClass("highcharts-tracker").add(i),u.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"})))}},l.prototype.styledModeFormat=function(n){return n.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')},l.prototype.tooltipFooterHeaderFormatter=function(n,t){var s=t?"footer":"header",r=n.series,f=r.tooltipOptions,u=f.xDateFormat,e=r.xAxis,o=e&&"datetime"===e.options.type&&p(n.key),i=f[s+"Format"];return t={isFooter:t,labelConfig:n},h(this,"headerFormatter",t,function(t){o&&!u&&(u=this.getXDateFormat(n,f,e));o&&u&&(n.point&&n.point.tooltipDateKeys||["key"]).forEach(function(n){i=i.replace("{point."+n+"}","{point."+n+":"+u+"}")});r.chart.styledMode&&(i=this.styledModeFormat(i));t.text=y(i,{point:n,series:r},this.chart)}),t.text},l.prototype.update=function(n){this.destroy();c(!0,this.chart.options.tooltip.userOptions,n);this.init(this.chart,c(!0,this.options,n))},l.prototype.updatePosition=function(n){var t=this.chart,i=t.pointer,r=this.getLabel(),u=n.plotX+t.plotLeft,f=n.plotY+t.plotTop,e;i=i.getChartPosition();n=(this.options.positioner||this.getPosition).call(this,r.width,r.height,n);this.outside&&(e=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(r.width+e,r.height+e,!1),(t=t.containerScaling)&&(o(this.container,{transform:"scale("+t.scaleX+", "+t.scaleY+")"}),u*=t.scaleX,f*=t.scaleY),u+=i.left-n.x,f+=i.top-n.y);this.move(Math.round(n.x),Math.round(n.y||0),u,f)},l}(),n.Tooltip=l,n.Tooltip}),i(t,"parts/Pointer.js",[t["parts/Color.js"],t["parts/Globals.js"],t["parts/Tooltip.js"],t["parts/Utilities.js"]],function(n,t,i,r){var v=n.parse,e=t.charts,y=t.noop,f=r.addEvent,p=r.attr,w=r.css,b=r.defined,o=r.extend,l=r.find,s=r.fireEvent,h=r.isNumber,c=r.isObject,k=r.objectEach,d=r.offset,u=r.pick,a=r.splat;return n=function(){function n(n,t){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.chart=n;this.hasDragged=!1;this.options=t;this.unbindContainerMouseLeave=function(){};this.init(n,t)}return n.prototype.applyInactiveState=function(n){var i=[],t;(n||[]).forEach(function(n){t=n.series;i.push(t);t.linkedParent&&i.push(t.linkedParent);t.linkedSeries&&(i=i.concat(t.linkedSeries));t.navigatorSeries&&i.push(t.navigatorSeries)});this.chart.series.forEach(function(n){-1===i.indexOf(n)?n.setState("inactive",!0):n.options.inactiveOtherPoints&&n.setAllPointsToState("inactive")})},n.prototype.destroy=function(){var n=this;"undefined"!=typeof n.unDocMouseMove&&n.unDocMouseMove();this.unbindContainerMouseLeave();t.chartCount||(t.unbindDocumentMouseUp&&(t.unbindDocumentMouseUp=t.unbindDocumentMouseUp()),t.unbindDocumentTouchEnd&&(t.unbindDocumentTouchEnd=t.unbindDocumentTouchEnd()));clearInterval(n.tooltipTimeout);k(n,function(t,i){n[i]=void 0})},n.prototype.drag=function(n){var i=this.chart,u=i.options.chart,t=n.chartX,f=n.chartY,p=this.zoomHor,w=this.zoomVert,e=i.plotLeft,o=i.plotTop,l=i.plotWidth,a=i.plotHeight,r=this.selectionMarker,s=this.mouseDownX||0,h=this.mouseDownY||0,b=c(u.panning)?u.panning&&u.panning.enabled:u.panning,k=u.panKey&&n[u.panKey+"Key"],y;r&&r.touch||(t<e?t=e:t>e+l&&(t=e+l),f<o?f=o:f>o+a&&(f=o+a),this.hasDragged=Math.sqrt(Math.pow(s-t,2)+Math.pow(h-f,2)),10<this.hasDragged)&&(y=i.isInsidePlot(s-e,h-o),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&y&&!k&&!r&&(this.selectionMarker=r=i.renderer.rect(e,o,p?1:l,w?1:a,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||r.attr({fill:u.selectionMarkerFill||v("#335cad").setOpacity(.25).get()})),r&&p&&(t-=s,r.attr({width:Math.abs(t),x:(0<t?0:t)+s})),r&&w&&(t=f-h,r.attr({height:Math.abs(t),y:(0<t?0:t)+h})),y&&!r&&b&&i.pan(n,u.panning))},n.prototype.dragStart=function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},n.prototype.drop=function(n){var l=this,i=this.chart,r=this.hasPinched;if(this.selectionMarker){var e={originalEvent:n,xAxis:[],yAxis:[]},t=this.selectionMarker,u=t.attr?t.attr("x"):t.x,f=t.attr?t.attr("y"):t.y,a=t.attr?t.attr("width"):t.width,v=t.attr?t.attr("height"):t.height,c;(this.hasDragged||r)&&(i.axes.forEach(function(t){if(t.zoomEnabled&&b(t.min)&&(r||l[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])&&h(u)&&h(f)){var i=t.horiz,o="touchend"===n.type?t.minPixelPadding:0,s=t.toValue((i?u:f)+o);i=t.toValue((i?u+a:f+v)-o);e[t.coll].push({axis:t,min:Math.min(s,i),max:Math.max(s,i)});c=!0}}),c&&s(i,"selection",e,function(n){i.zoom(o(n,r?{animation:!1}:null))}));h(i.index)&&(this.selectionMarker=this.selectionMarker.destroy());r&&this.scaleGroups()}i&&h(i.index)&&(w(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},n.prototype.findNearestKDPoint=function(n,t,i){var u=this.chart,f=u.hoverPoint,r;return(u=u.tooltip,f&&u&&u.isStickyOnContact())?f:(n.forEach(function(n){var u=!(n.noSharedTooltip&&t)&&0>n.options.findNearestPointBy.indexOf("y"),f,e;n=n.searchPoint(i,u);!(u=c(n,!0))||(u=!c(r,!0))||(u=r.distX-n.distX,f=r.dist-n.dist,e=(n.series.group&&n.series.group.zIndex)-(r.series.group&&r.series.group.zIndex),u=0<(0!==u&&t?u:0!==f?f:0!==e?e:r.series.index>n.series.index?-1:1));u&&(r=n)}),r)},n.prototype.getChartCoordinatesFromPoint=function(n,t){var i=n.series,f=i.xAxis,e,r;return(i=i.yAxis,e=u(n.clientX,n.plotX),r=n.shapeArgs,f&&i)?t?{chartX:f.len+f.pos-e,chartY:i.len+i.pos-n.plotY}:{chartX:e+f.pos,chartY:n.plotY+i.pos}:r&&r.x&&r.y?{chartX:r.x,chartY:r.y}:void 0},n.prototype.getChartPosition=function(){return this.chartPosition||(this.chartPosition=d(this.chart.container))},n.prototype.getCoordinates=function(n){var t={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){t[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(n[i.horiz?"chartX":"chartY"])})}),t},n.prototype.getHoverData=function(n,t,i,r,f,e){var h,v=[],a,o;return r=!(!r||!n),a=t&&!t.stickyTracking,o={chartX:e?e.chartX:void 0,chartY:e?e.chartY:void 0,shared:f},s(this,"beforeGetHoverData",o),a=a?[t]:i.filter(function(n){return o.filter?o.filter(n):n.visible&&!(!f&&n.directTouch)&&u(n.options.enableMouseTracking,!0)&&n.stickyTracking}),t=(h=r||!e?n:this.findNearestKDPoint(a,f,e))&&h.series,h&&(f&&!t.noSharedTooltip?(a=i.filter(function(n){return o.filter?o.filter(n):n.visible&&!(!f&&n.directTouch)&&u(n.options.enableMouseTracking,!0)&&!n.noSharedTooltip}),a.forEach(function(n){var t=l(n.points,function(n){return n.x===h.x&&!n.isNull});c(t)&&(n.chart.isBoosting&&(t=n.getPoint(t)),v.push(t))})):v.push(h)),o={hoverPoint:h},s(this,"afterGetHoverData",o),{hoverPoint:o.hoverPoint,hoverSeries:t,hoverPoints:v}},n.prototype.getPointFromEvent=function(n){n=n.target;for(var t;n&&!t;)t=n.point,n=n.parentNode;return t},n.prototype.onTrackerMouseOut=function(n){n=n.relatedTarget||n.toElement;var t=this.chart.hoverSeries;this.isDirectTouch=!1;!t||!n||t.stickyTracking||this.inClass(n,"highcharts-tooltip")||this.inClass(n,"highcharts-series-"+t.index)&&this.inClass(n,"highcharts-tracker")||t.onMouseOut()},n.prototype.inClass=function(n,t){for(var i;n;){if(i=p(n,"class")){if(-1!==i.indexOf(t))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentNode}},n.prototype.init=function(n,t){this.options=t;this.chart=n;this.runChartClick=t.chart.events&&!!t.chart.events.click;this.pinchDown=[];this.lastValidTouch={};i&&(n.tooltip=new i(n,t.tooltip),this.followTouchMove=u(t.tooltip.followTouchMove,!0));this.setDOMEvents()},n.prototype.normalize=function(n,t){var i=n.touches,r=i?i.length?i.item(0):u(i.changedTouches,n.changedTouches)[0]:n;return t||(t=this.getChartPosition()),i=r.pageX-t.left,t=r.pageY-t.top,(r=this.chart.containerScaling)&&(i/=r.scaleX,t/=r.scaleY),o(n,{chartX:Math.round(i),chartY:Math.round(t)})},n.prototype.onContainerClick=function(n){var t=this.chart,i=t.hoverPoint,r,u;n=this.normalize(n);r=t.plotLeft;u=t.plotTop;t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(s(i.series,"click",o(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(o(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&s(t,"click",n)))},n.prototype.onContainerMouseDown=function(n){if(n=this.normalize(n),t.isFirefox&&0!==n.button)this.onContainerMouseMove(n);("undefined"==typeof n.button||1==((n.buttons||n.button)&1))&&(this.zoomOption(n),this.dragStart(n))},n.prototype.onContainerMouseLeave=function(n){var i=e[u(t.hoverChartIndex,-1)],r=this.chart.tooltip;n=this.normalize(n);i&&(n.relatedTarget||n.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0);r&&!r.isHidden&&this.reset()},n.prototype.onContainerMouseMove=function(n){var t=this.chart;n=this.normalize(n);this.setHoverChartIndex();n.preventDefault||(n.returnValue=!1);"mousedown"===t.mouseIsDown&&this.drag(n);!t.openMenu&&(this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop))&&this.runPointActions(n)},n.prototype.onDocumentTouchEnd=function(n){e[t.hoverChartIndex]&&e[t.hoverChartIndex].pointer.drop(n)},n.prototype.onContainerTouchMove=function(n){this.touch(n)},n.prototype.onContainerTouchStart=function(n){this.zoomOption(n);this.touch(n,!0)},n.prototype.onDocumentMouseMove=function(n){var t=this.chart,r=this.chartPosition,i;n=this.normalize(n,r);i=t.tooltip;!r||i&&i.isStickyOnContact()||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.inClass(n.target,"highcharts-tracker")||this.reset()},n.prototype.onDocumentMouseUp=function(n){var i=e[u(t.hoverChartIndex,-1)];i&&i.pointer.drop(n)},n.prototype.pinch=function(n){var t=this,r=t.chart,i=t.pinchDown,f=n.touches||[],e=f.length,s=t.lastValidTouch,c=t.hasZoom,h=t.selectionMarker,l={},v=1===e&&(t.inClass(n.target,"highcharts-tracker")&&r.runTrackerClick||t.runChartClick),a={};1<e&&(t.initiated=!0);c&&t.initiated&&!v&&n.preventDefault();[].map.call(f,function(n){return t.normalize(n)});"touchstart"===n.type?([].forEach.call(f,function(n,t){i[t]={chartX:n.chartX,chartY:n.chartY}}),s.x=[i[0].chartX,i[1]&&i[1].chartX],s.y=[i[0].chartY,i[1]&&i[1].chartY],r.axes.forEach(function(n){if(n.zoomEnabled){var t=r.bounds[n.horiz?"h":"v"],i=n.minPixelPadding,f=n.toPixels(Math.min(u(n.options.min,n.dataMin),n.dataMin)),e=n.toPixels(Math.max(u(n.options.max,n.dataMax),n.dataMax)),o=Math.max(f,e);t.min=Math.min(n.pos,Math.min(f,e)-i);t.max=Math.max(n.pos+n.len,o+i)}}),t.res=!0):t.followTouchMove&&1===e?this.runPointActions(t.normalize(n)):i.length&&(h||(t.selectionMarker=h=o({destroy:y,touch:!0},r.plotBox)),t.pinchTranslate(i,f,l,h,a,s),t.hasPinched=c,t.scaleGroups(l,a),t.res&&(t.res=!1,this.reset(!1,0)))},n.prototype.pinchTranslate=function(n,t,i,r,u,f){this.zoomHor&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);this.zoomVert&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},n.prototype.pinchTranslateDirection=function(n,t,i,r,u,f,e,o){var v=this.chart,l=n?"x":"y",b=n?"X":"Y",y="chart"+b,tt=n?"width":"height",k=v["plot"+(n?"Left":"Top")],a,d,s=o||1,g=v.inverted,p=v.bounds[n?"h":"v"],it=1===t.length,w=t[0][y],h=i[0][y],rt=!it&&t[1][y],c=!it&&i[1][y],nt;i=function(){"number"==typeof c&&20<Math.abs(w-rt)&&(s=o||Math.abs(h-c)/Math.abs(w-rt));d=(k-h)/s+w;a=v["plot"+(n?"Width":"Height")]/s};i();t=d;t<p.min?(t=p.min,nt=!0):t+a>p.max&&(t=p.max-a,nt=!0);nt?(h-=.8*(h-e[l][0]),"number"==typeof c&&(c-=.8*(c-e[l][1])),i()):e[l]=[h,c];g||(f[l]=d-k,f[tt]=a);f=g?1/s:s;u[tt]=a;u[l]=t;r[g?n?"scaleY":"scaleX":"scale"+b]=s;r["translate"+b]=f*k+(h-f*w)},n.prototype.reset=function(n,t){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,f=i.hoverPoints,u=i.tooltip,e=u&&u.shared?f:r;n&&e&&a(e).forEach(function(t){t.series.isCartesian&&"undefined"==typeof t.plotX&&(n=!1)});n?u&&e&&a(e).length&&(u.refresh(e),u.shared&&f?f.forEach(function(n){n.setState(n.state,!0);n.series.isCartesian&&(n.series.xAxis.crosshair&&n.series.xAxis.drawCrosshair(null,n),n.series.yAxis.crosshair&&n.series.yAxis.drawCrosshair(null,n))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(n){n.crosshair&&r.series[n.coll]===n&&n.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),f&&f.forEach(function(n){n.setState()}),o&&o.onMouseOut(),u&&u.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(n){n.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},n.prototype.runPointActions=function(n,i){var r=this.chart,h=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=h?h.shared:!1,o=i||r.hoverPoint,s=o&&o.series||r.hoverSeries,c;if(s=this.getHoverData(o,s,r.series,(!n||"touchmove"!==n.type)&&(!!i||s&&s.directTouch&&this.isDirectTouch),a,n),o=s.hoverPoint,c=s.hoverPoints,i=(s=s.hoverSeries)&&s.tooltipOptions.followPointer,a=a&&s&&!s.noSharedTooltip,o&&(o!==r.hoverPoint||h&&h.isHidden)){if((r.hoverPoints||[]).forEach(function(n){-1===c.indexOf(n)&&n.setState()}),r.hoverSeries!==s&&s.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(n){n.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!o.series)return;r.hoverPoints=c;r.hoverPoint=o;o.firePointEvent("mouseOver");h&&h.refresh(a?c:o,n)}else i&&h&&!h.isHidden&&(o=h.getAnchor([{}],n),h.updatePosition({plotX:o[0],plotY:o[1]}));this.unDocMouseMove||(this.unDocMouseMove=f(r.container.ownerDocument,"mousemove",function(n){var i=e[t.hoverChartIndex];if(i)i.pointer.onDocumentMouseMove(n)}));r.axes.forEach(function(t){var f=u((t.crosshair||{}).snap,!0),i;f&&((i=r.hoverPoint)&&i.series[t.coll]===t||(i=l(c,function(n){return n.series[t.coll]===t})));i||!f?t.drawCrosshair(n,i):t.hideCrosshair()})},n.prototype.scaleGroups=function(n,t){var i=this.chart,r;i.series.forEach(function(u){r=n||u.getPlotBox();u.xAxis&&u.xAxis.zoomEnabled&&u.group&&(u.group.attr(r),u.markerGroup&&(u.markerGroup.attr(r),u.markerGroup.clip(t?i.clipRect:null)),u.dataLabelsGroup&&u.dataLabelsGroup.attr(r))});i.clipRect.attr(t||i.clipBox)},n.prototype.setDOMEvents=function(){var n=this.chart.container,i=n.ownerDocument;n.onmousedown=this.onContainerMouseDown.bind(this);n.onmousemove=this.onContainerMouseMove.bind(this);n.onclick=this.onContainerClick.bind(this);this.unbindContainerMouseLeave=f(n,"mouseleave",this.onContainerMouseLeave.bind(this));t.unbindDocumentMouseUp||(t.unbindDocumentMouseUp=f(i,"mouseup",this.onDocumentMouseUp.bind(this)));t.hasTouch&&(f(n,"touchstart",this.onContainerTouchStart.bind(this)),f(n,"touchmove",this.onContainerTouchMove.bind(this)),t.unbindDocumentTouchEnd||(t.unbindDocumentTouchEnd=f(i,"touchend",this.onDocumentTouchEnd.bind(this))))},n.prototype.setHoverChartIndex=function(){var i=this.chart,n=t.charts[u(t.hoverChartIndex,-1)];if(n&&n!==i)n.pointer.onContainerMouseLeave({relatedTarget:!0});n&&n.mouseIsDown||(t.hoverChartIndex=i.index)},n.prototype.touch=function(n,t){var i=this.chart,f,r;this.setHoverChartIndex();1===n.touches.length?(n=this.normalize(n),(f=i.isInsidePlot(n.chartX-i.plotLeft,n.chartY-i.plotTop))&&!i.openMenu)?(t&&this.runPointActions(n),"touchmove"===n.type&&(t=this.pinchDown,r=t[0]?4<=Math.sqrt(Math.pow(t[0].chartX-n.chartX,2)+Math.pow(t[0].chartY-n.chartY,2)):!1),u(r,!0)&&this.pinch(n)):t&&this.reset():2===n.touches.length&&this.pinch(n)},n.prototype.zoomOption=function(n){var i=this.chart,r=i.options.chart,t=r.zoomType||"";i=i.inverted;/touch/.test(n.type)&&(t=u(r.pinchType,t));this.zoomX=n=/x/.test(t);this.zoomY=t=/y/.test(t);this.zoomHor=n&&!i||t&&i;this.zoomVert=t&&!i||n&&i;this.hasZoom=n||t},n}(),t.Pointer=n}),i(t,"parts/MSPointer.js",[t["parts/Globals.js"],t["parts/Pointer.js"],t["parts/Utilities.js"]],function(n,t,i){function o(){var n=[];return n.item=function(n){return this[n]},v(r,function(t){n.push({pageX:t.pageX,pageY:t.pageY,target:t.target})}),n}function u(t,i,r,u){("touch"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_TOUCH)&&e[n.hoverChartIndex]&&(u(t),u=e[n.hoverChartIndex].pointer,u[i]({type:r,target:t.currentTarget,preventDefault:c,touches:o()}))}var s=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),e=n.charts,h=n.doc,c=n.noop,l=i.addEvent,a=i.css,v=i.objectEach,y=i.removeEvent,r={},f=!!n.win.PointerEvent;return function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return s(t,n),t.prototype.batchMSEvents=function(n){n(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(h,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)},t.prototype.destroy=function(){this.batchMSEvents(y);n.prototype.destroy.call(this)},t.prototype.init=function(t,i){n.prototype.init.call(this,t,i);this.hasZoom&&a(t.container,{"-ms-touch-action":"none","touch-action":"none"})},t.prototype.onContainerPointerDown=function(n){u(n,"onContainerTouchStart","touchstart",function(n){r[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},t.prototype.onContainerPointerMove=function(n){u(n,"onContainerTouchMove","touchmove",function(n){r[n.pointerId]={pageX:n.pageX,pageY:n.pageY};r[n.pointerId].target||(r[n.pointerId].target=n.currentTarget)})},t.prototype.onDocumentPointerUp=function(n){u(n,"onDocumentTouchEnd","touchend",function(n){delete r[n.pointerId]})},t.prototype.setDOMEvents=function(){n.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)},t}(t)}),i(t,"parts/Legend.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var e=t.addEvent,c=t.animObject,l=t.css,f=t.defined,a=t.discardElement,v=t.find,r=t.fireEvent,y=t.format,p=t.isNumber,u=t.merge,i=t.pick,w=t.relativeLength,b=t.setAnimation,k=t.stableSort,d=t.syncTimeout;t=t.wrap;var g=n.isFirefox,o=n.marginNames,s=n.win,h=function(){function t(n,t){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options={};this.padding=0;this.pages=[];this.proximate=!1;this.scrollGroup=void 0;this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=n;this.init(n,t)}return t.prototype.init=function(n,t){this.chart=n;this.setOptions(t);t.enabled&&(this.render(),e(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=e(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},t.prototype.setOptions=function(n){var t=i(n.padding,8);this.options=n;this.chart.styledMode||(this.itemStyle=n.itemStyle,this.itemHiddenStyle=u(this.itemStyle,n.itemHiddenStyle));this.itemMarginTop=n.itemMarginTop||0;this.itemMarginBottom=n.itemMarginBottom||0;this.padding=t;this.initialItemY=t-5;this.symbolWidth=i(n.symbolWidth,16);this.pages=[];this.proximate="proximate"===n.layout&&!this.chart.inverted;this.baseline=void 0},t.prototype.update=function(n,t){var f=this.chart;this.setOptions(u(!0,this.options,n));this.destroy();f.isDirtyLegend=f.isDirtyBox=!0;i(t,!0)&&f.redraw();r(this,"afterUpdate")},t.prototype.colorizeItem=function(n,t){if(n.legendGroup[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=n.legendItem,s=n.legendLine,e=n.legendSymbol,u=this.itemHiddenStyle.color;i=t?i.itemStyle.color:u;var h=t?n.color||u:u,c=n.options&&n.options.marker,f={fill:h};o&&o.css({fill:i,color:i});s&&s.attr({stroke:h});e&&(c&&e.isMarker&&(f=n.pointAttribs(),t||(f.stroke=f.fill=u)),e.attr(f))}r(this,"afterColorizeItem",{item:n,visible:t})},t.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},t.prototype.positionItem=function(n){var h=this,t=this.options,e=t.symbolPadding,o=!t.rtl,u=n._legendItemPos,s,i;t=u[0];u=u[1];s=n.checkbox;i=n.legendGroup;i&&i.element&&(e={translateX:o?t:this.legendWidth-t-2*e-4,translateY:u},o=function(){r(h,"afterPositionItem",{item:n})},f(i.translateY)?i.animate(e,{complete:o}):(i.attr(e),o()));s&&(s.x=t,s.y=u)},t.prototype.destroyItem=function(n){var t=n.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(t){n[t]&&(n[t]=n[t].destroy())});t&&a(n.checkbox)},t.prototype.destroy=function(){function n(n){this[n]&&(this[n]=this[n].destroy())}this.getAllItems().forEach(function(t){["legendItem","legendGroup"].forEach(n,t)});"clipRect up down pager nav box title group".split(" ").forEach(n,this);this.display=null},t.prototype.positionCheckboxes=function(){var t=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,r=this.titleHeight,n;t&&(n=t.translateY,this.allItems.forEach(function(u){var f=u.checkbox,e;f&&(e=n+r+f.y+(this.scrollOffset||0)+3,l(f,{left:t.translateX+u.checkboxOffset+f.x-20+"px",top:e+"px",display:this.proximate||e>n-6&&e<n+i-6?"":"none"}))},this))},t.prototype.renderTitle=function(){var n=this.options,r=this.padding,t=n.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,r-3,r-4,null,null,null,n.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(t.style),this.title.add(this.group)),t.width||this.title.css({width:this.maxLegendWidth+"px"}),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i}));this.titleHeight=i},t.prototype.setText=function(n){var t=this.options;n.legendItem.attr({text:t.labelFormat?y(t.labelFormat,n,this.chart):t.labelFormatter.call(n)})},t.prototype.renderItem=function(n){var r=this.chart,s=r.renderer,f=this.options,y=this.symbolWidth,h=f.symbolPadding,c=this.itemStyle,b=this.itemHiddenStyle,o="horizontal"===f.layout?i(f.itemDistance,20):0,p=!f.rtl,t=n.legendItem,w=!n.series,l=!w&&n.series.drawLegendSymbol?n.series:n,e=l.options,a,v;e=this.createCheckboxForItem&&e&&e.showCheckbox;o=y+h+o+(e?20:0);a=f.useHTML;v=n.options.className;t||(n.legendGroup=s.g("legend-item").addClass("highcharts-"+l.type+"-series highcharts-color-"+n.colorIndex+(v?" "+v:"")+(w?" highcharts-series-"+n.index:"")).attr({zIndex:1}).add(this.scrollGroup),n.legendItem=t=s.text("",p?y+h:-h,this.baseline||0,a),r.styledMode||t.css(u(n.visible?c:b)),t.attr({align:p?"left":"right",zIndex:2}).add(n.legendGroup),this.baseline||(this.fontMetrics=s.fontMetrics(r.styledMode?12:c.fontSize,t),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,t.attr("y",this.baseline)),this.symbolHeight=f.symbolHeight||this.fontMetrics.f,l.drawLegendSymbol(this,n),this.setItemEvents&&this.setItemEvents(n,t,a));e&&!n.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(n);this.colorizeItem(n,n.visible);!r.styledMode&&c.width||t.css({width:(f.itemWidth||this.widthOption||r.spacingBox.width)-o+"px"});this.setText(n);r=t.getBBox();n.itemWidth=n.checkboxOffset=f.itemWidth||n.legendItemWidth||r.width+o;this.maxItemWidth=Math.max(this.maxItemWidth,n.itemWidth);this.totalItemWidth+=n.itemWidth;this.itemHeight=n.itemHeight=Math.round(n.legendItemHeight||r.height||this.symbolHeight)},t.prototype.layoutItem=function(n){var t=this.options,r=this.padding,u="horizontal"===t.layout,f=n.itemHeight,e=this.itemMarginBottom,o=this.itemMarginTop,h=u?i(t.itemDistance,20):0,s=this.maxLegendWidth;t=t.alignColumns&&this.totalItemWidth>s?this.maxItemWidth:n.itemWidth;u&&this.itemX-r+t>s&&(this.itemX=r,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+e),this.lastLineHeight=0);this.lastItemY=o+this.itemY+e;this.lastLineHeight=Math.max(f,this.lastLineHeight);n._legendItemPos=[this.itemX,this.itemY];u?this.itemX+=t:(this.itemY+=o+f+e,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((u?this.itemX-r-(n.checkbox?0:h):t)+r,this.offsetWidth)},t.prototype.getAllItems=function(){var n=[];return this.chart.series.forEach(function(t){var r=t&&t.options;t&&i(r.showInLegend,f(r.linkedTo)?!1:void 0,!0)&&(n=n.concat(t.legendItems||("point"===r.legendType?t.data:t)))}),r(this,"afterGetAllItems",{allItems:n}),n},t.prototype.getAlignment=function(){var n=this.options;return this.proximate?n.align.charAt(0)+"tv":n.floating?"":n.align.charAt(0)+n.verticalAlign.charAt(0)+n.layout.charAt(0)},t.prototype.adjustMargins=function(n,t){var r=this.chart,u=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(s,h){s.test(e)&&!f(n[h])&&(r[o[h]]=Math.max(r[o[h]],r.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*u[h%2?"x":"y"]+i(u.margin,12)+t[h]+(r.titleOffset[h]||0)))})},t.prototype.proximatePositions=function(){var t=this.chart,i=[],r="left"===this.options.align;this.allItems.forEach(function(n){var f=r,u,e;n.yAxis&&n.points&&(n.xAxis.options.reversed&&(f=!f),u=v(f?n.points:n.points.slice(0).reverse(),function(n){return p(n.plotY)}),f=this.itemMarginTop+n.legendItem.getBBox().height+this.itemMarginBottom,e=n.yAxis.top-t.plotTop,n.visible?(u=u?u.plotY:n.yAxis.height,u+=e-.3*f):u=e+n.yAxis.height,i.push({target:u,size:f,item:n}))},this);n.distribute(i,t.plotHeight);i.forEach(function(n){n.item._legendItemPos[1]=t.plotTop-t.spacing[0]+n.pos})},t.prototype.render=function(){var e=this.chart,h=e.renderer,o=this.group,t=this.box,i=this.options,s=this.padding,f,n,u;this.itemX=s;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=w(i.width,e.spacingBox.width-s);f=e.spacingBox.width-2*s-i.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(f/=2);this.maxLegendWidth=this.widthOption||f;o||(this.group=o=h.g("legend").attr({zIndex:7}).add(),this.contentGroup=h.g().attr({zIndex:1}).add(o),this.scrollGroup=h.g().add(this.contentGroup));this.renderTitle();n=this.getAllItems();k(n,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});i.reversed&&n.reverse();this.allItems=n;this.display=f=!!n.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;n.forEach(this.renderItem,this);n.forEach(this.layoutItem,this);n=(this.widthOption||this.offsetWidth)+s;u=this.lastItemY+this.lastLineHeight+this.titleHeight;u=this.handleOverflow(u);u+=s;t||(this.box=t=h.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(o),t.isNew=!0);e.styledMode||t.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow);0<n&&0<u&&(t[t.isNew?"attr":"animate"](t.crisp.call({},{x:0,y:0,width:n,height:u},t.strokeWidth())),t.isNew=!1);t[f?"show":"hide"]();e.styledMode&&"none"===o.getStyle("display")&&(n=u=0);this.legendWidth=n;this.legendHeight=u;f&&this.align();this.proximate||this.positionItems();r(this,"afterRender")},t.prototype.align=function(n){void 0===n&&(n=this.chart.spacingBox);var t=this.chart,r=this.options,i=n.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<t.titleOffset[0]?i+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<t.titleOffset[2]&&(i-=t.titleOffset[2]);i!==n.y&&(n=u(n,{y:i}));this.group.align(u(r,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":r.verticalAlign}),!0,n)},t.prototype.handleOverflow=function(n){var t=this,a=this.chart,s=a.renderer,f=this.options,r=f.y,l=this.padding;r=a.spacingBox.height+("top"===f.verticalAlign?-r:r)-l;var w=f.maxHeight,v,h=this.clipRect,y=f.navigation,b=i(y.animation,!0),e=y.arrowSize||12,u=this.nav,o=this.pages,c,p=this.allItems,k=function(n){"number"==typeof n?h.attr({height:n}):h&&(t.clipRect=h.destroy(),t.contentGroup.clip());t.contentGroup.div&&(t.contentGroup.div.style.clip=n?"rect("+l+"px,9999px,"+(l+n)+"px,0)":"auto")},d=function(n){return t[n]=s.circle(0,0,1.3*e).translate(e/2,e/2).add(u),a.styledMode||t[n].attr("fill","rgba(0,0,0,0.0001)"),t[n]};return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(r/=2),w&&(r=Math.min(r,w)),o.length=0,n>r&&!1!==y.enabled?(this.clipHeight=v=Math.max(r-20-this.titleHeight-l,0),this.currentPage=i(this.currentPage,1),this.fullHeight=n,p.forEach(function(n,t){var i=n._legendItemPos[1],u=Math.round(n.legendItem.getBBox().height),r=o.length;(!r||i-o[r-1]>v&&(c||i)!==o[r-1])&&(o.push(c||i),r++);n.pageIx=r-1;c&&(p[t-1].pageIx=r-1);t===p.length-1&&i+u-o[r-1]>v&&i!==c&&(o.push(i),n.pageIx=r);i!==c&&(c=i)}),h||(h=t.clipRect=s.clipRect(0,l,9999,0),t.contentGroup.clip(h)),k(v),u||(this.nav=u=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,e,e).add(u),d("upTracker").on("click",function(){t.scroll(-1,b)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),a.styledMode||this.pager.css(y.style),this.pager.add(u),this.down=s.symbol("triangle-down",0,0,e,e).add(u),d("downTracker").on("click",function(){t.scroll(1,b)})),t.scroll(0),n=r):u&&(k(),this.nav=u.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},t.prototype.scroll=function(n,t){var h=this,o=this.chart,s=this.pages,f=s.length,u=this.currentPage+n;n=this.clipHeight;var e=this.options.navigation,l=this.pager,a=this.padding;u>f&&(u=f);0<u&&("undefined"!=typeof t&&b(t,o),this.nav.attr({translateX:a,translateY:n+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(n){n.attr({"class":1===u?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),l.attr({text:u+"/"+f}),[this.down,this.downTracker].forEach(function(n){n.attr({x:18+this.pager.getBBox().width,"class":u===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),o.styledMode||(this.up.attr({fill:1===u?e.inactiveColor:e.activeColor}),this.upTracker.css({cursor:1===u?"default":"pointer"}),this.down.attr({fill:u===f?e.inactiveColor:e.activeColor}),this.downTracker.css({cursor:u===f?"default":"pointer"})),this.scrollOffset=-s[u-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=u,this.positionCheckboxes(),t=c(i(t,o.renderer.globalAnimation,!0)),d(function(){r(h,"afterScroll",{currentPage:u})},t.duration||0))},t}();return(/Trident\/7\.0/.test(s.navigator&&s.navigator.userAgent)||g)&&t(h.prototype,"positionItem",function(n,t){var i=this,r=function(){t._legendItemPos&&n.call(i,t)};r();i.bubbleLegend||setTimeout(r)}),n.Legend=h,n.Legend}),i(t,"parts/Chart.js",[t["parts/Axis.js"],t["parts/Globals.js"],t["parts/Legend.js"],t["parts/MSPointer.js"],t["parts/Options.js"],t["parts/Pointer.js"],t["parts/Time.js"],t["parts/Utilities.js"]],function(n,t,i,r,u,f,e,o){var c=t.charts,l=t.doc,k=t.seriesTypes,a=t.win,vt=u.defaultOptions,d=o.addEvent,yt=o.animate,pt=o.animObject,ft=o.attr,wt=o.createElement,p=o.css,h=o.defined,bt=o.discardElement,kt=o.erase,et=o.error,w=o.extend,g=o.find,s=o.fireEvent,v=o.getStyle,dt=o.isArray,gt=o.isFunction,ot=o.isNumber,st=o.isObject,nt=o.isString,b=o.merge,ni=o.numberFormat,tt=o.objectEach,y=o.pick,it=o.pInt,ti=o.relativeLength,ht=o.removeEvent,rt=o.setAnimation,ct=o.splat,lt=o.syncTimeout,ii=o.uniqueKey,at=t.marginNames,ut=function(){function u(n,t,i){this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.legend=this.labelCollectors=this.isResizing=this.index=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0;this.getArgs(n,t,i)}return u.prototype.getArgs=function(n,t,i){nt(n)||n.nodeName?(this.renderTo=n,this.init(t,i)):this.init(n,t)},u.prototype.init=function(n,i){var r,f=n.series,u=n.plotOptions||{};s(this,"init",{args:arguments},function(){var h,l,o;n.series=null;r=b(vt,n);h=r.chart||{};tt(r.plotOptions,function(n,t){st(n)&&(n.tooltip=u[t]&&b(u[t].tooltip)||void 0)});r.tooltip.userOptions=n.chart&&n.chart.forExport&&n.tooltip.userOptions||n.tooltip;r.series=n.series=f;this.userOptions=n;l=h.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=i;this.isResizing=0;this.options=r;this.axes=[];this.series=[];this.time=n.time&&Object.keys(n.time).length?new e(n.time):t.time;this.numberFormatter=h.numberFormatter||ni;this.styledMode=h.styledMode;this.hasCartesianSeries=h.showAxes;o=this;o.index=c.length;c.push(o);t.chartCount++;l&&tt(l,function(n,t){gt(n)&&d(o,t,n)});o.xAxis=[];o.yAxis=[];o.pointCount=o.colorCounter=o.symbolCounter=0;s(o,"afterInit");o.firstRender()})},u.prototype.initSeries=function(n){var t=this.options.chart,i;return t=n.type||t.type||t.defaultSeriesType,i=k[t],i||et(17,!0,this,{missingModuleFor:t}),t=new i,t.init(this,n),t},u.prototype.setSeriesData=function(){this.getSeriesOrderByLinks().forEach(function(n){n.points||n.data||!n.enabledDataSorting||n.setData(n.options.data,!1)})},u.prototype.getSeriesOrderByLinks=function(){return this.series.concat().sort(function(n,t){return n.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-n.linkedSeries.length:0})},u.prototype.orderSeries=function(n){var t=this.series;for(n=n||0;n<t.length;n++)t[n]&&(t[n].index=n,t[n].name=t[n].getName())},u.prototype.isInsidePlot=function(n,t,i){var r=i?t:n;return n=i?n:t,r={x:r,y:n,isInsidePlot:0<=r&&r<=this.plotWidth&&0<=n&&n<=this.plotHeight},s(this,"afterIsInsidePlot",r),r.isInsidePlot},u.prototype.redraw=function(n){var r,c,b;s(this,"beforeRedraw");var t=this,f=t.axes,i=t.series,l=t.pointer,e=t.legend,o=t.userOptions.legend,h=t.isDirtyLegend,a=t.hasCartesianSeries,u=t.isDirtyBox,v=t.renderer,y=v.isHidden(),p=[];for(t.setResponsive&&t.setResponsive(!1),rt(t.hasRendered?n:!1,t),y&&t.temporaryDisplay(),t.layOutTitles(),n=i.length;n--;)if(r=i[n],r.options.stacking&&(c=!0,r.isDirty)){b=!0;break}if(b)for(n=i.length;n--;)r=i[n],r.options.stacking&&(r.isDirty=!0);i.forEach(function(n){n.isDirty&&("point"===n.options.legendType?(n.updateTotals&&n.updateTotals(),h=!0):o&&(o.labelFormatter||o.labelFormat)&&(h=!0));n.isDirtyData&&s(n,"updatedData")});h&&e&&e.options.enabled&&(e.render(),t.isDirtyLegend=!1);c&&t.getStacks();a&&f.forEach(function(n){t.isResizing&&ot(n.min)||(n.updateNames(),n.setScale())});t.getMargins();a&&(f.forEach(function(n){n.isDirty&&(u=!0)}),f.forEach(function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,p.push(function(){s(n,"afterSetExtremes",w(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(u||c)&&n.redraw()}));u&&t.drawChartBox();s(t,"predraw");i.forEach(function(n){(u||n.isDirty)&&n.visible&&n.redraw();n.isDirtyData=!1});l&&l.reset(!0);v.draw();s(t,"redraw");s(t,"render");y&&t.temporaryDisplay(!0);p.forEach(function(n){n.call()})},u.prototype.get=function(n){function i(t){return t.id===n||t.options&&t.options.id===n}for(var u=this.series,r=g(this.axes,i)||g(this.series,i),t=0;!r&&t<u.length;t++)r=g(u[t].points||[],i);return r},u.prototype.getAxes=function(){var r=this,t=this.options,i=t.xAxis=ct(t.xAxis||{});t=t.yAxis=ct(t.yAxis||{});s(this,"getAxes");i.forEach(function(n,t){n.index=t;n.isX=!0});t.forEach(function(n,t){n.index=t});i.concat(t).forEach(function(t){new n(r,t)});s(this,"afterGetAxes")},u.prototype.getSelectedPoints=function(){var n=[];return this.series.forEach(function(t){n=n.concat(t.getPointsCollection().filter(function(n){return y(n.selectedStaging,n.selected)}))}),n},u.prototype.getSelectedSeries=function(){return this.series.filter(function(n){return n.selected})},u.prototype.setTitle=function(n,t,i){this.applyDescription("title",n);this.applyDescription("subtitle",t);this.applyDescription("caption",void 0);this.layOutTitles(i)},u.prototype.applyDescription=function(n,t){var u=this,r="title"===n?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"},i;r=this.options[n]=b(!this.styledMode&&{style:r},this.options[n],t);i=this[n];i&&t&&(this[n]=i=i.destroy());r&&!i&&(i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,"class":"highcharts-"+n,zIndex:r.zIndex||4}).add(),i.update=function(t){u[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[n]](t)},this.styledMode||i.css(r.style),this[n]=i)},u.prototype.layOutTitles=function(n){var t=[0,0,0],r=this.renderer,u=this.spacingBox,i;["title","subtitle","caption"].forEach(function(n){var f=this[n],i=this.options[n],o=i.verticalAlign||"top",e,s;n="title"===n?-3:"top"===o?t[0]+2:0;f&&(this.styledMode||(e=i.style.fontSize),e=r.fontMetrics(e,f).b,f.css({width:(i.width||u.width+(i.widthAdjust||0))+"px"}),s=Math.round(f.getBBox(i.useHTML).height),f.align(w({y:"bottom"===o?e:n+e,height:s},i),!1,"spacingBox"),i.floating||("top"===o?t[0]=Math.ceil(t[0]+s):"bottom"===o&&(t[2]=Math.ceil(t[2]+s))))},this);t[0]&&"top"===(this.options.title.verticalAlign||"top")&&(t[0]+=this.options.title.margin);t[2]&&"bottom"===this.options.caption.verticalAlign&&(t[2]+=this.options.caption.margin);i=!this.titleOffset||this.titleOffset.join(",")!==t.join(",");this.titleOffset=t;s(this,"afterLayOutTitles");!this.isDirtyBox&&i&&(this.isDirtyBox=this.isDirtyLegend=i,this.hasRendered&&y(n,!0)&&this.isDirtyBox&&this.redraw())},u.prototype.getChartSize=function(){var n=this.options.chart,i=n.width,t;n=n.height;t=this.renderTo;h(i)||(this.containerWidth=v(t,"width"));h(n)||(this.containerHeight=v(t,"height"));this.chartWidth=Math.max(0,i||this.containerWidth||600);this.chartHeight=Math.max(0,ti(n,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},u.prototype.temporaryDisplay=function(n){var t=this.renderTo;if(n)for(;t&&t.style;)t.hcOrigStyle&&(p(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(l.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t&&t.style;)if(l.body.contains(t)||t.parentNode||(t.hcOrigDetached=!0,l.body.appendChild(t)),("none"===v(t,"display",!1)||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},n={display:"block",overflow:"hidden"},t!==this.renderTo&&(n.height=0),p(t,n),t.offsetWidth||t.style.setProperty("display","block","important")),t=t.parentNode,t===l.body)break},u.prototype.setClassName=function(n){this.container.className="highcharts-container "+(n||"")},u.prototype.getContainer=function(){var u=this.options,r=u.chart,n=this.renderTo,h=ii(),e,o,i,f;if(n||(this.renderTo=n=r.renderTo),nt(n)&&(this.renderTo=n=l.getElementById(n)),n||et(13,!0,this),i=it(ft(n,"data-highcharts-chart")),ot(i)&&c[i]&&c[i].hasRendered&&c[i].destroy(),ft(n,"data-highcharts-chart",this.index),n.innerHTML="",r.skipClone||n.offsetWidth||this.temporaryDisplay(),this.getChartSize(),i=this.chartWidth,f=this.chartHeight,p(n,{overflow:"hidden"}),this.styledMode||(e=w({position:"relative",overflow:"hidden",width:i+"px",height:f+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none"},r.style)),this.container=n=wt("div",{id:h},e,n),this._cursor=n.style.cursor,this.renderer=new(t[r.renderer]||t.Renderer)(n,i,f,null,r.forExport,u.exporting&&u.exporting.allowHTML,this.styledMode),rt(void 0,this),this.setClassName(r.className),this.styledMode)for(o in u.defs)this.renderer.definition(u.defs[o]);else this.renderer.setStyle(r.style);this.renderer.chartIndex=this.index;s(this,"afterGetContainer")},u.prototype.getMargins=function(n){var i=this.spacing,r=this.margin,t=this.titleOffset;this.resetMargins();t[0]&&!h(r[0])&&(this.plotTop=Math.max(this.plotTop,t[0]+i[0]));t[2]&&!h(r[2])&&(this.marginBottom=Math.max(this.marginBottom,t[2]+i[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(r,i);s(this,"getMargins");n||this.getAxisMargins()},u.prototype.getAxisMargins=function(){var n=this,r=n.axisOffset=[0,0,0,0],t=n.colorAxis,u=n.margin,i=function(n){n.forEach(function(n){n.visible&&n.getOffset()})};n.hasCartesianSeries?i(n.axes):t&&t.length&&i(t);at.forEach(function(t,i){h(u[i])||(n[t]+=r[i])});n.setChartSize()},u.prototype.reflow=function(n){var t=this,i=t.options.chart,r=t.renderTo,f=h(i.width)&&h(i.height),u=i.width||v(r,"width");i=i.height||v(r,"height");r=n?n.target:a;!f&&!t.isPrinting&&u&&i&&(r===a||r===l)&&((u!==t.containerWidth||i!==t.containerHeight)&&(o.clearTimeout(t.reflowTimeout),t.reflowTimeout=lt(function(){t.container&&t.setSize(void 0,void 0,!1)},n?100:0)),t.containerWidth=u,t.containerHeight=i)},u.prototype.setReflow=function(n){var t=this;!1===n||this.unbindReflow?!1===n&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=d(a,"resize",function(n){t.options&&t.reflow(n)}),d(this,"destroy",this.unbindReflow))},u.prototype.setSize=function(n,t,i){var r=this,u=r.renderer;r.isResizing+=1;rt(i,r);i=u.globalAnimation;r.oldChartHeight=r.chartHeight;r.oldChartWidth=r.chartWidth;"undefined"!=typeof n&&(r.options.chart.width=n);"undefined"!=typeof t&&(r.options.chart.height=t);r.getChartSize();r.styledMode||(i?yt:p)(r.container,{width:r.chartWidth+"px",height:r.chartHeight+"px"},i);r.setChartSize(!0);u.setSize(r.chartWidth,r.chartHeight,i);r.axes.forEach(function(n){n.isDirty=!0;n.setScale()});r.isDirtyLegend=!0;r.isDirtyBox=!0;r.layOutTitles();r.getMargins();r.redraw(i);r.oldChartHeight=null;s(r,"resize");lt(function(){r&&s(r,"endResize",null,function(){--r.isResizing})},pt(i).duration||0)},u.prototype.setChartSize=function(n){var r=this.inverted,u=this.renderer,t=this.chartWidth,l=this.chartHeight,a=this.options.chart,i=this.spacing,f=this.clipOffset,h,c,e,o;this.plotLeft=h=Math.round(this.plotLeft);this.plotTop=c=Math.round(this.plotTop);this.plotWidth=e=Math.max(0,Math.round(t-h-this.marginRight));this.plotHeight=o=Math.max(0,Math.round(l-c-this.marginBottom));this.plotSizeX=r?o:e;this.plotSizeY=r?e:o;this.plotBorderWidth=a.plotBorderWidth||0;this.spacingBox=u.spacingBox={x:i[3],y:i[0],width:t-i[3]-i[1],height:l-i[0]-i[2]};this.plotBox=u.plotBox={x:h,y:c,width:e,height:o};t=2*Math.floor(this.plotBorderWidth/2);r=Math.ceil(Math.max(t,f[3])/2);u=Math.ceil(Math.max(t,f[0])/2);this.clipBox={x:r,y:u,width:Math.floor(this.plotSizeX-Math.max(t,f[1])/2-r),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(t,f[2])/2-u))};n||this.axes.forEach(function(n){n.setAxisSize();n.setAxisTranslation()});s(this,"afterSetChartSize",{skipAxes:n})},u.prototype.resetMargins=function(){s(this,"resetMargins");var n=this,t=n.options.chart;["margin","spacing"].forEach(function(i){var r=t[i],u=st(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach(function(r,f){n[i][f]=y(t[i+r],u[f])})});at.forEach(function(t,i){n[t]=y(n.margin[i],n.spacing[i])});n.axisOffset=[0,0,0,0];n.clipOffset=[0,0,0,0]},u.prototype.drawChartBox=function(){var n=this.options.chart,e=this.renderer,g=this.chartWidth,nt=this.chartHeight,r=this.chartBackground,h=this.plotBackground,u=this.plotBorder,a=this.styledMode,c=this.plotBGImage,o=n.backgroundColor,tt=n.plotBackgroundColor,l=n.plotBackgroundImage,f,y=this.plotLeft,p=this.plotTop,w=this.plotWidth,b=this.plotHeight,k=this.plotBox,d=this.clipRect,v=this.clipBox,t="animate",i;r||(this.chartBackground=r=e.rect().addClass("highcharts-background").add(),t="attr");a?i=f=r.strokeWidth():(i=n.borderWidth||0,f=i+(n.shadow?8:0),o={fill:o||"none"},(i||r["stroke-width"])&&(o.stroke=n.borderColor,o["stroke-width"]=i),r.attr(o).shadow(n.shadow));r[t]({x:f/2,y:f/2,width:g-f-i%2,height:nt-f-i%2,r:n.borderRadius});t="animate";h||(t="attr",this.plotBackground=h=e.rect().addClass("highcharts-plot-background").add());h[t](k);a||(h.attr({fill:tt||"none"}).shadow(n.plotShadow),l&&(c?(l!==c.attr("href")&&c.attr("href",l),c.animate(k)):this.plotBGImage=e.image(l,y,p,w,b).add()));d?d.animate({width:v.width,height:v.height}):this.clipRect=e.clipRect(v);t="animate";u||(t="attr",this.plotBorder=u=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());a||u.attr({stroke:n.plotBorderColor,"stroke-width":n.plotBorderWidth||0,fill:"none"});u[t](u.crisp({x:y,y:p,width:w,height:b},-u.strokeWidth()));this.isDirtyBox=!1;s(this,"afterDrawChartBox")},u.prototype.propFromSeries=function(){var i=this,r=i.options.chart,n,u=i.options.series,f,t;["inverted","angular","polar"].forEach(function(e){for(n=k[r.type||r.defaultSeriesType],t=r[e]||n&&n.prototype[e],f=u&&u.length;!t&&f--;)(n=k[u[f].type])&&n.prototype[e]&&(t=!0);i[e]=t})},u.prototype.linkSeries=function(){var n=this,t=n.series;t.forEach(function(n){n.linkedSeries.length=0});t.forEach(function(t){var i=t.options.linkedTo;nt(i)&&(i=":previous"===i?n.series[t.index-1]:n.get(i))&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,i.enabledDataSorting&&t.setDataSortingOptions(),t.visible=y(t.options.visible,i.options.visible,t.visible))});s(this,"afterLinkSeries")},u.prototype.renderSeries=function(){this.series.forEach(function(n){n.translate();n.render()})},u.prototype.renderLabels=function(){var n=this,t=n.options.labels;t.items&&t.items.forEach(function(i){var r=w(t.style,i.style),u=it(r.left)+n.plotLeft,f=it(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(i.html,u,f).attr({zIndex:2}).css(r).add()})},u.prototype.render=function(){var n=this.axes,t=this.colorAxis,h=this.renderer,r=this.options,e=0,o=function(n){n.forEach(function(n){n.visible&&n.render()})},s,u,f;this.setTitle();this.legend=new i(this,r.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();r=this.plotWidth;n.some(function(n){if(n.horiz&&n.visible&&n.options.labels.enabled&&n.series.length)return e=21,!0});s=this.plotHeight=Math.max(this.plotHeight-e,0);n.forEach(function(n){n.setScale()});this.getAxisMargins();u=1.1<r/this.plotWidth;f=1.05<s/this.plotHeight;(u||f)&&(n.forEach(function(n){(n.horiz&&u||!n.horiz&&f)&&n.setTickInterval(!0)}),this.getMargins());this.drawChartBox();this.hasCartesianSeries?o(n):t&&t.length&&o(t);this.seriesGroup||(this.seriesGroup=h.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.updateContainerScaling();this.hasRendered=!0},u.prototype.addCredits=function(n){var i=this,t=b(!0,this.options.credits,n);t.enabled&&!this.credits&&(this.credits=this.renderer.text(t.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){t.href&&(a.location.href=t.href)}).attr({align:t.position.align,zIndex:8}),i.styledMode||this.credits.css(t.style),this.credits.add().align(t.position),this.credits.update=function(n){i.credits=i.credits.destroy();i.addCredits(n)})},u.prototype.updateContainerScaling=function(){var n=this.container,t,i;2<n.offsetWidth&&2<n.offsetHeight&&n.getBoundingClientRect&&(t=n.getBoundingClientRect(),i=t.width/n.offsetWidth,n=t.height/n.offsetHeight,1!==i||1!==n?this.containerScaling={scaleX:i,scaleY:n}:delete this.containerScaling)},u.prototype.destroy=function(){var n=this,u=n.axes,f=n.series,r=n.container,i,e=r&&r.parentNode;for(s(n,"destroy"),n.renderer.forExport?kt(c,n):c[n.index]=void 0,t.chartCount--,n.renderTo.removeAttribute("data-highcharts-chart"),ht(n),i=u.length;i--;)u[i]=u[i].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),i=f.length;i--;)f[i]=f[i].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())});r&&(r.innerHTML="",ht(r),e&&bt(r));tt(n,function(t,i){delete n[i]})},u.prototype.firstRender=function(){var n=this,i=n.options;(!n.isReadyToRender||n.isReadyToRender())&&(n.getContainer(),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),(dt(i.series)?i.series:[]).forEach(function(t){n.initSeries(t)}),n.linkSeries(),n.setSeriesData(),s(n,"beforeRender"),f&&(n.pointer=t.hasTouch||!a.PointerEvent&&!a.MSPointerEvent?new f(n,i):new r(n,i)),n.render(),n.renderer.imgCount||n.hasLoaded||n.onload(),n.temporaryDisplay(!0))},u.prototype.onload=function(){this.callbacks.concat([this.callback]).forEach(function(n){n&&"undefined"!=typeof this.index&&n.apply(this,[this])},this);s(this,"load");s(this,"render");h(this.index)&&this.setReflow(this.options.chart.reflow);this.hasLoaded=!0},u}();return ut.prototype.callbacks=[],t.chart=function(n,t,i){return new ut(n,t,i)},t.Chart=ut}),i(t,"parts/ScrollablePlotArea.js",[t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t,i){var r=i.addEvent,u=i.createElement,f=i.pick,e=i.stop;r(n,"afterSetChartSize",function(n){var r=this.options.chart.scrollablePlotArea,i=r&&r.minWidth,u;r=r&&r.minHeight;this.renderer.forExport||(i?(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth))&&(this.plotWidth+=i,this.inverted?(this.clipBox.height+=i,this.plotBox.height+=i):(this.clipBox.width+=i,this.plotBox.width+=i),u={1:{name:"right",value:i}}):r&&(this.scrollablePixelsY=i=Math.max(0,r-this.chartHeight))&&(this.plotHeight+=i,this.inverted?(this.clipBox.width+=i,this.plotBox.width+=i):(this.clipBox.height+=i,this.plotBox.height+=i),u={2:{name:"bottom",value:i}}),u&&!n.skipAxes&&this.axes.forEach(function(n){u[n.side]?n.getPlotLinePath=function(){var i=u[n.side].name,r=this[i],f;return this[i]=r-u[n.side].value,f=t.Axis.prototype.getPlotLinePath.apply(this,arguments),this[i]=r,f}:(n.setAxisSize(),n.setAxisTranslation())}))});r(n,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});n.prototype.setUpScrolling=function(){var t=this,n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(n.overflowX="auto");this.scrollablePixelsY&&(n.overflowY="auto");this.scrollingContainer=u("div",{className:"highcharts-scrolling"},n,this.renderTo);r(this.scrollingContainer,"scroll",function(){t.pointer&&delete t.pointer.chartPosition});this.innerContainer=u("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};n.prototype.moveFixedElements=function(){var r=this.container,t=this.fixedRenderer,i=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),n;this.scrollablePixelsX&&!this.inverted?n=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(n=".highcharts-yaxis");i.push(n,n+"-labels");i.forEach(function(n){[].forEach.call(r.querySelectorAll(n),function(n){(n.namespaceURI===t.SVG_NS?t.box:t.box.parentNode).appendChild(n);n.style.pointerEvents="auto"})})};n.prototype.applyFixed=function(){var i,n,s=!this.fixedDiv,o=this.options.chart.scrollablePlotArea,h,c;s?(this.fixedDiv=u("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=n=new t.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,null===(i=this.options.chart)||void 0===i?void 0:i.style),this.scrollableMask=n.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":f(o.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),r(this,"afterShowResetZoom",this.moveFixedElements),r(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);i=this.chartWidth+(this.scrollablePixelsX||0);n=this.chartHeight+(this.scrollablePixelsY||0);e(this.container);this.container.style.width=i+"px";this.container.style.height=n+"px";this.renderer.boxWrapper.attr({width:i,height:n,viewBox:[0,0,i,n].join(" ")});this.chartBackground.attr({width:i,height:n});this.scrollingContainer.style.height=this.chartHeight+"px";s&&(o.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*o.scrollPositionX),o.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*o.scrollPositionY));n=this.axisOffset;s=this.plotTop-n[0]-1;o=this.plotLeft-n[3]-1;i=this.plotTop+this.plotHeight+n[2]+1;n=this.plotLeft+this.plotWidth+n[1]+1;h=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0);c=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);s=this.scrollablePixelsX?[["M",0,s],["L",this.plotLeft-1,s],["L",this.plotLeft-1,i],["L",0,i],["Z"],["M",h,s],["L",this.chartWidth,s],["L",this.chartWidth,i],["L",h,i],["Z"]]:this.scrollablePixelsY?[["M",o,0],["L",o,this.plotTop-1],["L",n,this.plotTop-1],["L",n,0],["Z"],["M",o,c],["L",o,this.chartHeight],["L",n,this.chartHeight],["L",n,c],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:s})}}),i(t,"parts/StackingAxis.js",[t["parts/Utilities.js"]],function(n){var i=n.addEvent,r=n.destroyObjectProperties,u=n.fireEvent,t=n.objectEach,f=n.pick,e=function(){function n(n){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=n}return n.prototype.buildStacks=function(){var t=this.axis,i=t.series,o=f(t.options.reversedStacks,!0),r=i.length,n,e;if(!t.isXAxis){for(this.usePercentage=!1,n=r;n--;)e=i[o?n:r-n-1],e.setStackedPoints(),e.setGroupedPoints();for(n=0;n<r;n++)i[n].modifyStacks();u(t,"afterBuildStacks")}},n.prototype.cleanStacks=function(){if(!this.axis.isXAxis){if(this.oldStacks)var n=this.stacks=this.oldStacks;t(n,function(n){t(n,function(n){n.cumulative=n.total})})}},n.prototype.resetStacks=function(){var n=this,i=n.stacks;n.axis.isXAxis||t(i,function(i){t(i,function(t,r){t.touched<n.stacksTouched?(t.destroy(),delete i[r]):(t.total=null,t.cumulative=null)})})},n.prototype.renderStackTotals=function(){var n=this.axis.chart,r=n.renderer,u=this.stacks,i=this.stackTotalGroup=this.stackTotalGroup||r.g("stack-labels").attr({visibility:"visible",zIndex:6}).add();i.translate(n.plotLeft,n.plotTop);t(u,function(n){t(n,function(n){n.render(i)})})},n}();return function(){function n(){}return n.compose=function(t){i(t,"init",n.onInit);i(t,"destroy",n.onDestroy)},n.onDestroy=function(){var n=this.stacking,i;n&&(i=n.stacks,t(i,function(n,t){r(n);i[t]=null}),n&&n.stackTotalGroup&&n.stackTotalGroup.destroy())},n.onInit=function(){this.stacking||(this.stacking=new e(this))},n}()}),i(t,"mixins/legend-symbol.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.merge,i=t.pick;return n.LegendSymbolMixin={drawRectangle:function(n,t){var r=n.symbolHeight,u=n.options.squareSymbol;t.legendSymbol=this.chart.renderer.rect(u?(n.symbolWidth-r)/2:0,n.baseline-r+1,u?r:n.symbolWidth,r,i(n.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,u=t.marker,e=n.symbolWidth,o=n.symbolHeight,s=o/2,h=this.chart.renderer,c=this.legendGroup,f;n=n.baseline-Math.round(.3*n.fontMetrics.b);f={};this.chart.styledMode||(f={"stroke-width":t.lineWidth||0},t.dashStyle&&(f.dashstyle=t.dashStyle));this.legendLine=h.path(["M",0,n,"L",e,n]).addClass("highcharts-graph").attr(f).add(c);u&&!1!==u.enabled&&e&&(t=Math.min(i(u.radius,s),s),0===this.symbol.indexOf("url")&&(u=r(u,{width:o,height:o}),t=0),this.legendSymbol=u=h.symbol(this.symbol,e/2-t,n-t,2*t,2*t,u).addClass("highcharts-point").add(c),u.isMarker=!0)}},n.LegendSymbolMixin}),i(t,"parts/Point.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var e=t.animObject,o=t.defined,s=t.erase,i=t.extend,u=t.fireEvent,h=t.format,c=t.getNestedProperty,l=t.isArray,f=t.isNumber,a=t.isObject,v=t.syncTimeout,r=t.pick,y=t.removeEvent,p=t.uniqueKey;return t=function(){function n(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.series=void 0;this.visible=!0;this.x=void 0}return n.prototype.animateBeforeDestroy=function(){var n=this,u={x:n.startXPos,opacity:0},t,r=n.getGraphicalProps();r.singular.forEach(function(i){t="dataLabel"===i;n[i]=n[i].animate(t?{x:n[i].startXPos,y:n[i].startYPos,opacity:0}:u)});r.plural.forEach(function(t){n[t].forEach(function(t){t.element&&t.animate(i({x:n.startXPos},t.startYPos?{x:t.startXPos,y:t.startYPos}:{}))})})},n.prototype.applyOptions=function(t,u){var e=this.series,o=e.options.pointValKey||e.pointValKey;return t=n.prototype.optionsToObject.call(this,t),i(this,t),this.options=this.options?i(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,o&&(this.y=n.prototype.getNestedProperty.call(this,o)),this.formatPrefix=(this.isNull=r(this.isValid&&!this.isValid(),null===this.x||!f(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&"undefined"==typeof u&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),"undefined"==typeof this.x&&e&&(this.x="undefined"==typeof u?e.autoIncrement(this):u),this},n.prototype.destroy=function(){function u(){(n.graphic||n.dataLabel||n.dataLabels)&&(y(n),n.destroyElements());for(o in n)n[o]=null}var n=this,t=n.series,i=t.chart,r,f,o;t=t.options.dataSorting;r=i.hoverPoints;f=e(n.series.chart.renderer.globalAnimation);n.legendItem&&i.legend.destroyItem(n);r&&(n.setState(),s(r,n),r.length||(i.hoverPoints=null));n===i.hoverPoint&&n.onMouseOut();t&&t.enabled?(this.animateBeforeDestroy(),v(u,f.duration)):u();i.pointCount--},n.prototype.destroyElements=function(n){var t=this;n=t.getGraphicalProps(n);n.singular.forEach(function(n){t[n]=t[n].destroy()});n.plural.forEach(function(n){t[n].forEach(function(n){n.element&&n.destroy()});delete t[n]})},n.prototype.firePointEvent=function(n,t,i){var r=this,f=this.series.options;(f.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&r.importEvents();"click"===n&&f.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});u(r,n,t,i)},n.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!=typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},n.prototype.getGraphicalProps=function(n){var f=this,t=[],i,r={singular:[],plural:[]},u;for(n=n||{graphic:1,dataLabel:1},n.graphic&&t.push("graphic","shadowGroup"),n.dataLabel&&t.push("dataLabel","dataLabelUpper","connector"),i=t.length;i--;)u=t[i],f[u]&&r.singular.push(u);return["dataLabel","connector"].forEach(function(t){var i=t+"s";n[t]&&f[i]&&r.plural.push(i)}),r},n.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},n.prototype.getNestedProperty=function(n){if(n)return 0===n.indexOf("custom.")?c(n,this.options):this[n]},n.prototype.getZone=function(){var t=this.series,r=t.zones,i,n;for(t=t.zoneAxis||"y",i=0,n=r[i];this[t]>=n.value;)n=r[++i];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},n.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},n.prototype.init=function(n,t,i){return this.series=n,this.applyOptions(t,i),this.id=o(this.id)?this.id:p(),this.resolveColor(),n.chart.pointCount++,u(this,"afterInit"),this},n.prototype.optionsToObject=function(t){var i={},r=this.series,s=r.options.keys,u=s||r.pointArrayMap||["y"],h=u.length,e=0,o=0;if(f(t)||null===t)i[u[0]]=t;else if(l(t))for(!s&&t.length>h&&(r=typeof t[0],"string"===r?i.name=t[0]:"number"===r&&(i.x=t[0]),e++);o<h;)s&&"undefined"==typeof t[e]||(0<u[o].indexOf(".")?n.prototype.setNestedProperty(i,t[e],u[o]):i[u[o]]=t[e]),e++,o++;else"object"==typeof t&&(i=t,t.dataLabels&&(r._hasPointLabels=!0),t.marker&&(r._hasPointMarkers=!0));return i},n.prototype.resolveColor=function(){var n=this.series,t=n.chart.options.chart.colorCount,i=n.chart.styledMode;delete this.nonZonedColor;i||this.options.color||(this.color=n.color);n.options.colorByPoint?(i||(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter],t=t.length),i=n.colorCounter,n.colorCounter++,n.colorCounter===t&&(n.colorCounter=0)):i=n.colorIndex;this.colorIndex=r(this.colorIndex,i)},n.prototype.setNestedProperty=function(n,t,i){return i.split(".").reduce(function(n,i,r,u){return n[i]=u.length-1===r?t:a(n[i],!0)?n[i]:{},n[i]},n),n},n.prototype.tooltipFormatter=function(n){var t=this.series,i=t.tooltipOptions,e=r(i.valueDecimals,""),u=i.valuePrefix||"",f=i.valueSuffix||"";return t.chart.styledMode&&(n=t.chart.tooltip.styledModeFormat(n)),(t.pointArrayMap||["y"]).forEach(function(t){t="{point."+t;(u||f)&&(n=n.replace(RegExp(t+"}","g"),u+t+"}"+f));n=n.replace(RegExp(t+"}","g"),t+":,."+e+"f}")}),h(n,{point:this,series:this.series},t.chart)},n}(),n.Point=t}),i(t,"parts/Series.js",[t["parts/Globals.js"],t["mixins/legend-symbol.js"],t["parts/Options.js"],t["parts/Point.js"],t["parts/SVGElement.js"],t["parts/Utilities.js"]],function(n,t,i,r,u,f){var c=i.defaultOptions,g=f.addEvent,nt=f.animObject,v=f.arrayMax,tt=f.arrayMin,l=f.clamp,it=f.correctFloat,o=f.defined,rt=f.erase,a=f.error,y=f.extend,ht=f.find,s=f.fireEvent,ut=f.getNestedProperty,p=f.isArray,ft=f.isFunction,h=f.isNumber,ct=f.isString,w=f.merge,b=f.objectEach,e=f.pick,et=f.removeEvent,ot,k,d,st;i=f.seriesType;ot=f.splat;k=f.syncTimeout;d=n.seriesTypes;st=n.win;n.Series=i("line",null,{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){var n=this.series.chart.numberFormatter;return"number"!=typeof this.y?"":n(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,eventsToUnbind:[],isCartesian:!0,parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0,init:function(n,t){var i,r,f,u;s(this,"init",{options:t});i=this;r=n.series;this.eventOptions=this.eventOptions||{};i.chart=n;i.options=t=i.setOptions(t);i.linkedSeries=[];i.bindAxes();y(i,{name:t.name,state:"",visible:!1!==t.visible,selected:!0===t.selected});u=t.events;b(u,function(n,t){ft(n)&&i.eventOptions[t]!==n&&(ft(i.eventOptions[t])&&et(i,t,i.eventOptions[t]),i.eventOptions[t]=n,g(i,t,n))});(u&&u.click||t.point&&t.point.events&&t.point.events.click||t.allowPointSelect)&&(n.runTrackerClick=!0);i.getColor();i.getSymbol();i.parallelArrays.forEach(function(n){i[n+"Data"]||(i[n+"Data"]=[])});i.isCartesian&&(n.hasCartesianSeries=!0);r.length&&(f=r[r.length-1]);i._i=e(f&&f._i,-1)+1;i.opacity=i.options.opacity;n.orderSeries(this.insert(r));t.dataSorting&&t.dataSorting.enabled?i.setDataSortingOptions():i.points||i.data||i.setData(t.data,!1);s(this,"afterInit")},is:function(n){return d[n]&&this instanceof d[n]},insert:function(n){var i=this.options.index,t;if(h(i)){for(t=n.length;t--;)if(i>=e(n[t].options.index,n[t]._i)){n.splice(t+1,0,this);break}-1===t&&n.unshift(this);t+=1}else n.push(this);return e(t,n.length-1)},bindAxes:function(){var n=this,t=n.options,r=n.chart,i;s(this,"bindAxes",null,function(){(n.axisTypes||[]).forEach(function(u){r[u].forEach(function(r){i=r.options;(t[u]===i.index||"undefined"!=typeof t[u]&&t[u]===i.id||"undefined"==typeof t[u]&&0===i.index)&&(n.insert(r.series),n[u]=r,r.isDirty=!0)});n[u]||n.optionalAxis===u||a(18,!0,r)})});s(this,"afterBindAxes")},updateParallelArrays:function(n,t){var i=n.series,r=arguments,u=h(t)?function(r){var u="y"===r&&i.toYData?i.toYData(n):n[r];i[r+"Data"][t]=u}:function(n){Array.prototype[t].apply(i[n+"Data"],Array.prototype.slice.call(r,2))};i.parallelArrays.forEach(u)},hasData:function(){return this.visible&&"undefined"!=typeof this.dataMax&&"undefined"!=typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var n=this.options,i=this.xIncrement,r,u=n.pointIntervalUnit,t=this.chart.time;return i=e(i,n.pointStart,0),this.pointInterval=r=e(this.pointInterval,n.pointInterval,1),u&&(n=new t.Date(i),"day"===u?t.set("Date",n,t.get("Date",n)+r):"month"===u?t.set("Month",n,t.get("Month",n)+r):"year"===u&&t.set("FullYear",n,t.get("FullYear",n)+r),r=n.getTime()-i),this.xIncrement=i+r,i},setDataSortingOptions:function(){var n=this.options;y(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});o(n.pointRange)||(n.pointRange=1)},setOptions:function(n){var u=this.chart,r=u.options,i=r.plotOptions,t=u.userOptions||{},h,l,f;return n=w(n),u=u.styledMode,h={plotOptions:i,userOptions:n},s(this,"setOptions",h),l=h.plotOptions[this.type],f=t.plotOptions||{},this.userOptions=h.userOptions,t=w(l,i.series,t.plotOptions&&t.plotOptions[this.type],n),this.tooltipOptions=w(c.tooltip,c.plotOptions.series&&c.plotOptions.series.tooltip,c.plotOptions[this.type].tooltip,r.tooltip.userOptions,i.series&&i.series.tooltip,i[this.type].tooltip,n.tooltip),this.stickyTracking=e(n.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:t.stickyTracking),null===l.marker&&delete t.marker,this.zoneAxis=t.zoneAxis,r=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&(i={value:t[this.zoneAxis+"Threshold"]||t.threshold||0,className:"highcharts-negative"},u||(i.color=t.negativeColor,i.fillColor=t.negativeFillColor),r.push(i)),r.length&&o(r[r.length-1].value)&&r.push(u?{}:{color:this.color,fillColor:this.fillColor}),s(this,"afterSetOptions",{options:t}),t},getName:function(){return e(this.options.name,"Series "+(this.index+1))},getCyclic:function(n,t,i){var r=this.chart,s=this.userOptions,f=n+"Index",h=n+"Counter",c=i?i.length:e(r.options.chart[n+"Count"],r[n+"Count"]),u;t||(u=e(s[f],s["_"+f]),o(u)||(r.series.length||(r[h]=0),s["_"+f]=u=r[h]%c,r[h]+=1),i&&(t=i[u]));"undefined"!=typeof u&&(this[f]=u);this[n]=t},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||c.plotOptions[this.type].color,this.chart.options.colors)},getPointsCollection:function(){return(this.hasGroupedData?this.points:this.data)||[]},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(n,t){var e=n.id,o=n.x,u=this.points,s,c=this.options.dataSorting,r,f,i;if(e)r=this.chart.get(e);else if((this.linkedParent||this.enabledDataSorting)&&(f=c&&c.matchByName?"name":"index",r=ht(u,function(t){return!t.touched&&t[f]===n[f]}),!r))return;return r&&(i=r&&r.index,"undefined"!=typeof i&&(s=!0)),"undefined"==typeof i&&h(o)&&(i=this.xData.indexOf(o,t)),-1!==i&&"undefined"!=typeof i&&this.cropped&&(i=i>=this.cropStart?i-this.cropStart:i),!s&&u[i]&&u[i].touched&&(i=void 0),i},drawLegendSymbol:t.drawLineMarker,updateData:function(n,t){var e=this.options,r=e.dataSorting,i=this.points,u=[],s,f,c,y=this.requireSorting,l=n.length===i.length,a=!0;if(this.xIncrement=null,n.forEach(function(n,t){var a=o(n)&&this.pointClass.prototype.optionsToObject.call({series:this},n)||{},f=a.x;a.id||h(f)?(f=this.findPointIndex(a,c),-1===f||"undefined"==typeof f?u.push(n):i[f]&&n!==e.data[f]?(i[f].update(n,!1,null,!1),i[f].touched=!0,y&&(c=f+1)):i[f]&&(i[f].touched=!0),!l||t!==f||r&&r.enabled||this.hasDerivedData)&&(s=!0):u.push(n)},this),s)for(n=i.length;n--;)(f=i[n])&&!f.touched&&f.remove&&f.remove(!1,t);else!l||r&&r.enabled?a=!1:(n.forEach(function(n,t){i[t].update&&n!==i[t].y&&i[t].update(n,!1,null,!1)}),u.length=0);return(i.forEach(function(n){n&&(n.touched=!1)}),!a)?!1:(u.forEach(function(n){this.addPoint(n,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=v(this.xData),this.autoIncrement()),!0)},setData:function(n,t,i,r){var u=this,o=u.points,g=o&&o.length||0,f,y=u.options,w=u.chart,nt=y.dataSorting,s=null,b=u.xAxis;s=y.turboThreshold;var k=this.xData,c=this.yData,tt=(f=u.pointArrayMap)&&f.length,d=y.keys,l=0,v=1,it;if(n=n||[],f=n.length,t=e(t,!0),nt&&nt.enabled&&(n=this.sortData(n)),!1!==r&&f&&g&&!u.cropped&&!u.hasGroupedData&&u.visible&&!u.isSeriesBoosting&&(it=this.updateData(n,i)),!it){if(u.xIncrement=null,u.colorCounter=0,this.parallelArrays.forEach(function(n){u[n+"Data"].length=0}),s&&f>s)if(s=u.getFirstValidPoint(n),h(s))for(i=0;i<f;i++)k[i]=this.autoIncrement(),c[i]=n[i];else if(p(s))if(tt)for(i=0;i<f;i++)r=n[i],k[i]=r[0],c[i]=r.slice(1,tt+1);else for(d&&(l=d.indexOf("x"),v=d.indexOf("y"),l=0<=l?l:0,v=0<=v?v:1),i=0;i<f;i++)r=n[i],k[i]=r[l],c[i]=r[v];else a(12,!1,w);else for(i=0;i<f;i++)"undefined"!=typeof n[i]&&(r={series:u},u.pointClass.prototype.applyOptions.apply(r,[n[i]]),u.updateParallelArrays(r,i));for(c&&ct(c[0])&&a(14,!0,w),u.data=[],u.options.data=u.userOptions.data=n,i=g;i--;)o[i]&&o[i].destroy&&o[i].destroy();b&&(b.minRange=b.userMinRange);u.isDirty=w.isDirtyBox=!0;u.isDirtyData=!!o;i=!1}"point"===y.legendType&&(this.processData(),this.generatePoints());t&&w.redraw(i)},sortData:function(n){var t=this,i=t.options.dataSorting.sortKey||"y",r=function(n,t){return o(t)&&n.pointClass.prototype.optionsToObject.call({series:n},t)||{}};return n.forEach(function(i,u){n[u]=r(t,i);n[u].index=u},this),n.concat().sort(function(n,t){return n=ut(i,n),t=ut(i,t),t<n?-1:t>n?1:0}).forEach(function(n,t){n.x=t},this),t.linkedSeries&&t.linkedSeries.forEach(function(t){var u=t.options,i=u.data;u.dataSorting&&u.dataSorting.enabled||!i||(i.forEach(function(u,f){i[f]=r(t,u);n[f]&&(i[f].x=n[f].x,i[f].index=f)}),t.setData(i,!1))}),n},getProcessedData:function(n){var t=this.xData,c=this.yData,r=t.length,f=0,i=this.xAxis,e=this.options,u=e.cropThreshold,y=n||this.getExtremesFromAll||e.getExtremesFromAll,p=this.isCartesian,l,o,s,v,h;for(n=i&&i.val2lin,e=!(!i||!i.logarithmic),l=this.requireSorting,i&&(i=i.getExtremes(),o=i.min,s=i.max),p&&this.sorted&&!y&&(!u||r>u||this.forceCrop)&&(t[r-1]<o||t[0]>s?(t=[],c=[]):this.yData&&(t[0]<o||t[r-1]>s)&&(f=this.cropData(this.xData,this.yData,o,s),t=f.xData,c=f.yData,f=f.start,v=!0)),u=t.length||1;--u;)(r=e?n(t[u])-n(t[u-1]):t[u]-t[u-1],0<r&&("undefined"==typeof h||r<h))?h=r:0>r&&l&&(a(15,!1,this.chart),l=!1);return{xData:t,yData:c,cropped:v,cropStart:f,closestPointRange:h}},processData:function(n){var t=this.xAxis;if(this.isCartesian&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!n)return!1;n=this.getProcessedData();this.cropped=n.cropped;this.cropStart=n.cropStart;this.processedXData=n.xData;this.processedYData=n.yData;this.closestPointRange=this.basePointRange=n.closestPointRange},cropData:function(n,t,i,r,u){var h=n.length,o=0,s=h,f;for(u=e(u,this.cropShoulder),f=0;f<h;f++)if(n[f]>=i){o=Math.max(0,f-u);break}for(i=f;i<h;i++)if(n[i]>r){s=i+u;break}return{xData:n.slice(o,s),yData:t.slice(o,s),start:o,end:s}},generatePoints:function(){var u=this.options,e=u.data,t=this.data,l,o=this.processedXData,p=this.processedYData,a=this.pointClass,h=o.length,v=this.cropStart||0,f=this.hasGroupedData,c,n,r,i;for(u=u.keys,c=[],t||f||(t=[],t.length=e.length,t=this.data=t),u&&f&&(this.options.keys=!1),n=0;n<h;n++)r=v+n,f?(i=(new a).init(this,[o[n]].concat(ot(p[n]))),i.dataGroup=this.groupMap[n],i.dataGroup.options&&(i.options=i.dataGroup.options,y(i,i.dataGroup.options),delete i.dataLabels)):(i=t[r])||"undefined"==typeof e[r]||(t[r]=i=(new a).init(this,e[r],o[n])),i&&(i.index=r,c[n]=i);if(this.options.keys=u,t&&(h!==(l=t.length)||f))for(n=0;n<l;n++)n!==v||f||(n+=h),t[n]&&(t[n].destroyElements(),t[n].plotX=void 0);this.data=t;this.points=c;s(this,"afterGeneratePoints")},getXExtremes:function(n){return{min:tt(n),max:v(n)}},getExtremes:function(n,t){var l=this.xAxis,e=this.yAxis,a=this.processedXData||this.xData,o=[],y=0,w=0,u=0,b=this.requireSorting?this.cropShoulder:0,k=e?e.positiveValuesOnly:!1,r;for(n=n||this.stackedYData||this.processedYData||[],e=n.length,l&&(u=l.getExtremes(),w=u.min,u=u.max),r=0;r<e;r++){var c=a[r],i=n[r],f=(h(i)||p(i))&&(i.length||0<i||!k);if(c=t||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!l||(a[r+b]||c)>=w&&(a[r-b]||c)<=u,f&&c)if(f=i.length)for(;f--;)h(i[f])&&(o[y++]=i[f]);else o[y++]=i}return n={dataMin:tt(o),dataMax:v(o)},s(this,"afterGetExtremes",{dataExtremes:n}),n},applyExtremes:function(){var n=this.getExtremes();return this.dataMin=n.dataMin,this.dataMax=n.dataMax,n},getFirstValidPoint:function(n){for(var t=null,r=n.length,i=0;null===t&&i<r;)t=n[i],i++;return t},translate:function(){var b,f,k,rt;this.processedXData||this.processData();this.generatePoints();for(var a=this.options,ut=a.stacking,d=this.xAxis,g=d.categories,st=this.enabledDataSorting,i=this.yAxis,ft=this.points,ht=ft.length,ct=!!this.modifyValue,nt=this.pointPlacementToXValue(),lt=!!nt,c=a.threshold,et=a.startFromThreshold?c:0,y,ot=this.zoneAxis||"y",tt=Number.MAX_VALUE,v=0;v<ht;v++){var n=ft[v],u=n.x,t=n.y,r=n.low,w=ut&&i.stacking&&i.stacking.stacks[(this.negStacks&&t<(et?0:c)?"-":"")+this.stackKey];i.positiveValuesOnly&&null!==t&&0>=t&&(n.isNull=!0);n.plotX=y=it(l(d.translate(u,0,0,0,1,nt,"flags"===this.type),-1e5,1e5));ut&&this.visible&&w&&w[u]&&(b=this.getStackIndicator(b,u,this.index),n.isNull||(f=w[u],k=f.points[b.key]));p(k)&&(r=k[0],t=k[1],r===et&&b.key===w[u].base&&(r=e(h(c)&&c,i.min)),i.positiveValuesOnly&&0>=r&&(r=null),n.total=n.stackTotal=f.total,n.percentage=f.total&&n.y/f.total*100,n.stackY=t,this.irregularWidths||f.setOffset(this.pointXOffset||0,this.barW||0));n.yBottom=o(r)?l(i.translate(r,0,1,0,1),-1e5,1e5):null;ct&&(t=this.modifyValue(t,n));n.plotY="number"==typeof t&&Infinity!==t?l(i.translate(t,0,1,0,1),-1e5,1e5):void 0;n.isInside=this.isPointInside(n);n.clientX=lt?it(d.translate(u,0,0,0,1,nt)):y;n.negative=n[ot]<(a[ot+"Threshold"]||c||0);n.category=g&&"undefined"!=typeof g[n.x]?g[n.x]:n.x;n.isNull||!1===n.visible||("undefined"!=typeof rt&&(tt=Math.min(tt,Math.abs(y-rt))),rt=y);n.zone=this.zones.length&&n.getZone();!n.graphic&&this.group&&st&&(n.isNew=!0)}this.closestPointRangePx=tt;s(this,"afterTranslate")},getValidPoints:function(n,t,i){var r=this.chart;return(n||this.points||[]).filter(function(n){return t&&!r.isInsidePlot(n.plotX,n.plotY,r.inverted)?!1:!1!==n.visible&&(i||!n.isNull)})},getClipBox:function(n,t){var f=this.options,i=this.chart,e=i.inverted,r=this.xAxis,u=r&&this.yAxis,o=i.options.chart.scrollablePlotArea||{};return n&&!1===f.clip&&u?n=e?{y:-i.chartWidth+u.len+u.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+r.len+r.pos}:{y:-u.pos,height:i.chartHeight,width:i.chartWidth,x:-r.pos}:(n=this.clipBox||i.clipBox,t&&(n.width=i.plotSizeX,n.x=(i.scrollablePixelsX||0)*(o.scrollPositionX||0))),t?{width:n.width,x:n.x}:n},setClip:function(n){var t=this.chart,f=this.options,o=t.renderer,e=t.inverted,s=this.clipBox,u=this.getClipBox(n),i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,u.height,f.xAxis,f.yAxis].join(),r=t[i],h=t[i+"m"];n&&(u.width=0,e&&(u.x=t.plotHeight+(!1!==f.clip?0:t.plotTop)));r?t.hasLoaded||r.attr(u):(n&&(t[i+"m"]=h=o.clipRect(e?t.plotSizeX+99:-99,e?-t.plotLeft:-t.plotTop,99,e?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(u),r.count={length:0});n&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);(!1!==f.clip||n)&&(this.group.clip(n||s?r:t.clipRect),this.markerGroup.clip(h),this.sharedClipKey=i);n||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&i&&t[i]&&(s||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var t=this.chart,i=nt(this.options.animation),r,u;t.hasRendered||(n?this.setClip(i):(r=this.sharedClipKey,n=t[r],u=this.getClipBox(i,!0),n&&n.animate(u,i),t[r+"m"]&&t[r+"m"].animate({width:u.width+99,x:u.x-(t.inverted?0:99)},i)))},afterAnimate:function(){this.setClip();s(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var l=this.points,h=this.chart,f,t,u=this.options.marker,v=this[this.specialGroup]||this.markerGroup,o=this.xAxis,y=e(u.enabled,!o||o.isRadial?!0:null,this.closestPointRangePx>=u.enabledThreshold*u.radius),a,i,r;if(!1!==u.enabled||this._hasPointMarkers)for(f=0;f<l.length;f++){var n=l[f],c=(t=n.graphic)?"animate":"attr",s=n.marker||{},p=!!n.marker;(y&&"undefined"==typeof s.enabled||s.enabled)&&!n.isNull&&!1!==n.visible?(a=e(s.symbol,this.symbol),i=this.markerAttribs(n,n.selected&&"select"),this.enabledDataSorting&&(n.startXPos=o.reversed?-i.width:o.width),r=!1!==n.isInside,t?t[r?"show":"hide"](r).animate(i):r&&(0<i.width||n.hasImage)&&(n.graphic=t=h.renderer.symbol(a,i.x,i.y,i.width,i.height,p?s:u).add(v),this.enabledDataSorting&&h.hasRendered&&(t.attr({x:n.startXPos}),c="animate")),t&&"animate"===c&&t[r?"show":"hide"](r).animate(i),t&&!h.styledMode&&t[c](this.pointAttribs(n,n.selected&&"select")),t&&t.addClass(n.getClassName(),!0)):t&&(n.graphic=t.destroy())}},markerAttribs:function(n,t){var f=this.options,i=f.marker,u=n.marker||{},o=u.symbol||i.symbol,r=e(u.radius,i.radius);return t&&(i=i.states[t],t=u.states&&u.states[t],r=e(t&&t.radius,i&&i.radius,r+(i&&i.radiusPlus||0))),n.hasImage=o&&0===o.indexOf("url"),n.hasImage&&(r=0),n={x:f.crisp?Math.floor(n.plotX)-r:n.plotX-r,y:n.plotY-r},r&&(n.width=n.height=2*r),n},pointAttribs:function(n,t){var i=this.options.marker,r=n&&n.options,f=r&&r.marker||{},u=this.color,o=r&&r.color,h=n&&n.color,s;return r=e(f.lineWidth,i.lineWidth),s=n&&n.zone&&n.zone.color,n=1,u=o||s||h||u,o=f.fillColor||i.fillColor||u,u=f.lineColor||i.lineColor||u,t=t||"normal",i=i.states[t],t=f.states&&f.states[t]||{},r=e(t.lineWidth,i.lineWidth,r+e(t.lineWidthPlus,i.lineWidthPlus,0)),o=t.fillColor||i.fillColor||o,u=t.lineColor||i.lineColor||u,n=e(t.opacity,i.opacity,n),{stroke:u,"stroke-width":r,fill:o,opacity:n}},destroy:function(n){var t=this,r=t.chart,l=/AppleWebKit\/533/.test(st.navigator.userAgent),h,e,c=t.data||[],o,i;for(s(t,"destroy"),this.removeEvents(n),(t.axisTypes||[]).forEach(function(n){(i=t[n])&&i.series&&(rt(i.series,t),i.isDirty=i.forceRedraw=!0)}),t.legendItem&&t.chart.legend.destroyItem(t),e=c.length;e--;)(o=c[e])&&o.destroy&&o.destroy();t.points=null;f.clearTimeout(t.animationTimeout);b(t,function(n,t){n instanceof u&&!n.survive&&(h=l&&"group"===t?"hide":"destroy",n[h]())});r.hoverSeries===t&&(r.hoverSeries=null);rt(r.series,t);r.orderSeries();b(t,function(i,r){n&&"hcEvents"===r||delete t[r]})},getGraphPath:function(n,t,i){var u=this,h=u.options,r=h.step,c,e=[],s=[],f;return n=n||u.points,(c=n.reversed)&&n.reverse(),(r={right:1,center:2}[r]||r&&3)&&c&&(r=4-r),n=this.getValidPoints(n,!1,!(h.connectNulls&&!t&&!i)),n.forEach(function(c,l){var v=c.plotX,y=c.plotY,a=n[l-1];(c.leftCliff||a&&a.rightCliff)&&!i&&(f=!0);c.isNull&&!o(t)&&0<l?f=!h.connectNulls:c.isNull&&!t?f=!0:(0===l||f?l=[["M",c.plotX,c.plotY]]:u.getPointSpline?l=[u.getPointSpline(n,c,l)]:r?(l=1===r?[["L",a.plotX,y]]:2===r?[["L",(a.plotX+v)/2,a.plotY],["L",(a.plotX+v)/2,y]]:[["L",v,a.plotY]],l.push(["L",v,y])):l=[["L",v,y]],s.push(c.x),r&&(s.push(c.x),2===r&&s.push(c.x)),e.push.apply(e,l),f=!1)}),e.xMap=s,u.graphPath=e},drawGraph:function(){var n=this,i=this.options,t=(this.gappedPath||this.getGraphPath).call(this),u=this.chart.styledMode,r=[["graph","highcharts-graph"]];u||r[0].push(i.lineColor||this.color||"#cccccc",i.dashStyle);r=n.getZonesGraphs(r);r.forEach(function(r,f){var o=r[0],e=n[o],s=e?"animate":"attr";e?(e.endX=n.preventGraphAnimation?null:t.xMap,e.animate({d:t})):t.length&&(n[o]=e=n.chart.renderer.path(t).addClass(r[1]).attr({zIndex:1}).add(n.group));e&&!u&&(o={stroke:r[2],"stroke-width":i.lineWidth,fill:n.fillGraph&&n.color||"none"},r[3]?o.dashstyle=r[3]:"square"!==i.linecap&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),e[s](o).shadow(2>f&&i.shadow));e&&(e.startX=t.xMap,e.isArea=t.isArea)})},getZonesGraphs:function(n){return this.zones.forEach(function(t,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(t.className||"")];this.chart.styledMode||i.push(t.color||this.color,t.dashStyle||this.options.dashStyle);n.push(i)},this),n},applyZones:function(){var a=this,t=this.chart,nt=t.renderer,tt=this.zones,u,r,f=this.clips||[],n,o=this.graph,s=this.area,v=Math.max(t.chartWidth,t.chartHeight),i=this[(this.zoneAxis||"y")+"Axis"],w=t.inverted,b,y,p,it=!1,k,d,g,h,c;tt.length&&(o||s)&&i&&"undefined"!=typeof i.min?(g=i.reversed,h=i.horiz,o&&!this.showLine&&o.hide(),s&&s.hide(),c=i.getExtremes(),tt.forEach(function(tt,rt){u=g?h?t.plotWidth:0:h?0:i.toPixels(c.min)||0;u=l(e(r,u),0,v);r=l(Math.round(i.toPixels(e(tt.value,c.max),!0)||0),0,v);it&&(u=r=i.toPixels(c.max));b=Math.abs(u-r);y=Math.min(u,r);p=Math.max(u,r);i.isXAxis?(n={x:w?p:y,y:0,width:b,height:v},h||(n.x=t.plotHeight-n.x)):(n={x:0,y:w?p:y,width:v,height:b},h&&(n.y=t.plotWidth-n.y));w&&nt.isVML&&(n=i.isXAxis?{x:0,y:g?y:p,height:n.width,width:t.chartWidth}:{x:n.y-t.plotLeft-t.spacingBox.x,y:0,width:n.height,height:t.chartHeight});f[rt]?f[rt].animate(n):f[rt]=nt.clipRect(n);k=a["zone-area-"+rt];d=a["zone-graph-"+rt];o&&d&&d.clip(f[rt]);s&&k&&k.clip(f[rt]);it=tt.value>c.max;a.resetZones&&0===r&&(r=void 0)}),this.clips=f):a.visible&&(o&&o.show(!0),s&&s.show(!0))},invertGroups:function(n){function i(){["group","markerGroup"].forEach(function(i){t[i]&&(r.renderer.isVML&&t[i].attr({width:t.yAxis.len,height:t.xAxis.len}),t[i].width=t.yAxis.len,t[i].height=t.xAxis.len,t[i].invert(t.isRadialSeries?!1:n))})}var t=this,r=t.chart;t.xAxis&&(t.eventsToUnbind.push(g(r,"resize",i)),i(),t.invertGroups=i)},plotGroup:function(n,t,i,r,u){var f=this[n],e=!f;return i={visibility:i,zIndex:r||.1},"undefined"==typeof this.opacity||this.chart.styledMode||(i.opacity=this.opacity),e&&(this[n]=f=this.chart.renderer.g().add(u)),f.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(o(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),f.attr(i)[e?"attr":"animate"](this.getPlotBox()),f},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},removeEvents:function(n){n?this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind.length=0):et(this)},render:function(){var n=this,t=n.chart,i=n.options,r=!n.finishedAnimating&&t.renderer.isSVG&&nt(i.animation).duration,f=n.visible?"inherit":"hidden",e=i.zIndex,o=n.hasRendered,h=t.seriesGroup,c=t.inverted,u;s(this,"render");u=n.plotGroup("group","series",f,e,h);n.markerGroup=n.plotGroup("markerGroup","markers",f,e,h);r&&n.animate&&n.animate(!0);u.inverted=n.isCartesian||n.invertable?c:!1;n.drawGraph&&(n.drawGraph(),n.applyZones());n.visible&&n.drawPoints();n.drawDataLabels&&n.drawDataLabels();n.redrawPoints&&n.redrawPoints();n.drawTracker&&!1!==n.options.enableMouseTracking&&n.drawTracker();n.invertGroups(c);!1===i.clip||n.sharedClipKey||o||u.clip(t.clipRect);r&&n.animate&&n.animate();o||(n.animationTimeout=k(function(){n.afterAnimate()},r||0));n.isDirty=!1;n.hasRendered=!0;s(n,"afterRender")},redraw:function(){var n=this.chart,u=this.isDirty||this.isDirtyData,t=this.group,i=this.xAxis,r=this.yAxis;t&&(n.inverted&&t.attr({width:n.plotWidth,height:n.plotHeight}),t.animate({translateX:e(i&&i.left,n.plotLeft),translateY:e(r&&r.top,n.plotTop)}));this.translate();this.render();u&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(n,t){var i=this.xAxis,r=this.yAxis,u=this.chart.inverted;return this.searchKDTree({clientX:u?i.len-n.chartY+i.pos:n.chartX-i.pos,plotY:u?r.len-n.chartX+r.pos:n.chartY-r.pos},t,n)},buildKDTree:function(n){function i(n,r,u){var f,e;if(f=n&&n.length)return e=t.kdAxisArray[r%u],n.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:n[f],left:i(n.slice(0,f),r+1,u),right:i(n.slice(f+1),r+1,u)}}this.buildingKdTree=!0;var t=this,r=-1<t.options.findNearestPointBy.indexOf("y")?2:1;delete t.kdTree;k(function(){t.kdTree=i(t.getValidPoints(null,!t.directTouch),r,r);t.buildingKdTree=!1},t.options.kdNow||n&&"touchstart"===n.type?0:1)},searchKDTree:function(n,t,i){function e(n,t,i,h){var l=t.point,a=s.kdAxisArray[i%h],v=l,y=o(n[u])&&o(l[u])?Math.pow(n[u]-l[u],2):null,c=o(n[f])&&o(l[f])?Math.pow(n[f]-l[f],2):null;return c=(y||0)+(c||0),l.dist=o(c)?Math.sqrt(c):Number.MAX_VALUE,l.distX=o(y)?Math.sqrt(y):Number.MAX_VALUE,a=n[a]-l[a],c=0>a?"left":"right",y=0>a?"right":"left",t[c]&&(c=e(n,t[c],i+1,h),v=c[r]<v[r]?c:l),t[y]&&Math.sqrt(a*a)<v[r]&&(n=e(n,t[y],i+1,h),v=n[r]<v[r]?n:v),v}var s=this,u=this.kdAxisArray[0],f=this.kdAxisArray[1],r=t?"distX":"dist";return t=-1<s.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree?e(n,this.kdTree,t,t):void 0},pointPlacementToXValue:function(){var n=this.options,i=n.pointRange,t=this.xAxis;return n=n.pointPlacement,"between"===n&&(n=t.reversed?-.5:.5),h(n)?n*e(i,t.pointRange):0},isPointInside:function(n){return"undefined"!=typeof n.plotY&&"undefined"!=typeof n.plotX&&0<=n.plotY&&n.plotY<=this.yAxis.len&&0<=n.plotX&&n.plotX<=this.xAxis.len}});""}),i(t,"parts/Stacking.js",[t["parts/Axis.js"],t["parts/Chart.js"],t["parts/Globals.js"],t["parts/StackingAxis.js"],t["parts/Utilities.js"]],function(n,t,i,r,u){var o=u.correctFloat,s=u.defined,l=u.destroyObjectProperties,a=u.format,c=u.isNumber,f=u.pick,e,h;return e=i.Series,h=function(){function n(n,t,i,r,u){var f=n.chart.inverted;this.axis=n;this.isNegative=i;this.options=t=t||{};this.x=r;this.total=null;this.points={};this.hasValidPoints=!1;this.stack=u;this.rightCliff=this.leftCliff=0;this.alignOptions={align:t.align||(f?i?"left":"right":"center"),verticalAlign:t.verticalAlign||(f?"middle":i?"bottom":"top"),y:t.y,x:t.x};this.textAlign=t.textAlign||(f?i?"right":"left":"center")}return n.prototype.destroy=function(){l(this,this.axis)},n.prototype.render=function(n){var r=this.axis.chart,t=this.options,i=t.format;i=i?a(i,this,r):t.formatter.call(this);this.label?this.label.attr({text:i,visibility:"hidden"}):(this.label=r.renderer.label(i,null,null,t.shape,null,null,t.useHTML,!1,"stack-labels"),i={r:t.borderRadius||0,text:i,rotation:t.rotation,padding:f(t.padding,5),visibility:"hidden"},r.styledMode||(i.fill=t.backgroundColor,i.stroke=t.borderColor,i["stroke-width"]=t.borderWidth,this.label.css(t.style)),this.label.attr(i),this.label.added||this.label.add(n));this.label.labelrank=r.plotHeight},n.prototype.setOffset=function(n,t,i,r,u){var o=this.axis,h=o.chart,l;r=o.translate(o.stacking.usePercentage?100:r?r:this.total,0,0,0,1);i=o.translate(i?i:0);i=s(r)&&Math.abs(r-i);n=f(u,h.xAxis[0].translate(this.x))+n;o=s(r)&&this.getStackBox(h,this,n,r,t,i,o);t=this.label;i=this.isNegative;n="justify"===f(this.options.overflow,"justify");l=this.textAlign;t&&o&&(u=t.getBBox(),r=t.padding,l="left"===l?h.inverted?-r:r:"right"===l?u.width:h.inverted&&"center"===l?u.width/2:h.inverted?i?u.width+r:-r:u.width/2,i=h.inverted?u.height/2:i?-r:u.height,this.alignOptions.x=f(this.options.x,0),this.alignOptions.y=f(this.options.y,0),o.x-=l,o.y-=i,t.align(this.alignOptions,null,o),h.isInsidePlot(t.alignAttr.x+l-this.alignOptions.x,t.alignAttr.y+i-this.alignOptions.y)?t.show():(t.alignAttr.y=-9999,n=!1),n&&e.prototype.justifyDataLabel.call(this.axis,t,this.alignOptions,t.alignAttr,u,o),t.attr({x:t.alignAttr.x,y:t.alignAttr.y}),f(!n&&this.options.crop,!0)&&((h=c(t.x)&&c(t.y)&&h.isInsidePlot(t.x-r+t.width,t.y)&&h.isInsidePlot(t.x+r,t.y))||t.hide()))},n.prototype.getStackBox=function(n,t,i,r,u,f,e){var s=t.axis.reversed,o=n.inverted,h=e.height+e.pos-(o?n.plotLeft:n.plotTop);return t=t.isNegative&&!s||!t.isNegative&&s,{x:o?t?r-e.right:r-f+e.pos-n.plotLeft:i+n.xAxis[0].transB-n.plotLeft,y:o?e.height-i-u:t?h-r-f:h-r,width:o?f:u,height:o?u:f}},n}(),t.prototype.getStacks=function(){var n=this,t=n.inverted;n.yAxis.forEach(function(n){n.stacking&&n.stacking.stacks&&n.hasVisibleSeries&&(n.stacking.oldStacks=n.stacking.stacks)});n.series.forEach(function(i){var r=i.xAxis&&i.xAxis.options||{};i.options.stacking&&(!0===i.visible||!1===n.options.chart.ignoreHiddenSeries)&&(i.stackKey=[i.type,f(i.options.stack,""),t?r.top:r.left,t?r.height:r.width].join())})},r.compose(n),e.prototype.setGroupedPoints=function(){this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1<this.chart.series.length&&e.prototype.setStackedPoints.call(this,"group")},e.prototype.setStackedPoints=function(n){var l=n||this.options.stacking;if(l&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var it=this.processedXData,k=this.processedYData,d=[],rt=k.length,v=this.options,g=v.threshold,p=f(v.startFromThreshold&&g,0);v=v.stack;n=n?this.type+","+l:this.stackKey;var nt="-"+n,tt=this.negStacks,e=this.yAxis,r=e.stacking.stacks,w=e.stacking.oldStacks,u,a;for(e.stacking.stacksTouched+=1,a=0;a<rt;a++){var i=it[a],c=k[a],b=this.getStackIndicator(b,i,this.index),y=b.key,t=(u=tt&&c<(p?0:g))?nt:n;r[t]||(r[t]={});r[t][i]||(w[t]&&w[t][i]?(r[t][i]=w[t][i],r[t][i].total=null):r[t][i]=new h(e,e.options.stackLabels,u,i,v));t=r[t][i];null!==c?(t.points[y]=t.points[this.index]=[f(t.cumulative,p)],s(t.cumulative)||(t.base=y),t.touched=e.stacking.stacksTouched,0<b.index&&!1===this.singleStacks&&(t.points[y][0]=t.points[this.index+","+i+",0"][0])):t.points[y]=t.points[this.index]=null;"percent"===l?(u=u?n:nt,tt&&r[u]&&r[u][i]?(u=r[u][i],t.total=u.total=Math.max(u.total,t.total)+Math.abs(c)||0):t.total=o(t.total+(Math.abs(c)||0))):"group"===l?null!==c&&(t.total=(t.total||0)+1):t.total=o(t.total+(c||0));t.cumulative="group"===l?(t.total||1)-1:f(t.cumulative,p)+(c||0);null!==c&&(t.points[y].push(t.cumulative),d[a]=t.cumulative,t.hasValidPoints=!0)}"percent"===l&&(e.stacking.usePercentage=!0);"group"!==l&&(this.stackedYData=d);e.stacking.oldStacks={}}},e.prototype.modifyStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacking.stacks,u=n.processedXData,t,f=n.options.stacking;n[f+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var o=u.length,e,s;o--;)(e=u[o],t=n.getStackIndicator(t,e,n.index,i),s=(e=r[i]&&r[i][e])&&e.points[t.key])&&n[f+"Stacker"](s,e,o)})},e.prototype.percentStacker=function(n,t,i){t=t.total?100/t.total:0;n[0]=o(n[0]*t);n[1]=o(n[1]*t);this.stackedYData[i]=n[1]},e.prototype.getStackIndicator=function(n,t,i,r){return!s(n)||n.x!==t||r&&n.key!==r?n={x:t,index:0,key:r}:n.index++,n.key=[i,t,n.index].join(),n},i.StackItem=h,i.StackItem}),i(t,"parts/Dynamics.js",[t["parts/Axis.js"],t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Options.js"],t["parts/Point.js"],t["parts/Time.js"],t["parts/Utilities.js"]],function(n,t,i,r,u,f,e){var nt=r.time,tt=e.addEvent,p=e.animate,w=e.createElement,l=e.css,b=e.defined,k=e.erase,it=e.error,s=e.extend,h=e.fireEvent,rt=e.isArray,d=e.isNumber,a=e.isObject,ut=e.isString,c=e.merge,v=e.objectEach,o=e.pick,ft=e.relativeLength,et=e.setAnimation,g=e.splat,y;r=i.Series;y=i.seriesTypes;i.cleanRecursively=function(n,t){var r={};return v(n,function(u,f){a(n[f],!0)&&!n.nodeType&&t[f]?(u=i.cleanRecursively(n[f],t[f]),Object.keys(u).length&&(r[f]=u)):(a(n[f])||n[f]!==t[f])&&(r[f]=n[f])}),r};s(t.prototype,{addSeries:function(n,t,i){var u,r=this;return n&&(t=o(t,!0),h(r,"addSeries",{options:n},function(){u=r.initSeries(n);r.isDirtyLegend=!0;r.linkSeries();u.enabledDataSorting&&u.setData(n.data,!1);h(r,"afterAddSeries",{series:u});t&&r.redraw(i)})),u},addAxis:function(n,t,i,r){return this.createAxis(t?"xAxis":"yAxis",{axis:n,redraw:i,animation:r})},addColorAxis:function(n,t,i){return this.createAxis("colorAxis",{axis:n,redraw:t,animation:i})},createAxis:function(t,r){var u=this.options,f="colorAxis"===t,s=r.redraw,h=r.animation,e;return r=c(r.axis,{index:this[t].length,isX:"xAxis"===t}),e=f?new i.ColorAxis(this,r):new n(this,r),u[t]=g(u[t]||{}),u[t].push(r),f&&(this.isDirtyLegend=!0,this.axes.forEach(function(n){n.series=[]}),this.series.forEach(function(n){n.bindAxes();n.isDirtyData=!0})),o(s,!0)&&this.redraw(h),e},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading,f=function(){i&&l(i,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};i||(t.loadingDiv=i=w("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container),t.loadingSpan=w("span",{className:"highcharts-loading-inner"},null,i),tt(t,"redraw",f));i.className="highcharts-loading";t.loadingSpan.innerHTML=o(n,u.lang.loading,"");t.styledMode||(l(i,s(r.style,{zIndex:10})),l(t.loadingSpan,r.labelStyle),t.loadingShown||(l(i,{opacity:0,display:""}),p(i,{opacity:r.style.opacity||.5},{duration:r.showDuration||0})));t.loadingShown=!0;f()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&(n.className="highcharts-loading highcharts-loading-hidden",this.styledMode||p(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){l(n,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],update:function(n,t,r,u){var e=this,y={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},s,a,p,w=n.isResponsiveOptions,k=[],l;h(e,"update",{options:n});w||e.setResponsive(!1,!0);n=i.cleanRecursively(n,e.options);c(!0,e.userOptions,n);(s=n.chart)&&(c(!0,e.options.chart,s),"className"in s&&e.setClassName(s.className),"reflow"in s&&e.setReflow(s.reflow),("inverted"in s||"polar"in s||"type"in s)&&(e.propFromSeries(),l=!0),"alignTicks"in s&&(l=!0),v(s,function(n,t){-1!==e.propsRequireUpdateSeries.indexOf("chart."+t)&&(a=!0);-1!==e.propsRequireDirtyBox.indexOf(t)&&(e.isDirtyBox=!0);-1!==e.propsRequireReflow.indexOf(t)&&(w?e.isDirtyBox=!0:p=!0)}),!e.styledMode&&"style"in s&&e.renderer.setStyle(s.style));!e.styledMode&&n.colors&&(this.options.colors=n.colors);n.plotOptions&&c(!0,this.options.plotOptions,n.plotOptions);n.time&&this.time===nt&&(this.time=new f(n.time));v(n,function(n,t){e[t]&&"function"==typeof e[t].update?e[t].update(n,!1):"function"==typeof e[y[t]]&&e[y[t]](n);"chart"!==t&&-1!==e.propsRequireUpdateSeries.indexOf(t)&&(a=!0)});this.collectionsWithUpdate.forEach(function(t){if(n[t]){if("series"===t){var i=[];e[t].forEach(function(n,t){n.options.isInternal||i.push(o(n.options.index,t))})}g(n[t]).forEach(function(n,u){var o=b(n.id),f;o&&(f=e.get(n.id));f||(f=e[t][i?i[u]:u])&&o&&b(f.options.id)&&(f=void 0);f&&f.coll===t&&(f.update(n,!1),r&&(f.touched=!0));!f&&r&&e.collectionsWithInit[t]&&(e.collectionsWithInit[t][0].apply(e,[n].concat(e.collectionsWithInit[t][1]||[]).concat([!1])).touched=!0)});r&&e[t].forEach(function(n){n.touched||n.options.isInternal?delete n.touched:k.push(n)})}});k.forEach(function(n){n.remove&&n.remove(!1)});l&&e.axes.forEach(function(n){n.update({},!1)});a&&e.getSeriesOrderByLinks().forEach(function(n){n.chart&&n.update({},!1)},this);n.loading&&c(!0,e.options.loading,n.loading);l=s&&s.width;s=s&&s.height;ut(s)&&(s=ft(s,l||e.chartWidth));p||d(l)&&l!==e.chartWidth||d(s)&&s!==e.chartHeight?e.setSize(l,s,u):o(t,!0)&&e.redraw(u);h(e,"afterUpdate",{options:n,redraw:t,animation:u})},setSubtitle:function(n,t){this.applyDescription("subtitle",n);this.layOutTitles(t)},setCaption:function(n,t){this.applyDescription("caption",n);this.layOutTitles(t)}});t.prototype.collectionsWithInit={xAxis:[t.prototype.addAxis,[!0]],yAxis:[t.prototype.addAxis,[!1]],series:[t.prototype.addSeries]};s(u.prototype,{update:function(n,t,i,r){function l(){u.applyOptions(n);var r=e&&u.hasDummyGraphic;r=null===u.y?!r:r;e&&r&&(u.graphic=e.destroy(),delete u.hasDummyGraphic);a(n,!0)&&(e&&e.element&&n&&n.marker&&"undefined"!=typeof n.marker.symbol&&(u.graphic=e.destroy()),n&&n.dataLabels&&u.dataLabel&&(u.dataLabel=u.dataLabel.destroy()),u.connector&&(u.connector=u.connector.destroy()));s=u.index;f.updateParallelArrays(u,s);h.data[s]=a(h.data[s],!0)||a(n,!0)?u.options:o(n,h.data[s]);f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(c.isDirtyBox=!0);"point"===h.legendType&&(c.isDirtyLegend=!0);t&&c.redraw(i)}var u=this,f=u.series,e=u.graphic,s,c=f.chart,h=f.options;t=o(t,!0);!1===r?l():u.firePointEvent("update",{options:n},l)},remove:function(n,t){this.series.removePoint(this.series.data.indexOf(this),n,t)}});s(r.prototype,{addPoint:function(n,t,i,r,u){var y=this.options,c=this.data,w=this.chart,s=this.xAxis,v,l,p,f,a,e;if(s=s&&s.hasNames&&s.names,v=y.data,l=this.xData,t=o(t,!0),f={series:this},this.pointClass.prototype.applyOptions.apply(f,[n]),a=f.x,e=l.length,this.requireSorting&&a<l[e-1])for(p=!0;e&&l[e-1]>a;)e--;this.updateParallelArrays(f,"splice",e,0,0);this.updateParallelArrays(f,e);s&&f.name&&(s[a]=f.name);v.splice(e,0,n);p&&(this.data.splice(e,0,null),this.processData());"point"===y.legendType&&this.generatePoints();i&&(c[0]&&c[0].remove?c[0].remove(!1):(c.shift(),this.updateParallelArrays(f,"shift"),v.shift()));!1!==u&&h(this,"addPoint",{point:f});this.isDirtyData=this.isDirty=!0;t&&w.redraw(r)},removePoint:function(n,t,i){var r=this,f=r.data,u=f[n],e=r.points,s=r.chart,h=function(){e&&e.length===f.length&&e.splice(n,1);f.splice(n,1);r.options.data.splice(n,1);r.updateParallelArrays(u||{series:r},"splice",n,1);u&&u.destroy();r.isDirty=!0;r.isDirtyData=!0;t&&s.redraw()};et(i,s);t=o(t,!0);u?u.firePointEvent("remove",null,h):h()},remove:function(n,t,i,r){function e(){u.destroy(r);u.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();o(n,!0)&&f.redraw(t)}var u=this,f=u.chart;!1!==i?h(u,"remove",null,e):e()},update:function(n,t){var w;n=i.cleanRecursively(n,this.userOptions);h(this,"update",{options:n});var r=this,e=r.chart,f=r.userOptions,a=r.initialType||r.type,v=n.type||f.type||e.options.chart.type,p=!(this.hasDerivedData||n.dataGrouping||v&&v!==this.type||"undefined"!=typeof n.pointStart||n.pointInterval||n.pointIntervalUnit||n.keys),k=y[a].prototype,b,u=["eventOptions","navigatorSeries","baseSeries"],d=r.finishedAnimating&&{animation:!1},l={};p&&(u.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==n.visible&&u.push("area","graph"),r.parallelArrays.forEach(function(n){u.push(n+"Data")}),n.data&&(n.dataSorting&&s(r.options.dataSorting,n.dataSorting),this.setData(n.data,!1)));n=c(f,d,{index:"undefined"==typeof f.index?r.index:f.index,pointStart:o(f.pointStart,r.xData[0])},!p&&{data:r.options.data},n);p&&n.data&&(n.data=r.options.data);u=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(u);u.forEach(function(n){u[n]=r[n];delete r[n]});r.remove(!1,null,!1,!0);for(b in k)r[b]=void 0;y[v||a]?s(r,y[v||a].prototype):it(17,!0,e,{missingModuleFor:v||a});u.forEach(function(n){r[n]=u[n]});r.init(e,n);p&&this.points&&(w=r.options,!1===w.visible?(l.graphic=1,l.dataLabel=1):r._hasPointLabels||(n=w.marker,f=w.dataLabels,n&&(!1===n.enabled||"symbol"in n)&&(l.graphic=1),f&&!1===f.enabled&&(l.dataLabel=1)),this.points.forEach(function(n){n&&n.series&&(n.resolveColor(),Object.keys(l).length&&n.destroyElements(l),!1===w.showInLegend&&n.legendItem&&e.legend.destroyItem(n))},this));r.initialType=a;e.linkSeries();h(this,"afterUpdate");o(t,!0)&&e.redraw(p?void 0:!1)},setName:function(n){this.name=this.options.name=this.userOptions.name=n;this.chart.isDirtyLegend=!0}});s(n.prototype,{update:function(n,t){var i=this.chart,r=n&&n.events||{};n=c(this.userOptions,n);i.options[this.coll].indexOf&&(i.options[this.coll][i.options[this.coll].indexOf(this.userOptions)]=n);v(i.options[this.coll].events,function(n,t){"undefined"==typeof r[t]&&(r[t]=void 0)});this.destroy(!0);this.init(i,s(n,{events:r}));i.isDirtyBox=!0;o(t,!0)&&i.redraw()},remove:function(n){for(var t=this.chart,i=this.coll,r=this.series,u=r.length;u--;)r[u]&&r[u].remove(!1);k(t.axes,this);k(t[i],this);rt(t.options[i])?t.options[i].splice(this.options.index,1):delete t.options[i];t[i].forEach(function(n,t){n.options.index=n.userOptions.index=t});this.destroy();t.isDirtyBox=!0;o(n,!0)&&t.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}})}),i(t,"parts/AreaSeries.js",[t["parts/Globals.js"],t["parts/Color.js"],t["mixins/legend-symbol.js"],t["parts/Utilities.js"]],function(n,t,i,r){var e=t.parse,o=r.objectEach,u=r.pick,f;t=r.seriesType;f=n.Series;t("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(n){var s=[],r=[],y=this.xAxis,f=this.yAxis,e=f.stacking.stacks[this.stackKey],i={},h=this.index,c=f.series,l=c.length,a=u(f.options.reversedStacks,!0)?1:-1,t,v;if(n=n||this.points,this.options.stacking){for(t=0;t<n.length;t++)n[t].leftNull=n[t].rightNull=void 0,i[n[t].x]=n[t];o(e,function(n,t){null!==n.total&&r.push(t)});r.sort(function(n,t){return n-t});v=c.map(function(n){return n.visible});r.forEach(function(n,u){var o=0,c,p;if(i[n]&&!i[n].isNull)s.push(i[n]),[-1,1].forEach(function(f){var y=1===f?"rightNull":"leftNull",o=0,s=e[r[u+f]];if(s)for(t=h;0<=t&&t<l;)c=s.points[t],c||(t===h?i[n][y]=!0:v[t]&&(p=e[n].points[t])&&(o-=p[1]-p[0])),t+=a;i[n][1===f?"rightCliff":"leftCliff"]=o});else{for(t=h;0<=t&&t<l;){if(c=e[n].points[t]){o=c[1];break}t+=a}o=f.translate(o,0,1,0,1);s.push({isNull:!0,plotX:y.translate(n,0,0,0,1),x:n,plotY:o,yBottom:o})}})}return s},getGraphPath:function(n){var o=f.prototype.getGraphPath,i=this.options,e=i.stacking,h=this.yAxis,t,c=[],l=[],p=this.index,w=h.stacking.stacks[this.stackKey],b=i.threshold,a=Math.round(h.getThreshold(i.threshold)),v;for(i=u(i.connectNulls,"percent"===e),v=function(t,i,r){var u=n[t],o,f,s;t=e&&w[u.x].points[p];o=u[r+"Null"]||0;r=u[r+"Cliff"]||0;u=!0;r||o?(f=(o?t[0]:t[1])+r,s=t[0]+r,u=!!o):!e&&n[i]&&n[i].isNull&&(f=s=b);"undefined"!=typeof f&&(l.push({plotX:y,plotY:null===f?a:h.getThreshold(f),isNull:u,isCliff:!0}),c.push({plotX:y,plotY:null===s?a:h.getThreshold(s),doCurve:!1}))},n=n||this.points,e&&(n=this.getStackPoints(n)),t=0;t<n.length;t++){e||(n[t].leftCliff=n[t].rightCliff=n[t].leftNull=n[t].rightNull=void 0);var r=n[t].isNull,y=u(n[t].rectPlotX,n[t].plotX),s=u(n[t].yBottom,a);(!r||i)&&(i||v(t,t-1,"left"),r&&!e&&i||(l.push(n[t]),c.push({x:t,plotX:y,plotY:s})),i||v(t,t+1,"right"))}return t=o.call(this,l,!0,!0),c.reversed=!0,r=o.call(this,c,!0,!0),(s=r[0])&&"M"===s[0]&&(r[0]=["L",s[1],s[2]]),r=t.concat(r),o=o.call(this,l,!1,i),r.xMap=t.xMap,this.areaPath=r,o},drawGraph:function(){this.areaPath=[];f.prototype.drawGraph.apply(this);var n=this,t=this.areaPath,i=this.options,r=[["area","highcharts-area",this.color,i.fillColor]];this.zones.forEach(function(t,u){r.push(["zone-area-"+u,"highcharts-area highcharts-zone-area-"+u+" "+t.className,t.color||n.color,t.fillColor||i.fillColor])});r.forEach(function(r){var s=r[0],f=n[s],h=f?"animate":"attr",o={};f?(f.endX=n.preventGraphAnimation?null:t.xMap,f.animate({d:t})):(o.zIndex=0,f=n[s]=n.chart.renderer.path(t).addClass(r[1]).add(n.group),f.isArea=!0);n.chart.styledMode||(o.fill=u(r[3],e(r[2]).setOpacity(u(i.fillOpacity,.75)).get()));f[h](o);f.startX=t.xMap;f.shiftUnit=i.step?2:1})},drawLegendSymbol:i.drawRectangle});""}),i(t,"parts/SplineSeries.js",[t["parts/Utilities.js"]],function(n){var t=n.pick;n=n.seriesType;n("spline","line",{},{getPointSpline:function(n,i,r){var h=i.plotX||0,u=i.plotY||0,o=n[r-1],s,f;if(r=n[r+1],o&&!o.isNull&&!1!==o.doCurve&&!i.isCliff&&r&&!r.isNull&&!1!==r.doCurve&&!i.isCliff){n=o.plotY||0;s=r.plotX||0;r=r.plotY||0;var c=0,l=(1.5*h+(o.plotX||0))/2.5,e=(1.5*u+n)/2.5;s=(1.5*h+s)/2.5;f=(1.5*u+r)/2.5;s!==l&&(c=(f-e)*(s-h)/(s-l)+u-f);e+=c;f+=c;e>n&&e>u?(e=Math.max(n,u),f=2*u-e):e<n&&e<u&&(e=Math.min(n,u),f=2*u-e);f>r&&f>u?(f=Math.max(r,u),e=2*u-f):f<r&&f<u&&(f=Math.min(r,u),e=2*u-f);i.rightContX=s;i.rightContY=f}return i=["C",t(o.rightContX,o.plotX,0),t(o.rightContY,o.plotY,0),t(l,h,0),t(e,u,0),h,u],o.rightContX=o.rightContY=void 0,i}});""}),i(t,"parts/AreaSplineSeries.js",[t["parts/Globals.js"],t["mixins/legend-symbol.js"],t["parts/Options.js"],t["parts/Utilities.js"]],function(n,t,i,r){r=r.seriesType;n=n.seriesTypes.area.prototype;r("areaspline","spline",i.defaultOptions.plotOptions.area,{getStackPoints:n.getStackPoints,getGraphPath:n.getGraphPath,drawGraph:n.drawGraph,drawLegendSymbol:t.drawRectangle});""}),i(t,"parts/ColumnSeries.js",[t["parts/Globals.js"],t["parts/Color.js"],t["mixins/legend-symbol.js"],t["parts/Utilities.js"]],function(n,t,i,r){"";var h=t.parse,c=r.animObject,o=r.clamp,l=r.defined,a=r.extend,e=r.isNumber,s=r.merge,u=r.pick,f;t=r.seriesType;f=n.Series;t("column","line",{borderRadius:0,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){f.prototype.init.apply(this,arguments);var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var t=this,i=t.options,n=t.xAxis,c=t.yAxis,f=n.options.reversedStacks,e,o,r;f=n.reversed&&!f||!n.reversed&&f;o={};r=0;!1===i.grouping?r=1:t.chart.series.forEach(function(n){var f=n.yAxis,i=n.options,u;n.type===t.type&&(n.visible||!t.chart.options.chart.ignoreHiddenSeries)&&c.len===f.len&&c.pos===f.pos&&(i.stacking&&"group"!==i.stacking?(e=n.stackKey,"undefined"==typeof o[e]&&(o[e]=r++),u=o[e]):!1!==i.grouping&&(u=r++),n.columnIndex=u)});var h=Math.min(Math.abs(n.transA)*(n.ordinal&&n.ordinal.slope||i.pointRange||n.closestPointRange||n.tickInterval||1),n.len),l=h*i.groupPadding,s=(h-2*l)/(r||1);return i=Math.min(i.maxPointWidth||n.len,u(i.pointWidth,s*(1-2*i.pointPadding))),t.columnMetrics={width:i,offset:(s-i)/2+(l+((t.columnIndex||0)+(f?1:0))*s-h/2)*(f?-1:1),paddedWidth:s,columnCount:r},t.columnMetrics},crispCol:function(n,t,i,r){var e=this.chart,u=this.borderWidth,f=-(u%2?.5:0);return u=u%2?.5:1,e.inverted&&e.renderer.isVML&&(u+=1),this.options.crisp&&(i=Math.round(n+i)+f,n=Math.round(n)+f,i-=n),r=Math.round(t+r)+u,f=.5>=Math.abs(t)&&.5<r,t=Math.round(t)+u,r-=t,f&&r&&(--t,r+=1),{x:n,y:t,width:i,height:r}},adjustForMissingColumns:function(t,i,r,u){var o=this,s=this.options.stacking,e,f;return!r.isNull&&1<u.columnCount&&(e=0,f=0,Highcharts.objectEach(this.yAxis.stacking&&this.yAxis.stacking.stacks,function(t){if("number"==typeof r.x&&(t=t[r.x.toString()])){var i=t.points[o.index],u=t.total;s?(i&&(e=f),t.hasValidPoints&&f++):n.isArray(i)&&(e=i[1],f=u||0)}}),t=(r.plotX||0)+((f-1)*u.paddedWidth+i)/2-i-e*u.paddedWidth),t},translate:function(){var n=this,r=n.chart,s=n.options,a=n.dense=2>n.closestPointRange*n.xAxis.transA;a=n.borderWidth=u(s.borderWidth,a?0:1);var b=n.xAxis,t=n.yAxis,h=s.threshold,c=n.translatedThreshold=t.getThreshold(h),i=u(s.minPointLength,5),v=n.getColumnMetrics(),y=v.width,p=n.barW=Math.max(y,1+2*a),k=n.pointXOffset=v.offset,d=n.dataMin,w=n.dataMax;r.inverted&&(c-=.5);s.pointPadding&&(p=Math.ceil(p));f.prototype.translate.apply(n);n.points.forEach(function(f){var it=u(f.yBottom,c),a=999+Math.abs(it),rt=y,et=f.plotX||0,ft;a=o(f.plotY,-a,t.len+a);var g=et+k,nt=p,ut=Math.min(a,it),tt=Math.max(a,it)-ut;i&&Math.abs(tt)<i&&(tt=i,ft=!t.reversed&&!f.negative||t.reversed&&f.negative,e(h)&&e(w)&&f.y===h&&w<=h&&(t.min||0)<h&&d!==w&&(ft=!ft),ut=Math.abs(ut-c)>i?it-i:c-(ft?i:0));l(f.options.pointWidth)&&(rt=nt=Math.ceil(f.options.pointWidth),g-=Math.round((rt-y)/2));s.centerInCategory&&(g=n.adjustForMissingColumns(g,rt,f,v));f.barX=g;f.pointWidth=rt;f.tooltipPos=r.inverted?[t.len+t.pos-r.plotLeft-a,b.len+b.pos-r.plotTop-(et||0)-k-nt/2,tt]:[g+nt/2,a+t.pos-r.plotTop,tt];f.shapeType=n.pointClass.prototype.shapeType||"rect";f.shapeArgs=n.crispCol.apply(n,f.isNull?[g,c,nt,0]:[g,ut,nt,tt])})},getSymbol:n.noop,drawLegendSymbol:i.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,t){var o=this.options,i=this.pointAttrToOptions||{},f=i.stroke||"borderColor",a=i["stroke-width"]||"borderWidth",e=n&&n.color||this.color,c=n&&n[f]||o[f]||this.color||e,l=n&&n[a]||o[a]||this[a]||0,v,r;return i=n&&n.options.dashStyle||o.dashStyle,v=u(n&&n.opacity,o.opacity,1),n&&this.zones.length&&(r=n.getZone(),e=n.options.color||r&&(r.color||n.nonZonedColor)||this.color,r&&(c=r.borderColor||c,i=r.dashStyle||i,l=r.borderWidth||l)),t&&n&&(n=s(o.states[t],n.options.states&&n.options.states[t]||{}),t=n.brightness,e=n.color||"undefined"!=typeof t&&h(e).brighten(n.brightness).get()||e,c=n[f]||c,l=n[a]||l,i=n.dashStyle||i,v=u(n.opacity,v)),f={fill:e,stroke:c,"stroke-width":l,opacity:v},i&&(f.dashstyle=i),f},drawPoints:function(){var n=this,i=this.chart,t=n.options,f=i.renderer,u=t.animationLimit||250,r;n.points.forEach(function(o){var h=o.graphic,l=!!h,c=h&&i.pointCount<u?"animate":"attr";e(o.plotY)&&null!==o.y?(r=o.shapeArgs,h&&o.hasNewShapeType()&&(h=h.destroy()),n.enabledDataSorting&&(o.startXPos=n.xAxis.reversed?-(r?r.width:0):n.xAxis.width),h||(o.graphic=h=f[o.shapeType](r).add(o.group||n.group))&&n.enabledDataSorting&&i.hasRendered&&i.pointCount<u&&(h.attr({x:o.startXPos}),l=!0,c="animate"),h&&l&&h[c](s(r)),t.borderRadius&&h[c]({r:t.borderRadius}),i.styledMode||h[c](n.pointAttribs(o,o.selected&&"select")).shadow(!1!==o.allowShadow&&t.shadow,null,t.stacking&&!t.borderRadius),h.addClass(o.getClassName(),!0)):h&&(o.graphic=h.destroy())})},animate:function(n){var t=this,i=this.yAxis,s=t.options,f=this.chart.inverted,r={},e=f?"translateX":"translateY",u;n?(r.scaleY=.001,n=o(i.toPixels(s.threshold),i.pos,i.pos+i.len),f?r.translateX=n-i.len:r.translateY=n,t.clipBox&&t.setClip(),t.group.attr(r)):(u=t.group.attr(e),t.group.animate({scaleY:1},a(c(t.options.animation),{step:function(n,f){t.group&&(r[e]=u+f.pos*(i.pos-u),t.group.attr(r))}})))},remove:function(){var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)});f.prototype.remove.apply(n,arguments)}});""}),i(t,"parts/BarSeries.js",[t["parts/Utilities.js"]],function(n){n=n.seriesType;n("bar","column",null,{inverted:!0});""}),i(t,"parts/ScatterSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.addEvent,i;t=t.seriesType;i=n.Series;t("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●<\/span> <span style="font-size: 10px"> {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,drawGraph:function(){this.options.lineWidth&&i.prototype.drawGraph.call(this)},applyJitter:function(){var t=this,n=this.options.jitter,i=this.points.length;n&&this.points.forEach(function(r,u){["x","y"].forEach(function(f,e){var s="plot"+f.toUpperCase(),o,h,c;n[f]&&!r.isNull&&(o=t[f+"Axis"],h=n[f]*o.transA,o&&!o.isLog&&(c=Math.max(0,r[s]-h),o=Math.min(o.len,r[s]+h),e=1e4*Math.sin(u+e*i),r[s]=c+(o-c)*(e-Math.floor(e)),"x"===f&&(r.clientX=r.plotX)))})})}});r(i,"afterTranslate",function(){this.applyJitter&&this.applyJitter()});""}),i(t,"mixins/centered-series.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.isNumber,i=t.pick,f=t.relativeLength,u=n.deg2rad;n.CenteredSeriesMixin={getCenter:function(){var t=this.options,e=this.chart,s=2*(t.slicedOffset||0),h=e.plotWidth-2*s,c=e.plotHeight-2*s,r=t.center,l=Math.min(h,c),u=t.size,o=t.innerSize||0;for("string"==typeof u&&(u=parseFloat(u)),"string"==typeof o&&(o=parseFloat(o)),t=[i(r[0],"50%"),i(r[1],"50%"),i(u&&0>u?void 0:t.size,"100%"),i(o&&0>o?void 0:t.innerSize||0,"0%")],!e.angular||this instanceof n.Series||(t[3]=0),r=0;4>r;++r)u=t[r],e=2>r||2===r&&/%$/.test(u),t[r]=f(u,[h,c,l,t[2]][r])+(e?s:0);return t[3]>t[2]&&(t[3]=t[2]),t},getStartAndEndRadians:function(n,t){return n=r(n)?n:0,t=r(t)&&t>n&&360>t-n?t:n+360,{start:u*(n+-90),end:u*(t+-90)}}}}),i(t,"parts/PieSeries.js",[t["parts/Globals.js"],t["mixins/legend-symbol.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i,r){var f=r.addEvent,h=r.clamp,c=r.defined,l=r.fireEvent,a=r.isNumber,e=r.merge,u=r.pick,o=r.relativeLength,v=r.seriesType,y=r.setAnimation;r=n.CenteredSeriesMixin;var p=r.getStartAndEndRadians,s=n.noop,w=n.Series;v("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){if(!this.point.isNull)return this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:n.seriesTypes.column.prototype.pointAttribs,animate:function(n){var t=this,r=t.points,i=t.startAngleRad;n||r.forEach(function(n){var f=n.graphic,r=n.shapeArgs;f&&r&&(f.attr({r:u(n.startR,t.center&&t.center[3]/2),start:i,end:i}),f.animate({r:r.r,start:r.start,end:r.end},t.options.animation))})},hasData:function(){return!!this.processedXData.length},updateTotals:function(){for(var i=0,r=this.points,u=r.length,f=this.options.ignoreHiddenPoint,n,t=0;t<u;t++)n=r[t],i+=f&&!n.visible?0:n.isNull?0:n.y;for(this.total=i,t=0;t<u;t++)n=r[t],n.percentage=0<i&&(n.visible||!f)?n.y/i*100:0,n.total=i},generatePoints:function(){w.prototype.generatePoints.call(this);this.updateTotals()},getX:function(n,t,i){var r=this.center,u=this.radii?this.radii[i.index]:r[2]/2;return n=Math.asin(h((n-r[1])/(u+i.labelDistance),-1,1)),r[0]+(t?-1:1)*Math.cos(n)*(u+i.labelDistance)+(0<i.labelDistance?(t?-1:1)*this.options.dataLabels.padding:0)},translate:function(n){var w,b,c,k,t,f,i,s,h;this.generatePoints();var a=0,r=this.options,v=r.slicedOffset,d=v+(r.borderWidth||0),e=p(r.startAngle,r.endAngle),y=this.startAngleRad=e.start;for(e=(this.endAngleRad=e.end)-y,w=this.points,b=r.dataLabels.distance,r=r.ignoreHiddenPoint,k=w.length,n||(this.center=n=this.getCenter()),c=0;c<k;c++)t=w[c],f=y+a*e,(!r||t.visible)&&(a+=t.percentage/100),i=y+a*e,t.shapeType="arc",t.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:Math.round(1e3*f)/1e3,end:Math.round(1e3*i)/1e3},t.labelDistance=u(t.options.dataLabels&&t.options.dataLabels.distance,b),t.labelDistance=o(t.labelDistance,t.shapeArgs.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,t.labelDistance),i=(i+f)/2,i>1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),t.slicedTranslation={translateX:Math.round(Math.cos(i)*v),translateY:Math.round(Math.sin(i)*v)},s=Math.cos(i)*n[2]/2,h=Math.sin(i)*n[2]/2,t.tooltipPos=[n[0]+.7*s,n[1]+.7*h],t.half=i<-Math.PI/2||i>Math.PI/2?1:0,t.angle=i,f=Math.min(d,t.labelDistance/5),t.labelPosition={natural:{x:n[0]+s+Math.cos(i)*t.labelDistance,y:n[1]+h+Math.sin(i)*t.labelDistance},final:{},alignment:0>t.labelDistance?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n[0]+s+Math.cos(i)*f,y:n[1]+h+Math.sin(i)*f},touchingSliceAt:{x:n[0]+s,y:n[1]+h}}};l(this,"afterTranslate")},drawEmpty:function(){var r=this.startAngleRad,u=this.endAngleRad,n=this.options,t,i;0===this.total?(t=this.center[0],i=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,i,this.center[1]/2,0,r,u).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:Highcharts.SVGRenderer.prototype.symbols.arc(t,i,this.center[2]/2,0,{start:r,end:u,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":n.borderWidth,fill:n.fillColor||"none",stroke:n.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())},redrawPoints:function(){var n=this,i=n.chart,s=i.renderer,r,t,u,f,o=n.options.shadow;this.drawEmpty();!o||n.shadowGroup||i.styledMode||(n.shadowGroup=s.g("shadow").attr({zIndex:-1}).add(n.group));n.points.forEach(function(h){var l={},c;t=h.graphic;!h.isNull&&t?(f=h.shapeArgs,r=h.getTranslate(),i.styledMode||(c=h.shadowGroup,o&&!c&&(c=h.shadowGroup=s.g("shadow").add(n.shadowGroup)),c&&c.attr(r),u=n.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(t.setRadialReference(n.center).attr(f).attr(r),i.styledMode||t.attr(u).attr({"stroke-linejoin":"round"}).shadow(o,c),h.delayedRendering=!1):(t.setRadialReference(n.center),i.styledMode||e(!0,l,u),e(!0,l,f,r),t.animate(l)),t.attr({visibility:h.visible?"inherit":"hidden"}),t.addClass(h.getClassName())):t&&(h.graphic=t.destroy())})},drawPoints:function(){var n=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy());t.graphic||(t.graphic=n[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})},searchPoint:s,sortByAngle:function(n,t){n.sort(function(n,i){return"undefined"!=typeof n.angle&&(i.angle-n.angle)*t})},drawLegendSymbol:t.drawRectangle,getCenter:r.getCenter,getSymbol:s,drawGraph:null},{init:function(){var n,t;return i.prototype.init.apply(this,arguments),n=this,n.name=u(n.name,"Slice"),t=function(t){n.slice("select"===t.type)},f(n,"select",t),f(n,"unselect",t),n},isValid:function(){return a(this.y)&&0<=this.y},setVisible:function(n,t){var i=this,r=i.series,f=r.chart,e=r.options.ignoreHiddenPoint;t=u(t,e);n!==i.visible&&(i.visible=i.options.visible=n="undefined"==typeof n?!i.visible:n,r.options.data[r.data.indexOf(i)]=i.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(t){i[t]&&i[t][n?"show":"hide"](!0)}),i.legendItem&&f.legend.colorizeItem(i,n),n||"hover"!==i.state||i.setState(""),e&&(r.isDirty=!0),t&&f.redraw())},slice:function(n,t,i){var r=this.series;y(i,r.chart);u(t,!0);this.sliced=this.options.sliced=c(n)?n:!this.sliced;r.options.data[r.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(n){var t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+n,t.r+n,{innerR:t.r-1,start:t.start,end:t.end})},connectorShapes:{fixedOffset:function(n,t,i){var r=t.breakAt;return t=t.touchingSliceAt,[["M",n.x,n.y],i.softConnector?["C",n.x+("left"===n.alignment?-5:5),n.y,2*r.x-t.x,2*r.y-t.y,r.x,r.y]:["L",r.x,r.y],["L",t.x,t.y]]},straight:function(n,t){return t=t.touchingSliceAt,[["M",n.x,n.y],["L",t.x,t.y]]},crookedLine:function(n,t,i){var e;t=t.touchingSliceAt;var u=this.series,f=u.center[0],r=u.chart.plotWidth,s=u.chart.plotLeft;return u=n.alignment,e=this.shapeArgs.r,i=o(i.crookDistance,1),r="left"===u?f+e+(r+s-f-e)*(1-i):s+(f-e)*i,i=["L",r,n.y],f=!0,("left"===u?r>n.x||r<t.x:r<n.x||r>t.x)&&(f=!1),n=[["M",n.x,n.y]],f&&n.push(i),n.push(["L",t.x,t.y]),n}},getConnectorPath:function(){var n=this.labelPosition,i=this.series.options.dataLabels,t=i.connectorShape,r=this.connectorShapes;return r[t]&&(t=r[t]),t.call(this,{x:n.final.x,y:n.final.y,alignment:n.alignment},n.connectorPosition,i)}});""}),i(t,"parts/DataLabels.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var a=n.noop,r=n.seriesTypes,v=t.animObject,y=t.arrayMax,s=t.clamp,u=t.defined,c=t.extend,l=t.fireEvent,p=t.format,f=t.isArray,e=t.merge,w=t.objectEach,i=t.pick,b=t.relativeLength,k=t.splat,h=t.stableSort,o=n.Series;n.distribute=function(t,r,u){function l(n,t){return n.target-t.target}for(var o=!0,e=t,a=[],c=0,v=e.reducedLen||r,f=t.length;f--;)c+=t[f].size;if(c>v){for(h(t,function(n,t){return(t.rank||0)-(n.rank||0)}),c=f=0;c<=v;)c+=t[f].size,f++;a=t.splice(f-1,t.length)}for(h(t,l),t=t.map(function(n){return{size:n.size,targets:[n.target],align:i(n.align,.5)}});o;){for(f=t.length;f--;)o=t[f],c=(Math.min.apply(0,o.targets)+Math.max.apply(0,o.targets))/2,o.pos=s(c-o.size*o.align,0,r-o.size);for(f=t.length,o=!1;f--;)0<f&&t[f-1].pos+t[f-1].size>t[f].pos&&(t[f-1].size+=t[f].size,t[f-1].targets=t[f-1].targets.concat(t[f].targets),t[f-1].align=.5,t[f-1].pos+t[f-1].size>r&&(t[f-1].pos=r-t[f-1].size),t.splice(f,1),o=!0)}e.push.apply(e,a);f=0;t.some(function(t){var i=0;if(t.targets.some(function(){if(e[f].pos=t.pos+i,"undefined"!=typeof u&&Math.abs(e[f].pos-e[f].target)>u)return e.slice(0,f+1).forEach(function(n){delete n.pos}),e.reducedLen=(e.reducedLen||r)-.1*r,e.reducedLen>.1*r&&n.distribute(e,r,u),!0;i+=e[f].size;f++}))return!0});h(e,l)};o.prototype.drawDataLabels=function(){function nt(n,t){var i=t.filter;return i?(t=i.operator,n=n[i.property],i=i.value,">"===t&&n>i||"<"===t&&n<i||">="===t&&n>=i||"<="===t&&n<=i||"=="===t&&n==i||"==="===t&&n===i?!0:!1):!0}function h(n,t){var i=[],r;if(f(n)&&!f(t))i=n.map(function(n){return e(n,t)});else if(f(t)&&!f(n))i=t.map(function(t){return e(n,t)});else if(f(n)||f(t))for(r=Math.max(n.length,t.length);r--;)i[r]=e(n[r],t[r]);else i=e(n,t);return i}var n=this,t=n.chart,o=n.options,r=o.dataLabels,tt=n.points,b,c=n.hasRendered||0,d=v(o.animation).duration,a=Math.min(d,200),g=!t.renderer.forExport&&i(r.defer,0<a),y=t.renderer,s;r=h(h(t.options.plotOptions&&t.options.plotOptions.series&&t.options.plotOptions.series.dataLabels,t.options.plotOptions&&t.options.plotOptions[n.type]&&t.options.plotOptions[n.type].dataLabels),r);l(this,"drawDataLabels");(f(r)||r.enabled||n._hasPointLabels)&&(s=n.plotGroup("dataLabelsGroup","data-labels",g&&!c?"hidden":"inherit",r.zIndex||6),g&&(s.attr({opacity:+c}),c||setTimeout(function(){var t=n.dataLabelsGroup;t&&(n.visible&&s.show(!0),t[o.animation?"animate":"attr"]({opacity:1},{duration:a}))},d-a)),tt.forEach(function(f){b=k(h(r,f.dlOptions||f.options&&f.options.dataLabels));b.forEach(function(r,e){var v=r.enabled&&(!f.isNull||f.dataLabelOnNull)&&nt(f,r),h=f.dataLabels?f.dataLabels[e]:f.dataLabel,d=f.connectors?f.connectors[e]:f.connector,k=i(r.distance,f.labelDistance),g=!h,l,c,b,a;v&&(l=f.getLabelConfig(),c=i(r[f.formatPrefix+"Format"],r.format),l=u(c)?p(c,l,t):(r[f.formatPrefix+"Formatter"]||r.formatter).call(l,r),c=r.style,b=r.rotation,t.styledMode||(c.color=i(r.color,c.color,n.color,"#000000"),"contrast"===c.color?(f.contrastColor=y.getContrast(f.color||n.color),c.color=!u(k)&&r.inside||0>k||o.stacking?f.contrastColor:"#000000"):delete f.contrastColor,o.cursor&&(c.cursor=o.cursor)),a={r:r.borderRadius||0,rotation:b,padding:r.padding,zIndex:1},t.styledMode||(a.fill=r.backgroundColor,a.stroke=r.borderColor,a["stroke-width"]=r.borderWidth),w(a,function(n,t){"undefined"==typeof n&&delete a[t]}));!h||v&&u(l)?v&&u(l)&&(h?a.text=l:(f.dataLabels=f.dataLabels||[],h=f.dataLabels[e]=b?y.text(l,0,-9999,r.useHTML).addClass("highcharts-data-label"):y.label(l,0,-9999,r.shape,null,null,r.useHTML,null,"data-label"),e||(f.dataLabel=h),h.addClass(" highcharts-data-label-color-"+f.colorIndex+" "+(r.className||"")+(r.useHTML?" highcharts-tracker":""))),h.options=r,h.attr(a),t.styledMode||h.css(c).shadow(r.shadow),h.added||h.add(s),r.textPath&&!r.useHTML&&(h.setTextPath(f.getDataLabelPath&&f.getDataLabelPath(h)||f.graphic,r.textPath),f.dataLabelPath&&!r.textPath.enabled&&(f.dataLabelPath=f.dataLabelPath.destroy())),n.alignDataLabel(f,h,r,null,g)):(f.dataLabel=f.dataLabel&&f.dataLabel.destroy(),f.dataLabels&&(1===f.dataLabels.length?delete f.dataLabels:delete f.dataLabels[e]),e||delete f.dataLabel,d&&(f.connector=f.connector.destroy(),f.connectors&&(1===f.connectors.length?delete f.connectors:delete f.connectors[e])))})}));l(this,"afterDrawDataLabels")};o.prototype.alignDataLabel=function(n,t,r,u,f){var k=this,o=this.chart,l=this.isCartesian&&o.inverted,a=this.enabledDataSorting,e=i(n.dlBox&&n.dlBox.centerX,n.plotX,-9999),w=i(n.plotY,-9999),s=t.getBBox(),y=r.rotation,p=r.align,d=o.isInsidePlot(e,Math.round(w),l),v="justify"===i(r.overflow,a?"none":"justify"),b=this.visible&&!1!==n.visible&&(n.series.forceDL||a&&!v||d||r.inside&&u&&o.isInsidePlot(e,l?u.x+1:u.y+u.height-1,l)),h=function(i){a&&k.xAxis&&!v&&k.setDataLabelStartPos(n,t,f,d,i)},g;b&&(g=o.renderer.fontMetrics(o.styledMode?void 0:r.style.fontSize,t).b,u=c({x:l?this.yAxis.len-w:e,y:Math.round(l?this.xAxis.len-e:w),width:0,height:0},u),c(r,{width:s.width,height:s.height}),y?(v=!1,e=o.renderer.rotCorr(g,y),e={x:u.x+(r.x||0)+u.width/2+e.x,y:u.y+(r.y||0)+{top:0,middle:.5,bottom:1}[r.verticalAlign]*u.height},h(e),t[f?"attr":"animate"](e).attr({align:p}),h=(y+720)%360,h=180<h&&360>h,"left"===p?e.y-=h?s.height:0:"center"===p?(e.x-=s.width/2,e.y-=s.height/2):"right"===p&&(e.x-=s.width,e.y-=h?0:s.height),t.placed=!0,t.alignAttr=e):(h(u),t.align(r,null,u),e=t.alignAttr),v&&0<=u.height?this.justifyDataLabel(t,r,e,s,u,f):i(r.crop,!0)&&(b=o.isInsidePlot(e.x,e.y)&&o.isInsidePlot(e.x+s.width,e.y+s.height)),r.shape&&!y&&t[f?"attr":"animate"]({anchorX:l?o.plotWidth-n.plotY:n.plotX,anchorY:l?o.plotHeight-n.plotX:n.plotY}));f&&a&&(t.placed=!1);b||a&&!v||(t.hide(!0),t.placed=!1)};o.prototype.setDataLabelStartPos=function(n,t,i,r,u){var s=this.chart,o=s.inverted,f=this.xAxis,h=f.reversed,e=o?t.height/2:t.width/2;n=(n=n.pointWidth)?n/2:0;f=o?u.x:h?-e-n:f.width-e+n;u=o?h?this.yAxis.height-e+n:-e-n:u.y;t.startXPos=f;t.startYPos=u;r?"hidden"===t.visibility&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide);s.hasRendered&&(i&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)};o.prototype.justifyDataLabel=function(n,t,i,r,u,f){var c=this.chart,a=t.align,v=t.verticalAlign,l=n.box?0:n.padding||0,o=t.x,e,s,h;return o=void 0===o?0:o,e=t.y,s=void 0===e?0:e,e=i.x+l,0>e&&("right"===a&&0<=o?(t.align="left",t.inside=!0):o-=e,h=!0),e=i.x+r.width-l,e>c.plotWidth&&("left"===a&&0>=o?(t.align="right",t.inside=!0):o+=c.plotWidth-e,h=!0),e=i.y+l,0>e&&("bottom"===v&&0<=s?(t.verticalAlign="top",t.inside=!0):s-=e,h=!0),e=i.y+r.height-l,e>c.plotHeight&&("top"===v&&0>=s?(t.verticalAlign="bottom",t.inside=!0):s+=c.plotHeight-e,h=!0),h&&(t.x=o,t.y=s,n.placed=!f,n.align(t,void 0,u)),h};r.pie&&(r.pie.prototype.dataLabelPositioners={radialDistributionY:function(n){return n.top+n.distributeBox.pos},radialDistributionX:function(n,t,i,r){return n.getX(i<t.top+2||i>t.bottom-2?r:i,t.half,t)},justify:function(n,t,i){return i[0]+(n.half?-1:1)*(t+n.labelDistance)},alignToPlotEdges:function(n,t,i,r){return n=n.getBBox().width,t?n+r:i-n-r},alignToConnectors:function(n,t,i,r){var u=0,f;return n.forEach(function(n){f=n.dataLabel.getBBox().width;f>u&&(u=f)}),t?u+r:i-u-r}},r.pie.prototype.drawDataLabels=function(){var t=this,et=t.data,r,a=t.chart,h=t.options.dataLabels||{},p=h.connectorPadding,ot,it=a.plotWidth,st=a.plotHeight,ht=a.plotLeft,ct=Math.round(a.chartWidth/3),v,ft=t.center,k=ft[2]/2,rt=ft[1],c,d,w,g,lt=[[],[]],f,l,nt,ut,s=[0,0,0,0],tt=t.dataLabelPositioners,b;t.visible&&(h.enabled||t._hasPointLabels)&&(et.forEach(function(n){n.dataLabel&&n.visible&&n.dataLabel.shortened&&(n.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.dataLabel.shortened=!1)}),o.prototype.drawDataLabels.apply(t),et.forEach(function(n){n.dataLabel&&(n.visible?(lt[n.half].push(n),n.dataLabel._pos=null,!u(h.style.width)&&!u(n.options.dataLabels&&n.options.dataLabels.style&&n.options.dataLabels.style.width)&&n.dataLabel.getBBox().width>ct&&(n.dataLabel.css({width:Math.round(.7*ct)+"px"}),n.dataLabel.shortened=!0)):(n.dataLabel=n.dataLabel.destroy(),n.dataLabels&&1===n.dataLabels.length&&delete n.dataLabels))}),lt.forEach(function(e,o){var ot=e.length,et=[],y,v,ct;if(ot)for(t.sortByAngle(e,o-.5),0<t.maxLabelDistance&&(v=Math.max(0,rt-k-t.maxLabelDistance),ct=Math.min(rt+k+t.maxLabelDistance,a.plotHeight),e.forEach(function(n){0<n.labelDistance&&n.dataLabel&&(n.top=Math.max(0,rt-k-n.labelDistance),n.bottom=Math.min(rt+k+n.labelDistance,a.plotHeight),y=n.dataLabel.getBBox().height||21,n.distributeBox={target:n.labelPosition.natural.y-n.top+y/2,size:y,rank:n.y},et.push(n.distributeBox))}),v=ct+y-v,n.distribute(et,v,v/5)),ut=0;ut<ot;ut++){if(r=e[ut],w=r.labelPosition,c=r.dataLabel,nt=!1===r.visible?"hidden":"inherit",l=v=w.natural.y,et&&u(r.distributeBox)&&("undefined"==typeof r.distributeBox.pos?nt="hidden":(g=r.distributeBox.size,l=tt.radialDistributionY(r))),delete r.positionIndex,h.justify)f=tt.justify(r,k,ft);else switch(h.alignTo){case"connectors":f=tt.alignToConnectors(e,o,it,ht);break;case"plotEdges":f=tt.alignToPlotEdges(c,o,it,ht);break;default:f=tt.radialDistributionX(t,r,l,v)}c._attr={visibility:nt,align:w.alignment};b=r.options.dataLabels||{};c._pos={x:f+i(b.x,h.x)+({left:p,right:-p}[w.alignment]||0),y:l+i(b.y,h.y)-10};w.final.x=f;w.final.y=l;i(h.crop,!0)&&(d=c.getBBox().width,v=null,f-d<p&&1===o?(v=Math.round(d-f+p),s[3]=Math.max(v,s[3])):f+d>it-p&&0===o&&(v=Math.round(f+d-it+p),s[1]=Math.max(v,s[1])),0>l-g/2?s[0]=Math.max(Math.round(-l+g/2),s[0]):l+g/2>st&&(s[2]=Math.max(Math.round(l+g/2-st),s[2])),c.sideOverflow=v)}}),0===y(s)||this.verifyDataLabelOverflow(s))&&(this.placeDataLabels(),this.points.forEach(function(n){if(b=e(h,n.options.dataLabels),ot=i(b.connectorWidth,1)){var r;v=n.connector;(c=n.dataLabel)&&c._pos&&n.visible&&0<n.labelDistance?(nt=c._attr.visibility,(r=!v)&&(n.connector=v=a.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+n.colorIndex+(n.className?" "+n.className:"")).add(t.dataLabelsGroup),a.styledMode||v.attr({"stroke-width":ot,stroke:b.connectorColor||n.color||"#666666"})),v[r?"attr":"animate"]({d:n.getConnectorPath()}),v.attr("visibility",nt)):v&&(n.connector=v.destroy())}}))},r.pie.prototype.placeDataLabels=function(){this.points.forEach(function(n){var t=n.dataLabel,i;t&&n.visible&&((i=t._pos)?(t.sideOverflow&&(t._attr.width=Math.max(t.getBBox().width-t.sideOverflow,0),t.css({width:t._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-9999}));delete n.distributeBox},this)},r.pie.prototype.alignDataLabel=a,r.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,r=this.options,e=r.center,u=r.minSize||80,f=null!==r.size,i;return f||(null!==e[0]?i=Math.max(t[2]-Math.max(n[1],n[3]),u):(i=Math.max(t[2]-n[1]-n[3],u),t[0]+=(n[3]-n[1])/2),null!==e[1]?i=s(i,u,t[2]-Math.max(n[0],n[2])):(i=s(i,u,t[2]-n[0]-n[2]),t[1]+=(n[0]-n[2])/2),i<t[2]?(t[2]=i,t[3]=Math.min(b(r.innerSize||0,i),i),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):f=!0),f});r.column&&(r.column.prototype.alignDataLabel=function(n,t,r,u,f){var h=this.chart.inverted,c=n.series,s=n.dlBox||n.shapeArgs,l=i(n.below,n.plotY>i(this.translatedThreshold,c.yAxis.len)),a=i(r.inside,!!this.options.stacking);s&&(u=e(s),0>u.y&&(u.height+=u.y,u.y=0),s=u.y+u.height-c.yAxis.len,0<s&&s<u.height&&(u.height-=s),h&&(u={x:c.yAxis.len-u.y-u.height,y:c.xAxis.len-u.x-u.width,width:u.height,height:u.width}),a||(h?(u.x+=l?0:u.width,u.width=0):(u.y+=l?u.height:0,u.height=0)));r.align=i(r.align,!h||a?"center":l?"right":"left");r.verticalAlign=i(r.verticalAlign,h||a?"middle":l?"top":"bottom");o.prototype.alignDataLabel.call(this,n,t,r,u,f);r.inside&&n.contrastColor&&t.css({color:n.contrastColor})})}),i(t,"modules/overlapping-datalabels.src.js",[t["parts/Chart.js"],t["parts/Utilities.js"]],function(n,t){var u=t.addEvent,i=t.fireEvent,f=t.isArray,e=t.isNumber,r=t.objectEach,o=t.pick;u(n,"render",function(){var n=[];(this.labelCollectors||[]).forEach(function(t){n=n.concat(t())});(this.yAxis||[]).forEach(function(t){t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&r(t.stacking.stacks,function(t){r(t,function(t){n.push(t.label)})})});(this.series||[]).forEach(function(t){var i=t.options.dataLabels;t.visible&&(!1!==i.enabled||t._hasPointLabels)&&(t.nodes||t.points).forEach(function(t){t.visible&&(f(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[]).forEach(function(i){var r=i.options;i.labelrank=o(r.labelrank,t.labelrank,t.shapeArgs&&t.shapeArgs.height);r.allowOverlap||n.push(i)})})});this.hideOverlappingLabels(n)});n.prototype.hideOverlappingLabels=function(n){for(var h=this,c=n.length,a=h.renderer,t,s,l=!1,o=function(n){var t,i=n.box?0:n.padding||0,r=t=0,o,u,f,s;if(n&&(!n.alignAttr||n.placed))return u=n.alignAttr||{x:n.attr("x"),y:n.attr("y")},f=n.parentGroup,n.width||(t=n.getBBox(),n.width=t.width,n.height=t.height,t=a.fontMetrics(null,n.element).h),s=n.width-2*i,(o={left:"0",center:"0.5",right:"1"}[n.alignValue])?r=+o*s:e(n.x)&&Math.round(n.x)!==n.translateX&&(r=n.x-n.translateX),{x:u.x+(f.translateX||0)+i-r,y:u.y+(f.translateY||0)+i-t,width:n.width-2*i,height:n.height-2*i}},u,f,r=0;r<c;r++)(t=n[r])&&(t.oldOpacity=t.opacity,t.newOpacity=1,t.absoluteBox=o(t));for(n.sort(function(n,t){return(t.labelrank||0)-(n.labelrank||0)}),r=0;r<c;r++)for(u=(o=n[r])&&o.absoluteBox,t=r+1;t<c;++t)f=(s=n[t])&&s.absoluteBox,!u||!f||o===s||0===o.newOpacity||0===s.newOpacity||f.x>u.x+u.width||f.x+f.width<u.x||f.y>u.y+u.height||f.y+f.height<u.y||((o.labelrank<s.labelrank?o:s).newOpacity=0);n.forEach(function(n){if(n){var t=n.newOpacity;n.oldOpacity!==t&&(n.alignAttr&&n.placed?(n[t?"removeClass":"addClass"]("highcharts-data-label-hidden"),l=!0,n.alignAttr.opacity=t,n[n.isOld?"animate":"attr"](n.alignAttr,null,function(){h.styledMode||n.css({pointerEvents:t?"auto":"none"});n.visibility=t?"inherit":"hidden";n.placed=!!t}),i(h,"afterHideOverlappingLabel")):n.attr({opacity:t}));n.isOld=!0}});l&&i(h,"afterHideAllOverlappingLabels")}}),i(t,"parts/Interaction.js",[t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Legend.js"],t["parts/Options.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i,r,u,f){var c=r.defaultOptions,l=f.addEvent,b=f.createElement,a=f.css,k=f.defined,s=f.extend,e=f.fireEvent,d=f.isArray,g=f.isFunction,v=f.isNumber,nt=f.isObject,y=f.merge,tt=f.objectEach,o=f.pick,p=t.hasTouch,w,h;r=t.Series;f=t.seriesTypes;w=t.svg;h=t.TrackerMixin={drawTrackerPoint:function(){var n=this,i=n.chart,t=i.pointer,r=function(n){var i=t.getPointFromEvent(n);"undefined"!=typeof i&&(t.isDirectTouch=!0,i.onMouseOver(n))},u;n.points.forEach(function(n){u=d(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[];n.graphic&&(n.graphic.element.point=n);u.forEach(function(t){t.div?t.div.point=n:t.element.point=n})});n._hasTracking||(n.trackerGroups.forEach(function(u){if(n[u]){n[u].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(n){t.onTrackerMouseOut(n)});if(p)n[u].on("touchstart",r);!i.styledMode&&n.options.cursor&&n[u].css(a).css({cursor:n.options.cursor})}}),n._hasTracking=!0);e(this,"afterDrawTracker")},drawTrackerGraph:function(){var n=this,r=n.options,i=r.trackByArea,u=[].concat(i?n.areaPath:n.graphPath),t=n.chart,h=t.pointer,c=t.renderer,l=t.options.tooltip.snap,f=n.tracker,o=function(){t.hoverSeries!==n&&n.onMouseOver()},s="rgba(192,192,192,"+(w?.0001:.002)+")";f?f.attr({d:u}):n.graph&&(n.tracker=c.path(u).attr({visibility:n.visible?"visible":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(n.group),t.styledMode||n.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:s,fill:i?s:"none","stroke-width":n.graph.strokeWidth()+(i?0:2*l)}),[n.tracker,n.markerGroup].forEach(function(n){n.addClass("highcharts-tracker").on("mouseover",o).on("mouseout",function(n){h.onTrackerMouseOut(n)});if(r.cursor&&!t.styledMode&&n.css({cursor:r.cursor}),p)n.on("touchstart",o)}));e(this,"afterDrawTracker")}};f.column&&(f.column.prototype.drawTracker=h.drawTrackerPoint);f.pie&&(f.pie.prototype.drawTracker=h.drawTrackerPoint);f.scatter&&(f.scatter.prototype.drawTracker=h.drawTrackerPoint);s(i.prototype,{setItemEvents:function(n,t,i){var r=this,o=r.chart.renderer.boxWrapper,f=n instanceof u,s="highcharts-legend-"+(f?"point":"series")+"-active",h=r.chart.styledMode;(i?[t,n.legendSymbol]:[n.legendGroup]).forEach(function(i){if(i)i.on("mouseover",function(){n.visible&&r.allItems.forEach(function(t){n!==t&&t.setState("inactive",!f)});n.setState("hover");n.visible&&o.addClass(s);h||t.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||t.css(y(n.visible?r.itemStyle:r.itemHiddenStyle));r.allItems.forEach(function(t){n!==t&&t.setState("",!f)});o.removeClass(s);n.setState()}).on("click",function(t){var i=function(){n.setVisible&&n.setVisible();r.allItems.forEach(function(t){n!==t&&t.setState(n.visible?"inactive":"",!f)})};o.removeClass(s);t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,i):e(n,"legendItemClick",t,i)})})},createCheckboxForItem:function(n){n.checkbox=b("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container);l(n.checkbox,"click",function(t){e(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}});s(n.prototype,{showResetZoom:function(){function f(){t.zoomOut()}var t=this,i=c.lang,n=t.options.chart.resetZoomButton,r=n.theme,u=r.states,o="chart"===n.relativeTo||"spaceBox"===n.relativeTo?null:"plotBox";e(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(i.resetZoom,null,null,f,r,u&&u.hover).attr({align:n.position.align,title:i.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(n.position,!1,o)});e(this,"afterShowResetZoom")},zoomOut:function(){e(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(n){var t=this,u,i=t.pointer,f=!1,e=t.inverted?i.mouseDownX:i.mouseDownY,r;!n||n.resetSelection?(t.axes.forEach(function(n){u=n.zoom()}),i.initiated=!1):n.xAxis.concat(n.yAxis).forEach(function(n){var r=n.axis,o=t.inverted?r.left:r.top,c=t.inverted?o+r.width:o+r.height,s=r.isXAxis,h=!1;(!s&&e>=o&&e<=c||s||!k(e))&&(h=!0);i[s?"zoomX":"zoomY"]&&h&&(u=r.zoom(n.min,n.max),r.displayBtn&&(f=!0))});r=t.resetZoomButton;f&&!r?t.showResetZoom():!f&&nt(r)&&(t.resetZoomButton=r.destroy());u&&t.redraw(o(t.options.chart.animation,n&&n.animation,100>t.pointCount))},pan:function(n,i){var r=this,o=r.hoverPoints,f=r.options.chart,h=r.options.mapNavigation&&r.options.mapNavigation.enabled,s,u;i="object"==typeof i?i:{enabled:i,type:"x"};f&&f.panning&&(f.panning=i);u=i.type;e(this,"pan",{originalEvent:n},function(){o&&o.forEach(function(n){n.setState()});var i=[1];"xy"===u?i=[1,0]:"y"===u&&(i=[0]);i.forEach(function(i){var f=r[i?"xAxis":"yAxis"][0],w=f.horiz,b=n[w?"chartX":"chartY"],y,k,e;w=w?"mouseDownX":"mouseDownY";var l=r[w],a=(f.pointRange||0)/2,o=f.reversed&&!r.inverted||!f.reversed&&r.inverted?-1:1,p=f.getExtremes(),c=f.toValue(l-b,!0)+a*o;o=f.toValue(l+f.len-b,!0)-a*o;y=o<c;l=y?o:c;c=y?c:o;k=f.hasVerticalPanning();e=f.panningState;f.series.forEach(function(n){if(k&&!i&&(!e||e.isDirty)){var t=n.getProcessedData(!0);n=n.getExtremes(t.yData,!0);e||(e={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE});v(n.dataMin)&&v(n.dataMax)&&(e.startMin=Math.min(n.dataMin,e.startMin),e.startMax=Math.max(n.dataMax,e.startMax))}});o=Math.min(t.pick(null===e||void 0===e?void 0:e.startMin,p.dataMin),a?p.min:f.toValue(f.toPixels(p.min)-f.minPixelPadding));a=Math.max(t.pick(null===e||void 0===e?void 0:e.startMax,p.dataMax),a?p.max:f.toValue(f.toPixels(p.max)+f.minPixelPadding));f.panningState=e;f.isOrdinal||(y=o-l,0<y&&(c+=y,l=o),y=c-a,0<y&&(c=a,l-=y),f.series.length&&l!==p.min&&c!==p.max&&l>=o&&c<=a&&(f.setExtremes(l,c,!1,!1,{trigger:"pan"}),r.resetZoomButton||h||l===o||c===a||!u.match("y")||(r.showResetZoom(),f.displayBtn=!1),s=!0),r[w]=b)});s&&r.redraw(!1);a(r.container,{cursor:"move"})})}});s(u.prototype,{select:function(n,t){var i=this,r=i.series,u=r.chart;this.selectedStaging=n=o(n,!i.selected);i.firePointEvent(n?"select":"unselect",{accumulate:t},function(){i.selected=i.options.selected=n;r.options.data[r.data.indexOf(i)]=i.options;i.setState(n&&"select");t||u.getSelectedPoints().forEach(function(n){var t=n.series;n.selected&&n!==i&&(n.selected=n.options.selected=!1,t.options.data[t.data.indexOf(n)]=n.options,n.setState(u.hoverPoints&&t.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})});delete this.selectedStaging},onMouseOver:function(n){var i=this.series.chart,t=i.pointer;n=n?t.normalize(n):t.getChartCoordinatesFromPoint(this,i.inverted);t.runPointActions(n,this)},onMouseOut:function(){var n=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(n.hoverPoints||[]).forEach(function(n){n.setState()});n.hoverPoints=n.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var n=this,t=y(n.series.options.point,n.options).events;n.events=t;tt(t,function(t,i){g(t)&&l(n,i,t)});this.hasImportedEvents=!0}},setState:function(n,t){var r=this.series,h=this.state,v=r.options.states[n||"normal"]||{},l=c.plotOptions[r.type].marker&&r.options.marker,k=l&&!1===l.enabled,p=l&&l.states&&l.states[n||"normal"]||{},d=!1===p.enabled,i=r.stateMarkerGraphic,w=this.marker||{},a=r.chart,u=r.halo,f,g=l&&r.markerAttribs,y,b;n=n||"";n===this.state&&!t||this.selected&&"select"!==n||!1===v.enabled||n&&(d||k&&!1===p.enabled)||n&&w.states&&w.states[n]&&!1===w.states[n].enabled||(this.state=n,g&&(f=r.markerAttribs(this,n)),this.graphic?(h&&this.graphic.removeClass("highcharts-point-"+h),n&&this.graphic.addClass("highcharts-point-"+n),a.styledMode||(y=r.pointAttribs(this,n),b=o(a.options.chart.animation,v.animation),r.options.inactiveOtherPoints&&y.opacity&&((this.dataLabels||[]).forEach(function(n){n&&n.animate({opacity:y.opacity},b)}),this.connector&&this.connector.animate({opacity:y.opacity},b)),this.graphic.animate(y,b)),f&&this.graphic.animate(f,o(a.options.chart.animation,p.animation,l.animation)),i&&i.hide()):(n&&p&&(h=w.symbol||r.symbol,i&&i.currentSymbol!==h&&(i=i.destroy()),f&&(i?i[t?"animate":"attr"]({x:f.x,y:f.y}):h&&(r.stateMarkerGraphic=i=a.renderer.symbol(h,f.x,f.y,f.width,f.height).add(r.markerGroup),i.currentSymbol=h)),!a.styledMode&&i&&i.attr(r.pointAttribs(this,n))),i&&(i[n&&this.isInside?"show":"hide"](),i.element.point=this)),n=v.halo,v=(i=this.graphic||i)&&i.visibility||"inherit",n&&n.size&&i&&"hidden"!==v&&!this.isCluster?(u||(r.halo=u=a.renderer.path().add(i.parentGroup)),u.show()[t?"animate":"attr"]({d:this.haloPath(n.size)}),u.attr({"class":"highcharts-halo highcharts-color-"+o(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),u.point=this,a.styledMode||u.attr(s({fill:this.color||r.color,"fill-opacity":n.opacity},n.attributes))):u&&u.point&&u.point.haloPath&&u.animate({d:u.point.haloPath(0)},null,u.hide),e(this,"afterSetState"))},haloPath:function(n){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-n,this.plotY-n,2*n,2*n)}});s(r.prototype,{onMouseOver:function(){var n=this.chart,t=n.hoverSeries;n.pointer.setHoverChartIndex();t&&t!==this&&t.onMouseOut();this.options.events.mouseOver&&e(this,"mouseOver");this.setState("hover");n.hoverSeries=this},onMouseOut:function(){var r=this.options,n=this.chart,t=n.tooltip,i=n.hoverPoint;n.hoverSeries=null;i&&i.onMouseOut();this&&r.events.mouseOut&&e(this,"mouseOut");!t||this.stickyTracking||t.shared&&!this.noSharedTooltip||t.hide();n.series.forEach(function(n){n.setState("",!0)})},setState:function(n,t){var i=this,u=i.options,f=i.graph,h=u.inactiveOtherPoints,r=u.states,e=u.lineWidth,s=u.opacity,c=o(r[n||"normal"]&&r[n||"normal"].animation,i.chart.options.chart.animation);if(u=0,n=n||"",i.state!==n&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),n&&t.addClass("highcharts-series-"+n))}),i.state=n,!i.chart.styledMode)){if(r[n]&&!1===r[n].enabled)return;if(n&&(e=r[n].lineWidth||e+(r[n].lineWidthPlus||0),s=o(r[n].opacity,s)),f&&!f.dashstyle)for(r={"stroke-width":e},f.animate(r,c);i["zone-graph-"+u];)i["zone-graph-"+u].attr(r),u+=1;h||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(n){n&&n.animate({opacity:s},c)})}t&&h&&i.points&&i.setAllPointsToState(n)},setAllPointsToState:function(n){this.points.forEach(function(t){t.setState&&t.setState(n)})},setVisible:function(n,t){var i=this,r=i.chart,f=i.legendItem,o=r.options.chart.ignoreHiddenSeries,s=i.visible,u=(i.visible=n=i.options.visible=i.userOptions.visible="undefined"==typeof n?!s:n)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(n){i[n]&&i[n][u]()});(r.hoverSeries===i||(r.hoverPoint&&r.hoverPoint.series)===i)&&i.onMouseOut();f&&r.legend.colorizeItem(i,n);i.isDirty=!0;i.options.stacking&&r.series.forEach(function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});i.linkedSeries.forEach(function(t){t.setVisible(n,!1)});o&&(r.isDirtyBox=!0);e(i,u);!1!==t&&r.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=this.options.selected="undefined"==typeof n?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);e(this,n?"select":"unselect")},drawTracker:h.drawTrackerGraph})}),i(t,"parts/Responsive.js",[t["parts/Chart.js"],t["parts/Utilities.js"]],function(n,t){var r=t.find,u=t.isArray,f=t.isObject,e=t.merge,o=t.objectEach,i=t.pick,s=t.splat,h=t.uniqueKey;n.prototype.setResponsive=function(n,t){var f=this.options.responsive,i=[],u=this.currentResponsive;!t&&f&&f.rules&&f.rules.forEach(function(n){"undefined"==typeof n._id&&(n._id=h());this.matchResponsiveRule(n,i)},this);t=e.apply(0,i.map(function(n){return r(f.rules,function(t){return t._id===n}).chartOptions}));t.isResponsiveOptions=!0;i=i.toString()||void 0;i!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,n,!0),i?(u=this.currentOptions(t),u.isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:t,undoOptions:u},this.update(t,n,!0)):this.currentResponsive=void 0)};n.prototype.matchResponsiveRule=function(n,t){var r=n.condition;(r.callback||function(){return this.chartWidth<=i(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=i(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=i(r.minWidth,0)&&this.chartHeight>=i(r.minHeight,0)}).call(this)&&t.push(n._id)};n.prototype.currentOptions=function(n){function t(n,i,e,h){var c;o(n,function(n,o){if(!h&&-1<r.collectionsWithUpdate.indexOf(o))for(n=s(n),e[o]=[],c=0;c<Math.max(n.length,i[o].length);c++)i[o][c]&&(void 0===n[c]?e[o][c]=i[o][c]:(e[o][c]={},t(n[c],i[o][c],e[o][c],h+1)));else f(n)?(e[o]=u(n)?[]:{},t(n,i[o]||{},e[o],h+1)):e[o]="undefined"==typeof i[o]?null:i[o]})}var r=this,i={};return t(n,this.options,i,0),i}}),i(t,"masters/highcharts.src.js",[t["parts/Globals.js"]],function(n){return n}),i(t,"parts-map/MapAxis.js",[t["parts/Axis.js"],t["parts/Utilities.js"]],function(n,t){var i=t.addEvent,r=t.pick,u=function(){return function(n){this.axis=n}}();return t=function(){function n(){}return n.compose=function(n){n.keepProps.push("mapAxis");i(n,"init",function(){this.mapAxis||(this.mapAxis=new u(this))});i(n,"getSeriesExtremes",function(){if(this.mapAxis){var n=[];this.isXAxis&&(this.series.forEach(function(t,i){t.useMapGeometry&&(n[i]=t.xData,t.xData=[])}),this.mapAxis.seriesXData=n)}});i(n,"afterGetSeriesExtremes",function(){var i,u,n,t;this.mapAxis&&(i=this.mapAxis.seriesXData||[],this.isXAxis&&(n=r(this.dataMin,Number.MAX_VALUE),t=r(this.dataMax,-Number.MAX_VALUE),this.series.forEach(function(f,e){f.useMapGeometry&&(n=Math.min(n,r(f.minX,n)),t=Math.max(t,r(f.maxX,t)),f.xData=i[e],u=!0)}),u&&(this.dataMin=n,this.dataMax=t),this.mapAxis.seriesXData=void 0))});i(n,"afterSetAxisTranslation",function(){var n,t,i;this.mapAxis&&(n=this.chart,t=n.plotWidth/n.plotHeight,n=n.xAxis[0],"yAxis"===this.coll&&"undefined"!=typeof n.transA&&this.series.forEach(function(n){n.preserveAspectRatio&&(i=!0)}),i&&(this.transA=n.transA=Math.min(this.transA,n.transA),t/=(n.max-n.min)/(this.max-this.min),t=1>t?this:n,n=(t.max-t.min)*t.transA,t.mapAxis.pixelPadding=t.len-n,t.minPixelPadding=t.mapAxis.pixelPadding/2,n=t.mapAxis.fixTo)&&(n=n[1]-t.toValue(n[0],!0),n*=t.transA,(Math.abs(n)>t.minPixelPadding||t.min===t.dataMin&&t.max===t.dataMax)&&(n=0),t.minPixelPadding-=n))});i(n,"render",function(){this.mapAxis&&(this.mapAxis.fixTo=void 0)})},n}(),t.compose(n),t}),i(t,"parts-map/ColorSeriesMixin.js",[t["parts/Globals.js"]],function(n){n.colorPointMixin={setVisible:function(n){var t=this,i=n?"show":"hide";t.visible=t.options.visible=!!n;["graphic","dataLabel"].forEach(function(n){t[n]&&t[n][i]()});this.series.buildKDTree()}};n.colorSeriesMixin={optionalAxis:"colorAxis",colorAxis:0,translateColors:function(){var n=this,i=this.options.nullColor,t=this.colorAxis,r=this.colorKey;(this.data.length?this.data:this.points).forEach(function(u){var f=u.getNestedProperty(r);(f=u.options.color||(u.isNull||null===u.value?i:t&&"undefined"!=typeof f?t.toColor(f,u):u.color||n.color))&&u.color!==f&&(u.color=f,"point"===n.options.legendType&&u.legendItem&&n.chart.legend.colorizeItem(u,u.visible))})}}}),i(t,"parts-map/ColorAxis.js",[t["parts/Axis.js"],t["parts/Chart.js"],t["parts/Color.js"],t["parts/Globals.js"],t["parts/Legend.js"],t["mixins/legend-symbol.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i,r,u,f,e,o){var p=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),c=i.parse,w=r.noop,h,l;i=o.addEvent;var y=o.erase,a=o.extend,b=o.Fx,k=o.isNumber,v=o.merge,s=o.pick,d=o.splat;return h=r.Series,o=r.colorPointMixin,a(h.prototype,r.colorSeriesMixin),a(e.prototype,o),t.prototype.collectionsWithUpdate.push("colorAxis"),t.prototype.collectionsWithInit.colorAxis=[t.prototype.addColorAxis],l=function(n){function t(t,i){var r=n.call(this,t,i)||this;return r.beforePadding=!1,r.chart=void 0,r.coll="colorAxis",r.dataClasses=void 0,r.legendItem=void 0,r.legendItems=void 0,r.name="",r.options=void 0,r.stops=void 0,r.visible=!0,r.init(t,i),r}return p(t,n),t.buildOptions=function(n,t,i){n=n.options.legend||{};var r=i.layout?"vertical"!==i.layout:"vertical"!==n.layout;return v(t,{side:r?2:1,reversed:!r},i,{opposite:!r,showEmpty:!1,title:null,visible:n.enabled&&(i?!1!==i.visible:!0)})},t.prototype.init=function(i,r){var u=t.buildOptions(i,t.defaultOptions,r);this.coll="colorAxis";n.prototype.init.call(this,i,u);r.dataClasses&&this.initDataClasses(r);this.initStops();this.horiz=!u.opposite;this.zoomEnabled=!1},t.prototype.initDataClasses=function(n){var i=this.chart,u,t=0,f=i.options.chart.colorCount,r=this.options,e=n.dataClasses.length;this.dataClasses=u=[];this.legendItems=[];n.dataClasses.forEach(function(n,o){n=v(n);u.push(n);(i.styledMode||!n.color)&&("category"===r.dataClassColor?(i.styledMode||(o=i.options.colors,f=o.length,n.color=o[t]),n.colorIndex=t,t++,t===f&&(t=0)):n.color=c(r.minColor).tweenTo(c(r.maxColor),2>e?.5:o/(e-1)))})},t.prototype.hasData=function(){return!!(this.tickPositions||[]).length},t.prototype.setTickPositions=function(){if(!this.dataClasses)return n.prototype.setTickPositions.call(this)},t.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(n){n.color=c(n[1])})},t.prototype.setOptions=function(t){n.prototype.setOptions.call(this,t);this.options.crosshair=this.options.marker},t.prototype.setAxisSize=function(){var n=this.legendSymbol,r=this.chart,i=r.options.legend||{},u,f;n?(this.left=i=n.attr("x"),this.top=u=n.attr("y"),this.width=f=n.attr("width"),this.height=n=n.attr("height"),this.right=r.chartWidth-i-f,this.bottom=r.chartHeight-u-n,this.len=this.horiz?f:n,this.pos=this.horiz?i:u):this.len=(this.horiz?i.symbolWidth:i.symbolHeight)||t.defaultLegendLength},t.prototype.normalizedValue=function(n){return this.logarithmic&&(n=this.logarithmic.log2lin(n)),1-(this.max-n)/(this.max-this.min||1)},t.prototype.toColor=function(n,t){var e=this.dataClasses,i=this.stops,r,f,u,o;if(e){for(r=e.length;r--;)if(f=e[r],u=f.from,i=f.to,("undefined"==typeof u||n>=u)&&("undefined"==typeof i||n<=i)){o=f.color;t&&(t.dataClass=r,t.colorIndex=f.colorIndex);break}}else{for(n=this.normalizedValue(n),r=i.length;r--&&!(n>i[r][0]););u=i[r]||i[r+1];i=i[r+1]||u;n=1-(i[0]-n)/(i[0]-u[0]||1);o=u.color.tweenTo(i.color,n)}return o},t.prototype.getOffset=function(){var t=this.legendGroup,i=this.chart.axisOffset[this.side];t&&(this.axisParent=t,n.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=i)},t.prototype.setLegendColor=function(){var t=this.reversed,n=t?1:0;t=t?0:1;n=this.horiz?[n,0,t,0]:[0,t,0,n];this.legendColor={linearGradient:{x1:n[0],y1:n[1],x2:n[2],y2:n[3]},stops:this.stops}},t.prototype.drawLegendSymbol=function(n,i){var f=n.padding,r=n.options,u=this.horiz,e=s(r.symbolWidth,u?t.defaultLegendLength:12),o=s(r.symbolHeight,u?12:t.defaultLegendLength),h=s(r.labelPadding,u?16:30);r=s(r.itemDistance,10);this.setLegendColor();i.legendSymbol=this.chart.renderer.rect(0,n.baseline-11,e,o).attr({zIndex:1}).add(i.legendGroup);this.legendItemWidth=e+f+(u?r:h);this.legendItemHeight=o+f+(u?h:0)},t.prototype.setState=function(n){this.series.forEach(function(t){t.setState(n)})},t.prototype.setVisible=function(){},t.prototype.getSeriesExtremes=function(){var e=this.series,o=e.length,r,t,f;for(this.dataMin=Infinity,this.dataMax=-Infinity;o--;){var n=e[o],i=n.colorKey=s(n.options.colorKey,n.colorKey,n.pointValKey,n.zoneAxis,"y"),u=n.pointArrayMap,c=n[i+"Min"]&&n[i+"Max"];if(n[i+"Data"])t=n[i+"Data"];else if(u){if(t=[],u=u.indexOf(i),f=n.yData,0<=u&&f)for(r=0;r<f.length;r++)t.push(s(f[r][u],f[r]))}else t=n.yData;c?(n.minColorValue=n[i+"Min"],n.maxColorValue=n[i+"Max"]):(t=h.prototype.getExtremes.call(n,t),n.minColorValue=t.dataMin,n.maxColorValue=t.dataMax);"undefined"!=typeof n.minColorValue&&(this.dataMin=Math.min(this.dataMin,n.minColorValue),this.dataMax=Math.max(this.dataMax,n.maxColorValue));c||h.prototype.applyExtremes.call(n)}},t.prototype.drawCrosshair=function(t,i){var e=i&&i.plotX,o=i&&i.plotY,u=this.pos,f=this.len,r;i&&(r=this.toPixels(i.getNestedProperty(i.series.colorKey)),r<u?r=u-2:r>u+f&&(r=u+f+2),i.plotX=r,i.plotY=this.len-r,n.prototype.drawCrosshair.call(this,t,i),i.plotX=e,i.plotY=o,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,!this.chart.styledMode&&this.crosshair&&this.cross.attr({fill:this.crosshair.color})))},t.prototype.getPlotLinePath=function(t){var r=this.left,i=t.translatedValue,u=this.top;return k(i)?this.horiz?[["M",i-4,u-6],["L",i+4,u-6],["L",i,u],["Z"]]:[["M",r,i],["L",r-6,i+6],["L",r-6,i-6],["Z"]]:n.prototype.getPlotLinePath.call(this,t)},t.prototype.update=function(i,r){var u=this.chart,f=u.legend,e=t.buildOptions(u,{},i);this.series.forEach(function(n){n.isDirtyData=!0});(i.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems();u.options[this.coll]=v(this.userOptions,e);n.prototype.update.call(this,e,r);this.legendItem&&(this.setLegendColor(),f.colorizeItem(this,!0))},t.prototype.destroyItems=function(){var n=this.chart;this.legendItem?n.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(t){n.legend.destroyItem(t)});n.isDirtyLegend=!0},t.prototype.remove=function(t){this.destroyItems();n.prototype.remove.call(this,t)},t.prototype.getDataClassLegendSymbols=function(){var t=this,i=t.chart,r=t.legendItems,u=i.options.legend,e=u.valueDecimals,o=u.valueSuffix||"",n;return r.length||t.dataClasses.forEach(function(u,s){var h=!0,c=u.from,l=u.to,v=i.numberFormatter;n="";"undefined"==typeof c?n="< ":"undefined"==typeof l&&(n="> ");"undefined"!=typeof c&&(n+=v(c,e)+o);"undefined"!=typeof c&&"undefined"!=typeof l&&(n+=" - ");"undefined"!=typeof l&&(n+=v(l,e)+o);r.push(a({chart:i,name:n,options:{},drawLegendSymbol:f.drawRectangle,visible:!0,setState:w,isDataClass:!0,setVisible:function(){h=t.visible=!h;t.series.forEach(function(n){n.points.forEach(function(n){n.dataClass===s&&n.setVisible(h)})});i.legend.colorizeItem(this,h)}},u))}),r},t.defaultLegendLength=200,t.defaultOptions={lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},t.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"],t}(n),Array.prototype.push.apply(n.keepProps,l.keepProps),r.ColorAxis=l,["fill","stroke"].forEach(function(n){b.prototype[n+"Setter"]=function(){this.elem.attr(n,c(this.start).tweenTo(c(this.end),this.pos),null,!0)}}),i(t,"afterGetAxes",function(){var t=this,n=t.options;this.colorAxis=[];n.colorAxis&&(n.colorAxis=d(n.colorAxis),n.colorAxis.forEach(function(n,i){n.index=i;new l(t,n)}))}),i(h,"bindAxes",function(){var n=this.axisTypes;n?-1===n.indexOf("colorAxis")&&n.push("colorAxis"):this.axisTypes=["colorAxis"]}),i(u,"afterGetAllItems",function(n){var i=[],t,r;for((this.chart.colorAxis||[]).forEach(function(r){(t=r.options)&&t.showInLegend&&(t.dataClasses&&t.visible?i=i.concat(r.getDataClassLegendSymbols()):t.visible&&i.push(r),r.series.forEach(function(i){(!i.options.showInLegend||t.dataClasses)&&("point"===i.options.legendType?i.points.forEach(function(t){y(n.allItems,t)}):y(n.allItems,i))}))}),r=i.length;r--;)n.allItems.unshift(i[r])}),i(u,"afterColorizeItem",function(n){n.visible&&n.item.legendColor&&n.item.legendSymbol.attr({fill:n.item.legendColor})}),i(u,"afterUpdate",function(){var n=this.chart.colorAxis;n&&n.forEach(function(n,t,i){n.update({},i)})}),i(h,"afterTranslate",function(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}),l}),i(t,"parts-map/ColorMapSeriesMixin.js",[t["parts/Globals.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i){var u=i.defined,r;i=n.noop;r=n.seriesTypes;n.colorMapPointMixin={dataLabelOnNull:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setState:function(n){t.prototype.setState.call(this,n);this.graphic&&this.graphic.attr({zIndex:"hover"===n?1:0})}};n.colorMapSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:i,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:r.column.prototype.pointAttribs,colorAttribs:function(n){var t={};return u(n.color)&&(t[this.colorProp||"fill"]=n.color),t}}}),i(t,"parts-map/MapNavigation.js",[t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t,i){function e(n){n&&(n.preventDefault&&n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.cancelBubble=!0)}function r(n){this.init(n)}var h=t.doc,u=i.addEvent,s=i.extend,o=i.merge,c=i.objectEach,f=i.pick;r.prototype.init=function(n){this.chart=n;n.mapNavButtons=[]};r.prototype.update=function(n){var t=this.chart,r=t.options.mapNavigation,i,h,l,v,y,p=function(n){this.handler.call(t,n);e(n)},a=t.mapNavButtons;for(n&&(r=t.options.mapNavigation=o(t.options.mapNavigation,n));a.length;)a.pop().destroy();f(r.enableButtons,r.enabled)&&!t.renderer.forExport&&c(r.buttons,function(n,f){i=o(r.buttonOptions,n);t.styledMode||(h=i.theme,h.style=o(i.theme.style,i.style),v=(l=h.states)&&l.hover,y=l&&l.select);n=t.renderer.button(i.text,0,0,p,h,v,y,0,"zoomIn"===f?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[f]).attr({width:i.width,height:i.height,title:t.options.lang[f],padding:i.padding,zIndex:5}).add();n.handler=i.onclick;u(n.element,"dblclick",e);a.push(n);var c=i,w=u(t,"load",function(){n.align(s(c,{width:n.width,height:2*n.height}),null,c.alignTo);w()})});this.updateEvents(r)};r.prototype.updateEvents=function(n){var t=this.chart;f(n.enableDoubleClickZoom,n.enabled)||n.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||u(t.container,"dblclick",function(n){t.pointer.onContainerDblClick(n)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());f(n.enableMouseWheelZoom,n.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||u(t.container,"undefined"==typeof h.onmousewheel?"DOMMouseScroll":"mousewheel",function(n){t.pointer.onContainerMouseWheel(n);return e(n),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};s(n.prototype,{fitToBox:function(n,t){return[["x","width"],["y","height"]].forEach(function(i){var r=i[0];i=i[1];n[r]+n[i]>t[r]+t[i]&&(n[i]>t[i]?(n[i]=t[i],n[r]=t[r]):n[r]=t[r]+t[i]-n[i]);n[i]>t[i]&&(n[i]=t[i]);n[r]<t[r]&&(n[r]=t[r])}),n},mapZoom:function(n,t,i,r,u){var o=this.xAxis[0],e=o.max-o.min,s=f(t,o.min+e/2),c=e*n,h,l;e=this.yAxis[0];h=e.max-e.min;l=f(i,e.min+h/2);h*=n;s=this.fitToBox({x:s-c*(r?(r-o.pos)/o.len:.5),y:l-h*(u?(u-e.pos)/e.len:.5),width:c,height:h},{x:o.dataMin,y:e.dataMin,width:o.dataMax-o.dataMin,height:e.dataMax-e.dataMin});c=s.x<=o.dataMin&&s.width>=o.dataMax-o.dataMin&&s.y<=e.dataMin&&s.height>=e.dataMax-e.dataMin;r&&o.mapAxis&&(o.mapAxis.fixTo=[r-o.pos,t]);u&&e.mapAxis&&(e.mapAxis.fixTo=[u-e.pos,i]);"undefined"==typeof n||c?(o.setExtremes(void 0,void 0,!1),e.setExtremes(void 0,void 0,!1)):(o.setExtremes(s.x,s.x+s.width,!1),e.setExtremes(s.y,s.y+s.height,!1));this.redraw()}});u(n,"beforeRender",function(){this.mapNavigation=new r(this);this.mapNavigation.update()});t.MapNavigation=r}),i(t,"parts-map/MapPointer.js",[t["parts/Pointer.js"],t["parts/Utilities.js"]],function(n,t){var i=t.extend,r=t.pick;t=t.wrap;i(n.prototype,{onContainerDblClick:function(n){var t=this.chart;n=this.normalize(n);t.options.mapNavigation.enableDoubleClickZoomTo?t.pointer.inClass(n.target,"highcharts-tracker")&&t.hoverPoint&&t.hoverPoint.zoomTo():t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&t.mapZoom(.5,t.xAxis[0].toValue(n.chartX),t.yAxis[0].toValue(n.chartY),n.chartX,n.chartY)},onContainerMouseWheel:function(n){var t=this.chart,i;n=this.normalize(n);i=n.detail||-(n.wheelDelta/120);t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)&&t.mapZoom(Math.pow(t.options.mapNavigation.mouseWheelSensitivity,i),t.xAxis[0].toValue(n.chartX),t.yAxis[0].toValue(n.chartY),n.chartX,n.chartY)}});t(n.prototype,"zoomOption",function(n){var t=this.chart.options.mapNavigation;r(t.enableTouchZoom,t.enabled)&&(this.chart.options.chart.pinchType="xy");n.apply(this,[].slice.call(arguments,1))});t(n.prototype,"pinchTranslate",function(n,t,i,r,u,f,e){n.call(this,t,i,r,u,f,e);"map"===this.chart.options.chart.type&&this.hasZoom&&(n=r.scaleX>r.scaleY,this.pinchTranslateDirection(!n,t,i,r,u,f,e,n?r.scaleX:r.scaleY))})}),i(t,"parts-map/MapSeries.js",[t["parts/Globals.js"],t["mixins/legend-symbol.js"],t["parts/Point.js"],t["parts/SVGRenderer.js"],t["parts/Utilities.js"]],function(n,t,i,r,u){var c=u.extend,v=u.fireEvent,l=u.getNestedProperty,y=u.isArray,e=u.isNumber,a=u.merge,p=u.objectEach,f=u.pick,w=u.seriesType,b=u.splat,k=n.colorMapPointMixin,h=n.noop,o=n.Series,s=n.seriesTypes;w("map","scatter",{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"},inactive:{opacity:1}}},a(n.colorMapSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:h,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],setOptions:function(n){n=o.prototype.setOptions.call(this,n);var t=n.joinBy;return null===t&&(t="_i"),t=this.joinBy=b(t),t[1]||(t[1]=t[0]),n},getBox:function(t){var i=Number.MAX_VALUE,s=-i,h=i,c=-i,l=i,u=i,e=this.xAxis,o=this.yAxis,a;(t||[]).forEach(function(t){if(t.path){"string"==typeof t.path?t.path=n.splitPath(t.path):"M"===t.path[0]&&(t.path=r.prototype.pathToSegments(t.path));var w=t.path||[],v=-i,e=i,y=-i,o=i,p=t.properties;t._foundBox||(w.forEach(function(n){var t=n[n.length-2];n=n[n.length-1];"number"==typeof t&&"number"==typeof n&&(e=Math.min(e,t),v=Math.max(v,t),o=Math.min(o,n),y=Math.max(y,n))}),t._midX=e+(v-e)*f(t.middleX,p&&p["hc-middle-x"],.5),t._midY=o+(y-o)*f(t.middleY,p&&p["hc-middle-y"],.5),t._maxX=v,t._minX=e,t._maxY=y,t._minY=o,t.labelrank=f(t.labelrank,(v-e)*(y-o)),t._foundBox=!0);s=Math.max(s,t._maxX);h=Math.min(h,t._minX);c=Math.max(c,t._maxY);l=Math.min(l,t._minY);u=Math.min(t._maxX-t._minX,t._maxY-t._minY,u);a=!0}});a&&(this.minY=Math.min(l,f(this.minY,i)),this.maxY=Math.max(c,f(this.maxY,-i)),this.minX=Math.min(h,f(this.minX,i)),this.maxX=Math.max(s,f(this.maxX,-i)),e&&"undefined"==typeof e.options.minRange&&(e.minRange=Math.min(5*u,(this.maxX-this.minX)/5,e.minRange||i)),o&&"undefined"==typeof o.options.minRange&&(o.minRange=Math.min(5*u,(this.maxY-this.minY)/5,o.minRange||i)))},hasData:function(){return!!this.processedXData.length},getExtremes:function(){var n=o.prototype.getExtremes.call(this,this.valueData),t=n.dataMin;return n=n.dataMax,this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data),e(t)&&(this.valueMin=t),e(n)&&(this.valueMax=n),{dataMin:this.minY,dataMax:this.maxY}},translatePath:function(n){var s=this.xAxis,h=this.yAxis,t=s.min,i=s.transA,r=s.minPixelPadding,u=h.min,f=h.transA,e=h.minPixelPadding,o=[];return n&&n.forEach(function(n){"M"===n[0]?o.push(["M",(n[1]-(t||0))*i+r,(n[2]-(u||0))*f+e]):"L"===n[0]?o.push(["L",(n[1]-(t||0))*i+r,(n[2]-(u||0))*f+e]):"C"===n[0]?o.push(["C",(n[1]-(t||0))*i+r,(n[2]-(u||0))*f+e,(n[3]-(t||0))*i+r,(n[4]-(u||0))*f+e,(n[5]-(t||0))*i+r,(n[6]-(u||0))*f+e]):"Q"===n[0]?o.push(["Q",(n[1]-(t||0))*i+r,(n[2]-(u||0))*f+e,(n[3]-(t||0))*i+r,(n[4]-(u||0))*f+e]):"Z"===n[0]&&o.push(["Z"])}),o},setData:function(t,r,u,f){var d=this.options,c=this.chart.options.chart,v=c&&c.map,s=d.mapData,h=this.joinBy,b=d.keys||this.pointArrayMap,k=[],g={},w=this.chart.mapTransforms,nt,tt;if(!s&&v&&(s="string"==typeof v?n.maps[v]:v),t&&t.forEach(function(n,r){var f=0,u;if(e(n))t[r]={value:n};else if(y(n))for(t[r]={},!d.keys&&n.length>b.length&&"string"==typeof n[0]&&(t[r]["hc-key"]=n[0],++f),u=0;u<b.length;++u,++f)b[u]&&"undefined"!=typeof n[f]&&(0<b[u].indexOf(".")?i.prototype.setNestedProperty(t[r],n[f],b[u]):t[r][b[u]]=n[f]);h&&"_i"===h[0]&&(t[r]._i=r)}),this.getBox(t),(this.chart.mapTransforms=w=c&&c.mapTransforms||s&&s["hc-transform"]||w)&&p(w,function(n){n.rotation&&(n.cosAngle=Math.cos(n.rotation),n.sinAngle=Math.sin(n.rotation))}),s){for("FeatureCollection"===s.type&&(this.mapTitle=s.title,s=n.geojson(s,this.type,this)),this.mapData=s,this.mapMap={},w=0;w<s.length;w++)c=s[w],v=c.properties,c._i=w,h[0]&&v&&v[h[0]]&&(c[h[0]]=v[h[0]]),g[c[h[0]]]=c;this.mapMap=g;t&&h[1]&&(nt=h[1],t.forEach(function(n){n=l(nt,n);g[n]&&k.push(g[n])}));d.allAreas?(this.getBox(s),t=t||[],h[1]&&(tt=h[1],t.forEach(function(n){k.push(l(tt,n))})),k="|"+k.map(function(n){return n&&n[h[0]]}).join("|")+"|",s.forEach(function(n){h[0]&&-1!==k.indexOf("|"+n[h[0]]+"|")||(t.push(a(n,{value:null})),f=!1)})):this.getBox(k)}o.prototype.setData.call(this,t,r,u,f)},drawGraph:h,drawDataLabels:h,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var n=this,t=n.xAxis,i=n.yAxis,r=n.doFullTranslate();n.generatePoints();n.data.forEach(function(u){e(u._midX)&&e(u._midY)&&(u.plotX=t.toPixels(u._midX,!0),u.plotY=i.toPixels(u._midY,!0));r&&(u.shapeType="path",u.shapeArgs={d:n.translatePath(u.path)})});v(n,"afterTranslate")},pointAttribs:function(n,t){return t=n.series.chart.styledMode?this.colorAttribs(n):s.column.prototype.pointAttribs.call(this,n,t),t["stroke-width"]=f(n.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit"),t},drawPoints:function(){var n=this,r=n.xAxis,t=n.yAxis,a=n.group,u=n.chart,b=u.renderer,h=this.baseTrans,i;if(n.transformGroup||(n.transformGroup=b.g().attr({scaleX:1,scaleY:1}).add(a),n.transformGroup.survive=!0),n.doFullTranslate())u.hasRendered&&!u.styledMode&&n.points.forEach(function(t){t.shapeArgs&&(t.shapeArgs.fill=n.pointAttribs(t,t.state).fill)}),n.group=n.transformGroup,s.column.prototype.drawPoints.apply(n),n.group=a,n.points.forEach(function(t){if(t.graphic){var i="";t.name&&(i+="highcharts-name-"+t.name.replace(/ /g,"-").toLowerCase());t.properties&&t.properties["hc-key"]&&(i+=" highcharts-key-"+t.properties["hc-key"].toLowerCase());i&&t.graphic.addClass(i);u.styledMode&&t.graphic.css(n.pointAttribs(t,t.selected&&"select"||void 0))}}),this.baseTrans={originX:r.min-r.minPixelPadding/r.transA,originY:t.min-t.minPixelPadding/t.transA+(t.reversed?0:t.len/t.transA),transAX:r.transA,transAY:t.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1});else{var e=r.transA/h.transAX,o=t.transA/h.transAY,c=r.toPixels(h.originX,!0),l=t.toPixels(h.originY,!0);if(.99<e&&1.01>e&&.99<o&&1.01>o&&(o=e=1,c=Math.round(c),l=Math.round(l)),i=this.transformGroup,u.renderer.globalAnimation){var v=i.attr("translateX"),y=i.attr("translateY"),p=i.attr("scaleX"),w=i.attr("scaleY");i.attr({animator:0}).animate({animator:1},{step:function(n,t){i.attr({translateX:v+(c-v)*t.pos,translateY:y+(l-y)*t.pos,scaleX:p+(e-p)*t.pos,scaleY:w+(o-w)*t.pos})}})}else i.attr({translateX:c,translateY:l,scaleX:e,scaleY:o})}u.styledMode||a.element.setAttribute("stroke-width",f(n.options[n.pointAttrToOptions&&n.pointAttrToOptions["stroke-width"]||"borderWidth"],1)/(e||1));this.drawMapDataLabels()},drawMapDataLabels:function(){o.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var n=this,t=o.prototype.render;n.chart.renderer.isVML&&3e3<n.data.length?setTimeout(function(){t.call(n)}):t.call(n)},animate:function(n){var t=this.options.animation,i=this.group,r=this.xAxis,u=this.yAxis,f=r.pos,e=u.pos;this.chart.renderer.isSVG&&(!0===t&&(t={duration:1e3}),n?i.attr({translateX:f+r.len/2,translateY:e+u.len/2,scaleX:.001,scaleY:.001}):i.animate({translateX:f,translateY:e,scaleX:1,scaleY:1},t))},animateDrilldown:function(n){var r=this.chart.plotBox,i=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],t=i.bBox,u=this.chart.options.drilldown.animation;n||(n=Math.min(t.width/r.width,t.height/r.height),i.shapeArgs={scaleX:n,scaleY:n,translateX:t.x,translateY:t.y},this.points.forEach(function(n){n.graphic&&n.graphic.attr(i.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},u)}))},drawLegendSymbol:t.drawRectangle,animateDrillupFrom:function(n){s.column.prototype.animateDrillupFrom.call(this,n)},animateDrillupTo:function(n){s.column.prototype.animateDrillupTo.call(this,n)}}),c({applyOptions:function(n,t){var r=this.series;return n=i.prototype.applyOptions.call(this,n,t),t=r.joinBy,r.mapData&&r.mapMap&&(t=i.prototype.getNestedProperty.call(n,t[1]),(t="undefined"!=typeof t&&r.mapMap[t])?(r.xyFromShape&&(n.x=t._midX,n.y=t._midY),c(n,t)):n.value=n.value||null),n},onMouseOver:function(n){if(u.clearTimeout(this.colorInterval),null!==this.value||this.series.options.nullInteraction)i.prototype.onMouseOver.call(this,n);else this.series.onMouseOut(n)},zoomTo:function(){var n=this.series;n.xAxis.setExtremes(this._minX,this._maxX,!1);n.yAxis.setExtremes(this._minY,this._maxY,!1);n.chart.redraw()}},k));""}),i(t,"parts-map/MapLineSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){t=t.seriesType;var i=n.seriesTypes;t("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(n,t){return n=i.map.prototype.pointAttribs.call(this,n,t),n.fill=this.options.fillColor,n},drawLegendSymbol:i.line.prototype.drawLegendSymbol});""}),i(t,"parts-map/MapPointSeries.js",[t["parts/Globals.js"]],function(n){var t=n.merge,i=n.Point,r=n.Series;n=n.seriesType;n("mappoint","scatter",{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0,drawDataLabels:function(){r.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}},{applyOptions:function(n,r){return n="undefined"!=typeof n.lat&&"undefined"!=typeof n.lon?t(n,this.series.chart.fromLatLonToPoint(n)):n,i.prototype.applyOptions.call(this,n,r)}});""}),i(t,"parts-more/BubbleLegend.js",[t["parts/Chart.js"],t["parts/Color.js"],t["parts/Globals.js"],t["parts/Legend.js"],t["parts/Utilities.js"]],function(n,t,i,r,u){var a=t.parse,c,l;t=u.addEvent;var v=u.arrayMax,y=u.arrayMin,s=u.isNumber,e=u.merge,h=u.objectEach,f=u.pick,o=u.setOptions,p=u.stableSort,w=u.wrap;return c=i.Series,l=i.noop,o({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}}),o=function(){function n(n,t){this.options=this.symbols=this.visible=this.ranges=this.movementX=this.maxLabel=this.legendSymbol=this.legendItemWidth=this.legendItemHeight=this.legendItem=this.legendGroup=this.legend=this.fontMetrics=this.chart=void 0;this.setState=l;this.init(n,t)}return n.prototype.init=function(n,t){this.options=n;this.visible=!0;this.chart=t.chart;this.legend=t},n.prototype.addToLegend=function(n){n.splice(this.options.legendIndex,0,this)},n.prototype.drawLegendSymbol=function(n){var r=this.chart,u=this.options,e=f(n.options.itemDistance,20),t=u.ranges,i=u.connectorDistance;this.fontMetrics=r.renderer.fontMetrics(u.labels.style.fontSize.toString()+"px");t&&t.length&&s(t[0].value)?(p(t,function(n,t){return t.value-n.value}),this.ranges=t,this.setOptions(),this.render(),r=this.getMaxLabelSize(),t=this.ranges[0].radius,n=2*t,i=i-t+r.width,i=0<i?i:0,this.maxLabel=r,this.movementX="left"===u.labels.align?i:0,this.legendItemWidth=n+i+e,this.legendItemHeight=n+this.fontMetrics.h/2):n.options.bubbleLegend.autoRanges=!0},n.prototype.setOptions=function(){var t=this.ranges,n=this.options,i=this.chart.series[n.seriesIndex],h=this.legend.baseline,r={"z-index":n.zIndex,"stroke-width":n.borderWidth},u={"z-index":n.zIndex,"stroke-width":n.connectorWidth},c=this.getLabelStyles(),o=i.options.marker.fillOpacity,s=this.chart.styledMode;t.forEach(function(l,v){s||(r.stroke=f(l.borderColor,n.borderColor,i.color),r.fill=f(l.color,n.color,1!==o?a(i.color).setOpacity(o).get("rgba"):i.color),u.stroke=f(l.connectorColor,n.connectorColor,i.color));t[v].radius=this.getRangeRadius(l.value);t[v]=e(t[v],{center:t[0].radius-t[v].radius+h});s||e(!0,t[v],{bubbleStyle:e(!1,r),connectorStyle:e(!1,u),labelStyle:c})},this)},n.prototype.getLabelStyles=function(){var n=this.options,t={},i="left"===n.labels.align,r=this.legend.options.rtl;return h(n.labels.style,function(n,i){"color"!==i&&"fontSize"!==i&&"z-index"!==i&&(t[i]=n)}),e(!1,t,{"font-size":n.labels.style.fontSize,fill:f(n.labels.style.color,"#000000"),"z-index":n.zIndex,align:r||i?"right":"left"})},n.prototype.getRangeRadius=function(n){var t=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,t.ranges[t.ranges.length-1].value,t.ranges[0].value,t.minSize,t.maxSize,n)},n.prototype.render=function(){var n=this.chart.renderer,t=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]});this.legendSymbol=n.g("bubble-legend");this.legendItem=n.g("bubble-legend-item");this.legendSymbol.translateX=0;this.legendSymbol.translateY=0;this.ranges.forEach(function(n){n.value>=t&&this.renderRange(n)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()},n.prototype.renderRange=function(n){var t=this.options,u=t.labels,f=this.chart.renderer,c=this.symbols,y=c.labels,a=n.center,v=Math.abs(n.radius),i=t.connectorDistance||0,e=u.align,o=u.style.fontSize,s,h,r,l;i=this.legend.options.rtl||"left"===e?-i:i;u=t.connectorWidth;s=this.ranges[0].radius||0;h=a-v-t.borderWidth/2+u/2;o=o/2-(this.fontMetrics.h-o)/2;r=f.styledMode;"center"===e&&(i=0,t.connectorDistance=0,n.labelStyle.align="center");e=h+t.labels.y;l=s+i+t.labels.x;c.bubbleItems.push(f.circle(s,a+((h%1?1:.5)-(u%2?0:.5)),v).attr(r?{}:n.bubbleStyle).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(t.className||"")).add(this.legendSymbol));c.connectors.push(f.path(f.crispLine([["M",s,h],["L",s+i,h]],t.connectorWidth)).attr(r?{}:n.connectorStyle).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(t.connectorClassName||"")).add(this.legendSymbol));n=f.text(this.formatLabel(n),l,e+o).attr(r?{}:n.labelStyle).addClass("highcharts-bubble-legend-labels "+(t.labels.className||"")).add(this.legendSymbol);y.push(n);n.placed=!0;n.alignAttr={x:l,y:e+o}},n.prototype.getMaxLabelSize=function(){var n,t;return this.symbols.labels.forEach(function(i){t=i.getBBox(!0);n=n?t.width>n.width?t:n:t}),n||{}},n.prototype.formatLabel=function(n){var t=this.options,i=t.labels.formatter,r;return t=t.labels.format,r=this.chart.numberFormatter,t?u.format(t,n):i?i.call(n):r(n.value,1)},n.prototype.hideOverlappingLabels=function(){var t=this.chart,n=this.symbols;!this.options.labels.allowOverlap&&n&&(t.hideOverlappingLabels(n.labels),n.labels.forEach(function(t,i){t.newOpacity?t.newOpacity!==t.oldOpacity&&n.connectors[i].show():n.connectors[i].hide()}))},n.prototype.getRanges=function(){var o=this.legend.bubbleLegend,t=o.options.ranges,u,i=Number.MAX_VALUE,n=-Number.MAX_VALUE,r;return o.chart.series.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(u=t.zData.filter(s),u.length&&(i=f(t.options.zMin,Math.min(i,Math.max(y(u),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),n=f(t.options.zMax,Math.max(n,v(u)))))}),r=i===n?[{value:n}]:[{value:i},{value:(i+n)/2},{value:n,autoRanges:!0}],t.length&&t[0].radius&&r.reverse(),r.forEach(function(n,i){t&&t[i]&&(r[i]=e(!1,t[i],n))}),r},n.prototype.predictBubbleSizes=function(){var t=this.chart,i=this.fontMetrics,o=t.legend.options,r="horizontal"===o.layout,h=r?t.legend.lastLineHeight:0,u=t.plotSizeX,f=t.plotSizeY,n=t.series[this.options.seriesIndex],e,s;return t=Math.ceil(n.minPxSize),e=Math.ceil(n.maxPxSize),n=n.options.maxSize,s=Math.min(f,u),o.floating||!/%$/.test(n)?i=e:(n=parseFloat(n),i=(s+h-i.h/2)*n/100/(n/100+1),r&&f-i>=u||!r&&u-i>=f)&&(i=e),[t,Math.ceil(i)]},n.prototype.updateRanges=function(n,t){var i=this.legend.options.bubbleLegend;i.minSize=n;i.maxSize=t;i.ranges=this.getRanges()},n.prototype.correctSizes=function(){var t=this.legend,n=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(n.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,n.maxPxSize),t.render())},n}(),t(r,"afterGetAllItems",function(n){var r=this.bubbleLegend,u=this.options,t=u.bubbleLegend,f=this.chart.getVisibleBubbleSeriesIndex();r&&r.ranges&&r.ranges.length&&(t.ranges.length&&(t.autoRanges=!!t.ranges[0].autoRanges),this.destroyItem(r));0<=f&&u.enabled&&t.enabled&&(t.seriesIndex=f,this.bubbleLegend=new i.BubbleLegend(t,this),this.bubbleLegend.addToLegend(n.allItems))}),n.prototype.getVisibleBubbleSeriesIndex=function(){for(var t=this.series,n=0;n<t.length;){if(t[n]&&t[n].isBubble&&t[n].visible&&t[n].zData.length)return n;n++}return-1},r.prototype.getLinesHeights=function(){for(var t=this.allItems,r=[],f=t.length,i=0,u,n=0;n<f;n++)if(t[n].legendItemHeight&&(t[n].itemHeight=t[n].legendItemHeight),t[n]===t[f-1]||t[n+1]&&t[n]._legendItemPos[1]!==t[n+1]._legendItemPos[1]){for(r.push({height:0}),u=r[r.length-1],i;i<=n;i++)t[i].itemHeight>u.height&&(u.height=t[i].itemHeight);u.step=n}return r},r.prototype.retranslateItems=function(n){var r,u,t,f=this.options.rtl,i=0;this.allItems.forEach(function(e,o){r=e.legendGroup.translateX;u=e._legendItemPos[1];((t=e.movementX)||f&&e.ranges)&&(t=f?r-e.options.maxSize/2:r+t,e.legendGroup.attr({translateX:t}));o>n[i].step&&i++;e.legendGroup.attr({translateY:Math.round(u+n[i].height/2)});e._legendItemPos[1]=u+n[i].height/2})},t(c,"legendItemClick",function(){var n=this.chart,i=this.visible,t=this.chart.legend;t&&t.bubbleLegend&&(this.visible=!i,this.ignoreSeries=i,n=0<=n.getVisibleBubbleSeriesIndex(),t.bubbleLegend.visible!==n&&(t.update({bubbleLegend:{enabled:n}}),t.bubbleLegend.visible=n),this.visible=i)}),w(n.prototype,"drawChartBox",function(n,t,i){var r=this.legend,u=0<=this.getVisibleBubbleSeriesIndex(),f;r&&r.options.enabled&&r.bubbleLegend&&r.options.bubbleLegend.autoRanges&&u?(f=r.bubbleLegend.options,u=r.bubbleLegend.predictBubbleSizes(),r.bubbleLegend.updateRanges(u[0],u[1]),f.placed||(r.group.placed=!1,r.allItems.forEach(function(n){n.legendGroup.translateY=null})),r.render(),this.getMargins(),this.axes.forEach(function(n){n.visible&&n.render();f.placed||(n.setScale(),n.updateNames(),h(n.ticks,function(n){n.isNew=!0;n.isNewLabel=!0}))}),f.placed=!0,this.getMargins(),n.call(this,t,i),r.bubbleLegend.correctSizes(),r.retranslateItems(r.getLinesHeights())):(n.call(this,t,i),r&&r.options.enabled&&r.bubbleLegend&&(r.render(),r.retranslateItems(r.getLinesHeights())))}),i.BubbleLegend=o,i.BubbleLegend}),i(t,"parts-more/BubbleSeries.js",[t["parts/Globals.js"],t["parts/Color.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i,r){var s=t.parse,h=r.arrayMax,c=r.arrayMin,l=r.clamp,a=r.extend,u=r.isNumber,f=r.pick,v=r.pInt;t=r.seriesType;r=n.Axis;var e=n.noop,y=n.Series,o=n.seriesTypes;t("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(n,t){var i=this.options.marker.fillOpacity;return n=y.prototype.pointAttribs.call(this,n,t),1!==i&&(n.fill=s(n.fill).setOpacity(i).get("rgba")),n},getRadii:function(n,t,i){var u=this.zData,o=this.yData,s=i.minPxSize,h=i.maxPxSize,f=[],r=0,e;for(i=u.length;r<i;r++)e=u[r],f.push(this.getRadius(n,t,s,h,e,o[r]));this.radii=f},getRadius:function(n,t,i,r,f,e){var s=this.options,l="width"!==s.sizeBy,h=s.zThreshold,c=t-n,o=.5;if(null===e||null===f)return null;if(u(f)){if(s.sizeByAbsoluteValue&&(f=Math.abs(f-h),c=Math.max(t-h,Math.abs(n-h)),n=0),f<n)return i/2-1;0<c&&(o=(f-n)/c)}return l&&0<=o&&(o=Math.sqrt(o)),Math.ceil(i+o*(r-i))/2},animate:function(n){!n&&this.points.length<this.options.animationLimit&&this.points.forEach(function(n){var t=n.graphic;t&&t.width&&(this.hasRendered||t.attr({x:n.plotX,y:n.plotY,width:1,height:1}),t.animate(this.markerAttribs(n),this.options.animation))},this)},hasData:function(){return!!this.processedXData.length},translate:function(){var i,r=this.data,f=this.radii,t,n;for(o.scatter.prototype.translate.call(this),i=r.length;i--;)t=r[i],n=f?f[i]:0,u(n)&&n>=this.minPxSize/2?(t.marker=a(t.marker,{radius:n,width:2*n,height:2*n}),t.dlBox={x:t.plotX-n,y:t.plotY-n,width:2*n,height:2*n}):t.shapeArgs=t.plotY=t.dlBox=void 0},alignDataLabel:o.column.prototype.alignDataLabel,buildKDTree:e,applyZones:e},{haloPath:function(n){return i.prototype.haloPath.call(this,0===n?0:(this.marker?this.marker.radius||0:0)+n)},ttBelow:!1});r.prototype.beforePadding=function(){var n=this,t=this.len,s=this.chart,r=0,i=t,a=this.isXAxis,d=a?"xData":"yData",y=this.min,e={},g=Math.min(s.plotWidth,s.plotHeight),p=Number.MAX_VALUE,w=-Number.MAX_VALUE,b=this.max-y,o=t/b,k=[];this.series.forEach(function(t){var i=t.options;t.bubblePadding&&(t.visible||!s.options.chart.ignoreHiddenSeries)&&(n.allowZoomOutside=!0,k.push(t),a&&(["minSize","maxSize"].forEach(function(n){var t=i[n],r=/%$/.test(t);t=v(t);e[n]=r?g*t/100:t}),t.minPxSize=e.minSize,t.maxPxSize=Math.max(e.maxSize,e.minSize),t=t.zData.filter(u),t.length&&(p=f(i.zMin,l(c(t),!1===i.displayNegative?i.zThreshold:-Number.MAX_VALUE,p)),w=f(i.zMax,Math.max(w,h(t))))))});k.forEach(function(t){var e=t[d],f=e.length,s;if(a&&t.getRadii(p,w,t),0<b)for(;f--;)u(e[f])&&n.dataMin<=e[f]&&e[f]<=n.max&&(s=t.radii?t.radii[f]:0,r=Math.min((e[f]-y)*o-s,r),i=Math.max((e[f]-y)*o+s,i))});k.length&&0<b&&!this.logarithmic&&(i-=t,o*=(t+Math.max(0,r)-Math.min(i,t))/t,[["min","userMin",r],["max","userMax",i]].forEach(function(t){"undefined"==typeof f(n.options[t[0]],n[t[1]])&&(n[t[0]]+=t[2]/o)}))};""}),i(t,"parts-map/MapBubbleSeries.js",[t["parts/Globals.js"],t["parts/Point.js"],t["parts/Utilities.js"]],function(n,t,i){var u=i.merge,r;i=i.seriesType;r=n.seriesTypes;r.bubble&&i("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:r.map.prototype.getMapData,getBox:r.map.prototype.getBox,setData:r.map.prototype.setData,setOptions:r.map.prototype.setOptions},{applyOptions:function(n,i){return n&&"undefined"!=typeof n.lat&&"undefined"!=typeof n.lon?t.prototype.applyOptions.call(this,u(n,this.series.chart.fromLatLonToPoint(n)),i):r.map.prototype.pointClass.prototype.applyOptions.call(this,n,i)},isValid:function(){return"number"==typeof this.z},ttBelow:!1});""}),i(t,"parts-map/HeatmapSeries.js",[t["parts/Globals.js"],t["mixins/legend-symbol.js"],t["parts/SVGRenderer.js"],t["parts/Utilities.js"]],function(n,t,i,r){var e=r.clamp,s=r.extend,l=r.fireEvent,h=r.isNumber,o=r.merge,c=r.pick;r=r.seriesType;"";var a=n.colorMapPointMixin,u=n.Series,f=i.prototype.symbols;r("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}}},o(n.colorMapSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){u.prototype.init.apply(this,arguments);var n=this.options;n.pointRange=c(n.pointRange,n.colsize||1);this.yAxis.axisPointRange=n.rowsize||1;s(f,{ellipse:f.circle,rect:f.square})},getSymbol:u.prototype.getSymbol,setClip:function(n){var t=this.chart;u.prototype.setClip.apply(this,arguments);(!1!==this.options.clip||n)&&this.markerGroup.clip((n||this.clipBox)&&this.sharedClipKey?t[this.sharedClipKey]:t.clipRect)},translate:function(){var n=this.options,t=n.marker&&n.marker.symbol||"",i=f[t]?t:"rect",r;n=this.options;r=-1!==["circle","square"].indexOf(i);this.generatePoints();this.points.forEach(function(n){var e=n.getCellAttributes(),u={x:Math.min(e.x1,e.x2),y:Math.min(e.y1,e.y2),width:Math.max(Math.abs(e.x2-e.x1),0),height:Math.max(Math.abs(e.y2-e.y1),0)},c=n.hasImage=0===(n.marker&&n.marker.symbol||t||"").indexOf("url"),h;r&&(h=Math.abs(u.width-u.height),u.x=Math.min(e.x1,e.x2)+(u.width<u.height?0:h/2),u.y=Math.min(e.y1,e.y2)+(u.width<u.height?h/2:0),u.width=u.height=Math.min(u.width,u.height));h={plotX:(e.x1+e.x2)/2,plotY:(e.y1+e.y2)/2,clientX:(e.x1+e.x2)/2,shapeType:"path",shapeArgs:o(!0,u,{d:f[i](u.x,u.y,u.width,u.height)})};c&&(n.marker={width:u.width,height:u.height});s(n,h)});l(this,"afterTranslate")},pointAttribs:function(t,i){var r=u.prototype.pointAttribs.call(this,t,i),f=this.options||{},e=this.chart.options.plotOptions||{},s=e.series||{},h=e.heatmap||{};return e=f.borderColor||h.borderColor||s.borderColor,s=f.borderWidth||h.borderWidth||s.borderWidth||r["stroke-width"],r.stroke=t&&t.marker&&t.marker.lineColor||f.marker&&f.marker.lineColor||e||this.color,r["stroke-width"]=s,i&&(t=o(f.states[i],f.marker&&f.marker.states[i],t.options.states&&t.options.states[i]||{}),i=t.brightness,r.fill=t.color||n.color(r.fill).brighten(i||0).get(),r.stroke=t.lineColor),r},markerAttribs:function(n,t){var e=n.marker||{},o=this.options.marker||{},i=n.shapeArgs||{},r={},u,f;return n.hasImage?{x:n.plotX,y:n.plotY}:(t&&(u=o.states[t]||{},f=e.states&&e.states[t]||{},[["width","x"],["height","y"]].forEach(function(n){r[n[0]]=(f[n[0]]||u[n[0]]||i[n[0]])+(f[n[0]+"Plus"]||u[n[0]+"Plus"]||0);r[n[1]]=i[n[1]]+(i[n[0]]-r[n[0]])/2})),t?r:i)},drawPoints:function(){var n=this;((this.options.marker||{}).enabled||this._hasPointMarkers)&&(u.prototype.drawPoints.call(this),this.points.forEach(function(t){t.graphic&&t.graphic[n.chart.styledMode?"css":"animate"](n.colorAttribs(t))}))},hasData:function(){return!!this.processedXData.length},getValidPoints:function(n,t){return u.prototype.getValidPoints.call(this,n,t,!0)},getBox:n.noop,drawLegendSymbol:t.drawRectangle,alignDataLabel:n.seriesTypes.column.prototype.alignDataLabel,getExtremes:function(){var n=u.prototype.getExtremes.call(this,this.valueData),t=n.dataMin;return n=n.dataMax,h(t)&&(this.valueMin=t),h(n)&&(this.valueMax=n),u.prototype.getExtremes.call(this)}}),o(a,{applyOptions:function(t,i){return t=n.Point.prototype.applyOptions.call(this,t,i),t.formatPrefix=t.isNull||null===t.value?"null":"point",t},isValid:function(){return Infinity!==this.value&&-Infinity!==this.value},haloPath:function(n){if(!n)return[];var t=this.shapeArgs;return["M",t.x-n,t.y-n,"L",t.x-n,t.y+t.height+n,t.x+t.width+n,t.y+t.height+n,t.x+t.width+n,t.y-n,"Z"]},getCellAttributes:function(){var t=this.series,o=t.options,s=(o.colsize||1)/2,h=(o.rowsize||1)/2,i=t.xAxis,r=t.yAxis,u=this.options.marker||t.options.marker,f,n;return t=t.pointPlacementToXValue(),f=c(this.pointPadding,o.pointPadding,0),n={x1:e(Math.round(i.len-(i.translate(this.x-s,!1,!0,!1,!0,-t)||0)),-i.len,2*i.len),x2:e(Math.round(i.len-(i.translate(this.x+s,!1,!0,!1,!0,-t)||0)),-i.len,2*i.len),y1:e(Math.round(r.translate(this.y-h,!1,!0,!1,!0)||0),-r.len,2*r.len),y2:e(Math.round(r.translate(this.y+h,!1,!0,!1,!0)||0),-r.len,2*r.len)},[["width","x"],["height","y"]].forEach(function(t){var e=t[0];t=t[1];var r=t+"1",i=t+"2",h=Math.abs(n[r]-n[i]),o=u&&u.lineWidth||0,s=Math.abs(n[r]+n[i])/2;u[e]&&u[e]<h&&(n[r]=s-u[e]/2-o/2,n[i]=s+u[e]/2+o/2);f&&("y"===t&&(r=i,i=t+"1"),n[r]+=f,n[i]-=f)}),n}}));""}),i(t,"parts-map/GeoJSON.js",[t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t,i){function f(n,t){var i,r=!1,o=n.x,u=n.y,f,e;for(n=0,i=t.length-1;n<t.length;i=n++)f=t[n][1]>u,e=t[i][1]>u,f!==e&&o<(t[i][0]-t[n][0])*(u-t[n][1])/(t[i][1]-t[n][1])+t[n][0]&&(r=!r);return r}var u=t.win,r=i.error,o=i.extend,e=i.format,s=i.merge;i=i.wrap;n.prototype.transformFromLatLon=function(n,t){var i,f=(null===(i=this.userOptions.chart)||void 0===i?void 0:i.proj4)||u.proj4;return f?(n=f(t.crs,[n.lon,n.lat]),i=t.cosAngle||t.rotation&&Math.cos(t.rotation),f=t.sinAngle||t.rotation&&Math.sin(t.rotation),n=t.rotation?[n[0]*i+n[1]*f,-n[0]*f+n[1]*i]:n,{x:((n[0]-(t.xoffset||0))*(t.scale||1)+(t.xpan||0))*(t.jsonres||1)+(t.jsonmarginX||0),y:(((t.yoffset||0)-n[1])*(t.scale||1)+(t.ypan||0))*(t.jsonres||1)-(t.jsonmarginY||0)}):(r(21,!1,this),{x:0,y:null})};n.prototype.transformToLatLon=function(n,t){if("undefined"==typeof u.proj4)r(21,!1,this);else{n={x:((n.x-(t.jsonmarginX||0))/(t.jsonres||1)-(t.xpan||0))/(t.scale||1)+(t.xoffset||0),y:((-n.y-(t.jsonmarginY||0))/(t.jsonres||1)+(t.ypan||0))/(t.scale||1)+(t.yoffset||0)};var i=t.cosAngle||t.rotation&&Math.cos(t.rotation),f=t.sinAngle||t.rotation&&Math.sin(t.rotation);return t=u.proj4(t.crs,"WGS84",t.rotation?{x:n.x*i+n.y*-f,y:n.x*f+n.y*i}:n),{lat:t.y,lon:t.x}}};n.prototype.fromPointToLatLon=function(n){var t=this.mapTransforms,i;if(t){for(i in t)if(Object.hasOwnProperty.call(t,i)&&t[i].hitZone&&f({x:n.x,y:-n.y},t[i].hitZone.coordinates[0]))return this.transformToLatLon(n,t[i]);return this.transformToLatLon(n,t["default"])}r(22,!1,this)};n.prototype.fromLatLonToPoint=function(n){var t=this.mapTransforms,i,u;if(!t)return r(22,!1,this),{x:0,y:null};for(i in t)if(Object.hasOwnProperty.call(t,i)&&t[i].hitZone&&(u=this.transformFromLatLon(n,t[i]),f({x:u.x,y:-u.y},t[i].hitZone.coordinates[0])))return u;return this.transformFromLatLon(n,t["default"])};t.geojson=function(n,t,i){var f=[],r=[],u=function(n){n.forEach(function(n,t){0===t?r.push(["M",n[0],-n[1]]):r.push(["L",n[0],-n[1]])})};return t=t||"map",n.features.forEach(function(n){var i=n.geometry,e=i.type,s;i=i.coordinates;n=n.properties;r=[];"map"===t||"mapbubble"===t?("Polygon"===e?(i.forEach(u),r.push(["Z"])):"MultiPolygon"===e&&(i.forEach(function(n){n.forEach(u)}),r.push(["Z"])),r.length&&(s={path:r})):"mapline"===t?("LineString"===e?u(i):"MultiLineString"===e&&i.forEach(u),r.length&&(s={path:r})):"mappoint"===t&&"Point"===e&&(s={x:i[0],y:-i[1]});s&&f.push(o(s,{name:n.name||n.NAME,properties:n}))}),i&&n.copyrightShort&&(i.chart.mapCredits=e(i.chart.options.credits.mapText,{geojson:n}),i.chart.mapCreditsFull=e(i.chart.options.credits.mapTextFull,{geojson:n})),f};i(n.prototype,"addCredits",function(n,t){t=s(!0,this.options.credits,t);this.mapCredits&&(t.href=null);n.call(this,t);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})}),i(t,"parts-map/Map.js",[t["parts/Chart.js"],t["parts/Globals.js"],t["parts/Options.js"],t["parts/SVGRenderer.js"],t["parts/Utilities.js"]],function(n,t,i,r,u){function e(n,t,i,r,u,f,e,o){return[["M",n+u,t],["L",n+i-f,t],["C",n+i-f/2,t,n+i,t+f/2,n+i,t+f],["L",n+i,t+r-e],["C",n+i,t+r-e/2,n+i-e/2,t+r,n+i-e,t+r],["L",n+o,t+r],["C",n+o/2,t+r,n,t+r-o/2,n,t+r-o],["L",n,t+u],["C",n,t+u/2,n+u/2,t,n+u,t],["Z"]]}var f;i=i.defaultOptions;var h=u.extend,c=u.getOptions,o=u.merge,s=u.pick;u=t.Renderer;f=t.VMLRenderer;h(i.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});i.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};t.splitPath=function(n){return"string"==typeof n&&(n=n.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,""),n=n.split(/[ ,;]+/).map(function(n){return/[A-za-z]/.test(n)?n:parseFloat(n)})),r.prototype.pathToSegments(n)};t.maps={};r.prototype.symbols.topbutton=function(n,t,i,r,u){return u=u&&u.r||0,e(n-1,t-1,i,r,u,u,0,0)};r.prototype.symbols.bottombutton=function(n,t,i,r,u){return u=u&&u.r||0,e(n-1,t-1,i,r,0,0,u,u)};u===f&&["topbutton","bottombutton"].forEach(function(n){f.prototype.symbols[n]=r.prototype.symbols[n]});t.Map=t.mapChart=function(t,i,r){var f="string"==typeof t||t.nodeName,u=arguments[f?1:0],l=u,e={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},h=c().credits,a=u.series;return u.series=null,u=o({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:s(h.mapText,' © <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}<\/a>'),mapTextFull:s(h.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:e,yAxis:o(e,{reversed:!0})},u,{chart:{inverted:!1,alignTicks:!1}}),u.series=l.series=a,f?new n(t,u,r):new n(u,i)}}),i(t,"masters/modules/map.src.js",[],function(){}),i(t,"masters/highmaps.src.js",[t["masters/highcharts.src.js"]],function(n){return n.product="Highmaps",n}),t["masters/highmaps.src.js"]._modules=t,t["masters/highmaps.src.js"]})