highcharts
Version:
JavaScript charting framework
105 lines (103 loc) • 217 kB
JavaScript
/*
Highmaps JS v5.0.13 (2017-07-27)
(c) 2011-2016 Torstein Honsi
License: www.highcharts.com/license
*/
(function(I,S){"object"===typeof module&&module.exports?module.exports=I.document?S(I):S:I.Highcharts=S(I)})("undefined"!==typeof window?window:this,function(I){I=function(){var a=window,y=a.document,C=a.navigator&&a.navigator.userAgent||"",B=y&&y.createElementNS&&!!y.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,A=/(edge|msie|trident)/i.test(C)&&!window.opera,e=!B,d=/Firefox/.test(C),q=d&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",
version:"5.0.13",deg2rad:2*Math.PI/360,doc:y,hasBidiBug:q,hasTouch:y&&void 0!==y.documentElement.ontouchstart,isMS:A,isWebKit:/AppleWebKit/.test(C),isFirefox:d,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:B,vml:e,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){var y=[],C=a.charts,B=a.doc,A=a.win;a.error=function(e,d){e=a.isNumber(e)?"Highcharts error #"+
e+": www.highcharts.com/errors/"+e:e;if(d)throw Error(e);A.console&&console.log(e)};a.Fx=function(a,d,q){this.options=d;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],q=[],t=this.now,u=a.length,n;if(1===t)q=this.toD;else if(u===d.length&&1>t)for(;u--;)n=parseFloat(a[u]),q[u]=isNaN(n)?a[u]:t*parseFloat(d[u]-n)+n;else q=d;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,d=this.prop,q=this.now,t=this.options.step;if(this[d+"Setter"])this[d+
"Setter"]();else a.attr?a.element&&a.attr(d,q,null,!0):a.style[d]=q+this.unit;t&&t.call(a,q,this)},run:function(a,d,q){var e=this,u=function(a){return u.stopped?!1:e.step(a)},n;this.startTime=+new Date;this.start=a;this.end=d;this.unit=q;this.now=this.start;this.pos=0;u.elem=this.elem;u.prop=this.prop;u()&&1===y.push(u)&&(u.timerId=setInterval(function(){for(n=0;n<y.length;n++)y[n]()||y.splice(n--,1);y.length||clearInterval(u.timerId)},13))},step:function(e){var d=+new Date,q,t=this.options,u=this.elem,
n=t.complete,h=t.duration,r=t.curAnim;u.attr&&!u.element?e=!1:e||d>=h+this.startTime?(this.now=this.end,this.pos=1,this.update(),q=r[this.prop]=!0,a.objectEach(r,function(a){!0!==a&&(q=!1)}),q&&n&&n.call(u),e=!1):(this.pos=t.easing((d-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0);return e},initPath:function(e,d,q){function t(a){var f,b;for(l=a.length;l--;)f="M"===a[l]||"L"===a[l],b=/[a-zA-Z]/.test(a[l+3]),f&&b&&a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])}
function u(a,f){for(;a.length<b;){a[0]=f[b-a.length];var c=a.slice(0,g);[].splice.apply(a,[0,0].concat(c));E&&(c=a.slice(a.length-g),[].splice.apply(a,[a.length,0].concat(c)),l--)}a[0]="M"}function n(a,f){for(var l=(b-a.length)/g;0<l&&l--;)p=a.slice().splice(a.length/G-g,g*G),p[0]=f[b-g-l*g],c&&(p[g-6]=p[g-2],p[g-5]=p[g-1]),[].splice.apply(a,[a.length/G,0].concat(p)),E&&l--}d=d||"";var h,r=e.startX,m=e.endX,c=-1<d.indexOf("C"),g=c?7:3,b,p,l;d=d.split(" ");q=q.slice();var E=e.isArea,G=E?2:1,f;c&&(t(d),
t(q));if(r&&m){for(l=0;l<r.length;l++)if(r[l]===m[0]){h=l;break}else if(r[0]===m[m.length-r.length+l]){h=l;f=!0;break}void 0===h&&(d=[])}d.length&&a.isNumber(h)&&(b=q.length+h*G*g,f?(u(d,q),n(q,d)):(u(q,d),n(d,q)));return[d,q]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.extend=function(a,d){var e;a||(a={});for(e in d)a[e]=d[e];return a};a.merge=function(){var e,d=arguments,q,t={},u=
function(e,h){"object"!==typeof e&&(e={});a.objectEach(h,function(d,m){!a.isObject(d,!0)||a.isClass(d)||a.isDOMElement(d)?e[m]=h[m]:e[m]=u(e[m]||{},d)});return e};!0===d[0]&&(t=d[1],d=Array.prototype.slice.call(d,2));q=d.length;for(e=0;e<q;e++)t=u(t,d[e]);return t};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(e,
d){return!!e&&"object"===typeof e&&(!d||!a.isArray(e))};a.isDOMElement=function(e){return a.isObject(e)&&"number"===typeof e.nodeType};a.isClass=function(e){var d=e&&e.constructor;return!(!a.isObject(e,!0)||a.isDOMElement(e)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=function(a,d){for(var e=a.length;e--;)if(a[e]===d){a.splice(e,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(e,d,q){var t;a.isString(d)?a.defined(q)?
e.setAttribute(d,q):e&&e.getAttribute&&(t=e.getAttribute(d)):a.defined(d)&&a.isObject(d)&&a.objectEach(d,function(a,d){e.setAttribute(d,a)});return t};a.splat=function(e){return a.isArray(e)?e:[e]};a.syncTimeout=function(a,d,q){if(d)return setTimeout(a,d,q);a.call(0,q)};a.pick=function(){var a=arguments,d,q,t=a.length;for(d=0;d<t;d++)if(q=a[d],void 0!==q&&null!==q)return q};a.css=function(e,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(e.style,
d)};a.createElement=function(e,d,q,t,u){e=B.createElement(e);var n=a.css;d&&a.extend(e,d);u&&n(e,{padding:0,border:"none",margin:0});q&&n(e,q);t&&t.appendChild(e);return e};a.extendClass=function(e,d){var q=function(){};q.prototype=new e;a.extend(q.prototype,d);return q};a.pad=function(a,d,q){return Array((d||2)+1-String(a).length).join(q||0)+a};a.relativeLength=function(a,d,q){return/%$/.test(a)?d*parseFloat(a)/100+(q||0):parseFloat(a)};a.wrap=function(a,d,q){var e=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),
d=arguments,h=this;h.proceed=function(){e.apply(h,arguments.length?arguments:d)};a.unshift(e);a=q.apply(this,a);h.proceed=null;return a}};a.getTZOffset=function(e){var d=a.Date;return 6E4*(d.hcGetTimezoneOffset&&d.hcGetTimezoneOffset(e)||d.hcTimezoneOffset||0)};a.dateFormat=function(e,d,q){if(!a.defined(d)||isNaN(d))return a.defaultOptions.lang.invalidDate||"";e=a.pick(e,"%Y-%m-%d %H:%M:%S");var t=a.Date,u=new t(d-a.getTZOffset(d)),n=u[t.hcGetHours](),h=u[t.hcGetDay](),r=u[t.hcGetDate](),m=u[t.hcGetMonth](),
c=u[t.hcGetFullYear](),g=a.defaultOptions.lang,b=g.weekdays,p=g.shortWeekdays,l=a.pad,t=a.extend({a:p?p[h]:b[h].substr(0,3),A:b[h],d:l(r),e:l(r,2," "),w:h,b:g.shortMonths[m],B:g.months[m],m:l(m+1),y:c.toString().substr(2,2),Y:c,H:l(n),k:n,I:l(n%12||12),l:n%12||12,M:l(u[t.hcGetMinutes]()),p:12>n?"AM":"PM",P:12>n?"am":"pm",S:l(u.getSeconds()),L:l(Math.round(d%1E3),3)},a.dateFormats);a.objectEach(t,function(a,b){for(;-1!==e.indexOf("%"+b);)e=e.replace("%"+b,"function"===typeof a?a(d):a)});return q?e.substr(0,
1).toUpperCase()+e.substr(1):e};a.formatSingle=function(e,d){var q=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(e)?(q=(q=e.match(q))?q[1]:-1,null!==d&&(d=a.numberFormat(d,q,t.decimalPoint,-1<e.indexOf(",")?t.thousandsSep:""))):d=a.dateFormat(e,d);return d};a.format=function(e,d){for(var q="{",t=!1,u,n,h,r,m=[],c;e;){q=e.indexOf(q);if(-1===q)break;u=e.slice(0,q);if(t){u=u.split(":");n=u.shift().split(".");r=n.length;c=d;for(h=0;h<r;h++)c=c[n[h]];u.length&&(c=a.formatSingle(u.join(":"),c));m.push(c)}else m.push(u);
e=e.slice(q+1);q=(t=!t)?"}":"{"}m.push(e);return m.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(e,d,q,t,u){var n,h=e;q=a.pick(q,1);n=e/q;d||(d=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===q?d=a.grep(d,function(a){return 0===a%1}):.1>=q&&(d=[1/q])));for(t=0;t<d.length&&!(h=d[t],u&&h*q>=e||!u&&n<=(d[t]+(d[t+1]||d[t]))/2);t++);return h=a.correctFloat(h*q,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=
function(a,d){var e=a.length,t,u;for(u=0;u<e;u++)a[u].safeI=u;a.sort(function(a,h){t=d(a,h);return 0===t?a.safeI-h.safeI:t});for(u=0;u<e;u++)delete a[u].safeI};a.arrayMin=function(a){for(var d=a.length,e=a[0];d--;)a[d]<e&&(e=a[d]);return e};a.arrayMax=function(a){for(var d=a.length,e=a[0];d--;)a[d]>e&&(e=a[d]);return e};a.destroyObjectProperties=function(e,d){a.objectEach(e,function(a,t){a&&a!==d&&a.destroy&&a.destroy();delete e[t]})};a.discardElement=function(e){var d=a.garbageBin;d||(d=a.createElement("div"));
e&&d.appendChild(e);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(e,d){d.renderer.globalAnimation=a.pick(e,d.options.chart.animation,!0)};a.animObject=function(e){return a.isObject(e)?a.merge(e):{duration:e?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(e,d,q,t){e=+e||0;d=+d;var u=a.defaultOptions.lang,n=(e.toString().split(".")[1]||"").split("e")[0].length,
h,r,m=e.toString().split("e");-1===d?d=Math.min(n,20):a.isNumber(d)||(d=2);r=(Math.abs(m[1]?m[0]:e)+Math.pow(10,-Math.max(d,n)-1)).toFixed(d);n=String(a.pInt(r));h=3<n.length?n.length%3:0;q=a.pick(q,u.decimalPoint);t=a.pick(t,u.thousandsSep);e=(0>e?"-":"")+(h?n.substr(0,h)+t:"");e+=n.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+t);d&&(e+=q+r.slice(-d));m[1]&&(e+="e"+m[1]);return e};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(e,d,q){if("width"===d)return Math.min(e.offsetWidth,
e.scrollWidth)-a.getStyle(e,"padding-left")-a.getStyle(e,"padding-right");if("height"===d)return Math.min(e.offsetHeight,e.scrollHeight)-a.getStyle(e,"padding-top")-a.getStyle(e,"padding-bottom");if(e=A.getComputedStyle(e,void 0))e=e.getPropertyValue(d),a.pick(q,!0)&&(e=a.pInt(e));return e};a.inArray=function(a,d){return d.indexOf?d.indexOf(a):[].indexOf.call(d,a)};a.grep=function(a,d){return[].filter.call(a,d)};a.find=function(a,d){return[].find.call(a,d)};a.map=function(a,d){for(var e=[],t=0,u=
a.length;t<u;t++)e[t]=d.call(a[t],a[t],t,a);return e};a.offset=function(a){var d=B.documentElement;a=a.getBoundingClientRect();return{top:a.top+(A.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(A.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(a,d){for(var e=y.length;e--;)y[e].elem!==a||d&&d!==y[e].prop||(y[e].stopped=!0)};a.each=function(a,d,q){return Array.prototype.forEach.call(a,d,q)};a.objectEach=function(a,d,q){for(var e in a)a.hasOwnProperty(e)&&d.call(q,a[e],e,a)};
a.addEvent=function(e,d,q){function t(a){a.target=a.srcElement||A;q.call(e,a)}var u=e.hcEvents=e.hcEvents||{};e.addEventListener?e.addEventListener(d,q,!1):e.attachEvent&&(e.hcEventsIE||(e.hcEventsIE={}),q.hcGetKey||(q.hcGetKey=a.uniqueKey()),e.hcEventsIE[q.hcGetKey]=t,e.attachEvent("on"+d,t));u[d]||(u[d]=[]);u[d].push(q);return function(){a.removeEvent(e,d,q)}};a.removeEvent=function(e,d,q){function t(a,c){e.removeEventListener?e.removeEventListener(a,c,!1):e.attachEvent&&(c=e.hcEventsIE[c.hcGetKey],
e.detachEvent("on"+a,c))}function u(){var m,c;e.nodeName&&(d?(m={},m[d]=!0):m=h,a.objectEach(m,function(a,b){if(h[b])for(c=h[b].length;c--;)t(b,h[b][c])}))}var n,h=e.hcEvents,r;h&&(d?(n=h[d]||[],q?(r=a.inArray(q,n),-1<r&&(n.splice(r,1),h[d]=n),t(d,q)):(u(),h[d]=[])):(u(),e.hcEvents={}))};a.fireEvent=function(e,d,q,t){var u;u=e.hcEvents;var n,h;q=q||{};if(B.createEvent&&(e.dispatchEvent||e.fireEvent))u=B.createEvent("Events"),u.initEvent(d,!0,!0),a.extend(u,q),e.dispatchEvent?e.dispatchEvent(u):e.fireEvent(d,
u);else if(u)for(u=u[d]||[],n=u.length,q.target||a.extend(q,{preventDefault:function(){q.defaultPrevented=!0},target:e,type:d}),d=0;d<n;d++)(h=u[d])&&!1===h.call(e,q)&&q.preventDefault();t&&!q.defaultPrevented&&t(q)};a.animate=function(e,d,q){var t,u="",n,h,r;a.isObject(q)||(r=arguments,q={duration:r[2],easing:r[3],complete:r[4]});a.isNumber(q.duration)||(q.duration=400);q.easing="function"===typeof q.easing?q.easing:Math[q.easing]||Math.easeInOutSine;q.curAnim=a.merge(d);a.objectEach(d,function(m,
c){a.stop(e,c);h=new a.Fx(e,q,c);n=null;"d"===c?(h.paths=h.initPath(e,e.d,d.d),h.toD=d.d,t=0,n=1):e.attr?t=e.attr(c):(t=parseFloat(a.getStyle(e,c))||0,"opacity"!==c&&(u="px"));n||(n=m);n&&n.match&&n.match("px")&&(n=n.replace(/px/g,""));h.run(t,n,u)})};a.seriesType=function(e,d,q,t,u){var n=a.getOptions(),h=a.seriesTypes;n.plotOptions[e]=a.merge(n.plotOptions[d],q);h[e]=a.extendClass(h[d]||function(){},t);h[e].prototype.type=e;u&&(h[e].prototype.pointClass=a.extendClass(a.Point,u));return h[e]};a.uniqueKey=
function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();A.jQuery&&(A.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new (a[a.isString(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):C[a.attr(this[0],"data-highcharts-chart")]});B&&!B.defaultView&&(a.getStyle=function(e,d){var q={width:"clientWidth",height:"clientHeight"}[d];if(e.style[d])return a.pInt(e.style[d]);"opacity"===d&&(d="filter");if(q)return e.style.zoom=
1,Math.max(e[q]-2*a.getStyle(e,"padding"),0);e=e.currentStyle[d.replace(/\-(\w)/g,function(a,d){return d.toUpperCase()})];"filter"===d&&(e=e.replace(/alpha\(opacity=([0-9]+)\)/,function(a,d){return d/100}));return""===e?1:a.pInt(e)});Array.prototype.forEach||(a.each=function(a,d,q){for(var e=0,u=a.length;e<u;e++)if(!1===d.call(q,a[e],e,a))return e});Array.prototype.indexOf||(a.inArray=function(a,d){var e,t=0;if(d)for(e=d.length;t<e;t++)if(d[t]===a)return t;return-1});Array.prototype.filter||(a.grep=
function(a,d){for(var e=[],t=0,u=a.length;t<u;t++)d(a[t],t)&&e.push(a[t]);return e});Array.prototype.find||(a.find=function(a,d){var e,t=a.length;for(e=0;e<t;e++)if(d(a[e],e))return a[e]})})(I);(function(a){var y=a.each,C=a.isNumber,B=a.map,A=a.merge,e=a.pInt;a.Color=function(d){if(!(this instanceof a.Color))return new a.Color(d);this.init(d)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[e(a[1]),
e(a[2]),e(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[e(a[1]),e(a[2]),e(a[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(d){var e,t,u,n;if((this.input=d=this.names[d&&d.toLowerCase?d.toLowerCase():""]||d)&&d.stops)this.stops=B(d.stops,function(h){return new a.Color(h[1])});else if(d&&"#"===d.charAt()&&(e=d.length,d=parseInt(d.substr(1),16),7===e?t=[(d&16711680)>>16,(d&65280)>>
8,d&255,1]:4===e&&(t=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])),!t)for(u=this.parsers.length;u--&&!t;)n=this.parsers[u],(e=n.regex.exec(d))&&(t=n.parse(e));this.rgba=t||[]},get:function(a){var d=this.input,e=this.rgba,u;this.stops?(u=A(d),u.stops=[].concat(u.stops),y(this.stops,function(d,h){u.stops[h]=[u.stops[h][0],d.get(a)]})):u=e&&C(e[0])?"rgb"===a||!a&&1===e[3]?"rgb("+e[0]+","+e[1]+","+e[2]+")":"a"===a?e[3]:"rgba("+e.join(",")+")":d;return u},brighten:function(a){var d,t=this.rgba;
if(this.stops)y(this.stops,function(d){d.brighten(a)});else if(C(a)&&0!==a)for(d=0;3>d;d++)t[d]+=e(255*a),0>t[d]&&(t[d]=0),255<t[d]&&(t[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,e){var d,u;a.rgba.length?(d=this.rgba,a=a.rgba,u=1!==a[3]||1!==d[3],a=(u?"rgba(":"rgb(")+Math.round(a[0]+(d[0]-a[0])*(1-e))+","+Math.round(a[1]+(d[1]-a[1])*(1-e))+","+Math.round(a[2]+(d[2]-a[2])*(1-e))+(u?","+(a[3]+(d[3]-a[3])*(1-e)):"")+")"):a=a.input||"none";return a}};a.color=
function(d){return new a.Color(d)}})(I);(function(a){function y(){var d=a.defaultOptions.global,e=t.moment;if(d.timezone){if(e)return function(a){return-e.tz(a,d.timezone).utcOffset()};a.error(25)}return d.useUTC&&d.getTimezoneOffset}function C(){var d=a.defaultOptions.global,n,h=d.useUTC,r=h?"getUTC":"get",m=h?"setUTC":"set";a.Date=n=d.Date||t.Date;n.hcTimezoneOffset=h&&d.timezoneOffset;n.hcGetTimezoneOffset=y();n.hcMakeTime=function(a,g,b,p,l,d){var c;h?(c=n.UTC.apply(0,arguments),c+=e(c)):c=(new n(a,
g,q(b,1),q(p,0),q(l,0),q(d,0))).getTime();return c};A("Minutes Hours Day Date Month FullYear".split(" "),function(a){n["hcGet"+a]=r+a});A("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){n["hcSet"+a]=m+a})}var B=a.color,A=a.each,e=a.getTZOffset,d=a.merge,q=a.pick,t=a.win;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",
months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.13/gfx/vml-radial-gradient.png"},chart:{borderRadius:0,
defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},
borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",
backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:B("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(e){a.defaultOptions=d(!0,a.defaultOptions,e);C();
return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;C()})(I);(function(a){var y,C,B=a.addEvent,A=a.animate,e=a.attr,d=a.charts,q=a.color,t=a.css,u=a.createElement,n=a.defined,h=a.deg2rad,r=a.destroyObjectProperties,m=a.doc,c=a.each,g=a.extend,b=a.erase,p=a.grep,l=a.hasTouch,E=a.inArray,G=a.isArray,f=a.isFirefox,H=a.isMS,D=a.isObject,z=a.isString,L=a.isWebKit,v=a.merge,M=a.noop,F=a.objectEach,J=a.pick,k=a.pInt,w=a.removeEvent,
N=a.stop,K=a.svg,R=a.SVG_NS,O=a.symbolSizes,P=a.win;y=a.SVGElement=function(){return this};g(y.prototype,{opacity:1,SVG_NS:R,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,k){this.element="span"===k?u(k):m.createElementNS(this.SVG_NS,k);this.renderer=a},animate:function(x,k,f){k=a.animObject(J(k,this.renderer.globalAnimation,!0));0!==k.duration?(f&&(k.complete=f),A(this,x,k)):(this.attr(x,
null,f),k.step&&k.step.call(this));return this},colorGradient:function(x,k,f){var w=this.renderer,b,g,l,p,h,Q,D,K,H,d,m=[],e;x.radialGradient?g="radialGradient":x.linearGradient&&(g="linearGradient");g&&(l=x[g],h=w.gradients,D=x.stops,d=f.radialReference,G(l)&&(x[g]=l={x1:l[0],y1:l[1],x2:l[2],y2:l[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===g&&d&&!n(l.gradientUnits)&&(p=l,l=v(l,w.getRadialAttr(d,p),{gradientUnits:"userSpaceOnUse"})),F(l,function(a,x){"id"!==x&&m.push(x,a)}),F(D,function(a){m.push(a)}),
m=m.join(","),h[m]?d=h[m].attr("id"):(l.id=d=a.uniqueKey(),h[m]=Q=w.createElement(g).attr(l).add(w.defs),Q.radAttr=p,Q.stops=[],c(D,function(x){0===x[1].indexOf("rgba")?(b=a.color(x[1]),K=b.get("rgb"),H=b.get("a")):(K=x[1],H=1);x=w.createElement("stop").attr({offset:x[0],"stop-color":K,"stop-opacity":H}).add(Q);Q.stops.push(x)})),e="url("+w.url+"#"+d+")",f.setAttribute(k,e),f.gradient=m,x.toString=function(){return e})},applyTextOutline:function(x){var k=this.element,f,w,g,l,v;-1!==x.indexOf("contrast")&&
(x=x.replace(/contrast/g,this.renderer.getContrast(k.style.fill)));x=x.split(" ");w=x[x.length-1];if((g=x[0])&&"none"!==g&&a.svg){this.fakeTS=!0;x=[].slice.call(k.getElementsByTagName("tspan"));this.ySetter=this.xSetter;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(a,x,k){return 2*x+k});for(v=x.length;v--;)f=x[v],"highcharts-text-outline"===f.getAttribute("class")&&b(x,k.removeChild(f));l=k.firstChild;c(x,function(a,x){0===x&&(a.setAttribute("x",k.getAttribute("x")),x=k.getAttribute("y"),a.setAttribute("y",
x||0),null===x&&k.setAttribute("y",0));a=a.cloneNode(1);e(a,{"class":"highcharts-text-outline",fill:w,stroke:w,"stroke-width":g,"stroke-linejoin":"round"});k.insertBefore(a,l)})}},attr:function(a,k,f,w){var x,b=this.element,g,c=this,l,v;"string"===typeof a&&void 0!==k&&(x=a,a={},a[x]=k);"string"===typeof a?c=(this[a+"Getter"]||this._defaultGetter).call(this,a,b):(F(a,function(x,k){l=!1;w||N(this,k);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(k)&&(g||(this.symbolAttr(a),
g=!0),l=!0);!this.rotation||"x"!==k&&"y"!==k||(this.doTransform=!0);l||(v=this[k+"Setter"]||this._defaultSetter,v.call(this,x,k,b),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(k)&&this.updateShadows(k,x,v))},this),this.afterSetters());f&&f();return c},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,k,f){for(var x=this.shadows,w=x.length;w--;)f.call(x[w],"height"===a?Math.max(k-(x[w].cutHeight||0),0):"d"===
a?this.d:k,a,x[w])},addClass:function(a,k){var x=this.attr("class")||"";-1===x.indexOf(a)&&(k||(a=(x+(x?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==E(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var x=this;c("x y r start end width height innerR anchorX anchorY".split(" "),function(k){x[k]=J(a[k],x[k])});x.attr({d:x.renderer.symbols[x.symbolName](x.x,
x.y,x.width,x.height,x)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,k){var x=this,f={},w;k=k||a.strokeWidth||0;w=Math.round(k)%2/2;a.x=Math.floor(a.x||x.x||0)+w;a.y=Math.floor(a.y||x.y||0)+w;a.width=Math.floor((a.width||x.width||0)-2*w);a.height=Math.floor((a.height||x.height||0)-2*w);n(a.strokeWidth)&&(a.strokeWidth=k);F(a,function(a,k){x[k]!==a&&(x[k]=f[k]=a)});return f},css:function(a){var x=this.styles,f={},w=this.element,
b,c="",l,v=!x,h=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);x&&F(a,function(a,k){a!==x[k]&&(f[k]=a,v=!0)});v&&(x&&(a=g(x,f)),b=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===w.nodeName.toLowerCase()&&k(a.width),this.styles=a,b&&!K&&this.renderer.forExport&&delete a.width,H&&!K?t(this.element,a):(l=function(a,x){return"-"+x.toLowerCase()},F(a,function(a,x){-1===E(x,h)&&(c+=x.replace(/([A-Z])/g,l)+":"+a+";")}),c&&e(w,"style",c)),this.added&&("text"===this.element.nodeName&&
this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,k){var x=this,f=x.element;l&&"click"===a?(f.ontouchstart=function(a){x.touchEventFired=Date.now();a.preventDefault();k.call(f,a)},f.onclick=function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100<Date.now()-(x.touchEventFired||0))&&k.call(f,a)}):f["on"+a]=k;return this},setRadialReference:function(a){var x=this.renderer.gradients[this.element.gradient];
this.element.radialReference=a;x&&x.radAttr&&x.animate(this.renderer.getRadialAttr(a,x.radAttr));return this},translate:function(a,k){return this.attr({translateX:a,translateY:k})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,k=this.translateY||0,f=this.scaleX,w=this.scaleY,b=this.inverted,g=this.rotation,c=this.element;b&&(a+=this.width,k+=this.height);a=["translate("+a+","+k+")"];b?a.push("rotate(90) scale(-1,1)"):g&&
a.push("rotate("+g+" "+(c.getAttribute("x")||0)+" "+(c.getAttribute("y")||0)+")");(n(f)||n(w))&&a.push("scale("+J(f,1)+" "+J(w,1)+")");a.length&&c.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,k,f){var x,w,g,c,l={};w=this.renderer;g=w.alignedObjects;var v,h;if(a){if(this.alignOptions=a,this.alignByTranslate=k,!f||z(f))this.alignTo=x=f||"renderer",b(g,this),g.push(this),f=null}else a=this.alignOptions,k=this.alignByTranslate,
x=this.alignTo;f=J(f,w[x],w);x=a.align;w=a.verticalAlign;g=(f.x||0)+(a.x||0);c=(f.y||0)+(a.y||0);"right"===x?v=1:"center"===x&&(v=2);v&&(g+=(f.width-(a.width||0))/v);l[k?"translateX":"x"]=Math.round(g);"bottom"===w?h=1:"middle"===w&&(h=2);h&&(c+=(f.height-(a.height||0))/h);l[k?"translateY":"y"]=Math.round(c);this[this.placed?"animate":"attr"](l);this.placed=!0;this.alignAttr=l;return this},getBBox:function(a,k){var x,f=this.renderer,w,b=this.element,l=this.styles,v,p=this.textStr,D,K=f.cache,Q=f.cacheKeys,
H;k=J(k,this.rotation);w=k*h;v=l&&l.fontSize;void 0!==p&&(H=p.toString(),-1===H.indexOf("\x3c")&&(H=H.replace(/[0-9]/g,"0")),H+=["",k||0,v,l&&l.width,l&&l.textOverflow].join());H&&!a&&(x=K[H]);if(!x){if(b.namespaceURI===this.SVG_NS||f.forExport){try{(D=this.fakeTS&&function(a){c(b.querySelectorAll(".highcharts-text-outline"),function(x){x.style.display=a})})&&D("none"),x=b.getBBox?g({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight},D&&D("")}catch(V){}if(!x||0>x.width)x={width:0,height:0}}else x=
this.htmlGetBBox();f.isSVG&&(a=x.width,f=x.height,l&&"11px"===l.fontSize&&17===Math.round(f)&&(x.height=f=14),k&&(x.width=Math.abs(f*Math.sin(w))+Math.abs(a*Math.cos(w)),x.height=Math.abs(f*Math.cos(w))+Math.abs(a*Math.sin(w))));if(H&&0<x.height){for(;250<Q.length;)delete K[Q.shift()];K[H]||Q.push(H);K[H]=x}}return x},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var x=this;x.animate({opacity:0},
{duration:a||150,complete:function(){x.attr({y:-9999})}})},add:function(a){var x=this.renderer,k=this.element,f;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&x.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)f=this.zIndexSetter();f||(a?a.element:x.box).appendChild(k);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var x=a.parentNode;x&&x.removeChild(a)},destroy:function(){var a=this,k=a.element||{},f=a.renderer.isSVG&&"SPAN"===k.nodeName&&
a.parentGroup,w=k.ownerSVGElement;k.onclick=k.onmouseout=k.onmouseover=k.onmousemove=k.point=null;N(a);a.clipPath&&w&&(c(w.querySelectorAll("[clip-path]"),function(k){-1<k.getAttribute("clip-path").indexOf(a.clipPath.element.id+")")&&k.removeAttribute("clip-path")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(w=0;w<a.stops.length;w++)a.stops[w]=a.stops[w].destroy();a.stops=null}a.safeRemoveChild(k);for(a.destroyShadows();f&&f.div&&0===f.div.childNodes.length;)k=f.parentGroup,a.safeRemoveChild(f.div),
delete f.div,f=k;a.alignTo&&b(a.renderer.alignedObjects,a);F(a,function(k,x){delete a[x]});return null},shadow:function(a,k,f){var x=[],w,b,g=this.element,c,l,v,h;if(!a)this.destroyShadows();else if(!this.shadows){l=J(a.width,3);v=(a.opacity||.15)/l;h=this.parentInverted?"(-1,-1)":"("+J(a.offsetX,1)+", "+J(a.offsetY,1)+")";for(w=1;w<=l;w++)b=g.cloneNode(0),c=2*l+1-2*w,e(b,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":v*w,"stroke-width":c,transform:"translate"+h,fill:"none"}),f&&(e(b,
"height",Math.max(e(b,"height")-c,0)),b.cutHeight=c),k?k.element.appendChild(b):g.parentNode.insertBefore(b,g),x.push(b);this.shadows=x}return this},destroyShadows:function(){c(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=J(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));
return a},dSetter:function(a,k,f){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[k]!==a&&(f.setAttribute(k,a),this[k]=a)},dashstyleSetter:function(a){var x,f=this["stroke-width"];"inherit"===f&&(f=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(x=a.length;x--;)a[x]=
k(a[x])*f;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,k,f){this[k]=a;f.setAttribute(k,a)},titleSetter:function(a){var k=this.element.getElementsByTagName("title")[0];k||(k=m.createElementNS(this.SVG_NS,"title"),this.element.appendChild(k));k.firstChild&&k.removeChild(k.firstChild);k.appendChild(m.createTextNode(String(J(a),
"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,k,f){"string"===typeof a?f.setAttribute(k,a):a&&this.colorGradient(a,k,f)},visibilitySetter:function(a,k,f){"inherit"===a?f.removeAttribute(k):this[k]!==a&&f.setAttribute(k,a);this[k]=a},zIndexSetter:function(a,f){var x=this.renderer,w=this.parentGroup,b=(w||x).element||x.box,g,c=this.element,l;g=this.added;var v;n(a)&&(c.zIndex=
a,a=+a,this[f]===a&&(g=!1),this[f]=a);if(g){(a=this.zIndex)&&w&&(w.handleZ=!0);f=b.childNodes;for(v=0;v<f.length&&!l;v++)w=f[v],g=w.zIndex,w!==c&&(k(g)>a||!n(a)&&n(g)||0>a&&!n(g)&&b!==x.box)&&(b.insertBefore(c,w),l=!0);l||b.appendChild(c)}return l},_defaultSetter:function(a,k,f){f.setAttribute(k,a)}});y.prototype.yGetter=y.prototype.xGetter;y.prototype.translateXSetter=y.prototype.translateYSetter=y.prototype.rotationSetter=y.prototype.verticalAlignSetter=y.prototype.scaleXSetter=y.prototype.scaleYSetter=
function(a,k){this[k]=a;this.doTransform=!0};y.prototype["stroke-widthSetter"]=y.prototype.strokeSetter=function(a,k,f){this[k]=a;this.stroke&&this["stroke-width"]?(y.prototype.fillSetter.call(this,this.stroke,"stroke",f),f.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===k&&0===a&&this.hasStroke&&(f.removeAttribute("stroke"),this.hasStroke=!1)};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};g(C.prototype,{Element:y,SVG_NS:R,init:function(a,k,w,b,
g,c){var x;b=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(b));x=b.element;a.appendChild(x);-1===a.innerHTML.indexOf("xmlns")&&e(x,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=x;this.boxWrapper=b;this.alignedObjects=[];this.url=(f||L)&&m.getElementsByTagName("base").length?P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highmaps 5.0.13"));
this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=g;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(k,w,!1);var l;f&&a.getBoundingClientRect&&(k=function(){t(a,{left:0,top:0});l=a.getBoundingClientRect();t(a,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})},k(),this.unSubPixelFix=B(P,"resize",k))},getStyle:function(a){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},
a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();r(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var k=new this.Element;k.init(this,a);return k},draw:M,getRadialAttr:function(a,k){return{cx:a[0]-a[2]/2+k.cx*a[2],cy:a[1]-
a[2]/2+k.cy*a[2],r:k.r*a[2]}},getSpanWidth:function(a,k){var f=a.getBBox(!0).width;!K&&this.forExport&&(f=this.measureSpanWidth(k.firstChild.data,a.styles));return f},applyEllipsis:function(a,k,f,w){var x=a.rotation,b=f,g,c=0,l=f.length,v=function(a){k.removeChild(k.firstChild);a&&k.appendChild(m.createTextNode(a))},h;a.rotation=0;b=this.getSpanWidth(a,k);if(h=b>w){for(;c<=l;)g=Math.ceil((c+l)/2),b=f.substring(0,g)+"\u2026",v(b),b=this.getSpanWidth(a,k),c===l?c=l+1:b>w?l=g-1:c=g;0===l&&v("")}a.rotation=
x;return h},buildText:function(a){var f=a.element,w=this,b=w.forExport,x=J(a.textStr,"").toString(),g=-1!==x.indexOf("\x3c"),l=f.childNodes,v,h,D,H,d=e(f,"x"),z=a.styles,n=a.textWidth,F=z&&z.lineHeight,r=z&&z.textOutline,M=z&&"ellipsis"===z.textOverflow,E=z&&"nowrap"===z.whiteSpace,N=z&&z.fontSize,u,G,q=l.length,z=n&&!a.added&&this.box,L=function(a){var x;x=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:N||w.style.fontSize||12;return F?k(F):w.fontMetrics(x,a.getAttribute("style")?a:f).h};u=
[x,M,E,F,r,N,n].join();if(u!==a.textCache){for(a.textCache=u;q--;)f.removeChild(l[q]);g||r||M||n||-1!==x.indexOf(" ")?(v=/<.*class="([^"]+)".*>/,h=/<.*style="([^"]+)".*>/,D=/<.*href="([^"]+)".*>/,z&&z.appendChild(f),x=g?x.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[x],x=p(x,function(a){return""!==a}),c(x,function(k,
x){var g,l=0;k=k.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");g=k.split("|||");c(g,function(k){if(""!==k||1===g.length){var c={},p=m.createElementNS(w.SVG_NS,"tspan"),z,F;v.test(k)&&(z=k.match(v)[1],e(p,"class",z));h.test(k)&&(F=k.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),e(p,"style",F));D.test(k)&&!b&&(e(p,"onclick",'location.href\x3d"'+k.match(D)[1]+'"'),t(p,{cursor:"pointer"}));k=(k.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,
"\x3e");if(" "!==k){p.appendChild(m.createTextNode(k));l?c.dx=0:x&&null!==d&&(c.x=d);e(p,c);f.appendChild(p);!l&&G&&(!K&&b&&t(p,{display:"block"}),e(p,"dy",L(p)));if(n){c=k.replace(/([^\^])-/g,"$1- ").split(" ");z=1<g.length||x||1<c.length&&!E;var r=[],N,Q=L(p),u=a.rotation;for(M&&(H=w.applyEllipsis(a,p,k,n));!M&&z&&(c.length||r.length);)a.rotation=0,N=w.getSpanWidth(a,p),k=N>n,void 0===H&&(H=k),k&&1!==c.length?(p.removeChild(p.firstChild),r.unshift(c.pop())):(c=r,r=[],c.length&&!E&&(p=m.createElementNS(R,
"tspan"),e(p,{dy:Q,x:d}),F&&e(p,"style",F),f.appendChild(p)),N>n&&(n=N)),c.length&&p.appendChild(m.createTextNode(c.join(" ").replace(/- /g,"-")));a.rotation=u}l++}}});G=G||f.childNodes.length}),H&&a.attr("title",a.textStr),z&&z.removeChild(f),r&&a.applyTextOutline&&a.applyTextOutline(r)):f.appendChild(m.createTextNode(x.replace(/</g,"\x3c").replace(/>/g,"\x3e")))}},getContrast:function(a){a=q(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,k,f,w,b,c,l,p,h){var x=this.label(a,
k,f,h,null,null,null,null,"button"),D=0;x.attr(v({padding:8,r:2},b));var K,d,m,z;b=v({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},b);K=b.style;delete b.style;c=v(b,{fill:"#e6e6e6"},c);d=c.style;delete c.style;l=v(b,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},l);m=l.style;delete l.style;p=v(b,{style:{color:"#cccccc"}},p);z=p.style;delete p.style;B(x.element,H?"mouseover":"mouseenter",function(){3!==D&&x.setState(1)});
B(x.element,H?"mouseout":"mouseleave",function(){3!==D&&x.setState(D)});x.setState=function(a){1!==a&&(x.state=D=a);x.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);x.attr([b,c,l,p][a||0]).css([K,d,m,z][a||0])};x.attr(b).css(g({cursor:"default"},K));return x.on("click",function(a){3!==D&&w.call(x,a)})},crispLine:function(a,k){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-k%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+
k%2/2);return a},path:function(a){var k={fill:"none"};G(a)?k.d=a:D(a)&&g(k,a);return this.createElement("path").attr(k)},circle:function(a,k,f){a=D(a)?a:{x:a,y:k,r:f};k=this.createElement("circle");k.xSetter=k.ySetter=function(a,k,f){f.setAttribute("c"+k,a)};return k.attr(a)},arc:function(a,k,f,w,b,g){D(a)?(w=a,k=w.y,f=w.r,a=w.x):w={innerR:w,start:b,end:g};a=this.symbol("arc",a,k,f,f,w);a.r=f;return a},rect:function(a,k,f,w,b,g){b=D(a)?a.r:b;var c=this.createElement("rect");a=D(a)?a:void 0===a?{}:
{x:a,y:k,width:Math.max(f,0),height:Math.max(w,0)};void 0!==g&&(a.strokeWidth=g,a=c.crisp(a));a.fill="none";b&&(a.r=b);c.rSetter=function(a,k,f){e(f,{rx:a,ry:a})};return c.attr(a)},setSize:function(a,k,f){var w=this.alignedObjects,b=w.length;this.width=a;this.height=k;for(this.boxWrapper.animate({width:a,height:k},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:J(f,!0)?void 0:0});b--;)w[b].align()},g:function(a){var k=this.createElement("g");return a?
k.attr({"class":"highcharts-"+a}):k},image:function(a,k,f,w,b){var c={preserveAspectRatio:"none"};1<arguments.length&&g(c,{x:k,y:f,width:w,height:b});c=this.createElement("image").attr(c);c.element.setAttributeNS?c.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):c.element.setAttribute("hc-svg-href",a);return c},symbol:function(a,k,f,w,b,l){var x=this,v,p=/^url\((.*?)\)$/,h=p.test(a),D=!h&&(this.symbols[a]?a:"circle"),H=D&&this.symbols[D],K=n(k)&&H&&H.call(this.symbols,Math.round(k),
Math.round(f),w,b,l),z,e;H?(v=this.path(K),v.attr("fill","none"),g(v,{symbolName:D,x:k,y:f,width:w,height:b}),l&&g(v,l)):h&&(z=a.match(p)[1],v=this.image(z),v.imgwidth=J(O[z]&&O[z].width,l&&l.width),v.imgheight=J(O[z]&&O[z].height,l&&l.height),e=function(){v.attr({width:v.width,height:v.height})},c(["width","height"],function(a){v[a+"Setter"]=function(a,k){var f={},w=this["img"+k],b="width"===k?"translateX":"translateY";this[k]=a;n(w)&&(this.element&&this.element.setAttribute(k,w),this.alignByTranslate||
(f[b]=((this[k]||0)-w)/2,this.attr(f)))}}),n(k)&&v.attr({x:k,y:f}),v.isImg=!0,n(v.imgwidth)&&n(v.imgheight)?e():(v.attr({width:0,height:0}),u("img",{onload:function(){var a=d[x.chartIndex];0===this.width&&(t(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));O[z]={width:this.width,height:this.height};v.imgwidth=this.width;v.imgheight=this.height;v.element&&e();this.parentNode&&this.parentNode.removeChild(this);x.imgCount--;if(!x.imgCount&&a&&a.onload)a.onload()},src:z}),this.imgCount++));
return v},symbols:{circle:function(a,k,f,w){return this.arc(a+f/2,k+w/2,f/2,w/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,k,f,w){return["M",a,k,"L",a+f,k,a+f,k+w,a,k+w,"Z"]},triangle:function(a,k,f,w){return["M",a+f/2,k,"L",a+f,k+w,a,k+w,"Z"]},"triangle-down":function(a,k,f,w){return["M",a,k,"L",a+f,k,a+f/2,k+w,"Z"]},diamond:function(a,k,f,w){return["M",a+f/2,k,"L",a+f,k+w/2,a+f/2,k+w,a,k+w/2,"Z"]},arc:function(a,k,f,w,b){var c=b.start,g=b.r||f,l=b.r||w||f,v=b.end-.001;f=b.innerR;w=J(b.open,
.001>Math.abs(b.end-b.start-2*Math.PI));var x=Math.cos(c),p=Math.sin(c),h=Math.cos(v),v=Math.sin(v);b=.001>b.end-c-Math.PI?0:1;g=["M",a+g*x,k+l*p,"A",g,l,0,b,1,a+g*h,k+l*v];n(f)&&g.push(w?"M":"L",a+f*h,k+f*v,"A",f,f,0,b,0,a+f*x,k+f*p);g.push(w?"":"Z");return g},callout:function(a,k,f,w,b){var c=Math.min(b&&b.r||0,f,w),g=c+6,l=b&&b.anchorX;b=b&&b.anchorY;var v;v=["M",a+c,k,"L",a+f-c,k,"C",a+f,k,a+f,k,a+f,k+c,"L",a+f,k+w-c,"C",a+f,k+w,a+f,k+w,a+f-c,k+w,"L",a+c,k+w,"C",a,k+w,a,k+w,a,k+w-c,"L",a,k+c,
"C",a,k,a,k,a+c,k];l&&l>f?b>k+g&&b<k+w-g?v.splice(13,3,"L",a+f,b-6,a+f+6,b,a+f,b+6,a+f,k+w-c):v.splice(13,3,"L",a+f,w/2,l,b,a+f,w/2,a+f,k+w-c):l&&0>l?b>k+g&&b<k+w-g?v.splice(33,3,"L",a,b+6,a-6,b,a,b-6,a,k+c):v.splice(33,3,"L",a,w/2,l,b,a,w/2,a,k+c):b&&b>w&&l>a+g&&l<a+f-g?v.splice(23,3,"L",l+6,k+w,l,k+w+6,l-6,k+w,a+c,k+w):b&&0>b&&l>a+g&&l<a+f-g&&v.splice(3,3,"L",l-6,k,l,k-6,l+6,k,f-c,k);return v}},clipRect:function(k,f,w,b){var c=a.uniqueKey(),g=this.createElement("clipPath").attr({id:c}).add(this.defs);
k=this.rect(k,f,w,b,0).add(g);k.id=c;k.clipPath=g;k.count=0;return k},text:function(a,k,f,w){var b=!K&&this.forExport,c={};if(w&&(this.allowHTML||!this.forExport))return this.html(a,k,f);c.x=Math.round(k||0);f&&(c.y=Math.round(f));if(a||0===a)c.text=a;a=this.createElement("text").attr(c);b&&a.css({position:"absolute"});w||(a.xSetter=function(a,k,f){var w=f.getElementsByTagName("tspan"),b,c=f.getAttribute(k),g;for(g=0;g<w.length;g++)b=w[g],b.getAttribute(k)===c&&b.setAttribute(k,a);f.setAttribute(k,
a)});return a},fontMetrics:function(a,f){a=a||f&&f.style&&f.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?k(a):/em/.test(a)?parseFloat(a)*(f?this.fontMetrics(null,f.parentNode).f:16):12;f=24>a?a+3:Math.round(1.2*a);return{h:f,b:Math.round(.8*f),f:a}},rotCorr:function(a,k,f){var w=a;k&&f&&(w=Math.max(w*Math.cos(k*h),4));return{x:-a/3*Math.sin(k*h),y:w}},label:function(k,f,b,l,p,h,D,H,K){var x=this,d=x.g("button"!==K&&"label"),m=d.text=x.text("",0,0,D).attr({zIndex:1}),z,e,F=0,r=3,
M=0,E,N,t,u,G,J={},R,q,L=/^url\((.*?)\)$/.test(l),Q=L,U,T,O,P;K&&d.addClass("highcharts-"+K);Q=L;U=function(){return(R||0)%2/2};T=function(){var a=m.element.style,k={};e=(void 0===E||void 0===N||G)&&n(m.textStr)&&m.getBBox();d.width=(E||e.width||0)+2*r+M;d.height=(N||e.height||0)+2*r;q=r+x.fontMetrics(a&&a.fontSize,m).b;Q&&(z||(d.box=z=x.symbols[l]||L?x.symbol(l):x.rect(),z.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),z.add(d),a=U(),k.x=a,k.y=(H?-q:0)+a),k.width=
Math.round(d.width),k.height=Math.round(d.height),z.attr(g(k,J)),J={})};O=function(){var a=M+r,k;k=H?0:q;n(E)&&e&&("center"===G||"right"===G)&&(a+={center:.5,right:1}[G]*(E-e.width));if(a!==m.x||k!==m.y)m.attr("x",a),void 0!==k&&m.attr("y",k);m.x=a;m.y=k};P=function(a,k){z?z.attr(a,k):J[a]=k};d.onAdd=function(){m.add(d);d.attr({text:k||0===k?k:"",x:f,y:b});z&&n(p)&&d.attr({anchorX:p,anchorY:h})};d.widthSetter=function(k){E=a.isNumber(k)?k:null};d.heightSetter=function(a){N=a};d["text-alignSetter"]=
function(a){G=a};d.paddingSetter=function(a){n(a)&&a!==r&&(r=d.padding=a,O())};d.paddingLeftSetter=function(a){n(a)&&a!==M&&(M=a,O())};d.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==F&&(F=a,e&&d.attr({x:t}))};d.textSetter=function(a){void 0!==a&&m.textSetter(a);T();O()};d["stroke-widthSetter"]=function(a,k){a&&(Q=!0);R=this["stroke-width"]=a;P(k,a)};d.strokeSetter=d.fillSetter=d.rSetter=function(a,k){"r"!==k&&("fill"===k&&a&&(Q=!0),d[k]=a);P(k,a)};d.anchorXSetter=function(a,k){p=d.anchorX=
a;P(k,Math.round(a)-U()-t)};d.anchorYSetter=function(a,k){h=d.anchorY=a;P(k,a-u)};d.xSetter=function(a){d.x=a;F&&(a-=F*((E||e.width)+2*r));t=Math.round(a);d.attr("translateX",t)};d.ySetter=function(a){u=d.y=Math.round(a);d.attr("translateY",u)};var A=d.css;return g(d,{css:function(a){if(a){var k={};a=v(a);c(d.textProps,function(f){void 0!==a[f]&&(k[f]=a[f],delete a[f])});m.css(k)}return A.call(d,a)},getBBox:function(){return{width:e.width+2*r,height:e.height+2*r,x:e.x-r,y:e.y-r}},shadow:function(a){a&&
(T(),z&&z.shadow(a));return d},destroy:function(){w(d.element,"mouseenter");w(d.element,"mouseleave");m&&(m=m.destroy());z&&(z=z.destroy());y.prototype.destroy.call(d);d=x=T=O=P=null}})}});a.Renderer=C})(I);(function(a){var y=a.attr,C=a.createElement,B=a.css,A=a.defined,e=a.each,d=a.extend,q=a.isFirefox,t=a.isMS,u=a.isWebKit,n=a.pInt,h=a.SVGRenderer,r=a.win,m=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var c=this.element;if(c=a&&"SPAN"===c.tagName&&a.width)delete a.width,this.textWidth=c,
this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);B(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,g=this.element,b=this.translateX||0,p=this.translateY||0,l=this.x||0,h=this.y||0,d=this.textAlign||"left",
f={left:0,center:.5,right:1}[d],H=this.styles;B(g,{marginLeft:b,marginTop:p});this.shadows&&e(this.shadows,function(a){B(a,{marginLeft:b+1,marginTop:p+1})});this.inverted&&e(g.childNodes,function(f){a.invertChild(f,g)});if("SPAN"===g.tagName){var D=this.rotation,m=n(this.textWidth),r=H&&H.whiteSpace,v=[D,d,g.innerHTML,this.textWidth,this.textAlign].join();v!==this.cTT&&(H=a.fontMetrics(g.style.fontSize).b,A(D)&&this.setSpanRotation(D,f,H),B(g,{width:"",whiteSpace:r||"nowrap"}),g.offsetWidth>m&&/[ \-]/.test(g.textContent||
g.innerText)&&B(g,{width:m+"px",display:"block",whiteSpace:r||"normal"}),this.getSpanCorrection(g.offsetWidth,H,f,D,d));B(g,{left:l+(this.xCorr||0)+"px",top:h+(this.yCorr||0)+"px"});u&&(H=g.offsetHeight);this.cTT=v}}else this.alignOnAdd=!0},setSpanRotation:function(a,g,b){var c={},l=t?"-ms-transform":u?"-webkit-transform":q?"MozTransform":r.opera?"-o-transform":"";c[l]=c.transform="rotate("+a+"deg)";c[l+(q?"Origin":"-origin")]=c.transformOrigin=100*g+"% "+b+"px";B(this.element,c)},getSpanCorrection:function(a,
g,b){this.xCorr=-a*b;this.yCorr=-g}});d(h.prototype,{html:function(a,g,b){var c=this.createElement("span"),l=c.element,h=c.renderer,r=h.isSVG,f=function(a,f){e(["opacity","visibility"],function(b){m(a,b+"Setter",function(a,b,c,g){a.call(this,b,c,g);f[c]=b})})};c.textSetter=function(a){a!==l.innerHTML&&delete this.bBox;l.innerHTML=this.textStr=a;c.htmlUpdateTransform()};r&&f(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,f){"align"===f&&(f="textAlign");c[f]=a;c.htmlUpdateTransform()};
c.attr({text:a,x:Math.round(g),y:Math.round(b)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});l.style.whiteSpace="nowrap";c.css=c.htmlCss;r&&(c.add=function(a){var b,g=h.box.parentNode,p=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)p.push(a),a=a.parentGroup;e(p.reverse(),function(a){var l,v=y(a.element,"class");v&&(v={className:v});b=a.div=a.div||C("div",v,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,
opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||g);l=b.style;d(a,{classSetter:function(a){this.element.setAttribute("class",a);b.className=a},on:function(){p[0].div&&c.on.apply({element:p[0].div},arguments);return a},translateXSetter:function(f,k){l.left=f+"px";a[k]=f;a.doTransform=!0},translateYSetter:function(f,k){l.top=f+"px";a[k]=f;a.doTransform=!0}});f(a,l)})}}else b=g;b.appendChild(l);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(I);(function(a){var y,
C,B=a.createElement,A=a.css,e=a.defined,d=a.deg2rad,q=a.discardElement,t=a.doc,u=a.each,n=a.erase,h=a.extend;y=a.extendClass;var r=a.isArray,m=a.isNumber,c=a.isObject,g=a.merge;C=a.noop;var b=a.pick,p=a.pInt,l=a.SVGElement,E=a.SVGRenderer,G=a.win;a.svg||(C={docMode8:t&&8===t.documentMode,init:function(a,b){var f=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],c=["position: ","absolute",";"],g="div"===b;("shape"===b||g)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",g?"hidden":"visible");
f.push(' style\x3d"',c.join(""),'"/\x3e');b&&(f=g||"span"===b||"img"===b?f.join(""):a.prepVML(f),this.element=B(f));this.renderer=a},add:function(a){var f=this.renderer,b=this.element,c=f.box,g=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);g&&f.invertChild(b,c);c.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:l.prototype.htmlUpdateTransform,
setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*d),c=Math.sin(a*d);A(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-c,", M21\x3d",c,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,c,g,l,h){var f=l?Math.cos(l*d):1,p=l?Math.sin(l*d):0,D=b(this.elemHeight,this.element.offsetHeight),m;this.xCorr=0>f&&-a;this.yCorr=0>p&&-D;m=0>f*p;this.xCorr+=p*c*(m?1-g:g);this.yCorr-=f*c*(l?m?g:1-g:1);h&&"left"!==
h&&(this.xCorr-=a*g*(0>f?-1:1),l&&(this.yCorr-=D*g*(0>p?-1:1)),A(this.element,{textAlign:h}))},pathToVML:function(a){for(var f=a.length,b=[];f--;)m(a[f])?b[f]=Math.round(10*a[f])-5:"Z"===a[f]?b[f]="x":(b[f]=a[f],!a.isArc||"wa"!==a[f]&&"at"!==a[f]||(b[f+5]===b[f+7]&&(b[f+7]+=a[f+7]>a[f+5]?1:-1),b[f+6]===b[f+8]&&(b[f+8]+=a[f+8]>a[f+6]?1:-1)));return b.join(" ")||"x"},clip:funct