UNPKG

highcharts

Version:
105 lines (103 loc) 342 kB
/* Highcharts Gantt JS v8.0.4 (2020-03-10) (c) 2017-2018 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng License: www.highcharts.com/license */ (function(Y,P){"object"===typeof module&&module.exports?(P["default"]=P,module.exports=Y.document?P(Y):P):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return P(Y)}):(Y.Highcharts&&Y.Highcharts.error(16,!0),Y.Highcharts=P(Y))})("undefined"!==typeof window?window:this,function(Y){function P(f,k,H,q){f.hasOwnProperty(k)||(f[k]=q.apply(null,H))}var u={};P(u,"parts/Globals.js",[],function(){var f="undefined"!==typeof Y?Y:"undefined"!==typeof window?window:{},k= f.document,H=f.navigator&&f.navigator.userAgent||"",q=k&&k.createElementNS&&!!k.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,G=/(edge|msie|trident)/i.test(H)&&!f.opera,M=-1!==H.indexOf("Firefox"),L=-1!==H.indexOf("Chrome"),C=M&&4>parseInt(H.split("Firefox/")[1],10);return{product:"Highcharts",version:"8.0.4",deg2rad:2*Math.PI/360,doc:k,hasBidiBug:C,hasTouch:!!f.TouchEvent,isMS:G,isWebKit:-1!==H.indexOf("AppleWebKit"),isFirefox:M,isChrome:L,isSafari:!L&&-1!==H.indexOf("Safari"), isTouchDevice:/(Mobile|Android|Windows Phone)/.test(H),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:q,win:f,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});P(u,"parts/Utilities.js",[u["parts/Globals.js"]],function(f){function k(){var b,a=arguments,m={},c=function(a,b){"object"!==typeof a&&(a={});W(b,function(m,h){!y(m,!0)||l(m)||p(m)?a[h]=b[h]:a[h]=c(a[h]||{},m)});return a};!0===a[0]&&(m=a[1],a=Array.prototype.slice.call(a, 2));var h=a.length;for(b=0;b<h;b++)m=c(m,a[b]);return m}function H(a,b,m){var c;v(b)?d(m)?a.setAttribute(b,m):a&&a.getAttribute&&((c=a.getAttribute(b))||"class"!==b||(c=a.getAttribute(b+"Name"))):W(b,function(b,m){a.setAttribute(m,b)});return c}function q(){for(var a=arguments,b=a.length,m=0;m<b;m++){var c=a[m];if("undefined"!==typeof c&&null!==c)return c}}function G(a,b){if(!a)return b;var m=a.split(".").reverse();if(1===m.length)return b[a];for(a=m.pop();"undefined"!==typeof a&&"undefined"!==typeof b&& null!==b;)b=b[a],a=m.pop();return b}f.timers=[];var M=f.charts,L=f.doc,C=f.win,F=f.error=function(a,b,m,c){var h=n(a),d=h?"Highcharts error #"+a+": www.highcharts.com/errors/"+a+"/":a.toString(),x=function(){if(b)throw Error(d);C.console&&console.log(d)};if("undefined"!==typeof c){var e="";h&&(d+="?");f.objectEach(c,function(a,b){e+="\n"+b+": "+a;h&&(d+=encodeURI(b)+"="+encodeURI(a))});d+=e}m?f.fireEvent(m,"displayError",{code:a,message:d,params:c},x):x()},E=function(){function a(a,b,m){this.options= b;this.elem=a;this.prop=m}a.prototype.dSetter=function(){var a=this.paths[0],b=this.paths[1],m=[],c=this.now,h=a.length;if(1===c)m=this.toD;else if(h===b.length&&1>c)for(;h--;){var d=parseFloat(a[h]);m[h]=isNaN(d)||"A"===b[h-4]||"A"===b[h-5]?b[h]:c*parseFloat(""+(b[h]-d))+d}else m=b;this.elem.attr("d",m,null,!0)};a.prototype.update=function(){var a=this.elem,b=this.prop,m=this.now,c=this.options.step;if(this[b+"Setter"])this[b+"Setter"]();else a.attr?a.element&&a.attr(b,m,null,!0):a.style[b]=m+this.unit; c&&c.call(a,m,this)};a.prototype.run=function(a,b,m){var c=this,h=c.options,d=function(a){return d.stopped?!1:c.step(a)},x=C.requestAnimationFrame||function(a){setTimeout(a,13)},e=function(){for(var a=0;a<f.timers.length;a++)f.timers[a]()||f.timers.splice(a--,1);f.timers.length&&x(e)};a!==b||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=a,this.end=b,this.unit=m,this.now=this.start,this.pos=0,d.elem=this.elem,d.prop=this.prop,d()&&1===f.timers.push(d)&&x(e)):(delete h.curAnim[this.prop], h.complete&&0===Object.keys(h.curAnim).length&&h.complete.call(this.elem))};a.prototype.step=function(a){var b=+new Date,m=this.options,c=this.elem,h=m.complete,d=m.duration,x=m.curAnim;if(c.attr&&!c.element)a=!1;else if(a||b>=d+this.startTime){this.now=this.end;this.pos=1;this.update();var e=x[this.prop]=!0;W(x,function(a){!0!==a&&(e=!1)});e&&h&&h.call(c);a=!1}else this.pos=m.easing((b-this.startTime)/d),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0;return a};a.prototype.initPath= function(a,b,m){function c(a){for(r=a.length;r--;){var b="M"===a[r]||"L"===a[r];var m=/[a-zA-Z]/.test(a[r+3]);b&&m&&a.splice(r+1,0,a[r+1],a[r+2],a[r+1],a[r+2])}}function h(a,b){for(;a.length<T;){a[0]=b[T-a.length];var m=a.slice(0,g);[].splice.apply(a,[0,0].concat(m));O&&(m=a.slice(a.length-g),[].splice.apply(a,[a.length,0].concat(m)),r--)}a[0]="M"}function d(a,b){for(var m=(T-a.length)/g;0<m&&m--;)w=a.slice().splice(a.length/K-g,g*K),w[0]=b[T-g-m*g],R&&(w[g-6]=w[g-2],w[g-5]=w[g-1]),[].splice.apply(a, [a.length/K,0].concat(w)),O&&m--}b=b||"";var x=a.startX,e=a.endX,R=-1<b.indexOf("C"),g=R?7:3,w,r;b=b.split(" ");m=m.slice();var O=a.isArea,K=O?2:1;R&&(c(b),c(m));if(x&&e){for(r=0;r<x.length;r++)if(x[r]===e[0]){var t=r;break}else if(x[0]===e[e.length-x.length+r]){t=r;var z=!0;break}else if(x[x.length-1]===e[e.length-x.length+r]){t=x.length-r;break}"undefined"===typeof t&&(b=[])}if(b.length&&n(t)){var T=m.length+t*K*g;z?(h(b,m),d(m,b)):(h(m,b),d(b,m))}return[b,m]};a.prototype.fillSetter=function(){f.Fx.prototype.strokeSetter.apply(this, arguments)};a.prototype.strokeSetter=function(){this.elem.attr(this.prop,f.color(this.start).tweenTo(f.color(this.end),this.pos),null,!0)};return a}();f.Fx=E;f.merge=k;var A=f.pInt=function(a,b){return parseInt(a,b||10)},v=f.isString=function(a){return"string"===typeof a},B=f.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a},y=f.isObject=function(a,b){return!!a&&"object"===typeof a&&(!b||!B(a))},p=f.isDOMElement=function(a){return y(a)&& "number"===typeof a.nodeType},l=f.isClass=function(a){var b=a&&a.constructor;return!(!y(a,!0)||p(a)||!b||!b.name||"Object"===b.name)},n=f.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a},e=f.erase=function(a,b){for(var m=a.length;m--;)if(a[m]===b){a.splice(m,1);break}},d=f.defined=function(a){return"undefined"!==typeof a&&null!==a};f.attr=H;var g=f.splat=function(a){return B(a)?a:[a]},c=f.syncTimeout=function(a,b,m){if(0<b)return setTimeout(a,b,m);a.call(0,m);return-1}, b=f.clearTimeout=function(a){d(a)&&clearTimeout(a)},a=f.extend=function(a,b){var m;a||(a={});for(m in b)a[m]=b[m];return a};f.pick=q;var w=f.css=function(b,m){f.isMS&&!f.svg&&m&&"undefined"!==typeof m.opacity&&(m.filter="alpha(opacity="+100*m.opacity+")");a(b.style,m)},z=f.createElement=function(b,m,c,h,d){b=L.createElement(b);m&&a(b,m);d&&w(b,{padding:"0",border:"none",margin:"0"});c&&w(b,c);h&&h.appendChild(b);return b},D=f.extendClass=function(b,m){var c=function(){};c.prototype=new b;a(c.prototype, m);return c},r=f.pad=function(a,b,m){return Array((b||2)+1-String(a).replace("-","").length).join(m||"0")+a},h=f.relativeLength=function(a,b,m){return/%$/.test(a)?b*parseFloat(a)/100+(m||0):parseFloat(a)},t=f.wrap=function(a,b,m){var c=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments),b=arguments,h=this;h.proceed=function(){c.apply(h,arguments.length?arguments:b)};a.unshift(c);a=m.apply(this,a);h.proceed=null;return a}},I=f.format=function(a,b,m){var c="{",h=!1,d=[],x=/f$/,e=/\.([0-9])/, g=f.defaultOptions.lang,R=m&&m.time||f.time;for(m=m&&m.numberFormatter||T;a;){var r=a.indexOf(c);if(-1===r)break;var w=a.slice(0,r);if(h){w=w.split(":");c=G(w.shift()||"",b);if(w.length&&"number"===typeof c)if(w=w.join(":"),x.test(w)){var O=parseInt((w.match(e)||["","-1"])[1],10);null!==c&&(c=m(c,O,g.decimalPoint,-1<w.indexOf(",")?g.thousandsSep:""))}else c=R.dateFormat(w,c);d.push(c)}else d.push(w);a=a.slice(r+1);c=(h=!h)?"}":"{"}d.push(a);return d.join("")},J=f.getMagnitude=function(a){return Math.pow(10, Math.floor(Math.log(a)/Math.LN10))},N=f.normalizeTickInterval=function(a,b,m,c,h){var d=a;m=q(m,1);var x=a/m;b||(b=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===c&&(1===m?b=b.filter(function(a){return 0===a%1}):.1>=m&&(b=[1/m])));for(c=0;c<b.length&&!(d=b[c],h&&d*m>=a||!h&&x<=(b[c]+(b[c+1]||b[c]))/2);c++);return d=U(d*m,-Math.round(Math.log(.001)/Math.LN10))},x=f.stableSort=function(a,b){var m=a.length,c,h;for(h=0;h<m;h++)a[h].safeI=h;a.sort(function(a,m){c=b(a,m);return 0===c?a.safeI-m.safeI: c});for(h=0;h<m;h++)delete a[h].safeI},m=f.arrayMin=function(a){for(var b=a.length,m=a[0];b--;)a[b]<m&&(m=a[b]);return m},K=f.arrayMax=function(a){for(var b=a.length,m=a[0];b--;)a[b]>m&&(m=a[b]);return m},O=f.destroyObjectProperties=function(a,b){W(a,function(m,c){m&&m!==b&&m.destroy&&m.destroy();delete a[c]})},V=f.discardElement=function(a){var b=f.garbageBin;b||(b=z("div"));a&&b.appendChild(a);b.innerHTML=""},U=f.correctFloat=function(a,b){return parseFloat(a.toPrecision(b||14))},X=f.setAnimation= function(a,b){b.renderer.globalAnimation=q(a,b.options.chart.animation,!0)},Q=f.animObject=function(a){return y(a)?k(a):{duration:a?500:0}},R=f.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5},T=f.numberFormat=function(a,b,m,c){a=+a||0;b=+b;var h=f.defaultOptions.lang,d=(a.toString().split(".")[1]||"").split("e")[0].length,x=a.toString().split("e");if(-1===b)b=Math.min(d,20);else if(!n(b))b=2;else if(b&&x[1]&&0>x[1]){var e=b+ +x[1];0<=e?(x[0]= (+x[0]).toExponential(e).split("e")[0],b=e):(x[0]=x[0].split(".")[0]||0,a=20>b?(x[0]*Math.pow(10,x[1])).toFixed(b):0,x[1]=0)}var g=(Math.abs(x[1]?x[0]:a)+Math.pow(10,-Math.max(b,d)-1)).toFixed(b);d=String(A(g));e=3<d.length?d.length%3:0;m=q(m,h.decimalPoint);c=q(c,h.thousandsSep);a=(0>a?"-":"")+(e?d.substr(0,e)+c:"");a+=d.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+c);b&&(a+=m+g.slice(-b));x[1]&&0!==+a&&(a+="e"+x[1]);return a};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};var ea=f.getStyle= function(a,b,m){if("width"===b)return b=Math.min(a.offsetWidth,a.scrollWidth),m=a.getBoundingClientRect&&a.getBoundingClientRect().width,m<b&&m>=b-1&&(b=Math.floor(m)),Math.max(0,b-f.getStyle(a,"padding-left")-f.getStyle(a,"padding-right"));if("height"===b)return Math.max(0,Math.min(a.offsetHeight,a.scrollHeight)-f.getStyle(a,"padding-top")-f.getStyle(a,"padding-bottom"));C.getComputedStyle||F(27,!0);if(a=C.getComputedStyle(a,void 0))a=a.getPropertyValue(b),q(m,"opacity"!==b)&&(a=A(a));return a}, Z=f.inArray=function(a,b,m){return b.indexOf(a,m)},S=f.find=Array.prototype.find?function(a,b){return a.find(b)}:function(a,b){var m,c=a.length;for(m=0;m<c;m++)if(b(a[m],m))return a[m]};f.keys=Object.keys;var ba=f.offset=function(a){var b=L.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||b.scrollTop)-(b.clientTop||0),left:a.left+(C.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}},ca=f.stop=function(a,b){for(var m=f.timers.length;m--;)f.timers[m].elem!== a||b&&b!==f.timers[m].prop||(f.timers[m].stopped=!0)},W=f.objectEach=function(a,b,m){for(var c in a)Object.hasOwnProperty.call(a,c)&&b.call(m||a[c],a[c],c,a)};W({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(a,b){f[b]=function(b){return Array.prototype[a].apply(b,[].slice.call(arguments,1))}});var aa=f.addEvent=function(a,b,m,c){void 0===c&&(c={});var h=a.addEventListener||f.addEventListenerPolyfill;var d="function"===typeof a&&a.prototype?a.prototype.protoEvents=a.prototype.protoEvents|| {}:a.hcEvents=a.hcEvents||{};f.Point&&a instanceof f.Point&&a.series&&a.series.chart&&(a.series.chart.runTrackerClick=!0);h&&h.call(a,b,m,!1);d[b]||(d[b]=[]);d[b].push({fn:m,order:"number"===typeof c.order?c.order:Infinity});d[b].sort(function(a,b){return a.order-b.order});return function(){da(a,b,m)}},da=f.removeEvent=function(a,b,m){function c(b,m){var c=a.removeEventListener||f.removeEventListenerPolyfill;c&&c.call(a,b,m,!1)}function h(m){var h;if(a.nodeName){if(b){var d={};d[b]=!0}else d=m;W(d, function(a,b){if(m[b])for(h=m[b].length;h--;)c(b,m[b][h].fn)})}}var d;["protoEvents","hcEvents"].forEach(function(x,e){var g=(e=e?a:a.prototype)&&e[x];g&&(b?(d=g[b]||[],m?(g[b]=d.filter(function(a){return m!==a.fn}),c(b,m)):(h(g),g[b]=[])):(h(g),e[x]={}))})},ha=f.fireEvent=function(b,m,c,h){var d;c=c||{};if(L.createEvent&&(b.dispatchEvent||b.fireEvent)){var x=L.createEvent("Events");x.initEvent(m,!0,!0);a(x,c);b.dispatchEvent?b.dispatchEvent(x):b.fireEvent(m,x)}else c.target||a(c,{preventDefault:function(){c.defaultPrevented= !0},target:b,type:m}),function(a,m){void 0===a&&(a=[]);void 0===m&&(m=[]);var h=0,x=0,e=a.length+m.length;for(d=0;d<e;d++)!1===(a[h]?m[x]?a[h].order<=m[x].order?a[h++]:m[x++]:a[h++]:m[x++]).fn.call(b,c)&&c.preventDefault()}(b.protoEvents&&b.protoEvents[m],b.hcEvents&&b.hcEvents[m]);h&&!c.defaultPrevented&&h.call(b,c)},ia=f.animate=function(a,b,m){var c,h="",d,x;if(!y(m)){var e=arguments;m={duration:e[2],easing:e[3],complete:e[4]}}n(m.duration)||(m.duration=400);m.easing="function"===typeof m.easing? m.easing:Math[m.easing]||Math.easeInOutSine;m.curAnim=k(b);W(b,function(e,g){ca(a,g);x=new E(a,m,g);d=null;"d"===g?(x.paths=x.initPath(a,a.d,b.d),x.toD=b.d,c=0,d=1):a.attr?c=a.attr(g):(c=parseFloat(ea(a,g))||0,"opacity"!==g&&(h="px"));d||(d=e);d&&d.match&&d.match("px")&&(d=d.replace(/px/g,""));x.run(c,d,h)})},u=f.seriesType=function(a,b,m,c,h){var d=f.getOptions(),x=f.seriesTypes;d.plotOptions[a]=k(d.plotOptions[b],m);x[a]=D(x[b]||function(){},c);x[a].prototype.type=a;h&&(x[a].prototype.pointClass= D(f.Point,h));return x[a]},fa=f.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),b=0;return function(){return"highcharts-"+a+"-"+b++}}(),ja=f.isFunction=function(a){return"function"===typeof a};C.jQuery&&(C.jQuery.fn.highcharts=function(){var a=[].slice.call(arguments);if(this[0])return a[0]?(new (f[v(a[0])?a.shift():"Chart"])(this[0],a[0],a[1]),this):M[H(this[0],"data-highcharts-chart")]});return{Fx:E,addEvent:aa,animate:ia,animObject:Q,arrayMax:K,arrayMin:m,attr:H,clamp:function(a, b,m){return a>b?a<m?a:m:b},clearTimeout:b,correctFloat:U,createElement:z,css:w,defined:d,destroyObjectProperties:O,discardElement:V,erase:e,error:F,extend:a,extendClass:D,find:S,fireEvent:ha,format:I,getMagnitude:J,getNestedProperty:G,getStyle:ea,inArray:Z,isArray:B,isClass:l,isDOMElement:p,isFunction:ja,isNumber:n,isObject:y,isString:v,merge:k,normalizeTickInterval:N,numberFormat:T,objectEach:W,offset:ba,pad:r,pick:q,pInt:A,relativeLength:h,removeEvent:da,seriesType:u,setAnimation:X,splat:g,stableSort:x, stop:ca,syncTimeout:c,timeUnits:R,uniqueKey:fa,wrap:t}});P(u,"parts/Color.js",[u["parts/Globals.js"],u["parts/Utilities.js"]],function(f,k){var H=k.isNumber,q=k.merge,G=k.pInt;k=function(){function f(k){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(f){return[G(f[1]),G(f[2]),G(f[3]),parseFloat(f[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(f){return[G(f[1]),G(f[2]), G(f[3]),1]}}];this.rgba=[];if(!(this instanceof f))return new f(k);this.init(k)}f.parse=function(k){return new f(k)};f.prototype.init=function(k){var C,q;if((this.input=k=f.names[k&&k.toLowerCase?k.toLowerCase():""]||k)&&k.stops)this.stops=k.stops.map(function(v){return new f(v[1])});else{if(k&&k.charAt&&"#"===k.charAt()){var E=k.length;k=parseInt(k.substr(1),16);7===E?C=[(k&16711680)>>16,(k&65280)>>8,k&255,1]:4===E&&(C=[(k&3840)>>4|(k&3840)>>8,(k&240)>>4|k&240,(k&15)<<4|k&15,1])}if(!C)for(q=this.parsers.length;q--&& !C;){var A=this.parsers[q];(E=A.regex.exec(k))&&(C=A.parse(E))}}this.rgba=C||[]};f.prototype.get=function(f){var k=this.input,F=this.rgba;if("undefined"!==typeof this.stops){var E=q(k);E.stops=[].concat(E.stops);this.stops.forEach(function(A,v){E.stops[v]=[E.stops[v][0],A.get(f)]})}else E=F&&H(F[0])?"rgb"===f||!f&&1===F[3]?"rgb("+F[0]+","+F[1]+","+F[2]+")":"a"===f?F[3]:"rgba("+F.join(",")+")":k;return E};f.prototype.brighten=function(f){var k,q=this.rgba;if(this.stops)this.stops.forEach(function(k){k.brighten(f)}); else if(H(f)&&0!==f)for(k=0;3>k;k++)q[k]+=G(255*f),0>q[k]&&(q[k]=0),255<q[k]&&(q[k]=255);return this};f.prototype.setOpacity=function(f){this.rgba[3]=f;return this};f.prototype.tweenTo=function(f,k){var q=this.rgba,E=f.rgba;E.length&&q&&q.length?(f=1!==E[3]||1!==q[3],k=(f?"rgba(":"rgb(")+Math.round(E[0]+(q[0]-E[0])*(1-k))+","+Math.round(E[1]+(q[1]-E[1])*(1-k))+","+Math.round(E[2]+(q[2]-E[2])*(1-k))+(f?","+(E[3]+(q[3]-E[3])*(1-k)):"")+")"):k=f.input||"none";return k};f.names={white:"#ffffff",black:"#000000"}; return f}();f.Color=k;f.color=k.parse;return f.Color});P(u,"parts/SvgRenderer.js",[u["parts/Globals.js"],u["parts/Color.js"],u["parts/Utilities.js"]],function(f,k,H){var q=k.parse,G=H.addEvent,M=H.animate,L=H.animObject,C=H.attr,F=H.createElement,E=H.css,A=H.defined,v=H.destroyObjectProperties,B=H.erase,y=H.extend,p=H.inArray,l=H.isArray,n=H.isNumber,e=H.isObject,d=H.isString,g=H.merge,c=H.objectEach,b=H.pick,a=H.pInt,w=H.removeEvent,z=H.splat,D=H.stop,r=H.uniqueKey,h=f.charts,t=f.deg2rad,I=f.doc, J=f.hasTouch,N=f.isFirefox,x=f.isMS,m=f.isWebKit,K=f.noop,O=f.svg,V=f.SVG_NS,U=f.symbolSizes,X=f.win;var Q=f.SVGElement=function(){return this};y(Q.prototype,{opacity:1,SVG_NS:V,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,b){this.element="span"===b?F(b):I.createElementNS(this.SVG_NS,b);this.renderer=a;f.fireEvent(this,"afterInit")},animate:function(a,m,h){var d=L(b(m,this.renderer.globalAnimation, !0));b(I.hidden,I.msHidden,I.webkitHidden,!1)&&(d.duration=0);0!==d.duration?(h&&(d.complete=h),M(this,a,d)):(this.attr(a,void 0,h),c(a,function(a,b){d.step&&d.step.call(this,a,{prop:b,pos:1})},this));return this},complexColor:function(a,b,m){var h=this.renderer,d,x,e,R,w,O,K,t,z,T,D,I=[],n;f.fireEvent(this.renderer,"complexColor",{args:arguments},function(){a.radialGradient?x="radialGradient":a.linearGradient&&(x="linearGradient");x&&(e=a[x],w=h.gradients,K=a.stops,T=m.radialReference,l(e)&&(a[x]= e={x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===x&&T&&!A(e.gradientUnits)&&(R=e,e=g(e,h.getRadialAttr(T,R),{gradientUnits:"userSpaceOnUse"})),c(e,function(a,b){"id"!==b&&I.push(b,a)}),c(K,function(a){I.push(a)}),I=I.join(","),w[I]?D=w[I].attr("id"):(e.id=D=r(),w[I]=O=h.createElement(x).attr(e).add(h.defs),O.radAttr=R,O.stops=[],K.forEach(function(a){0===a[1].indexOf("rgba")?(d=q(a[1]),t=d.get("rgb"),z=d.get("a")):(t=a[1],z=1);a=h.createElement("stop").attr({offset:a[0], "stop-color":t,"stop-opacity":z}).add(O);O.stops.push(a)})),n="url("+h.url+"#"+D+")",m.setAttribute(b,n),m.gradient=I,a.toString=function(){return n})})},applyTextOutline:function(a){var b=this.element,m;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));a=a.split(" ");var c=a[a.length-1];if((m=a[0])&&"none"!==m&&f.svg){this.fakeTS=!0;a=[].slice.call(b.getElementsByTagName("tspan"));this.ySetter=this.xSetter;m=m.replace(/(^[\d\.]+)(.*?)$/g,function(a,b, m){return 2*b+m});this.removeTextOutline(a);var h=b.textContent?/^[\u0591-\u065F\u066A-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/.test(b.textContent):!1;var d=b.firstChild;a.forEach(function(a,x){0===x&&(a.setAttribute("x",b.getAttribute("x")),x=b.getAttribute("y"),a.setAttribute("y",x||0),null===x&&b.setAttribute("y",0));x=a.cloneNode(!0);C(h&&!N?a:x,{"class":"highcharts-text-outline",fill:c,stroke:c,"stroke-width":m,"stroke-linejoin":"round"});b.insertBefore(x,d)});h&&N&&a[0]&&(a=a[0].cloneNode(!0),a.textContent= " ",b.insertBefore(a,d))}},removeTextOutline:function(a){for(var b=a.length,m;b--;)m=a[b],"highcharts-text-outline"===m.getAttribute("class")&&B(a,this.element.removeChild(m))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(a,b,m,h){var d=this.element,x,e=this,g,w,r=this.symbolCustomAttribs;if("string"===typeof a&&"undefined"!==typeof b){var R=a;a={};a[R]=b}"string"===typeof a?e=(this[a+"Getter"]||this._defaultGetter).call(this,a,d):(c(a, function(b,m){g=!1;h||D(this,m);this.symbolName&&-1!==p(m,r)&&(x||(this.symbolAttr(a),x=!0),g=!0);!this.rotation||"x"!==m&&"y"!==m||(this.doTransform=!0);g||(w=this[m+"Setter"]||this._defaultSetter,w.call(this,b,m,d),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(m)&&this.updateShadows(m,b,w))},this),this.afterSetters());m&&m.call(this);return e},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a, b,m){for(var c=this.shadows,h=c.length;h--;)m.call(c[h],"height"===a?Math.max(b-(c[h].cutHeight||0),0):"d"===a?this.d:b,a,c[h])},addClass:function(a,b){var m=b?"":this.attr("class")||"";a=(a||"").split(/ /g).reduce(function(a,b){-1===m.indexOf(b)&&a.push(b);return a},m?[m]:[]).join(" ");a!==m&&this.attr("class",a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(d(a)?new RegExp(" ?"+ a+" ?"):a,""))},symbolAttr:function(a){var m=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(c){m[c]=b(a[c],m[c])});m.attr({d:m.renderer.symbols[m.symbolName](m.x,m.y,m.width,m.height,m)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){b=b||a.strokeWidth||0;var m=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+m;a.y=Math.floor(a.y||this.y||0)+m;a.width=Math.floor((a.width||this.width|| 0)-2*m);a.height=Math.floor((a.height||this.height||0)-2*m);A(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(b){var m=this.styles,h={},d=this.element,x="",e=!m,g=["textOutline","textOverflow","width"];b&&b.color&&(b.fill=b.color);m&&c(b,function(a,b){a!==m[b]&&(h[b]=a,e=!0)});if(e){m&&(b=y(m,h));if(b)if(null===b.width||"auto"===b.width)delete this.textWidth;else if("text"===d.nodeName.toLowerCase()&&b.width)var w=this.textWidth=a(b.width);this.styles=b;w&&!O&&this.renderer.forExport&&delete b.width; if(d.namespaceURI===this.SVG_NS){var r=function(a,b){return"-"+b.toLowerCase()};c(b,function(a,b){-1===g.indexOf(b)&&(x+=b.replace(/([A-Z])/g,r)+":"+a+";")});x&&C(d,"style",x)}else E(d,b);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),b&&b.textOutline&&this.applyTextOutline(b.textOutline))}return this},getStyle:function(a){return X.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]|| 0;var b=this.getStyle("stroke-width"),m=0;if(b.indexOf("px")===b.length-2)m=a(b);else if(""!==b){var c=I.createElementNS(V,"rect");C(c,{width:b,"stroke-width":0});this.element.parentNode.appendChild(c);m=c.getBBox().width;c.parentNode.removeChild(c)}return m},on:function(a,b){var m,c,h=this.element,d;J&&"click"===a?(h.ontouchstart=function(a){m=a.touches[0].clientX;c=a.touches[0].clientY},h.ontouchend=function(a){m&&4<=Math.sqrt(Math.pow(m-a.changedTouches[0].clientX,2)+Math.pow(c-a.changedTouches[0].clientY, 2))||b.call(h,a);d=!0;a.preventDefault()},h.onclick=function(a){d||b.call(h,a)}):h["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,m=this.translateY|| 0,c=this.scaleX,h=this.scaleY,d=this.inverted,x=this.rotation,e=this.matrix,g=this.element;d&&(a+=this.width,m+=this.height);a=["translate("+a+","+m+")"];A(e)&&a.push("matrix("+e.join(",")+")");d?a.push("rotate(90) scale(-1,1)"):x&&a.push("rotate("+x+" "+b(this.rotationOriginX,g.getAttribute("x"),0)+" "+b(this.rotationOriginY,g.getAttribute("y")||0)+")");(A(c)||A(h))&&a.push("scale("+b(c,1)+" "+b(h,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a); return this},align:function(a,m,c){var h,x={};var e=this.renderer;var g=e.alignedObjects;var w,r;if(a){if(this.alignOptions=a,this.alignByTranslate=m,!c||d(c))this.alignTo=h=c||"renderer",B(g,this),g.push(this),c=null}else a=this.alignOptions,m=this.alignByTranslate,h=this.alignTo;c=b(c,e[h],e);h=a.align;e=a.verticalAlign;g=(c.x||0)+(a.x||0);var O=(c.y||0)+(a.y||0);"right"===h?w=1:"center"===h&&(w=2);w&&(g+=(c.width-(a.width||0))/w);x[m?"translateX":"x"]=Math.round(g);"bottom"===e?r=1:"middle"=== e&&(r=2);r&&(O+=(c.height-(a.height||0))/r);x[m?"translateY":"y"]=Math.round(O);this[this.placed?"animate":"attr"](x);this.placed=!0;this.alignAttr=x;return this},getBBox:function(a,m){var c,h=this.renderer,d=this.element,x=this.styles,e=this.textStr,g,w=h.cache,r=h.cacheKeys,O=d.namespaceURI===this.SVG_NS;m=b(m,this.rotation,0);var K=h.styledMode?d&&Q.prototype.getStyle.call(d,"font-size"):x&&x.fontSize;if(A(e)){var z=e.toString();-1===z.indexOf("<")&&(z=z.replace(/[0-9]/g,"0"));z+=["",m,K,this.textWidth, x&&x.textOverflow].join()}z&&!a&&(c=w[z]);if(!c){if(O||h.forExport){try{(g=this.fakeTS&&function(a){[].forEach.call(d.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&g("none"),c=d.getBBox?y({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight},g&&g("")}catch(fa){""}if(!c||0>c.width)c={width:0,height:0}}else c=this.htmlGetBBox();h.isSVG&&(a=c.width,h=c.height,O&&(c.height=h={"11px,17":14,"13px,20":16}[x&&x.fontSize+","+Math.round(h)]||h),m&&(x=m*t,c.width=Math.abs(h* Math.sin(x))+Math.abs(a*Math.cos(x)),c.height=Math.abs(h*Math.cos(x))+Math.abs(a*Math.sin(x))));if(z&&0<c.height){for(;250<r.length;)delete w[r.shift()];w[z]||r.push(z);w[z]=c}}return c},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(a){a?this.attr({y:-9999}):this.attr({visibility:"hidden"});return this},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,m=this.element; a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;"undefined"!==typeof this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)var c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(m);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},m=a.renderer,h=m.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,d=b.ownerSVGElement,x=a.clipPath;b.onclick=b.onmouseout=b.onmouseover= b.onmousemove=b.point=null;D(a);x&&d&&([].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1<a.getAttribute("clip-path").indexOf(x.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=x.destroy());if(a.stops){for(d=0;d<a.stops.length;d++)a.stops[d]=a.stops[d].destroy();a.stops=null}a.safeRemoveChild(b);for(m.styledMode||a.destroyShadows();h&&h.div&&0===h.div.childNodes.length;)b=h.parentGroup,a.safeRemoveChild(h.div),delete h.div,h=b;a.alignTo&&B(m.alignedObjects,a);c(a, function(b,m){a[m]&&a[m].parentGroup===a&&a[m].destroy&&a[m].destroy();delete a[m]})},shadow:function(a,m,c){var h=[],d,x=this.element;if(!a)this.destroyShadows();else if(!this.shadows){var e=b(a.width,3);var g=(a.opacity||.15)/e;var w=this.parentInverted?"(-1,-1)":"("+b(a.offsetX,1)+", "+b(a.offsetY,1)+")";for(d=1;d<=e;d++){var r=x.cloneNode(0);var O=2*e+1-2*d;C(r,{stroke:a.color||"#000000","stroke-opacity":g*d,"stroke-width":O,transform:"translate"+w,fill:"none"});r.setAttribute("class",(r.getAttribute("class")|| "")+" highcharts-shadow");c&&(C(r,"height",Math.max(C(r,"height")-O,0)),r.cutHeight=O);m?m.element.appendChild(r):x.parentNode&&x.parentNode.insertBefore(r,x);h.push(r)}this.shadows=h}return this},destroyShadows:function(){(this.shadows||[]).forEach(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=b(this[a+"Value"],this[a],this.element? this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,m){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(m.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(b){var m,c=this["stroke-width"];"inherit"===c&&(c=1);if(b=b&&b.toLowerCase()){b=b.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(m=b.length;m--;)b[m]=a(b[m])*c;b=b.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",b)}},alignSetter:function(a){var b={left:"start",center:"middle",right:"end"};b[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",b[a]))},opacitySetter:function(a,b,m){this[b]=a;m.setAttribute(b,a)},titleSetter:function(a){var m=this.element.getElementsByTagName("title")[0];m||(m=I.createElementNS(this.SVG_NS,"title"), this.element.appendChild(m));m.firstChild&&m.removeChild(m.firstChild);m.appendChild(I.createTextNode(String(b(a,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(a,b){var m=this.element,h={textAnchor:"text-anchor"},d=!1,x=this.textPathWrapper,e=!x;b=g(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}}, b);var w=b.attributes;if(a&&b&&b.enabled){x&&null===x.element.parentNode?(e=!0,x=x.destroy()):x&&this.removeTextOutline.call(x.parentGroup,[].slice.call(m.getElementsByTagName("tspan")));this.options&&this.options.padding&&(w.dx=-this.options.padding);x||(this.textPathWrapper=x=this.renderer.createElement("textPath"),d=!0);var O=x.element;(b=a.element.getAttribute("id"))||a.element.setAttribute("id",b=r());if(e)for(a=m.getElementsByTagName("tspan");a.length;)a[0].setAttribute("y",0),n(w.dx)&&a[0].setAttribute("x", -w.dx),O.appendChild(a[0]);d&&x.add({element:this.text?this.text.element:m});O.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+b);A(w.dy)&&(O.parentNode.setAttribute("dy",w.dy),delete w.dy);A(w.dx)&&(O.parentNode.setAttribute("dx",w.dx),delete w.dx);c(w,function(a,b){O.setAttribute(h[b]||b,a)});m.removeAttribute("transform");this.removeTextOutline.call(x,[].slice.call(m.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0}); this.applyTextOutline=this.updateTransform=K}else x&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(m,a),this.updateTransform(),this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},destroyTextPath:function(a,b){var m=a.getElementsByTagName("text")[0];if(m){if(m.removeAttribute("dx"),m.removeAttribute("dy"),b.element.setAttribute("id",""),m.getElementsByTagName("textPath").length){for(a=this.textPathWrapper.element.childNodes;a.length;)m.appendChild(a[0]); m.removeChild(this.textPathWrapper.element)}}else if(a.getAttribute("dx")||a.getAttribute("dy"))a.removeAttribute("dx"),a.removeAttribute("dy");this.textPathWrapper=this.textPathWrapper.destroy()},fillSetter:function(a,b,m){"string"===typeof a?m.setAttribute(b,a):a&&this.complexColor(a,b,m)},visibilitySetter:function(a,b,m){"inherit"===a?m.removeAttribute(b):this[b]!==a&&m.setAttribute(b,a);this[b]=a},zIndexSetter:function(b,m){var c=this.renderer,h=this.parentGroup,d=(h||c).element||c.box,x=this.element, e=!1;c=d===c.box;var g=this.added;var w;A(b)?(x.setAttribute("data-z-index",b),b=+b,this[m]===b&&(g=!1)):A(this[m])&&x.removeAttribute("data-z-index");this[m]=b;if(g){(b=this.zIndex)&&h&&(h.handleZ=!0);m=d.childNodes;for(w=m.length-1;0<=w&&!e;w--){h=m[w];g=h.getAttribute("data-z-index");var r=!A(g);if(h!==x)if(0>b&&r&&!c&&!w)d.insertBefore(x,m[w]),e=!0;else if(a(g)<=b||r&&(!A(b)||0<=b))d.insertBefore(x,m[w+1]||null),e=!0}e||(d.insertBefore(x,m[c?3:0]||null),e=!0)}return e},_defaultSetter:function(a, b,m){m.setAttribute(b,a)}});Q.prototype.yGetter=Q.prototype.xGetter;Q.prototype.translateXSetter=Q.prototype.translateYSetter=Q.prototype.rotationSetter=Q.prototype.verticalAlignSetter=Q.prototype.rotationOriginXSetter=Q.prototype.rotationOriginYSetter=Q.prototype.scaleXSetter=Q.prototype.scaleYSetter=Q.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};Q.prototype["stroke-widthSetter"]=Q.prototype.strokeSetter=function(a,b,m){this[b]=a;this.stroke&&this["stroke-width"]?(Q.prototype.fillSetter.call(this, this.stroke,"stroke",m),m.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke?(m.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(m.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)};k=f.SVGRenderer=function(){this.init.apply(this,arguments)};y(k.prototype,{Element:Q,SVG_NS:V,init:function(a,b,c,h,d,x,e){var g=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}); e||g.css(this.getStyle(h));h=g.element;a.appendChild(h);C(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&C(h,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=h;this.boxWrapper=g;this.alignedObjects=[];this.url=(N||m)&&I.getElementsByTagName("base").length?X.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(I.createTextNode("Created with Highcharts 8.0.4"));this.defs=this.createElement("defs").add(); this.allowHTML=x;this.forExport=d;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var w;N&&a.getBoundingClientRect&&(b=function(){E(a,{left:0,top:0});w=a.getBoundingClientRect();E(a,{left:Math.ceil(w.left)-w.left+"px",top:Math.ceil(w.top)-w.top+"px"})},b(),this.unSubPixelFix=G(X,"resize",b))},definition:function(a){function b(a,h){var d;z(a).forEach(function(a){var x=m.createElement(a.tagName),e={};c(a,function(a,b){"tagName"!==b&&"children"!== b&&"textContent"!==b&&(e[b]=a)});x.attr(e);x.add(h||m.defs);a.textContent&&x.element.appendChild(I.createTextNode(a.textContent));b(a.children||[],x);d=x});return d}var m=this;return b(a)},getStyle:function(a){return this.style=y({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();v(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:K,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,m,c,h,d,x){var e=this,g=a.rotation,w,r=c?1:0,O=(m||c).length,K=O,t=[],z=function(a){b.firstChild&&b.removeChild(b.firstChild); a&&b.appendChild(I.createTextNode(a))},l=function(d,g){g=g||d;if("undefined"===typeof t[g])if(b.getSubStringLength)try{t[g]=h+b.getSubStringLength(0,c?g+1:g)}catch(ka){""}else e.getSpanWidth&&(z(x(m||c,d)),t[g]=h+e.getSpanWidth(a,b));return t[g]},D;a.rotation=0;var n=l(b.textContent.length);if(D=h+n>d){for(;r<=O;)K=Math.ceil((r+O)/2),c&&(w=x(c,K)),n=l(K,w&&w.length-1),r===O?r=O+1:n>d?O=K-1:r=K;0===O?z(""):m&&O===m.length-1||z(w||x(m||c,K))}c&&c.splice(0,K);a.actualWidth=n;a.rotation=g;return D},escapes:{"&":"&amp;", "<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},buildText:function(m){var h=m.element,d=this,x=d.forExport,e=b(m.textStr,"").toString(),g=-1!==e.indexOf("<"),w=h.childNodes,r,K=C(h,"x"),t=m.styles,z=m.textWidth,l=t&&t.lineHeight,D=t&&t.textOutline,n=t&&"ellipsis"===t.textOverflow,J=t&&"nowrap"===t.whiteSpace,p=t&&t.fontSize,U,N=w.length;t=z&&!m.added&&this.box;var f=function(b){var m;d.styledMode||(m=/(px|em)$/.test(b&&b.style.fontSize)?b.style.fontSize:p||d.style.fontSize||12);return l?a(l):d.fontMetrics(m, b.getAttribute("style")?b:h).h},R=function(a,b){c(d.escapes,function(m,c){b&&-1!==b.indexOf(m)||(a=a.toString().replace(new RegExp(m,"g"),c))});return a},v=function(a,b){var m=a.indexOf("<");a=a.substring(m,a.indexOf(">")-m);m=a.indexOf(b+"=");if(-1!==m&&(m=m+b.length+1,b=a.charAt(m),'"'===b||"'"===b))return a=a.substring(m+1),a.substring(0,a.indexOf(b))},y=/<br.*?>/g;var X=[e,n,J,l,D,p,z].join();if(X!==m.textCache){for(m.textCache=X;N--;)h.removeChild(w[N]);g||D||n||z||-1!==e.indexOf(" ")&&(!J|| y.test(e))?(t&&t.appendChild(h),g?(e=d.styledMode?e.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):e.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),e=e.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(y)):e=[e],e=e.filter(function(a){return""!==a}),e.forEach(function(a,b){var c=0,e=0;a=a.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g, "</span>|||");var g=a.split("|||");g.forEach(function(a){if(""!==a||1===g.length){var w={},t=I.createElementNS(d.SVG_NS,"tspan"),l,D;(l=v(a,"class"))&&C(t,"class",l);if(l=v(a,"style"))l=l.replace(/(;| |^)color([ :])/,"$1fill$2"),C(t,"style",l);(D=v(a,"href"))&&!x&&(C(t,"onclick",'location.href="'+D+'"'),C(t,"class","highcharts-anchor"),d.styledMode||E(t,{cursor:"pointer"}));a=R(a.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==a){t.appendChild(I.createTextNode(a));c?w.dx=0:b&&null!==K&&(w.x=K); C(t,w);h.appendChild(t);!c&&U&&(!O&&x&&E(t,{display:"block"}),C(t,"dy",f(t)));if(z){var S=a.replace(/([^\^])-/g,"$1- ").split(" ");w=!J&&(1<g.length||b||1<S.length);D=0;var N=f(t);if(n)r=d.truncate(m,t,a,void 0,0,Math.max(0,z-parseInt(p||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(w)for(;S.length;)S.length&&!J&&0<D&&(t=I.createElementNS(V,"tspan"),C(t,{dy:N,x:K}),l&&C(t,"style",l),t.appendChild(I.createTextNode(S.join(" ").replace(/- /g,"-"))),h.appendChild(t)),d.truncate(m,t, null,S,0===D?e:0,z,function(a,b){return S.slice(0,b).join(" ").replace(/- /g,"-")}),e=m.actualWidth,D++}c++}}});U=U||h.childNodes.length}),n&&r&&m.attr("title",R(m.textStr,["&lt;","&gt;"])),t&&t.removeChild(h),D&&m.applyTextOutline&&m.applyTextOutline(D)):h.appendChild(I.createTextNode(R(e)))}},getContrast:function(a){a=q(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,m,c,h,d,e,w,r,O){var t=this.label(a,b,m,r,null,null,O,null,"button"),K=0,z= this.styledMode;t.attr(g({padding:8,r:2},h));if(!z){h=g({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},h);var l=h.style;delete h.style;d=g(h,{fill:"#e6e6e6"},d);var D=d.style;delete d.style;e=g(h,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e);var I=e.style;delete e.style;w=g(h,{style:{color:"#cccccc"}},w);var n=w.style;delete w.style}G(t.element,x?"mouseover":"mouseenter",function(){3!==K&&t.setState(1)});G(t.element, x?"mouseout":"mouseleave",function(){3!==K&&t.setState(K)});t.setState=function(a){1!==a&&(t.state=K=a);t.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);z||t.attr([h,d,e,w][a||0]).css([l,D,I,n][a||0])};z||t.attr(h).css(y({cursor:"default"},l));return t.on("click",function(a){3!==K&&c.call(t,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+ b%2/2);return a},path:function(a){var b=this.styledMode?{}:{fill:"none"};l(a)?b.d=a:e(a)&&y(b,a);return this.createElement("path").attr(b)},circle:function(a,b,m){a=e(a)?a:"undefined"===typeof a?{}:{x:a,y:b,r:m};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,m){m.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,m,c,h,d){e(a)?(c=a,b=c.y,m=c.r,a=c.x):c={innerR:c,start:h,end:d};a=this.symbol("arc",a,b,m,m,c);a.r=m;return a},rect:function(a,b,m,c,h,d){h=e(a)?a.r:h;var x=this.createElement("rect"); a=e(a)?a:"undefined"===typeof a?{}:{x:a,y:b,width:Math.max(m,0),height:Math.max(c,0)};this.styledMode||("undefined"!==typeof d&&(a.strokeWidth=d,a=x.crisp(a)),a.fill="none");h&&(a.r=h);x.rSetter=function(a,b,m){x.r=a;C(m,{rx:a,ry:a})};x.rGetter=function(){return x.r};return x.attr(a)},setSize:function(a,m,c){var h=this.alignedObjects,d=h.length;this.width=a;this.height=m;for(this.boxWrapper.animate({width:a,height:m},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})}, duration:b(c,!0)?void 0:0});d--;)h[d].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,m,c,h,d){var x={preserveAspectRatio:"none"},e=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},g=function(b){e(w.element,a);d.call(w,b)};1<arguments.length&&y(x,{x:b,y:m,width:c,height:h});var w=this.createElement("image").attr(x);d?(e(w.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="), x=new X.Image,G(x,"load",g),x.src=a,x.complete&&g({})):e(w.element,a);return w},symbol:function(a,m,c,d,x,e){var g=this,w=/^url\((.*?)\)$/,r=w.test(a),O=!r&&(this.symbols[a]?a:"circle"),t=O&&this.symbols[O],K=A(m)&&t&&t.call(this.symbols,Math.round(m),Math.round(c),d,x,e);if(t){var z=this.path(K);g.styledMode||z.attr("fill","none");y(z,{symbolName:O,x:m,y:c,width:d,height:x});e&&y(z,e)}else if(r){var l=a.match(w)[1];z=this.image(l);z.imgwidth=b(U[l]&&U[l].width,e&&e.width);z.imgheight=b(U[l]&&U[l].height, e&&e.height);var D=function(){z.attr({width:z.width,height:z.height})};["width","height"].forEach(function(a){z[a+"Setter"]=function(a,b){var m={},c=this["img"+b],h="width"===b?"translateX":"translateY";this[b]=a;A(c)&&(e&&"within"===e.backgroundSize&&this.width&&this.height&&(c=Math.round(c*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(m[h]=((this[b]||0)-c)/2,this.attr(m)))}});A(m)&&z.attr({x:m,y:c});z.isImg=!0; A(z.imgwidth)&&A(z.imgheight)?D():(z.attr({width:0,height:0}),F("img",{onload:function(){var a=h[g.chartIndex];0===this.width&&(E(this,{position:"absolute",top:"-999em"}),I.body.appendChild(this));U[l]={width:this.width,height:this.height};z.imgwidth=this.width;z.imgheight=this.height;z.element&&D();this.parentNode&&this.parentNode.removeChild(this);g.imgCount--;if(!g.imgCount&&a&&!a.hasLoaded)a.onload()},src:l}),this.imgCount++)}return z},symbols:{circle:function(a,b,m,c){return this.arc(a+m/2,b+ c/2,m/2,c/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,b,m,c){return["M",a,b,"L",a+m,b,a+m,b+c,a,b+c,"Z"]},triangle:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,m,c){return["M",a,b,"L",a+m,b,a+m/2,b+c,"Z"]},diamond:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c/2,a+m/2,b+c,a,b+c/2,"Z"]},arc:function(a,m,c,h,d){var x=d.start,e=d.r||c,g=d.r||h||c,w=d.end-.001;c=d.innerR;h=b(d.open,.001>Math.abs(d.end-d.start-2*Math.PI));var r=Math.cos(x), O=Math.sin(x),t=Math.cos(w);w=Math.sin(w);x=b(d.longArc,.001>d.end-x-Math.PI?0:1);e=["M",a+e*r,m+g*O,"A",e,g,0,x,b(d.clockwise,1),a+e*t,m+g*w];A(c)&&e.push(h?"M":"L",a+c*t,m+c*w,"A",c,c,0,x,A(d.clockwise)?1-d.clockwise:0,a+c*r,m+c*O);e.push(h?"":"Z");return e},callout:function(a,b,m,c,h){var d=Math.min(h&&h.r||0,m,c),x=d+6,e=h&&h.anchorX;h=h&&h.anchorY;var g=["M",a+d,b,"L",a+m-d,b,"C",a+m,b,a+m,b,a+m,b+d,"L",a+m,b+c-d,"C",a+m,b+c,a+m,b+c,a+m-d,b+c,"L",a+d,b+c,"C",a,b+c,a,b+c,a,b+c-d,"L",a,b+d,"C", a,b,a,b,a+d,b];e&&e>m?h>b+x&&h<b+c-x?g.splice(13,3,"L",a+m,h-6,a+m+6,h,a+m,h+6,a+m,b+c-d):g.splice(13,3,"L",a+m,c/2,e,h,a+m,c/2,a+m,b+c-d):e&&0>e?h>b+x&&h<b+c-x?g.splice(33,3,"L",a,h+6,a-6,h,a,h-6,a,b+d):g.splice(33,3,"L",a,c/2,e,h,a,c/2,a,b+d):h&&h>c&&e>a+x&&e<a+m-x?g.splice(23,3,"L",e+6,b+c,e,b+c+6,e-6,b+c,a+d,b+c):h&&0>h&&e>a+x&&e<a+m-x&&g.splice(3,3,"L",e-6,b,e,b-6,e+6,b,m-d,b);return g}},clipRect:function(a,b,m,c){var h=r()+"-",d=this.createElement("clipPath").attr({id:h}).add(this.defs);a=this.rect(a, b,m,c,0).add(d);a.id=h;a.clipPath=d;a.count=0;return a},text:function(a,b,m,c){var h={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,m);h.x=Math.round(b||0);m&&(h.y=Math.round(m));A(a)&&(h.text=a);a=this.createElement("text").attr(h);c||(a.xSetter=function(a,b,m){var c=m.getElementsByTagName("tspan"),h=m.getAttribute(b),d;for(d=0;d<c.length;d++){var x=c[d];x.getAttribute(b)===h&&x.setAttribute(b,a)}m.setAttribute(b,a)});return a},fontMetrics:function(b,m){b=!this.styledMode&&/px/.test(b)|| !X.getComputedStyle?b||m&&m.style&&m.style.fontSize||this.style&&this.style.fontSize:m&&Q.prototype.getStyle.call(m,"font-size");b=/px/.test(b)?a(b):12;m=24>b?b+3:Math.round(1.2*b);return{h:m,b:Math.round(.8*m),f:b}},rotCorr:function(a,b,m){var c=a;b&&m&&(c=Math.max(c*Math.cos(b*t),4));return{x:-a/3*Math.sin(b*t),y:c}},label:function(a,b,m,c,h,d,x,e,r){var O=this,t=O.styledMode,K=O.g("button"!==r&&"label"),z=K.text=O.text("",0,0,x).attr({zIndex:1}),l,D,I=0,J=3,V=0,p,U,N,f,v,X={},S,k,B=/^url\((.*?)\)$/.test(c), ba=t||B,E=function(){return t?l.strokeWidth()%2/2:(S?parseInt(S,10):0)%2/2};r&&K.addClass("highcharts-"+r);var q=function(){var a=z.element.style,b={};D=("undefined"===typeof p||"undefined"===typeof U||v)&&A(z.textStr)&&z.getBBox();K.width=(p||D.width||0)+2*J+V;K.height=(U||D.height||0)+2*J;k=J+Math.min(O.fontMetrics(a&&a.fontSize,z).b,D?D.height:Infinity);ba&&(l||(K.box=l=O.symbols[c]||B?O.symbol(c):O.rect(),l.addClass(("button"===r?"":"highcharts-label-box")+(r?" highcharts-"+r+"-box":"")),l.add(K), a=E(),b.x=a,b.y=(e?-k:0)+a),b.width=Math.round(K.width),b.height=Math.round(K.height),l.attr(y(b,X)),X={})};var R=function(){var a=V+J;var b=e?0:k;A(p)&&D&&("center"===v||"right"===v)&&(a+={center:.5,right:1}[v]*(p-D.width));if(a!==z.x||b!==z.y)z.attr("x",a),z.hasBoxWidthChanged&&(D=z.getBBox(!0),q()),"undefined"!==typeof b&&z.attr("y",b);z.x=a;z.y=b};var T=function(a,b){l?l.attr(a,b):X[a]=b};K.onAdd=function(){z.add(K);K.attr({text:a||0===a?a:"",x:b,y:m});l&&A(h)&&K.attr({anchorX:h,anchorY:d})}; K.widthSetter=function(a){p=n(a)?a:null};K.heightSetter=function(a){U=a};K["text-alignSetter"]=function(a){v=a};K.paddingSetter=function(a){A(a)&&a!==J&&(J=K.padding=a,R())};K.paddingLeftSetter=function(a){A(a)&&a!==V&&(V=a,R())};K.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==I&&(I=a,D&&K.attr({x:N}))};K.textSetter=function(a){"undefined"!==typeof a&&z.attr({text:a});q();R()};K["stroke-widthSetter"]=function(a,b){a&&(ba=!0);S=this["stroke-width"]=a;T(b,a)};t?K.rSetter=function(a,b){T(b, a)}:K.strokeSetter=K.fillSetter=K.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(ba=!0),K[b]=a);T(b,a)};K.anchorXSetter=function(a,b){h=K.anchorX=a;T(b,Math.round(a)-E()-N)};K.anchorYSetter=function(a,b){d=K.anchorY=a;T(b,a-f)};K.xSetter=function(a){K.x=a;I&&(a-=I*((p||D.width)+2*J),K["forceAnimate:x"]=!0);N=Math.round(a);K.attr("translateX",N)};K.ySetter=function(a){f=K.y=Math.round(a);K.attr("translateY",f)};var C=K.css;x={css:function(a){if(a){var b={};a=g(a);K.textProps.forEach(function(m){"undefined"!== typeof a[m]&&(b[m]=a[m],delete a[m])});z.css(b);"width"in b&&q();"fontSize"in b&&(q(),R())}return C.call(K,a)},getBBox:function(){return{width:D.width+2*J,height:D.height+2*J,x:D.x-J,y:D.y-J}},destroy:function(){w(K.element,"mouseenter");w(K.element,"mouseleave");z&&(z=z.destroy());l&&(l=l.destroy());Q.prototype.destroy.call(K);K=O=q=R=T=null}};t||(x.shadow=function(a){a&&(q(),l&&l.shadow(a));return K});return y(K,x)}});f.Renderer=k});P(u,"parts/Html.js",[u["parts/Globals.js"],u["parts/Utilities.js"]], function(f,k){var H=k.attr,q=k.createElement,G=k.css,M=k.defined,L=k.extend,C=k.pick,F=k.pInt,E=f.isFirefox,A=f.isMS,v=f.isWebKit,B=f.SVGElement;k=f.SVGRenderer;var y=f.win;L(B.prototype,{htmlCss:function(p){var l="SPAN"===this.element.tagName&&p&&"width"in p,n=C(l&&p.width,void 0);if(l){delete p.width;this.textWidth=n;var e=!0}p&&"ellipsis"===p.textOverflow&&(p.whiteSpace="nowrap",p.overflow="hidden");this.styles=L(this.styles,p);G(this.element,p);e&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var p= this.element;return{x:p.offsetLeft,y:p.offsetTop,width:p.offsetWidth,height:p.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var p=this.renderer,l=this.element,n=this.translateX||0,e=this.translateY||0,d=this.x||0,g=this.y||0,c=this.textAlign||"left",b={left:0,center:.5,right:1}[c],a=this.styles,w=a&&a.whiteSpace;G(l,{marginLeft:n,marginTop:e});!p.styledMode&&this.shadows&&this.shadows.forEach(function(a){G(a,{marginLeft:n+1,marginTop:e+1})});this.inverted&&[].forEach.call(l.childNodes, function(a){p.invertChild(a,l)});if("SPAN"===l.tagName){a=this.rotation;var z=this.textWidth&&F(this.textWidth),D=[a,c,l.innerHTML,this.textWidth,this.textAlign].join(),r;(r=z!==this.oldTextWidth)&&!(r=z>this.oldTextWidth)&&((r=this.textPxLength)||(G(l,{width:"",whiteSpace:w||"nowrap"}),r=l.offsetWidth),r=r>z);r&&(/[ \-]/.test(l.textContent||l.innerText)||"ellipsis"===l.style.textOverflow)?(G(l,{width:z+"px",display:"block",whiteSpace:w||"normal"}),this.oldTextWidth=z,this.hasBoxWidthChanged=!0): this.hasBoxWidthChanged=!1;D!==this.cTT&&(w=p.fontMetrics(l.style.fontSize,l).b,!M(a)||a===(this.oldRotation||0)&&c===this.oldAlign||this.setSpanRotation(a,b,w),this.getSpanCorrection(!M(a)&&this.textPxLength||l.