/* Highstock JS v9.0.1 (2021-02-15) (c) 2009-2021 Torstein Honsi License: www.highcharts.com/license */ (function(W,S){"object"===typeof module&&module.exports?(S["default"]=S,module.exports=W.document?S(W):S):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return S(W)}):(W.Highcharts&&W.Highcharts.error(16,!0),W.Highcharts=S(W))})("undefined"!==typeof window?window:this,function(W){function S(O,m,a,C){O.hasOwnProperty(m)||(O[m]=C.apply(null,a))}var a={};S(a,"Core/Globals.js",[],function(){var a="undefined"!==typeof W?W:"undefined"!==typeof window?window:{},m=a.document, A=a.navigator&&a.navigator.userAgent||"",C=m&&m.createElementNS&&!!m.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,F=/(edge|msie|trident)/i.test(A)&&!a.opera,N=-1!==A.indexOf("Firefox"),E=-1!==A.indexOf("Chrome"),I=N&&4>parseInt(A.split("Firefox/")[1],10),B=function(){};return{product:"Highcharts",version:"9.0.1",deg2rad:2*Math.PI/360,doc:m,hasBidiBug:I,hasTouch:!!a.TouchEvent,isMS:F,isWebKit:-1!==A.indexOf("AppleWebKit"),isFirefox:N,isChrome:E,isSafari:!E&&-1!==A.indexOf("Safari"), isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},supportsPassiveEvents:function(){var z=!1;if(!F){var r=Object.defineProperty({},"passive",{get:function(){z=!0}});a.addEventListener&&a.removeEventListener&&(a.addEventListener("testPassive",B,r),a.removeEventListener("testPassive",B,r))}return z}(),symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:B,charts:[],dateFormats:{}}});S(a,"Core/Utilities.js", [a["Core/Globals.js"]],function(a){function m(f,b,u,R){var t=b?"Highcharts error":"Highcharts warning";32===f&&(f=t+": Deprecated member");var P=r(f),g=P?t+" #"+f+": www.highcharts.com/errors/"+f+"/":f.toString();t=function(){if(b)throw Error(g);d.console&&-1===m.messages.indexOf(g)&&console.warn(g)};if("undefined"!==typeof R){var H="";P&&(g+="?");h(R,function(t,u){H+="\n - "+u+": "+t;P&&(g+=encodeURI(u)+"="+encodeURI(t))});g+=H}u?q(u,"displayError",{code:f,message:g,params:R},t):t();m.messages.push(g)} function O(){var f,b=arguments,u={},R=function(t,u){"object"!==typeof t&&(t={});h(u,function(f,D){"__proto__"!==D&&"constructor"!==D&&(!I(f,!0)||z(f)||B(f)?t[D]=u[D]:t[D]=R(t[D]||{},f))});return t};!0===b[0]&&(u=b[1],b=Array.prototype.slice.call(b,2));var t=b.length;for(f=0;ff&&-Infinityd[1]){var D=b+ +d[1];0<=D?(d[0]=(+d[0]).toExponential(D).split("e")[0],b=D):(d[0]=d[0].split(".")[0]||0,f=20>b?(d[0]*Math.pow(10, d[1])).toFixed(b):0,d[1]=0)}var q=(Math.abs(d[1]?d[0]:f)+Math.pow(10,-Math.max(b,P)-1)).toFixed(b);P=String(F(q));D=3f?"-":"")+(D?P.substr(0,D)+R:"");f=0>+d[1]&&!g?"0":f+P.substr(D).replace(/(\d{3})(?=\d)/g,"$1"+R);b&&(f+=u+q.slice(-b));d[1]&&0!==+f&&(f+="e"+d[1]);return f}function w(f,b){if(!f)return b;var u=f.split(".").reverse();if(1===u.length)return b[f];for(f=u.pop();"undefined"!==typeof f&&"undefined"!==typeof b&&null!== b;)b=b[f],f=u.pop();return b}function h(f,b,u){for(var d in f)Object.hasOwnProperty.call(f,d)&&b.call(u||f[d],f[d],d,f)}function G(f,b,u){function d(t,u){var b=f.removeEventListener||a.removeEventListenerPolyfill;b&&b.call(f,t,u,!1)}function t(t){var u;if(f.nodeName){if(b){var P={};P[b]=!0}else P=t;h(P,function(f,b){if(t[b])for(u=t[b].length;u--;)d(b,t[b][u].fn)})}}var P="function"===typeof f&&f.prototype||f;if(Object.hasOwnProperty.call(P,"hcEvents")){var g=P.hcEvents;b?(P=g[b]||[],u?(g[b]=P.filter(function(t){return u!== t.fn}),d(b,u)):(t(g),g[b]=[])):(t(g),delete P.hcEvents)}}function q(f,d,u,R){u=u||{};if(b.createEvent&&(f.dispatchEvent||f.fireEvent)){var t=b.createEvent("Events");t.initEvent(d,!0,!0);l(t,u);f.dispatchEvent?f.dispatchEvent(t):f.fireEvent(d,t)}else if(f.hcEvents){u.target||l(u,{preventDefault:function(){u.defaultPrevented=!0},target:f,type:d});t=[];for(var P=f,g=!1;P.hcEvents;)Object.hasOwnProperty.call(P,"hcEvents")&&P.hcEvents[d]&&(t.length&&(g=!0),t.unshift.apply(t,P.hcEvents[d])),P=Object.getPrototypeOf(P); g&&t.sort(function(t,u){return t.order-u.order});t.forEach(function(t){!1===t.fn.call(f,u)&&u.preventDefault()})}R&&!u.defaultPrevented&&R.call(f,u)}var x=a.charts,b=a.doc,d=a.win;"";(m||(m={})).messages=[];var L;Math.easeInOutSine=function(f){return-.5*(Math.cos(Math.PI*f)-1)};var M=Array.prototype.find?function(f,b){return f.find(b)}:function(f,b){var u,d=f.length;for(u=0;uu&&(u=b[f]);return u},arrayMin:function(b){for(var f=b.length,u=b[0];f--;)b[f]d?b=g-1&&(g=Math.floor(u)),Math.max(0,g-a.getStyle(b,"padding-left")-a.getStyle(b,"padding-right"));if("height"===g)return Math.max(0,Math.min(b.offsetHeight,b.scrollHeight)-a.getStyle(b,"padding-top")-a.getStyle(b,"padding-bottom"));d.getComputedStyle|| m(27,!0);if(b=d.getComputedStyle(b,void 0))b=b.getPropertyValue(g),e(u,"opacity"!==g)&&(b=F(b));return b},inArray:function(b,d,u){m(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return d.indexOf(b,u)},isArray:E,isClass:z,isDOMElement:B,isFunction:function(b){return"function"===typeof b},isNumber:r,isObject:I,isString:N,keys:function(b){m(32,!1,void 0,{"Highcharts.keys":"use Object.keys"});return Object.keys(b)},merge:O,normalizeTickInterval:function(b,d,u,g,t){var P=b;u=e(u,1);var f=b/ u;d||(d=t?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===g&&(1===u?d=d.filter(function(t){return 0===t%1}):.1>=u&&(d=[1/u])));for(g=0;g=b||!t&&f<=(d[g]+(d[g+1]||d[g]))/2);g++);return P=k(P*u,-Math.round(Math.log(.001)/Math.LN10))},numberFormat:Q,objectEach:h,offset:function(f){var g=b.documentElement;f=f.parentElement||f.parentNode?f.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:f.top+(d.pageYOffset||g.scrollTop)-(g.clientTop||0),left:f.left+(d.pageXOffset|| g.scrollLeft)-(g.clientLeft||0),width:f.width,height:f.height}},pad:function(b,d,u){return Array((d||2)+1-String(b).replace("-","").length).join(u||"0")+b},pick:e,pInt:F,relativeLength:function(b,d,u){return/%$/.test(b)?d*parseFloat(b)/100+(u||0):parseFloat(b)},removeEvent:G,setOptions:p,splat:function(b){return E(b)?b:[b]},stableSort:function(b,d){var u=b.length,f,t;for(t=0;t>16,(a&65280)>>8,a&255,1]:4===z&&(I=[(a&3840)>>4|(a&3840)>>8,(a&240)>> 4|a&240,(a&15)<<4|a&15,1])}if(!I)for(B=this.parsers.length;B--&&!I;){var r=this.parsers[B];(z=r.regex.exec(a))&&(I=r.parse(z))}}this.rgba=I||[]};m.prototype.get=function(a){var m=this.input,B=this.rgba;if("undefined"!==typeof this.stops){var z=C(m);z.stops=[].concat(z.stops);this.stops.forEach(function(r,v){z.stops[v]=[z.stops[v][0],r.get(a)]})}else z=B&&O(B[0])?"rgb"===a||!a&&1===B[3]?"rgb("+B[0]+","+B[1]+","+B[2]+")":"a"===a?B[3]:"rgba("+B.join(",")+")":m;return z};m.prototype.brighten=function(a){var m, B=this.rgba;if(this.stops)this.stops.forEach(function(z){z.brighten(a)});else if(O(a)&&0!==a)for(m=0;3>m;m++)B[m]+=F(255*a),0>B[m]&&(B[m]=0),255z)for(var r=0;r=v+this.startTime){this.now=this.end;this.pos=1;this.update();var l=c[this.prop]=!0;F(c,function(e){!0!==e&&(l=!1)});l&&r&&r.call(z);a=!1}else this.pos=B.easing((m-this.startTime)/v),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0;return a};m.prototype.initPath=function(a,m,B){function z(e,c){for(;e.length< k;){var h=e[0],n=c[k-e.length];n&&"M"===h[0]&&(e[0]="C"===n[0]?["C",h[1],h[2],h[1],h[2],h[1],h[2]]:["L",h[1],h[2]]);e.unshift(h);l&&e.push(e[e.length-1])}}function r(c,n){for(;c.lengtht.width)t={width:0,height:0}}else t=this.htmlGetBBox();P.isSVG&&(d=t.width,P=t.height,h&&(t.height=P={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(P)]||P),f&&(e=f*z,t.width=Math.abs(P*Math.sin(e))+Math.abs(d*Math.cos(e)),t.height=Math.abs(P* Math.cos(e))+Math.abs(d*Math.sin(e))));if(c&&0]*>/g,"").replace(/</g,"<").replace(/>/g,">")};H.prototype.toFront=function(){var b=this.element;b.parentNode.appendChild(b);return this};H.prototype.translate=function(b,d){return this.attr({translateX:b,translateY:d})};H.prototype.updateShadows=function(b,d,t){var f=this.shadows;if(f)for(var g=f.length;g--;)t.call(f[g],"height"===b?Math.max(d-(f[g].cutHeight||0),0):"d"===b?this.d:d,b,f[g])};H.prototype.updateTransform= function(){var b=this.translateX||0,d=this.translateY||0,t=this.scaleX,f=this.scaleY,e=this.inverted,p=this.rotation,D=this.matrix,q=this.element;e&&(b+=this.width,d+=this.height);b=["translate("+b+","+d+")"];w(D)&&b.push("matrix("+D.join(",")+")");e?b.push("rotate(90) scale(-1,1)"):p&&b.push("rotate("+p+" "+g(this.rotationOriginX,q.getAttribute("x"),0)+" "+g(this.rotationOriginY,q.getAttribute("y")||0)+")");(w(t)||w(f))&&b.push("scale("+g(t,1)+" "+g(f,1)+")");b.length&&q.setAttribute("transform", b.join(" "))};H.prototype.visibilitySetter=function(b,d,t){"inherit"===b?t.removeAttribute(d):this[d]!==b&&t.setAttribute(d,b);this[d]=b};H.prototype.xGetter=function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)};H.prototype.zIndexSetter=function(b,d){var t=this.renderer,f=this.parentGroup,g=(f||t).element||t.box,e=this.element,D=!1;t=g===t.box;var p=this.added;var q;w(b)?(e.setAttribute("data-z-index",b),b=+b,this[d]===b&&(p=!1)):w(this[d])&& e.removeAttribute("data-z-index");this[d]=b;if(p){(b=this.zIndex)&&f&&(f.handleZ=!0);d=g.childNodes;for(q=d.length-1;0<=q&&!D;q--){f=d[q];p=f.getAttribute("data-z-index");var h=!w(p);if(f!==e)if(0>b&&h&&!t&&!q)g.insertBefore(e,d[q]),D=!0;else if(J(p)<=b||h&&(!w(b)||0<=b))g.insertBefore(e,d[q+1]||null),D=!0}D||(g.insertBefore(e,d[t?3:0]||null),D=!0)}return D};return H}();a.prototype["stroke-widthSetter"]=a.prototype.strokeSetter;a.prototype.yGetter=a.prototype.xGetter;a.prototype.matrixSetter=a.prototype.rotationOriginXSetter= a.prototype.rotationOriginYSetter=a.prototype.rotationSetter=a.prototype.scaleXSetter=a.prototype.scaleYSetter=a.prototype.translateXSetter=a.prototype.translateYSetter=a.prototype.verticalAlignSetter=function(b,d){this[d]=b;this.doTransform=!0};C.SVGElement=a;return C.SVGElement});S(a,"Core/Renderer/SVG/SVGLabel.js",[a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,m){function A(r,v){E(r)?r!==this[v]&&(this[v]=r,this.updateTextPadding()):this[v]=void 0}var C=this&&this.__extends|| function(){var r=function(v,c){r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,e){c.__proto__=e}||function(c,e){for(var n in e)e.hasOwnProperty(n)&&(c[n]=e[n])};return r(v,c)};return function(v,c){function l(){this.constructor=v}r(v,c);v.prototype=null===c?Object.create(c):(l.prototype=c.prototype,new l)}}(),F=m.defined,O=m.extend,E=m.isNumber,I=m.merge,B=m.pick,z=m.removeEvent;return function(r){function v(c,l,e,n,y,k,Q,w,h,G){var q=r.call(this)||this;q.paddingSetter=A;q.paddingLeftSetter= A;q.paddingRightSetter=A;q.init(c,"g");q.textStr=l;q.x=e;q.y=n;q.anchorX=k;q.anchorY=Q;q.baseline=h;q.className=G;"button"!==G&&q.addClass("highcharts-label");G&&q.addClass("highcharts-"+G);q.text=c.text("",0,0,w).attr({zIndex:1});if("string"===typeof y){var x=/^url\((.*?)\)$/.test(y);if(q.renderer.symbols[y]||x)q.symbolKey=y}q.bBox=v.emptyBBox;q.padding=3;q.baselineOffset=0;q.needsBox=c.styledMode||x;q.deferredAttr={};q.alignFactor=0;return q}C(v,r);v.prototype.alignSetter=function(c){c={left:0, center:.5,right:1}[c];c!==this.alignFactor&&(this.alignFactor=c,this.bBox&&E(this.xSetting)&&this.attr({x:this.xSetting}))};v.prototype.anchorXSetter=function(c,l){this.anchorX=c;this.boxAttr(l,Math.round(c)-this.getCrispAdjust()-this.xSetting)};v.prototype.anchorYSetter=function(c,l){this.anchorY=c;this.boxAttr(l,c-this.ySetting)};v.prototype.boxAttr=function(c,l){this.box?this.box.attr(c,l):this.deferredAttr[c]=l};v.prototype.css=function(c){if(c){var l={};c=I(c);v.textProps.forEach(function(e){"undefined"!== typeof c[e]&&(l[e]=c[e],delete c[e])});this.text.css(l);var e="width"in l;"fontSize"in l||"fontWeight"in l?this.updateTextPadding():e&&this.updateBoxSize()}return a.prototype.css.call(this,c)};v.prototype.destroy=function(){z(this.element,"mouseenter");z(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)};v.prototype.fillSetter=function(c,l){c&&(this.needsBox=!0);this.fill=c;this.boxAttr(l,c)};v.prototype.getBBox=function(){var c= this.bBox,l=this.padding,e=B(this.paddingLeft,l);return{width:this.width,height:this.height,x:c.x-e,y:c.y-l}};v.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2};v.prototype.heightSetter=function(c){this.heightSetting=c};v.prototype.on=function(c,l){var e=this,n=e.text,y=n&&"SPAN"===n.element.tagName?n:void 0;if(y){var k=function(k){("mouseenter"===c||"mouseleave"===c)&&k.relatedTarget instanceof Element&&(e.element.compareDocumentPosition(k.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||y.element.compareDocumentPosition(k.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||l.call(e.element,k)};y.on(c,k)}a.prototype.on.call(e,c,k||l);return e};v.prototype.onAdd=function(){var c=this.textStr;this.text.add(this);this.attr({text:F(c)?c:"",x:this.x,y:this.y});this.box&&F(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};v.prototype.rSetter=function(c,l){this.boxAttr(l, c)};v.prototype.shadow=function(c){c&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(c));return this};v.prototype.strokeSetter=function(c,l){this.stroke=c;this.boxAttr(l,c)};v.prototype["stroke-widthSetter"]=function(c,l){c&&(this.needsBox=!0);this["stroke-width"]=c;this.boxAttr(l,c)};v.prototype["text-alignSetter"]=function(c){this.textAlign=c};v.prototype.textSetter=function(c){"undefined"!==typeof c&&this.text.attr({text:c});this.updateTextPadding()};v.prototype.updateBoxSize= function(){var c=this.text.element.style,l={},e=this.padding,n=this.bBox=E(this.widthSetting)&&E(this.heightSetting)&&!this.textAlign||!F(this.text.textStr)?v.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||n.height||0)+2*e;this.baselineOffset=e+Math.min(this.renderer.fontMetrics(c&&c.fontSize,this.text).b,n.height||Infinity);this.needsBox&&(this.box||(c=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),c.addClass(("button"=== this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),c.add(this)),c=this.getCrispAdjust(),l.x=c,l.y=(this.baseline?-this.baselineOffset:0)+c,l.width=Math.round(this.width),l.height=Math.round(this.height),this.box.attr(O(l,this.deferredAttr)),this.deferredAttr={})};v.prototype.updateTextPadding=function(){var c=this.text;this.updateBoxSize();var l=this.baseline?0:this.baselineOffset,e=B(this.paddingLeft,this.padding);F(this.widthSetting)&&this.bBox&& ("center"===this.textAlign||"right"===this.textAlign)&&(e+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(e!==c.x||l!==c.y)c.attr("x",e),c.hasBoxWidthChanged&&(this.bBox=c.getBBox(!0)),"undefined"!==typeof l&&c.attr("y",l);c.x=e;c.y=l};v.prototype.widthSetter=function(c){this.widthSetting=E(c)?c:void 0};v.prototype.getPaddedWidth=function(){var c=this.padding,l=B(this.paddingLeft,c);c=B(this.paddingRight,c);return(this.widthSetting||this.bBox.width||0)+l+c};v.prototype.xSetter= function(c){this.x=c;this.alignFactor&&(c-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(c);this.attr("translateX",this.xSetting)};v.prototype.ySetter=function(c){this.ySetting=this.y=Math.round(c);this.attr("translateY",this.ySetting)};v.emptyBBox={width:0,height:0,x:0,y:0};v.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");return v}(a)});S(a,"Core/Renderer/SVG/TextBuilder.js", [a["Core/Globals.js"],a["Core/Utilities.js"],a["Core/Renderer/HTML/AST.js"]],function(a,m,A){var C=a.doc,F=a.SVG_NS,O=m.attr,E=m.isString,I=m.objectEach,B=m.pick;return function(){function a(r){var a=r.styles;this.renderer=r.renderer;this.svgElement=r;this.width=r.textWidth;this.textLineHeight=a&&a.lineHeight;this.textOutline=a&&a.textOutline;this.ellipsis=!(!a||"ellipsis"!==a.textOverflow);this.noWrap=!(!a||"nowrap"!==a.whiteSpace);this.fontSize=a&&a.fontSize}a.prototype.buildSVG=function(){var r= this.svgElement,a=r.element,c=r.renderer,l=B(r.textStr,"").toString(),e=-1!==l.indexOf("<"),n=a.childNodes,y=n.length;c=this.width&&!r.added&&c.box;var k=//g;var Q=[l,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(Q!==r.textCache){r.textCache=Q;for(delete r.actualWidth;y--;)a.removeChild(n[y]);e||this.ellipsis||this.width||-1!==l.indexOf(" ")&&(!this.noWrap||k.test(l))?""!==l&&(c&&c.appendChild(a),l=new A(l),this.modifyTree(l.nodes),l.addToDOM(r.element), this.modifyDOM(),this.ellipsis&&-1!==(a.textContent||"").indexOf("\u2026")&&r.attr("title",this.unescapeEntities(r.textStr||"",["<",">"])),c&&c.removeChild(a)):a.appendChild(C.createTextNode(this.unescapeEntities(l)));E(this.textOutline)&&r.applyTextOutline&&r.applyTextOutline(this.textOutline)}};a.prototype.modifyDOM=function(){var a=this,v=this.svgElement,c=O(v.element,"x");[].forEach.call(v.element.querySelectorAll("tspan.highcharts-br"),function(e){e.nextSibling&&e.previousSibling&&O(e, {dy:a.getLineHeight(e.nextSibling),x:c})});var l=this.width||0;if(l){var e=function(e,k){var n=e.textContent||"",y=n.replace(/([^\^])-/g,"$1- ").split(" "),h=!a.noWrap&&(1e){for(;h<=G;)q=Math.ceil((h+G)/2),c&&(x=n(c,q)),d=b(q,x&&x.length-1),h===G?h=G+1:d>e?G=q-1:h=q;0===G?a.textContent="":v&&G===v.length-1||(a.textContent=x||n(v||c,q))}c&&c.splice(0,q);y.actualWidth=d;y.rotation=Q};a.prototype.unescapeEntities=function(a,v){I(this.renderer.escapes,function(c,l){v&&-1!==v.indexOf(c)||(a=a.toString().replace(new RegExp(c,"g"),l))});return a};return a}()});S(a,"Core/Renderer/SVG/SVGRenderer.js", [a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Color/Palette.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGLabel.js"],a["Core/Renderer/HTML/AST.js"],a["Core/Renderer/SVG/TextBuilder.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E,I){var B=I.addEvent,z=I.attr,r=I.createElement,v=I.css,c=I.defined,l=I.destroyObjectProperties,e=I.extend,n=I.isArray,y=I.isNumber,k=I.isObject,Q=I.isString,w=I.merge,h=I.pick,G=I.pInt,q=I.uniqueKey,x=m.charts,b=m.deg2rad,d=m.doc,L=m.isFirefox, M=m.isMS,K=m.isWebKit;I=m.noop;var g=m.SVG_NS,J=m.symbolSizes,p=m.win,f,H=function(){function g(b,d,g,f,e,D,p){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(b,d,g,f,e,D,p)}g.prototype.init=function(b,t,g,f,e,D,q){var P=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});q||P.css(this.getStyle(f));f=P.element; b.appendChild(f);z(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&z(f,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=f;this.boxWrapper=P;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(d.createTextNode("Created with Highcharts 9.0.1"));this.defs=this.createElement("defs").add();this.allowHTML=D;this.forExport=e;this.styledMode=q;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(t,g,!1);var h;L&&b.getBoundingClientRect&& (t=function(){v(b,{left:0,top:0});h=b.getBoundingClientRect();v(b,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},t(),this.unSubPixelFix=B(p,"resize",t))};g.prototype.definition=function(b){return(new N([b])).addToDOM(this.defs.element)};g.prototype.getReferenceURL=function(){if((L||K)&&d.getElementsByTagName("base").length){if(!c(f)){var b=q();b=(new N([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect", attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+b+")",fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(d.body);v(b,{position:"fixed",top:0,left:0,zIndex:9E5});var t=d.elementFromPoint(6,6);f="hitme"===(t&&t.id);d.body.removeChild(b)}if(f)return p.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};g.prototype.getStyle=function(b){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif', fontSize:"12px"},b)};g.prototype.setStyle=function(b){this.boxWrapper.css(this.getStyle(b))};g.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};g.prototype.destroy=function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();l(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};g.prototype.createElement=function(b){var d=new this.Element;d.init(this,b);return d};g.prototype.getRadialAttr= function(b,d){return{cx:b[0]-b[2]/2+d.cx*b[2],cy:b[1]-b[2]/2+d.cy*b[2],r:d.r*b[2]}};g.prototype.buildText=function(b){(new E(b)).buildSVG()};g.prototype.getContrast=function(b){b=a.parse(b).rgba;b[0]*=1;b[1]*=1.2;b[2]*=.5;return 459b?b+3:Math.round(1.2*b);return{h:d,b:Math.round(.8*d),f:b}};g.prototype.rotCorr=function(d,t,g){var f=d;t&&g&&(f=Math.max(f*Math.cos(t*b),4));return{x:-d/3*Math.sin(t*b),y:f}};g.prototype.pathToSegments=function(b){for(var d=[],g=[],f={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},e=0;e":">","'":"'",'"':"""};H.prototype.symbols={circle:function(b,d,t,g){return this.arc(b+t/2,d+g/2,t/2,g/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(b,d,t,g){return[["M",b,d],["L",b+t,d],["L",b+t,d+g],["L",b,d+g],["Z"]]},triangle:function(b, d,t,g){return[["M",b+t/2,d],["L",b+t,d+g],["L",b,d+g],["Z"]]},"triangle-down":function(b,d,t,g){return[["M",b,d],["L",b+t,d],["L",b+t/2,d+g],["Z"]]},diamond:function(b,d,t,g){return[["M",b+t/2,d],["L",b+t,d+g/2],["L",b+t/2,d+g],["L",b,d+g/2],["Z"]]},arc:function(b,d,t,g,f){var e=[];if(f){var D=f.start||0,p=f.end||0,q=f.r||t;t=f.r||g||t;var P=.001>Math.abs(p-D-2*Math.PI);p-=.001;g=f.innerR;P=h(f.open,P);var x=Math.cos(D),u=Math.sin(D),J=Math.cos(p),k=Math.sin(p);D=h(f.longArc,.001>p-D-Math.PI?0:1); e.push(["M",b+q*x,d+t*u],["A",q,t,0,D,h(f.clockwise,1),b+q*J,d+t*k]);c(g)&&e.push(P?["M",b+g*J,d+g*k]:["L",b+g*J,d+g*k],["A",g,g,0,D,c(f.clockwise)?1-f.clockwise:0,b+g*x,d+g*u]);P||e.push(["Z"])}return e},callout:function(b,d,t,g,f){var e=Math.min(f&&f.r||0,t,g),D=e+6,p=f&&f.anchorX;f=f&&f.anchorY||0;var q=[["M",b+e,d],["L",b+t-e,d],["C",b+t,d,b+t,d,b+t,d+e],["L",b+t,d+g-e],["C",b+t,d+g,b+t,d+g,b+t-e,d+g],["L",b+e,d+g],["C",b,d+g,b,d+g,b,d+g-e],["L",b,d+e],["C",b,d,b,d,b+e,d]];if(!y(p))return q;b+ p>=t?f>d+D&&f=b+p?f>d+D&&fg&&p>b+D&&pf&&p>b+D&&pthis.oldTextWidth)&&((G=this.textPxLength)||(C(r,{width:"",whiteSpace:Q||"nowrap"}),G=r.offsetWidth),G=G>w);G&&(/[ \-]/.test(r.textContent||r.innerText)||"ellipsis"===r.style.textOverflow)?(C(r,{width:w+"px",display:"block", whiteSpace:Q||"normal"}),this.oldTextWidth=w,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;h!==this.cTT&&(Q=a.fontMetrics(r.style.fontSize,r).b,!F(k)||k===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(k,y,Q),this.getSpanCorrection(!F(k)&&this.textPxLength||r.offsetWidth,Q,y,k,n));C(r,{left:l+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=h;this.oldRotation=k;this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(a,r,v){var c={},l=this.renderer.getTransformKey(); c[l]=c.transform="rotate("+a+"deg)";c[l+(B?"Origin":"-origin")]=c.transformOrigin=100*r+"% "+v+"px";C(this.element,c)},getSpanCorrection:function(a,r,v){this.xCorr=-a*v;this.yCorr=-r}});return m});S(a,"Core/Renderer/HTML/HTMLRenderer.js",[a["Core/Globals.js"],a["Core/Renderer/HTML/AST.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,m,A,C,F){var O=a.isFirefox,E=a.isMS,I=a.isWebKit,B=a.win,z=F.attr,r=F.createElement,v=F.extend,c=F.pick; v(C.prototype,{getTransformKey:function(){return E&&!/Edge/.test(B.navigator.userAgent)?"-ms-transform":I?"-webkit-transform":O?"MozTransform":B.opera?"-o-transform":""},html:function(a,e,n){var y=this.createElement("span"),k=y.element,Q=y.renderer,w=Q.isSVG,h=function(e,q){["opacity","visibility"].forEach(function(h){e[h+"Setter"]=function(b,d,c){var x=e.div?e.div.style:q;A.prototype[h+"Setter"].call(this,b,d,c);x&&(x[d]=b)}});e.addedSetters=!0};y.textSetter=function(e){e!==this.textStr&&(delete this.bBox, delete this.oldTextWidth,m.setElementHTML(this.element,c(e,"")),this.textStr=e,y.doTransform=!0)};w&&h(y,y.element.style);y.xSetter=y.ySetter=y.alignSetter=y.rotationSetter=function(e,q){"align"===q?y.alignValue=y.textAlign=e:y[q]=e;y.doTransform=!0};y.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};y.attr({text:a,x:Math.round(e),y:Math.round(n)}).css({position:"absolute"});Q.styledMode||y.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}); k.style.whiteSpace="nowrap";y.css=y.htmlCss;w&&(y.add=function(e){var q=Q.box.parentNode,c=[];if(this.parentGroup=e){var b=e.div;if(!b){for(;e;)c.push(e),e=e.parentGroup;c.reverse().forEach(function(d){function e(b,e){d[e]=b;"translateX"===e?g.left=b+"px":g.top=b+"px";d.doTransform=!0}var x=z(d.element,"class"),k=d.styles||{};b=d.div=d.div||r("div",x?{className:x}:void 0,{position:"absolute",left:(d.translateX||0)+"px",top:(d.translateY||0)+"px",display:d.display,opacity:d.opacity,cursor:k.cursor, pointerEvents:k.pointerEvents},b||q);var g=b.style;v(d,{classSetter:function(b){return function(d){this.element.setAttribute("class",d);b.className=d}}(b),on:function(){c[0].div&&y.on.apply({element:c[0].div},arguments);return d},translateXSetter:e,translateYSetter:e});d.addedSetters||h(d)})}}else b=q;b.appendChild(k);y.added=!0;y.alignOnAdd&&y.htmlUpdateTransform();return y});return y}});return C});S(a,"Core/Time.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,m){var A=a.win,C=m.defined, F=m.error,O=m.extend,E=m.isObject,I=m.merge,B=m.objectEach,z=m.pad,r=m.pick,v=m.splat,c=m.timeUnits;"";m=function(){function l(e){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=A.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(e)}l.prototype.get=function(e,c){if(this.variableTimezone||this.timezoneOffset){var n=c.getTime(),k=n-this.getTimezoneOffset(c);c.setTime(k);e=c["getUTC"+e]();c.setTime(n);return e}return this.useUTC?c["getUTC"+e]():c["get"+e]()};l.prototype.set= function(e,c,a){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===e||"Seconds"===e||"Minutes"===e&&0===this.getTimezoneOffset(c)%36E5)return c["setUTC"+e](a);var k=this.getTimezoneOffset(c);k=c.getTime()-k;c.setTime(k);c["setUTC"+e](a);e=this.getTimezoneOffset(c);k=c.getTime()+e;return c.setTime(k)}return this.useUTC?c["setUTC"+e](a):c["set"+e](a)};l.prototype.update=function(e){var c=r(e&&e.useUTC,!0);this.options=e=I(!0,this.options||{},e);this.Date=e.Date||A.Date||Date;this.timezoneOffset= (this.useUTC=c)&&e.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=c&&!(!e.getTimezoneOffset&&!e.timezone)};l.prototype.makeTime=function(e,c,y,k,Q,w){if(this.useUTC){var h=this.Date.UTC.apply(0,arguments);var n=this.getTimezoneOffset(h);h+=n;var q=this.getTimezoneOffset(h);n!==q?h+=q-n:n-36E5!==this.getTimezoneOffset(h-36E5)||a.isSafari||(h-=36E5)}else h=(new this.Date(e,c,r(y,1),r(k,0),r(Q,0),r(w,0))).getTime();return h};l.prototype.timezoneOffsetFunction= function(){var e=this,c=this.options,a=c.moment||A.moment;if(!this.useUTC)return function(e){return 6E4*(new Date(e.toString())).getTimezoneOffset()};if(c.timezone){if(a)return function(e){return 6E4*-a.tz(e,c.timezone).utcOffset()};F(25)}return this.useUTC&&c.getTimezoneOffset?function(e){return 6E4*c.getTimezoneOffset(e.valueOf())}:function(){return 6E4*(e.timezoneOffset||0)}};l.prototype.dateFormat=function(e,c,y){var k;if(!C(c)||isNaN(c))return(null===(k=a.defaultOptions.lang)||void 0===k?void 0: k.invalidDate)||"";e=r(e,"%Y-%m-%d %H:%M:%S");var n=this;k=new this.Date(c);var w=this.get("Hours",k),h=this.get("Day",k),G=this.get("Date",k),q=this.get("Month",k),x=this.get("FullYear",k),b=a.defaultOptions.lang,d=null===b||void 0===b?void 0:b.weekdays,L=null===b||void 0===b?void 0:b.shortWeekdays;k=O({a:L?L[h]:d[h].substr(0,3),A:d[h],d:z(G),e:z(G,2," "),w:h,b:b.shortMonths[q],B:b.months[q],m:z(q+1),o:q+1,y:x.toString().substr(2,2),Y:x,H:z(w),k:w,I:z(w%12||12),l:w%12||12,M:z(this.get("Minutes", k)),p:12>w?"AM":"PM",P:12>w?"am":"pm",S:z(k.getSeconds()),L:z(Math.floor(c%1E3),3)},a.dateFormats);B(k,function(b,d){for(;-1!==e.indexOf("%"+d);)e=e.replace("%"+d,"function"===typeof b?b.call(n,c):b)});return y?e.substr(0,1).toUpperCase()+e.substr(1):e};l.prototype.resolveDTLFormat=function(e){return E(e,!0)?e:(e=v(e),{main:e[0],from:e[1],to:e[2]})};l.prototype.getTimeTicks=function(e,n,a,k){var y=this,w=[],h={};var G=new y.Date(n);var q=e.unitRange,x=e.count||1,b;k=r(k,1);if(C(n)){y.set("Milliseconds", G,q>=c.second?0:x*Math.floor(y.get("Milliseconds",G)/x));q>=c.second&&y.set("Seconds",G,q>=c.minute?0:x*Math.floor(y.get("Seconds",G)/x));q>=c.minute&&y.set("Minutes",G,q>=c.hour?0:x*Math.floor(y.get("Minutes",G)/x));q>=c.hour&&y.set("Hours",G,q>=c.day?0:x*Math.floor(y.get("Hours",G)/x));q>=c.day&&y.set("Date",G,q>=c.month?1:Math.max(1,x*Math.floor(y.get("Date",G)/x)));if(q>=c.month){y.set("Month",G,q>=c.year?0:x*Math.floor(y.get("Month",G)/x));var d=y.get("FullYear",G)}q>=c.year&&y.set("FullYear", G,d-d%x);q===c.week&&(d=y.get("Day",G),y.set("Date",G,y.get("Date",G)-d+k+(d4*c.month||y.getTimezoneOffset(n)!==y.getTimezoneOffset(a));n=G.getTime();for(G=1;nw.length&&w.forEach(function(b){0===b%18E5&&"000000000"===y.dateFormat("%H%M%S%L",b)&&(h[b]="day")})}w.info=O(e,{higherRanks:h,totalRange:q*x});return w};return l}();a.Time=m;return a.Time});S(a,"Core/Options.js",[a["Core/Globals.js"],a["Core/Color/Color.js"],a["Core/Color/Palette.js"],a["Core/Time.js"],a["Core/Utilities.js"]],function(a,m,A,C,F){var O=a.isTouchDevice,E=a.svg;m=m.parse;F=F.merge;"";a.defaultOptions={colors:A.colors,symbols:["circle","diamond","square", "triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0, timezoneOffset:0,useUTC:!0},chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:A.highlightColor80,backgroundColor:A.backgroundColor,plotBorderColor:A.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"", align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:A.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:A.neutralColor40,borderRadius:0,navigation:{activeColor:A.highlightColor100,inactiveColor:A.neutralColor20},itemStyle:{color:A.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:A.neutralColor100},itemHiddenStyle:{color:A.neutralColor20}, 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:A.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:E,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:O?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:m(A.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:A.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits", position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:A.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};a.defaultOptions.chart.styledMode=!1;"";a.time=new C(F(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(m,B,z){return a.time.dateFormat(m,B,z)};return{dateFormat:a.dateFormat,defaultOptions:a.defaultOptions,time:a.time}});S(a,"Core/Axis/Tick.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,m){var A=a.deg2rad,C=m.clamp,F= m.correctFloat,O=m.defined,E=m.destroyObjectProperties,I=m.extend,B=m.fireEvent,z=m.isNumber,r=m.merge,v=m.objectEach,c=m.pick;"";m=function(){function a(e,c,a,k,l){this.isNewLabel=this.isNew=!0;this.axis=e;this.pos=c;this.type=a||"";this.parameters=l||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;B(this,"init");a||k||this.addLabel()}a.prototype.addLabel=function(){var e=this,a=e.axis,y=a.options,k=a.chart,l=a.categories,w=a.logarithmic,h=a.names,G=e.pos, q=c(e.options&&e.options.labels,y.labels),x=a.tickPositions,b=G===x[0],d=G===x[x.length-1];h=this.parameters.category||(l?c(l[G],h[G],G):G);var L=e.label;l=(!q.step||1===q.step)&&1===a.tickInterval;x=x.info;var M,K;if(a.dateTime&&x){var g=k.time.resolveDTLFormat(y.dateTimeLabelFormats[!y.grid&&x.higherRanks[G]||x.unitName]);var J=g.main}e.isFirst=b;e.isLast=d;e.formatCtx={axis:a,chart:k,isFirst:b,isLast:d,dateTimeLabelFormat:J,tickPositionInfo:x,value:w?F(w.lin2log(h)):h,pos:G};y=a.labelFormatter.call(e.formatCtx, this.formatCtx);if(K=g&&g.list)e.shortenLabel=function(){for(M=0;Mq&&k-x*bw&&(K=Math.round((l-k)/Math.cos(q*A)));else if(l=k+(1-x)*b,k-x* bw&&(L=w-e.x+L*x,M=-1),L=Math.min(d,L),LL||a.autoRotation&&(G.styles||{}).width)K=L;K&&(this.shortenLabel?this.shortenLabel():(g.width=Math.floor(K)+"px",(y.style||{}).textOverflow||(g.textOverflow="ellipsis"),G.css(g)))};a.prototype.moveLabel=function(e,c){var a=this,k=a.label,n=!1,w=a.axis,h=w.reversed;k&&k.textStr===e?(a.movedLabel=k,n=!0,delete a.label):v(w.ticks,function(c){n||c.isNew||c===a||!c.label||c.label.textStr!== e||(a.movedLabel=c.label,n=!0,c.labelPos=a.movedLabel.xy,delete c.label)});if(!n&&(a.labelPos||k)){var G=a.labelPos||k.xy;k=w.horiz?h?0:w.width+w.left:G.x;w=w.horiz?G.y:h?w.width+w.left:0;a.movedLabel=a.createLabel({x:k,y:w},e,c);a.movedLabel&&a.movedLabel.attr({opacity:0})}};a.prototype.render=function(e,a,y){var k=this.axis,n=k.horiz,w=this.pos,h=c(this.tickmarkOffset,k.tickmarkOffset);w=this.getPosition(n,w,h,a);h=w.x;var G=w.y;k=n&&h===k.pos+k.len||!n&&G===k.pos?-1:1;y=c(y,1);this.isActive=!0; this.renderGridLine(a,y,k);this.renderMark(w,y,k);this.renderLabel(w,a,y,e);this.isNew=!1;B(this,"afterRender")};a.prototype.renderGridLine=function(e,a,y){var k=this.axis,n=k.options,w=this.gridLine,h={},G=this.pos,q=this.type,x=c(this.tickmarkOffset,k.tickmarkOffset),b=k.chart.renderer,d=q?q+"Grid":"grid",L=n[d+"LineWidth"],M=n[d+"LineColor"];n=n[d+"LineDashStyle"];w||(k.chart.styledMode||(h.stroke=M,h["stroke-width"]=L,n&&(h.dashstyle=n)),q||(h.zIndex=1),e&&(a=0),this.gridLine=w=b.path().attr(h).addClass("highcharts-"+ (q?q+"-":"")+"grid-line").add(k.gridGroup));if(w&&(y=k.getPlotLinePath({value:G+x,lineWidth:w.strokeWidth()*y,force:"pass",old:e})))w[e||this.isNew?"attr":"animate"]({d:y,opacity:a})};a.prototype.renderMark=function(e,a,y){var k=this.axis,n=k.options,w=k.chart.renderer,h=this.type,G=h?h+"Tick":"tick",q=k.tickSize(G),x=this.mark,b=!x,d=e.x;e=e.y;var L=c(n[G+"Width"],!h&&k.isXAxis?1:0);n=n[G+"Color"];q&&(k.opposite&&(q[0]=-q[0]),b&&(this.mark=x=w.path().addClass("highcharts-"+(h?h+"-":"")+"tick").add(k.axisGroup), k.chart.styledMode||x.attr({stroke:n,"stroke-width":L})),x[b?"attr":"animate"]({d:this.getMarkPath(d,e,q[0],x.strokeWidth()*y,k.horiz,w),opacity:a}))};a.prototype.renderLabel=function(e,a,y,k){var n=this.axis,w=n.horiz,h=n.options,G=this.label,q=h.labels,x=q.step;n=c(this.tickmarkOffset,n.tickmarkOffset);var b=!0,d=e.x;e=e.y;G&&z(d)&&(G.xy=e=this.getLabelPosition(d,e,G,w,q,n,k,x),this.isFirst&&!this.isLast&&!c(h.showFirstLabel,1)||this.isLast&&!this.isFirst&&!c(h.showLastLabel,1)?b=!1:!w||q.step|| q.rotation||a||0===y||this.handleOverflow(e),x&&k%x&&(b=!1),b&&z(e.y)?(e.opacity=y,G[this.isNewLabel?"attr":"animate"](e),this.isNewLabel=!1):(G.attr("y",-9999),this.isNewLabel=!0))};a.prototype.replaceMovedLabel=function(){var e=this.label,c=this.axis,a=c.reversed;if(e&&!this.isNew){var k=c.horiz?a?c.left:c.width+c.left:e.xy.x;a=c.horiz?e.xy.y:a?c.width+c.top:c.top;e.animate({x:k,y:a,opacity:0},void 0,e.destroy);delete this.label}c.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return a}(); a.Tick=m;return a.Tick});S(a,"Core/Axis/Axis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Color/Palette.js"],a["Core/Options.js"],a["Core/Axis/Tick.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E){var I=a.animObject,B=F.defaultOptions,z=E.addEvent,r=E.arrayMax,v=E.arrayMin,c=E.clamp,l=E.correctFloat,e=E.defined,n=E.destroyObjectProperties,y=E.erase,k=E.error,Q=E.extend,w=E.fireEvent,h=E.format,G=E.getMagnitude,q=E.isArray,x=E.isFunction, b=E.isNumber,d=E.isString,L=E.merge,M=E.normalizeTickInterval,K=E.objectEach,g=E.pick,J=E.relativeLength,p=E.removeEvent,f=E.splat,H=E.syncTimeout;"";var u=A.deg2rad;a=function(){function a(b,d){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange= this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0;this.init(b,d)}a.prototype.init=function(b,d){var t=d.isX,c=this;c.chart= b;c.horiz=b.inverted&&!c.isZAxis?!t:t;c.isXAxis=t;c.coll=c.coll||(t?"xAxis":"yAxis");w(this,"init",{userOptions:d});c.opposite=g(d.opposite,c.opposite);c.side=g(d.side,c.side,c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(d);var D=this.options,p=D.type;c.labelFormatter=D.labels.formatter||c.defaultLabelFormatter;c.userOptions=d;c.minPixelPadding=0;c.reversed=g(D.reversed,c.reversed);c.visible=!1!==D.visible;c.zoomEnabled=!1!==D.zoomEnabled;c.hasNames="category"===p||!0===D.categories;c.categories= D.categories||c.hasNames;c.names||(c.names=[],c.names.keys={});c.plotLinesAndBandsGroups={};c.positiveValuesOnly=!!c.logarithmic;c.isLinked=e(D.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=c.userMinRange=D.minRange||D.maxZoom;c.range=D.range;c.offset=D.offset||0;c.max=null;c.min=null;c.crosshair=g(D.crosshair,f(b.options.tooltip.crosshairs)[t?0:1],!1);d=c.options.events;-1===b.axes.indexOf(c)&&(t?b.axes.splice(b.xAxis.length,0,c): b.axes.push(c),b[c.coll].push(c));c.series=c.series||[];b.inverted&&!c.isZAxis&&t&&"undefined"===typeof c.reversed&&(c.reversed=!0);c.labelRotation=c.options.labels.rotation;K(d,function(b,d){x(b)&&z(c,d,b)});w(this,"afterInit")};a.prototype.setOptions=function(b){this.options=L(a.defaultOptions,"yAxis"===this.coll&&a.defaultYAxisOptions,[a.defaultTopAxisOptions,a.defaultRightAxisOptions,a.defaultBottomAxisOptions,a.defaultLeftAxisOptions][this.side],L(B[this.coll],b));w(this,"afterSetOptions",{userOptions:b})}; a.prototype.defaultLabelFormatter=function(){var d=this.axis,g=b(this.value)?this.value:NaN,f=d.chart.time,e=d.categories,c=this.dateTimeLabelFormat,p=B.lang,a=p.numericSymbols;p=p.numericSymbolMagnitude||1E3;var q=a&&a.length,x=d.options.labels.format;d=d.logarithmic?Math.abs(g):d.tickInterval;var J=this.chart,k=J.numberFormatter;if(x)var u=h(x,this,J);else if(e)u=""+this.value;else if(c)u=f.dateFormat(c,g);else if(q&&1E3<=d)for(;q--&&"undefined"===typeof u;)f=Math.pow(p,q+1),d>=f&&0===10*g%f&&null!== a[q]&&0!==g&&(u=k(g/f,-1)+a[q]);"undefined"===typeof u&&(u=1E4<=Math.abs(g)?k(g,-1):k(g,-1,void 0,""));return u};a.prototype.getSeriesExtremes=function(){var d=this,f=d.chart,c;w(this,"getSeriesExtremes",null,function(){d.hasVisibleSeries=!1;d.dataMin=d.dataMax=d.threshold=null;d.softThreshold=!d.isXAxis;d.stacking&&d.stacking.buildStacks();d.series.forEach(function(t){if(t.visible||!f.options.chart.ignoreHiddenSeries){var D=t.options,p=D.threshold;d.hasVisibleSeries=!0;d.positiveValuesOnly&&0>=p&& (p=null);if(d.isXAxis){if(D=t.xData,D.length){D=d.logarithmic?D.filter(d.validatePositiveValue):D;c=t.getXExtremes(D);var a=c.min;var q=c.max;b(a)||a instanceof Date||(D=D.filter(b),c=t.getXExtremes(D),a=c.min,q=c.max);D.length&&(d.dataMin=Math.min(g(d.dataMin,a),a),d.dataMax=Math.max(g(d.dataMax,q),q))}}else if(t=t.applyExtremes(),b(t.dataMin)&&(a=t.dataMin,d.dataMin=Math.min(g(d.dataMin,a),a)),b(t.dataMax)&&(q=t.dataMax,d.dataMax=Math.max(g(d.dataMax,q),q)),e(p)&&(d.threshold=p),!D.softThreshold|| d.positiveValuesOnly)d.softThreshold=!1}})});w(this,"afterGetSeriesExtremes")};a.prototype.translate=function(d,g,f,e,c,p){var t=this.linkedParent||this,D=1,a=0,q=e&&t.old?t.old.transA:t.transA;e=e&&t.old?t.old.min:t.min;var h=t.minPixelPadding;c=(t.isOrdinal||t.brokenAxis&&t.brokenAxis.hasBreaks||t.logarithmic&&c)&&t.lin2val;q||(q=t.transA);f&&(D*=-1,a=t.len);t.reversed&&(D*=-1,a-=D*(t.sector||t.len));g?(d=(d*D+a-h)/q+e,c&&(d=t.lin2val(d))):(c&&(d=t.val2lin(d)),d=b(e)?D*(d-e)*q+a+D*h+(b(p)?q*p:0): void 0);return d};a.prototype.toPixels=function(b,d){return this.translate(b,!1,!this.horiz,null,!0)+(d?0:this.pos)};a.prototype.toValue=function(b,d){return this.translate(b-(d?0:this.pos),!0,!this.horiz,null,!0)};a.prototype.getPlotLinePath=function(d){function f(b,d,g){if("pass"!==J&&bg)J?b=c(b,d,g):K=!0;return b}var t=this,e=t.chart,D=t.left,p=t.top,a=d.old,q=d.value,h=d.translatedValue,x=d.lineWidth,J=d.force,k,u,L,M,n=a&&e.oldChartHeight||e.chartHeight,H=a&&e.oldChartWidth||e.chartWidth, K,G=t.transB;d={value:q,lineWidth:x,old:a,force:J,acrossPanes:d.acrossPanes,translatedValue:h};w(this,"getPlotLinePath",d,function(d){h=g(h,t.translate(q,null,null,a));h=c(h,-1E5,1E5);k=L=Math.round(h+G);u=M=Math.round(n-h-G);b(h)?t.horiz?(u=p,M=n-t.bottom,k=L=f(k,D,D+t.width)):(k=D,L=H-t.right,u=M=f(u,p,p+t.height)):(K=!0,J=!1);d.path=K&&!J?null:e.renderer.crispLine([["M",k,u],["L",L,M]],x||1)});return d.path};a.prototype.getLinearTickPositions=function(b,d,g){var f=l(Math.floor(d/b)*b);g=l(Math.ceil(g/ b)*b);var t=[],e;l(f+b)===f&&(e=20);if(this.single)return[d];for(d=f;d<=g;){t.push(d);d=l(d+b,e);if(d===c)break;var c=d}return t};a.prototype.getMinorTickInterval=function(){var b=this.options;return!0===b.minorTicks?g(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval};a.prototype.getMinorTickPositions=function(){var b=this.options,d=this.tickPositions,g=this.minorTickInterval,f=[],e=this.pointRangePadding||0,c=this.min-e;e=this.max+e;var p=e-c;if(p&&p/g=this.minRange;var k=this.minRange;var u=(k-f+d)/2;u=[d-u,g(b.min,d-u)];J&&(u[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);d=r(u);f=[d+k,g(b.max,d+k)];J&&(f[2]=c?c.log2lin(this.dataMax):this.dataMax); f=v(f);f-d=n)r= n,x=0;else if(f.dataMax<=n){var v=n;h=0}f.min=g(H,r,f.dataMin);f.max=g(y,v,f.dataMax)}c&&(f.positiveValuesOnly&&!d&&0>=Math.min(f.min,g(f.dataMin,f.min))&&k(10,1,t),f.min=l(c.log2lin(f.min),16),f.max=l(c.log2lin(f.max),16));f.range&&e(f.max)&&(f.userMin=f.min=H=Math.max(f.dataMin,f.minFromRange()),f.userMax=y=f.max,f.range=null);w(f,"foundExtremes");f.beforePadding&&f.beforePadding();f.adjustForMinRange();!(L||f.axisPointRange||f.stacking&&f.stacking.usePercentage||q)&&e(f.min)&&e(f.max)&&(t=f.max- f.min)&&(!e(H)&&x&&(f.min-=t*x),!e(y)&&h&&(f.max+=t*h));b(f.userMin)||(b(p.softMin)&&p.softMinf.max&&(f.max=y=p.softMax),b(p.ceiling)&&(f.max=Math.min(f.max,p.ceiling)));K&&e(f.dataMin)&&(n=n||0,!e(H)&&f.min=n?f.min=f.options.minRange?Math.min(n,f.max-f.minRange):n:!e(y)&&f.max>n&&f.dataMax<=n&&(f.max=f.options.minRange?Math.max(n,f.min+f.minRange):n));b(f.min)&&b(f.max)&& !this.chart.polar&&f.min>f.max&&(e(f.options.min)?f.max=f.min:e(f.options.max)&&(f.min=f.max));f.tickInterval=f.min===f.max||"undefined"===typeof f.min||"undefined"===typeof f.max?1:q&&!u&&J===f.linkedParent.options.tickPixelInterval?u=f.linkedParent.tickInterval:g(u,this.tickAmount?(f.max-f.min)/Math.max(this.tickAmount-1,1):void 0,L?1:(f.max-f.min)*J/Math.max(f.len,J));a&&!d&&f.series.forEach(function(b){var d,g;b.processData(f.min!==(null===(d=f.old)||void 0===d?void 0:d.min)||f.max!==(null=== (g=f.old)||void 0===g?void 0:g.max))});f.setAxisTranslation();w(this,"initialAxisTranslation");f.pointRange&&!u&&(f.tickInterval=Math.max(f.pointRange,f.tickInterval));d=g(p.minTickInterval,f.dateTime&&!f.series.some(function(b){return b.noSharedTooltip})?f.closestPointRange:0);!u&&f.tickIntervalf.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount|| (f.tickInterval=f.unsquish());this.setTickPositions()};a.prototype.setTickPositions=function(){var b=this.options,d=b.tickPositions;var f=this.getMinorTickInterval();var g=b.tickPositioner,c=this.hasVerticalPanning(),p="colorAxis"===this.coll,a=(p||!c)&&b.startOnTick;c=(p||!c)&&b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===f&&this.tickInterval?this.tickInterval/5:f;this.single=this.min===this.max&&e(this.min)&& !this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=f=d&&d.slice();!f&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?f=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max): this.getLinearTickPositions(this.tickInterval,this.min,this.max):(f=[this.min,this.max],k(19,!1,this.chart)),f.length>this.len&&(f=[f[0],f.pop()],f[0]===f[1]&&(f.length=1)),this.tickPositions=f,g&&(g=g.apply(this,[this.min,this.max])))&&(this.tickPositions=f=g);this.paddedTicks=f.slice(0);this.trimTicks(f,a,c);this.isLinked||(this.single&&2>f.length&&!this.categories&&!this.series.some(function(b){return b.is("heatmap")&&"between"===b.options.pointPlacement})&&(this.min-=.5,this.max+=.5),d||g||this.adjustTickAmount()); w(this,"afterSetTickPositions")};a.prototype.trimTicks=function(b,d,f){var g=b[0],t=b[b.length-1],c=!this.isOrdinal&&this.minPointOffset||0;w(this,"trimTicks");if(!this.isLinked){if(d&&-Infinity!==g)this.min=g;else for(;this.min-c>b[0];)b.shift();if(f)this.max=t;else for(;this.max+cd&&(this.finalTickAmt=d,d=5);this.tickAmount= d};a.prototype.adjustTickAmount=function(){var d=this.options,f=this.tickInterval,c=this.tickPositions,p=this.tickAmount,a=this.finalTickAmt,q=c&&c.length,h=g(this.threshold,this.softThreshold?0:null);if(this.hasData()&&b(this.min)&&b(this.max)){if(qp&&(this.tickInterval*= 2,this.setTickPositions());if(e(a)){for(f=d=c.length;f--;)(3===a&&1===f%2||2>=a&&0q&&(d=q)),e(t)&&(gq&&(g=q))),f.displayBtn="undefined"!==typeof d||"undefined"!==typeof g,f.setExtremes(d,g,!1,void 0,{trigger:"zoom"});b.zoomed=!0});return b.zoomed};a.prototype.setAxisSize=function(){var b=this.chart,d=this.options,f=d.offsets||[0,0,0,0],e=this.horiz,c=this.width=Math.round(J(g(d.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),p=this.height=Math.round(J(g(d.height,b.plotHeight-f[0]+f[2]),b.plotHeight)),a=this.top=Math.round(J(g(d.top,b.plotTop+f[0]),b.plotHeight,b.plotTop));d=this.left=Math.round(J(g(d.left, b.plotLeft+f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-p-a;this.right=b.chartWidth-c-d;this.len=Math.max(e?c:p,0);this.pos=e?d:a};a.prototype.getExtremes=function(){var b=this.logarithmic;return{min:b?l(b.lin2log(this.min)):this.min,max:b?l(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};a.prototype.getThreshold=function(b){var d=this.logarithmic,f=d?d.lin2log(this.min):this.min;d=d?d.lin2log(this.max):this.max;null=== b||-Infinity===b?b=f:Infinity===b?b=d:f>b?b=f:dd?b.align="right":195d&&(b.align="left")});return b.align};a.prototype.tickSize=function(b){var d=this.options,f=d["tick"===b?"tickLength":"minorTickLength"],e=g(d["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0);if(e&&f){"inside"=== d[b+"Position"]&&(f=-f);var c=[f,e]}b={tickSize:c};w(this,"afterTickSize",b);return b.tickSize};a.prototype.labelMetrics=function(){var b=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[b]&&this.ticks[b].label)};a.prototype.unsquish=function(){var b=this.options.labels,d=this.horiz,f=this.tickInterval,c=f,p=this.len/(((this.categories?1:0)+this.max-this.min)/f),a,q=b.rotation,h=this.labelMetrics(), x,J=Number.MAX_VALUE,k,L=Math.max(this.max-this.min,0),M=function(b){var d=b/(p||1);d=1L&&Infinity!==b&&Infinity!==p&&L&&(d=Math.ceil(L/f));return l(d*f)};d?(k=!b.staggerLines&&!b.step&&(e(q)?[q]:p=b){x=M(Math.abs(h.h/Math.sin(u*b)));var d=x+Math.abs(b/360);d(c.step||0))return c.rotation?0:(this.staggerLines||1)*this.len/p;if(!e){d=null===(f=null===c||void 0===c?void 0:c.style)||void 0===f?void 0:f.width;if(void 0!==d)return parseInt(d,10);if(a)return a-g.spacing[3]}return.33*g.chartWidth};a.prototype.renderUnsquish=function(){var b=this.chart,f=b.renderer,g=this.tickPositions,e= this.ticks,c=this.options.labels,p=c&&c.style||{},a=this.horiz,q=this.getSlotWidth(),h=Math.max(1,Math.round(q-2*(c.padding||5))),x={},u=this.labelMetrics(),J=c.style&&c.style.textOverflow,k=0;d(c.rotation)||(x.rotation=c.rotation||0);g.forEach(function(b){b=e[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>k&&(k=b.label.textPxLength)});this.maxLabelLength=k;if(this.autoRotation)k>h&&k>u.h?x.rotation=this.labelRotation:this.labelRotation=0;else if(q){var L=h;if(!J){var M="clip"; for(h=g.length;!a&&h--;){var n=g[h];if(n=e[n].label)n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>q&&n.css({width:q+"px"}),n.getBBox().height>this.len/g.length-(u.h-u.f)&&(n.specificTextOverflow="ellipsis")}}}x.rotation&&(L=k>.5*b.chartHeight?.33*b.chartHeight:k,J||(M="ellipsis"));if(this.labelAlign=c.align||this.autoLabelAlign(this.labelRotation))x.align=this.labelAlign;g.forEach(function(b){var d=(b=e[b])&&b.label,f=p.width,g={};d&&(d.attr(x),b.shortenLabel? b.shortenLabel():L&&!f&&"nowrap"!==p.whiteSpace&&(L=this.min&&b<=this.max||(null===(f=this.grid)||void 0===f?0:f.isColumn))g[b]||(g[b]=new N(this,b)),e&&g[b].isNew&&g[b].render(d, !0,-1),g[b].render(d)};a.prototype.render=function(){var d=this,f=d.chart,g=d.logarithmic,e=d.options,c=d.isLinked,p=d.tickPositions,a=d.axisTitle,q=d.ticks,h=d.minorTicks,x=d.alternateBands,u=e.stackLabels,k=e.alternateGridColor,J=d.tickmarkOffset,L=d.axisLine,M=d.showAxis,n=I(f.renderer.globalAnimation),G,y;d.labelEdge.length=0;d.overlap=!1;[q,h,x].forEach(function(b){K(b,function(b){b.isActive=!1})});if(d.hasData()||c)d.minorTickInterval&&!d.categories&&d.getMinorTickPositions().forEach(function(b){d.renderMinorTick(b)}), p.length&&(p.forEach(function(b,f){d.renderTick(b,f)}),J&&(0===d.min||d.single)&&(q[-1]||(q[-1]=new N(d,-1,null,!0)),q[-1].render(-1))),k&&p.forEach(function(b,e){y="undefined"!==typeof p[e+1]?p[e+1]+J:d.max-J;0===e%2&&bz&&(!v||h<=r)&&"undefined"!==typeof h&&n.push(h);h>r&&(k=!0);var h=w}}}else z=this.lin2log(z),r=this.lin2log(r),a=v?c.getMinorTickInterval():e.tickInterval,a=O("auto"===a?null:a,this.minorAutoInterval,e.tickPixelInterval/(v?5:1)*(r-z)/((v?l/c.tickPositions.length:l)||1)),a=F(a,void 0,C(a)),n=c.getLinearTickPositions(a,z,r).map(this.log2lin),v||(this.minorAutoInterval=a/5);v||(c.tickInterval=a);return n};a.prototype.lin2log=function(a){return Math.pow(10,a)};a.prototype.log2lin=function(a){return Math.log(a)/ Math.LN10};return a}();m=function(){function a(){}a.compose=function(a){a.keepProps.push("logarithmic");A(a,"init",function(a){var r=this.logarithmic;"logarithmic"!==a.userOptions.type?this.logarithmic=void 0:r||(this.logarithmic=new E(this))});A(a,"afterInit",function(){var a=this.logarithmic;a&&(this.lin2val=function(r){return a.lin2log(r)},this.val2lin=function(r){return a.log2lin(r)})})};return a}();m.compose(a);return m});S(a,"Core/Axis/PlotLineOrBand.js",[a["Core/Axis/Axis.js"],a["Core/Globals.js"], a["Core/Color/Palette.js"],a["Core/Utilities.js"]],function(a,m,A,C){var F=C.arrayMax,O=C.arrayMin,E=C.defined,I=C.destroyObjectProperties,B=C.erase,z=C.extend,r=C.fireEvent,v=C.merge,c=C.objectEach,l=C.pick;C=function(){function e(e,c){this.axis=e;c&&(this.options=c,this.id=c.id)}e.prototype.render=function(){r(this,"render");var e=this,a=e.axis,k=a.horiz,z=a.logarithmic,w=e.options,h=w.label,G=e.label,q=w.to,x=w.from,b=w.value,d=E(x)&&E(q),L=E(b),M=e.svgElem,K=!M,g=[],J=w.color,p=l(w.zIndex,0), f=w.events;g={"class":"highcharts-plot-"+(d?"band ":"line ")+(w.className||"")};var H={},u=a.chart.renderer,m=d?"bands":"lines";z&&(x=z.log2lin(x),q=z.log2lin(q),b=z.log2lin(b));a.chart.styledMode||(L?(g.stroke=J||A.neutralColor40,g["stroke-width"]=l(w.width,1),w.dashStyle&&(g.dashstyle=w.dashStyle)):d&&(g.fill=J||A.highlightColor10,w.borderWidth&&(g.stroke=w.borderColor,g["stroke-width"]=w.borderWidth)));H.zIndex=p;m+="-"+p;(z=a.plotLinesAndBandsGroups[m])||(a.plotLinesAndBandsGroups[m]=z=u.g("plot-"+ m).attr(H).add());K&&(e.svgElem=M=u.path().attr(g).add(z));if(L)g=a.getPlotLinePath({value:b,lineWidth:M.strokeWidth(),acrossPanes:w.acrossPanes});else if(d)g=a.getPlotBandPath(x,q,w);else return;!e.eventsAdded&&f&&(c(f,function(b,d){M.on(d,function(b){f[d].apply(e,[b])})}),e.eventsAdded=!0);(K||!M.d)&&g&&g.length?M.attr({d:g}):M&&(g?(M.show(!0),M.animate({d:g})):M.d&&(M.hide(),G&&(e.label=G=G.destroy())));h&&(E(h.text)||E(h.formatter))&&g&&g.length&&0this.max&&c>this.max;if(a&&k){if(e){var G=a.toString()===k.toString();h=0}for(e=0;ee){K=h;break}if(q[K]&&d.substr(q[K])!=="01-01 00:00:00.000".substr(q[K]))break;"week"!==K&&(h=K)}if(K)var g=b.resolveDTLFormat(x[K]).main;return g};w.prototype.getLabel=function(){var e,c,q,x=this,b=this.chart.renderer,d=this.chart.styledMode,k=this.options,M="tooltip"+(E(k.className)? " "+k.className:""),K=(null===(e=k.style)||void 0===e?void 0:e.pointerEvents)||(!this.followPointer&&k.stickOnContact?"auto":"none"),g;e=function(){x.inContact=!0};var J=function(){var b=x.chart.hoverSeries;x.inContact=!1;if(b&&b.onMouseOut)b.onMouseOut()};if(!this.label){if(this.outside){var p=null===(c=this.chart.options.chart)||void 0===c?void 0:c.style;this.container=g=a.doc.createElement("div");g.className="highcharts-tooltip-container";O(g,{position:"absolute",top:"1px",pointerEvents:K,zIndex:Math.max((null=== (q=this.options.style)||void 0===q?void 0:q.zIndex)||0,((null===p||void 0===p?void 0:p.zIndex)||0)+3)});a.doc.body.appendChild(g);this.renderer=b=new a.Renderer(g,0,0,p,void 0,void 0,b.styledMode)}this.split?this.label=b.g(M):(this.label=b.label("",0,0,k.shape||"callout",null,null,k.useHTML,null,M).attr({padding:k.padding,r:k.borderRadius}),d||this.label.attr({fill:k.backgroundColor,"stroke-width":k.borderWidth}).css(k.style).css({pointerEvents:K}).shadow(k.shadow));d&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+ this.chart.index));if(x.outside&&!x.split){var f=this.label,H=f.xSetter,u=f.ySetter;f.xSetter=function(b){H.call(f,x.distance);g.style.left=b+"px"};f.ySetter=function(b){u.call(f,x.distance);g.style.top=b+"px"}}this.label.on("mouseenter",e).on("mouseleave",J).attr({zIndex:8}).add()}return this.label};w.prototype.getPosition=function(c,a,q){var h=this.chart,b=this.distance,d={},k=h.inverted&&q.h||0,M,K=this.outside,g=K?C.documentElement.clientWidth-2*b:h.chartWidth,J=K?Math.max(C.body.scrollHeight, C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,C.documentElement.clientHeight):h.chartHeight,p=h.pointer.getChartPosition(),f=function(d){var f="x"===d;return[d,f?g:J,f?c:a].concat(K?[f?c*p.scaleX:a*p.scaleY,f?p.left-b+(q.plotX+h.plotLeft)*p.scaleX:p.top-b+(q.plotY+h.plotTop)*p.scaleY,0,f?g:J]:[f?c:a,f?q.plotX+h.plotLeft:q.plotY+h.plotTop,f?h.plotLeft:h.plotTop,f?h.plotLeft+h.plotWidth:h.plotTop+h.plotHeight])},H=f("y"),u=f("x"),n=!this.followPointer&&e(q.ttBelow, !h.inverted===!!q.negative),t=function(f,g,e,c,a,q,h){var x=K?"y"===f?b*p.scaleY:b*p.scaleX:b,t=(e-c)/2,u=cD-k?D:D-k);else if(J)d[f]=Math.max(q,a+k+e>g?a:a+k);else return!1},G=function(f,g,e,c,a){var p;ag-b?p=!1:d[f]=ag-c/2?g-c-2:a-e/2;return p},l=function(b){var d=H;H=u;u=d;M=b},w=function(){!1!==t.apply(0,H)?!1!==G.apply(0,u)||M||(l(!0),w()):M?d.x=d.y=0:(l(!0),w())};(h.inverted||1=u+n&&T.pos+K<=u+n+L-f&&(X=T.pos+K);H=F(H,y.left-t,y.right+t);"number"===typeof X?(h=h.height+1,K=G?G.call(x,a,h,g):q(H,X,c,a),b.push({align:G?0:void 0,anchorX:H,anchorY:X,boxWidth:a,point:g,rank:e(K.rank,c?1:0),size:h,target:K.y, tt:d,x:K.x})):d.isActive=!1}return b},[]);!G&&h.some(function(b){return b.xa[0]?Math.max(Math.abs(a[0]),b.width-a[0]):Math.max(Math.abs(a[0]),b.width);x.height=0> a[1]?Math.max(Math.abs(a[1]),b.height-Math.abs(a[1])):Math.max(Math.abs(a[1]),b.height);this.tracker?this.tracker.attr(x):(this.tracker=e.renderer.rect(x).addClass("highcharts-tracker").add(e),c.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}};w.prototype.styledModeFormat=function(c){return c.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')};w.prototype.tooltipFooterHeaderFormatter= function(c,e){var a=e?"footer":"header",h=c.series,b=h.tooltipOptions,d=b.xDateFormat,k=h.xAxis,M=k&&"datetime"===k.options.type&&v(c.key),K=b[a+"Format"];e={isFooter:e,labelConfig:c};z(this,"headerFormatter",e,function(g){M&&!d&&(d=this.getXDateFormat(c,b,k));M&&d&&(c.point&&c.point.tooltipDateKeys||["key"]).forEach(function(b){K=K.replace("{point."+b+"}","{point."+b+":"+d+"}")});h.chart.styledMode&&(K=this.styledModeFormat(K));g.text=r(K,{point:c,series:h},this.chart)});return e.text};w.prototype.update= function(c){this.destroy();l(!0,this.chart.options.tooltip.userOptions,c);this.init(this.chart,l(!0,this.options,c))};w.prototype.updatePosition=function(c){var e=this.chart,a=e.pointer,h=this.getLabel(),b=c.plotX+e.plotLeft;e=c.plotY+e.plotTop;a=a.getChartPosition();c=(this.options.positioner||this.getPosition).call(this,h.width,h.height,c);if(this.outside){var d=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(h.width+d,h.height+d,!1);if(1!==a.scaleX||1!==a.scaleY)O(this.container, {transform:"scale("+a.scaleX+", "+a.scaleY+")"}),b*=a.scaleX,e*=a.scaleY;b+=a.left-c.x;e+=a.top-c.y}this.move(Math.round(c.x),Math.round(c.y||0),b,e)};return w}();a.Tooltip=Q;return a.Tooltip});S(a,"Core/Pointer.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Color/Palette.js"],a["Core/Tooltip.js"],a["Core/Utilities.js"]],function(a,m,A,C,F){var O=a.parse,E=m.charts,I=m.noop,B=F.addEvent,z=F.attr,r=F.css,v=F.defined,c=F.extend,l=F.find,e=F.fireEvent,n=F.isNumber,y=F.isObject,k=F.objectEach, Q=F.offset,w=F.pick,h=F.splat;"";a=function(){function a(c,a){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.chart=c;this.hasDragged=!1;this.options=a;this.unbindContainerMouseLeave=function(){};this.unbindContainerMouseEnter=function(){};this.init(c,a)}a.prototype.applyInactiveState=function(c){var a=[],b;(c||[]).forEach(function(d){b=d.series;a.push(b);b.linkedParent&&a.push(b.linkedParent);b.linkedSeries&&(a=a.concat(b.linkedSeries));b.navigatorSeries&&a.push(b.navigatorSeries)}); this.chart.series.forEach(function(b){-1===a.indexOf(b)?b.setState("inactive",!0):b.options.inactiveOtherPoints&&b.setAllPointsToState("inactive")})};a.prototype.destroy=function(){var c=this;"undefined"!==typeof c.unDocMouseMove&&c.unDocMouseMove();this.unbindContainerMouseLeave();m.chartCount||(m.unbindDocumentMouseUp&&(m.unbindDocumentMouseUp=m.unbindDocumentMouseUp()),m.unbindDocumentTouchEnd&&(m.unbindDocumentTouchEnd=m.unbindDocumentTouchEnd()));clearInterval(c.tooltipTimeout);k(c,function(a, b){c[b]=void 0})};a.prototype.drag=function(c){var a=this.chart,b=a.options.chart,d=c.chartX,e=c.chartY,q=this.zoomHor,h=this.zoomVert,g=a.plotLeft,k=a.plotTop,p=a.plotWidth,f=a.plotHeight,H=this.selectionMarker,u=this.mouseDownX||0,n=this.mouseDownY||0,t=y(b.panning)?b.panning&&b.panning.enabled:b.panning,w=b.panKey&&c[b.panKey+"Key"];if(!H||!H.touch)if(dg+p&&(d=g+p),ek+f&&(e=k+f),this.hasDragged=Math.sqrt(Math.pow(u-d,2)+Math.pow(n-e,2)),10d.options.findNearestPointBy.indexOf("y");d=d.searchPoint(b,c);if((c=y(d,!0)&&d.series)&&!(c=!y(q,!0))){c=q.distX-d.distX;var e=q.dist-d.dist,p=(d.series.group&&d.series.group.zIndex)-(q.series.group&&q.series.group.zIndex);c=0<(0!==c&&a?c:0!==e?e:0!==p?p:q.series.index>d.series.index?-1:1)}c&&(q=d)});return q};a.prototype.getChartCoordinatesFromPoint= function(c,a){var b=c.series,d=b.xAxis;b=b.yAxis;var e=w(c.clientX,c.plotX),q=c.shapeArgs;if(d&&b)return a?{chartX:d.len+d.pos-e,chartY:b.len+b.pos-c.plotY}:{chartX:e+d.pos,chartY:c.plotY+b.pos};if(q&&q.x&&q.y)return{chartX:q.x,chartY:q.y}};a.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var c=this.chart.container,a=Q(c);this.chartPosition={left:a.left,top:a.top,scaleX:1,scaleY:1};var b=c.offsetWidth;c=c.offsetHeight;2D.max&&(a=D.max-t,G=!0);G?(y-=.8*(y-k[p][0]),"number"===typeof v&&(v-=.8*(v-k[p][1])),b()):k[p]=[y,v];K||(h[p]=L-M,h[u]=t);h=K?1/x:x;e[u]=t;e[p]=a;d[K?c?"scaleY":"scaleX":"scale"+f]=x;d["translate"+f]=h*M+(y-h*l)};a.prototype.reset=function(c,a){var b= this.chart,d=b.hoverSeries,e=b.hoverPoint,k=b.hoverPoints,q=b.tooltip,g=q&&q.shared?k:e;c&&g&&h(g).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(c=!1)});if(c)q&&g&&h(g).length&&(q.refresh(g),q.shared&&k?k.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):e&&(e.setState(e.state,!0),b.axes.forEach(function(b){b.crosshair&&e.series[b.coll]=== b&&b.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();k&&k.forEach(function(b){b.setState()});if(d)d.onMouseOut();q&&q.hide(a);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());b.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}};a.prototype.runPointActions=function(c,a){var b=this.chart,d=b.tooltip&&b.tooltip.options.enabled?b.tooltip:void 0,e=d?d.shared:!1,h=a||b.hoverPoint,k=h&&h.series||b.hoverSeries;k=this.getHoverData(h,k,b.series,(!c|| "touchmove"!==c.type)&&(!!a||k&&k.directTouch&&this.isDirectTouch),e,c);h=k.hoverPoint;var g=k.hoverPoints;a=(k=k.hoverSeries)&&k.tooltipOptions.followPointer;e=e&&k&&!k.noSharedTooltip;if(h&&(h!==b.hoverPoint||d&&d.isHidden)){(b.hoverPoints||[]).forEach(function(b){-1===g.indexOf(b)&&b.setState()});if(b.hoverSeries!==k)k.onMouseOver();this.applyInactiveState(g);(g||[]).forEach(function(b){b.setState("hover")});b.hoverPoint&&b.hoverPoint.firePointEvent("mouseOut");if(!h.series)return;b.hoverPoints= g;b.hoverPoint=h;h.firePointEvent("mouseOver");d&&d.refresh(e?g:h,c)}else a&&d&&!d.isHidden&&(h=d.getAnchor([{}],c),d.updatePosition({plotX:h[0],plotY:h[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(b.container.ownerDocument,"mousemove",function(b){var d=E[m.hoverChartIndex];if(d)d.pointer.onDocumentMouseMove(b)}));b.axes.forEach(function(d){var a=w((d.crosshair||{}).snap,!0),f;a&&((f=b.hoverPoint)&&f.series[d.coll]===d||(f=l(g,function(b){return b.series[d.coll]===d})));f||!a?d.drawCrosshair(c, f):d.hideCrosshair()})};a.prototype.scaleGroups=function(c,a){var b=this.chart,d;b.series.forEach(function(e){d=c||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),e.markerGroup.clip(a?b.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});b.clipRect.attr(a||b.clipBox)};a.prototype.setDOMEvents=function(){var c=this,a=this.chart.container,b=a.ownerDocument;a.onmousedown=this.onContainerMouseDown.bind(this);a.onmousemove=this.onContainerMouseMove.bind(this); a.onclick=this.onContainerClick.bind(this);this.unbindContainerMouseEnter=B(a,"mouseenter",this.onContainerMouseEnter.bind(this));this.unbindContainerMouseLeave=B(a,"mouseleave",this.onContainerMouseLeave.bind(this));m.unbindDocumentMouseUp||(m.unbindDocumentMouseUp=B(b,"mouseup",this.onDocumentMouseUp.bind(this)));for(var d=this.chart.renderTo.parentElement;d&&"BODY"!==d.tagName;)B(d,"scroll",function(){delete c.chartPosition}),d=d.parentElement;m.hasTouch&&(B(a,"touchstart",this.onContainerTouchStart.bind(this), {passive:!1}),B(a,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1}),m.unbindDocumentTouchEnd||(m.unbindDocumentTouchEnd=B(b,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};a.prototype.setHoverChartIndex=function(){var c=this.chart,a=m.charts[w(m.hoverChartIndex,-1)];if(a&&a!==c)a.pointer.onContainerMouseLeave({relatedTarget:!0});a&&a.mouseIsDown||(m.hoverChartIndex=c.index)};a.prototype.touch=function(c,a){var b=this.chart,d;this.setHoverChartIndex();if(1===c.touches.length)if(c= this.normalize(c),(d=b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop))&&!b.openMenu){a&&this.runPointActions(c);if("touchmove"===c.type){a=this.pinchDown;var e=a[0]?4<=Math.sqrt(Math.pow(a[0].chartX-c.chartX,2)+Math.pow(a[0].chartY-c.chartY,2)):!1}w(e,!0)&&this.pinch(c)}else a&&this.reset();else 2===c.touches.length&&this.pinch(c)};a.prototype.touchSelect=function(c){return!(!this.chart.options.chart.zoomBySingleTouch||!c.touches||1!==c.touches.length)};a.prototype.zoomOption=function(c){var a= this.chart,b=a.options.chart,d=b.zoomType||"";a=a.inverted;/touch/.test(c.type)&&(d=w(b.pinchType,d));this.zoomX=c=/x/.test(d);this.zoomY=d=/y/.test(d);this.zoomHor=c&&!a||d&&a;this.zoomVert=d&&!a||c&&a;this.hasZoom=c||d};return a}();return m.Pointer=a});S(a,"Core/MSPointer.js",[a["Core/Globals.js"],a["Core/Pointer.js"],a["Core/Utilities.js"]],function(a,m,A){function C(){var c=[];c.item=function(c){return this[c]};v(l,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c}function F(c, e,k,l){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!E[a.hoverChartIndex]||(l(c),l=E[a.hoverChartIndex].pointer,l[e]({type:k,target:c.currentTarget,preventDefault:B,touches:C()}))}var O=this&&this.__extends||function(){var c=function(a,e){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return c(a,e)};return function(a,e){function k(){this.constructor=a}c(a,e);a.prototype=null=== e?Object.create(e):(k.prototype=e.prototype,new k)}}(),E=a.charts,I=a.doc,B=a.noop,z=A.addEvent,r=A.css,v=A.objectEach,c=A.removeEvent,l={},e=!!a.win.PointerEvent;return function(a){function n(){return null!==a&&a.apply(this,arguments)||this}O(n,a);n.prototype.batchMSEvents=function(c){c(this.chart.container,e?"pointerdown":"MSPointerDown",this.onContainerPointerDown);c(this.chart.container,e?"pointermove":"MSPointerMove",this.onContainerPointerMove);c(I,e?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}; n.prototype.destroy=function(){this.batchMSEvents(c);a.prototype.destroy.call(this)};n.prototype.init=function(c,e){a.prototype.init.call(this,c,e);this.hasZoom&&r(c.container,{"-ms-touch-action":"none","touch-action":"none"})};n.prototype.onContainerPointerDown=function(c){F(c,"onContainerTouchStart","touchstart",function(c){l[c.pointerId]={pageX:c.pageX,pageY:c.pageY,target:c.currentTarget}})};n.prototype.onContainerPointerMove=function(c){F(c,"onContainerTouchMove","touchmove",function(c){l[c.pointerId]= {pageX:c.pageX,pageY:c.pageY};l[c.pointerId].target||(l[c.pointerId].target=c.currentTarget)})};n.prototype.onDocumentPointerUp=function(c){F(c,"onDocumentTouchEnd","touchend",function(c){delete l[c.pointerId]})};n.prototype.setDOMEvents=function(){a.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(z)};return n}(m)});S(a,"Core/Series/Point.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Globals.js"],a["Core/Options.js"], a["Core/Utilities.js"]],function(a,m,A,C,F){var O=m.animObject,E=C.defaultOptions,I=F.addEvent,B=F.defined,z=F.erase,r=F.extend,v=F.fireEvent,c=F.format,l=F.getNestedProperty,e=F.isArray,n=F.isFunction,y=F.isNumber,k=F.isObject,Q=F.merge,w=F.objectEach,h=F.pick,G=F.syncTimeout,q=F.removeEvent,x=F.uniqueKey;"";m=function(){function b(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total= this.series=void 0;this.visible=!0;this.x=void 0}b.prototype.animateBeforeDestroy=function(){var b=this,c={x:b.startXPos,opacity:0},a,e=b.getGraphicalProps();e.singular.forEach(function(d){a="dataLabel"===d;b[d]=b[d].animate(a?{x:b[d].startXPos,y:b[d].startYPos,opacity:0}:c)});e.plural.forEach(function(d){b[d].forEach(function(d){d.element&&d.animate(r({x:b.startXPos},d.startYPos?{x:d.startXPos,y:d.startYPos}:{}))})})};b.prototype.applyOptions=function(d,c){var a=this.series,e=a.options.pointValKey|| a.pointValKey;d=b.prototype.optionsToObject.call(this,d);r(this,d);this.options=this.options?r(this.options,d):d;d.group&&delete this.group;d.dataLabels&&delete this.dataLabels;e&&(this.y=b.prototype.getNestedProperty.call(this,e));this.formatPrefix=(this.isNull=h(this.isValid&&!this.isValid(),null===this.x||!y(this.y)))?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof c&&a.xAxis&&a.xAxis.hasNames&&(this.x=a.xAxis.nameToX(this));"undefined"===typeof this.x&& a&&(this.x="undefined"===typeof c?a.autoIncrement(this):c);return this};b.prototype.destroy=function(){function b(){if(c.graphic||c.dataLabel||c.dataLabels)q(c),c.destroyElements();for(p in c)c[p]=null}var c=this,a=c.series,e=a.chart;a=a.options.dataSorting;var g=e.hoverPoints,h=O(c.series.chart.renderer.globalAnimation),p;c.legendItem&&e.legend.destroyItem(c);g&&(c.setState(),z(g,c),g.length||(e.hoverPoints=null));if(c===e.hoverPoint)c.onMouseOut();a&&a.enabled?(this.animateBeforeDestroy(),G(b,h.duration)): b();e.pointCount--};b.prototype.destroyElements=function(b){var d=this;b=d.getGraphicalProps(b);b.singular.forEach(function(b){d[b]=d[b].destroy()});b.plural.forEach(function(b){d[b].forEach(function(b){b.element&&b.destroy()});delete d[b]})};b.prototype.firePointEvent=function(b,c,a){var d=this,e=this.series.options;(e.point.events[b]||d.options&&d.options.events&&d.options.events[b])&&d.importEvents();"click"===b&&e.allowPointSelect&&(a=function(b){d.select&&d.select(null,b.ctrlKey||b.metaKey|| b.shiftKey)});v(d,b,c,a)};b.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};b.prototype.getGraphicalProps=function(b){var d=this,c= [],a,e={singular:[],plural:[]};b=b||{graphic:1,dataLabel:1};b.graphic&&c.push("graphic","upperGraphic","shadowGroup");b.dataLabel&&c.push("dataLabel","dataLabelUpper","connector");for(a=c.length;a--;){var h=c[a];d[h]&&e.singular.push(h)}["dataLabel","connector"].forEach(function(c){var a=c+"s";b[c]&&d[a]&&e.plural.push(a)});return e};b.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this, percentage:this.percentage,total:this.total||this.stackTotal}};b.prototype.getNestedProperty=function(b){if(b)return 0===b.indexOf("custom.")?l(b,this.options):this[b]};b.prototype.getZone=function(){var b=this.series,c=b.zones;b=b.zoneAxis||"y";var a=0,e;for(e=c[a];this[b]>=e.value;)e=c[++a];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=e&&e.color&&!this.options.color?e.color:this.nonZonedColor;return e};b.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName|| this.graphic.element.nodeName))!==this.shapeType};b.prototype.init=function(b,c,a){this.series=b;this.applyOptions(c,a);this.id=B(this.id)?this.id:x();this.resolveColor();b.chart.pointCount++;v(this,"afterInit");return this};b.prototype.optionsToObject=function(d){var c={},a=this.series,h=a.options.keys,g=h||a.pointArrayMap||["y"],k=g.length,p=0,f=0;if(y(d)||null===d)c[g[0]]=d;else if(e(d))for(!h&&d.length>k&&(a=typeof d[0],"string"===a?c.name=d[0]:"number"===a&&(c.x=d[0]),p++);fa-6&&hf?this.maxItemWidth:b.itemWidth;a&&this.itemX-c+d>f&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=h+this.lastLineHeight+g),this.lastLineHeight=0);this.lastItemY=h+this.itemY+g;this.lastLineHeight=Math.max(e,this.lastLineHeight);b._legendItemPos=[this.itemX,this.itemY];a?this.itemX+=d:(this.itemY+= h+e+g,this.lastLineHeight=e);this.offsetWidth=this.widthOption||Math.max((a?this.itemX-c-(b.checkbox?0:p):d)+c,this.offsetWidth)};a.prototype.getAllItems=function(){var b=[];this.chart.series.forEach(function(d){var c=d&&d.options;d&&Q(c.showInLegend,v(c.linkedTo)?!1:void 0,!0)&&(b=b.concat(d.legendItems||("point"===c.legendType?d.data:d)))});e(this,"afterGetAllItems",{allItems:b});return b};a.prototype.getAlignment=function(){var b=this.options;return this.proximate?b.align.charAt(0)+"tv":b.floating? "":b.align.charAt(0)+b.verticalAlign.charAt(0)+b.layout.charAt(0)};a.prototype.adjustMargins=function(b,d){var c=this.chart,a=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(g,h){g.test(e)&&!v(b[h])&&(c[E[h]]=Math.max(c[E[h]],c.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*a[h%2?"x":"y"]+Q(a.margin,12)+d[h]+(c.titleOffset[h]||0)))})};a.prototype.proximatePositions=function(){var b=this.chart,d=[],c="left"===this.options.align; this.allItems.forEach(function(a){var e;var g=c;if(a.yAxis){a.xAxis.options.reversed&&(g=!g);a.points&&(e=l(g?a.points:a.points.slice(0).reverse(),function(b){return y(b.plotY)}));g=this.itemMarginTop+a.legendItem.getBBox().height+this.itemMarginBottom;var h=a.yAxis.top-b.plotTop;a.visible?(e=e?e.plotY:a.yAxis.height,e+=h-.3*g):e=h+a.yAxis.height;d.push({target:e,size:g,item:a})}},this);m.distribute(d,b.plotHeight);d.forEach(function(d){d.item._legendItemPos[1]=b.plotTop-b.spacing[0]+d.pos})};a.prototype.render= function(){var b=this.chart,d=b.renderer,c=this.group,a=this.box,k=this.options,g=this.padding;this.itemX=g;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=w(k.width,b.spacingBox.width-g);var q=b.spacingBox.width-2*g-k.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(q/=2);this.maxLegendWidth=this.widthOption||q;c||(this.group=c=d.g("legend").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(c),this.scrollGroup=d.g().add(this.contentGroup)); this.renderTitle();var p=this.getAllItems();h(p,function(b,d){return(b.options&&b.options.legendIndex||0)-(d.options&&d.options.legendIndex||0)});k.reversed&&p.reverse();this.allItems=p;this.display=q=!!p.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;p.forEach(this.renderItem,this);p.forEach(this.layoutItem,this);p=(this.widthOption||this.offsetWidth)+g;var f=this.lastItemY+this.lastLineHeight+this.titleHeight;f=this.handleOverflow(f);f+=g;a||(this.box=a=d.rect().addClass("highcharts-legend-box").attr({r:k.borderRadius}).add(c), a.isNew=!0);b.styledMode||a.attr({stroke:k.borderColor,"stroke-width":k.borderWidth||0,fill:k.backgroundColor||"none"}).shadow(k.shadow);0g&&!1!==q.enabled?(this.clipHeight=f=Math.max(g-20-this.titleHeight-h,0),this.currentPage=Q(this.currentPage,1),this.fullHeight=b,D.forEach(function(b,d){var c=b._legendItemPos[1],a=Math.round(b.legendItem.getBBox().height),e=w.length;if(!e||c-w[e-1]>f&&(y||c)!==w[e-1])w.push(y||c),e++;b.pageIx=e-1;y&&(D[d-1].pageIx=e-1);d===D.length-1&&c+a-w[e-1]>f&&c!==y&&(w.push(c),b.pageIx=e);c!==y&&(y=c)}),k||(k=d.clipRect=a.clipRect(0,h,9999, 0),d.contentGroup.clip(k)),x(f),l||(this.nav=l=a.g().attr({zIndex:1}).add(this.group),this.up=a.symbol("triangle",0,0,t,t).add(l),r("upTracker").on("click",function(){d.scroll(-1,n)}),this.pager=a.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(q.style),this.pager.add(l),this.down=a.symbol("triangle-down",0,0,t,t).add(l),r("downTracker").on("click",function(){d.scroll(1,n)})),d.scroll(0),b=g):l&&(x(),this.nav=l.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight= 0);return b};a.prototype.scroll=function(b,d){var c=this,a=this.chart,h=this.pages,g=h.length,k=this.currentPage+b;b=this.clipHeight;var p=this.options.navigation,f=this.pager,q=this.padding;k>g&&(k=g);0=p&&f<=h||k||!L(f))t=!0;c[k?"zoomX":"zoomY"]&&t&&(a=g.zoom(b.min, b.max),g.displayBtn&&(e=!0))});var g=d.resetZoomButton;e&&!g?d.showResetZoom():!e&&P(g)&&(d.resetZoomButton=g.destroy());a&&d.redraw(T(d.options.chart.animation,b&&b.animation,100>d.pointCount))};a.prototype.pan=function(b,a){var c=this,e=c.hoverPoints,g=c.options.chart,p=c.options.mapNavigation&&c.options.mapNavigation.enabled,h;a="object"===typeof a?a:{enabled:a,type:"x"};g&&g.panning&&(g.panning=a);var k=a.type;f(this,"pan",{originalEvent:b},function(){e&&e.forEach(function(b){b.setState()});var a= [1];"xy"===k?a=[1,0]:"y"===k&&(a=[0]);a.forEach(function(d){var a=c[d?"xAxis":"yAxis"][0],e=a.horiz,f=b[e?"chartX":"chartY"];e=e?"mouseDownX":"mouseDownY";var g=c[e],q=(a.pointRange||0)/2,D=a.reversed&&!c.inverted||!a.reversed&&c.inverted?-1:1,u=a.getExtremes(),n=a.toValue(g-f,!0)+q*D;D=a.toValue(g+a.len-f,!0)-q*D;var l=D=d&&n<=q&&(a.setExtremes(g,n,!1,!1,{trigger:"pan"}),c.resetZoomButton||p||g===d||n===q||!k.match("y")||(c.showResetZoom(),a.displayBtn=!1),h=!0),c[e]=f)});h&&c.redraw(!1);d(c.container,{cursor:"move"})})};return a}();J(aa.prototype,{callbacks:[],collectionsWithInit:{xAxis:[aa.prototype.addAxis,[!0]],yAxis:[aa.prototype.addAxis,[!1]],series:[aa.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis", "series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});A.chart=function(b,d,a){return new aa(b, d,a)};A.Chart=aa;"";return aa});S(a,"Mixins/LegendSymbol.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,m){var A=m.merge,C=m.pick;return a.LegendSymbolMixin={drawRectangle:function(a,m){var E=a.symbolHeight,I=a.options.squareSymbol;m.legendSymbol=this.chart.renderer.rect(I?(a.symbolWidth-E)/2:0,a.baseline-E+1,I?E:a.symbolWidth,E,C(a.options.symbolRadius,E/2)).addClass("highcharts-point").attr({zIndex:3}).add(m.legendGroup)},drawLineMarker:function(a){var m=this.options,E=m.marker,I= a.symbolWidth,B=a.symbolHeight,z=B/2,r=this.chart.renderer,v=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var c={};this.chart.styledMode||(c={"stroke-width":m.lineWidth||0},m.dashStyle&&(c.dashstyle=m.dashStyle));this.legendLine=r.path([["M",0,a],["L",I,a]]).addClass("highcharts-graph").attr(c).add(v);E&&!1!==E.enabled&&I&&(m=Math.min(C(E.radius,z),z),0===this.symbol.indexOf("url")&&(E=A(E,{width:B,height:B}),m=0),this.legendSymbol=E=r.symbol(this.symbol,I/2-m,a-m,2*m,2*m,E).addClass("highcharts-point").add(v), E.isMarker=!0)}}});S(a,"Core/Series/Series.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Globals.js"],a["Mixins/LegendSymbol.js"],a["Core/Options.js"],a["Core/Color/Palette.js"],a["Core/Series/Point.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E,I,B){var z=a.animObject,r=a.setAnimation,v=m.hasTouch,c=m.svg,l=m.win,e=C.defaultOptions,n=E.seriesTypes,y=B.addEvent,k=B.arrayMax,Q=B.arrayMin,w=B.clamp,h=B.cleanRecursively, G=B.correctFloat,q=B.defined,x=B.erase,b=B.error,d=B.extend,L=B.find,M=B.fireEvent,K=B.getNestedProperty,g=B.isArray,J=B.isFunction,p=B.isNumber,f=B.isString,H=B.merge,u=B.objectEach,R=B.pick,t=B.removeEvent,P=B.splat,O=B.syncTimeout;a=function(){function a(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}a.prototype.init= function(b,a){M(this,"init",{options:a});var c=this,e=b.series,f;this.eventOptions=this.eventOptions||{};this.eventsToUnbind=[];c.chart=b;c.options=a=c.setOptions(a);c.linkedSeries=[];c.bindAxes();d(c,{name:a.name,state:"",visible:!1!==a.visible,selected:!0===a.selected});var g=a.events;u(g,function(b,a){J(b)&&c.eventOptions[a]!==b&&(J(c.eventOptions[a])&&t(c,a,c.eventOptions[a]),c.eventOptions[a]=b,y(c,a,b))});if(g&&g.click||a.point&&a.point.events&&a.point.events.click||a.allowPointSelect)b.runTrackerClick= !0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(b){c[b+"Data"]||(c[b+"Data"]=[])});c.isCartesian&&(b.hasCartesianSeries=!0);e.length&&(f=e[e.length-1]);c._i=R(f&&f._i,-1)+1;c.opacity=c.options.opacity;b.orderSeries(this.insert(e));a.dataSorting&&a.dataSorting.enabled?c.setDataSortingOptions():c.points||c.data||c.setData(a.data,!1);M(this,"afterInit")};a.prototype.is=function(b){return n[b]&&this instanceof n[b]};a.prototype.insert=function(b){var a=this.options.index,d;if(p(a)){for(d= b.length;d--;)if(a>=R(b[d].options.index,b[d]._i)){b.splice(d+1,0,this);break}-1===d&&b.unshift(this);d+=1}else b.push(this);return R(d,b.length-1)};a.prototype.bindAxes=function(){var a=this,d=a.options,c=a.chart,e;M(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(f){c[f].forEach(function(b){e=b.options;if(d[f]===e.index||"undefined"!==typeof d[f]&&d[f]===e.id||"undefined"===typeof d[f]&&0===e.index)a.insert(b.series),a[f]=b,b.isDirty=!0});a[f]||a.optionalAxis===f||b(18,!0,c)})}); M(this,"afterBindAxes")};a.prototype.updateParallelArrays=function(b,a){var d=b.series,c=arguments,e=p(a)?function(c){var e="y"===c&&d.toYData?d.toYData(b):b[c];d[c+"Data"][a]=e}:function(b){Array.prototype[a].apply(d[b+"Data"],Array.prototype.slice.call(c,2))};d.parallelArrays.forEach(e)};a.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0=this.cropStart?q-this.cropStart:q);!f&&e[q]&&e[q].touched&&(q=void 0);return q};a.prototype.updateData= function(b,a){var d=this.options,c=d.dataSorting,e=this.points,f=[],g,h,t,u=this.requireSorting,n=b.length===e.length,D=!0;this.xIncrement=null;b.forEach(function(b,a){var h=q(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};var k=h.x;if(h.id||p(k)){if(k=this.findPointIndex(h,t),-1===k||"undefined"===typeof k?f.push(b):e[k]&&b!==d.data[k]?(e[k].update(b,!1,null,!1),e[k].touched=!0,u&&(t=k+1)):e[k]&&(e[k].touched=!0),!n||a!==k||c&&c.enabled||this.hasDerivedData)g=!0}else f.push(b)}, this);if(g)for(b=e.length;b--;)(h=e[b])&&!h.touched&&h.remove&&h.remove(!1,a);else!n||c&&c.enabled?D=!1:(b.forEach(function(b,a){e[a].update&&b!==e[a].y&&e[a].update(b,!1,null,!1)}),f.length=0);e.forEach(function(b){b&&(b.touched=!1)});if(!D)return!1;f.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=k(this.xData),this.autoIncrement());return!0};a.prototype.setData=function(a,d,c,e){var h=this,k=h.points,q=k&&k.length|| 0,t,u=h.options,n=h.chart,D=u.dataSorting,l=null,w=h.xAxis;l=u.turboThreshold;var H=this.xData,y=this.yData,x=(t=h.pointArrayMap)&&t.length,r=u.keys,J=0,G=1,v;a=a||[];t=a.length;d=R(d,!0);D&&D.enabled&&(a=this.sortData(a));!1!==e&&t&&q&&!h.cropped&&!h.hasGroupedData&&h.visible&&!h.isSeriesBoosting&&(v=this.updateData(a,c));if(!v){h.xIncrement=null;h.colorCounter=0;this.parallelArrays.forEach(function(b){h[b+"Data"].length=0});if(l&&t>l)if(l=h.getFirstValidPoint(a),p(l))for(c=0;cb?1:0}).forEach(function(b,a){b.x=a},this);a.linkedSeries&&a.linkedSeries.forEach(function(a){var d= a.options,e=d.data;d.dataSorting&&d.dataSorting.enabled||!e||(e.forEach(function(d,f){e[f]=c(a,d);b[f]&&(e[f].x=b[f].x,e[f].index=f)}),a.setData(e,!1))});return b};a.prototype.getProcessedData=function(a){var d=this.xData,c=this.yData,e=d.length;var f=0;var g=this.xAxis,p=this.options;var h=p.cropThreshold;var k=a||this.getExtremesFromAll||p.getExtremesFromAll,q=this.isCartesian;a=g&&g.val2lin;p=!(!g||!g.logarithmic);var t=this.requireSorting;if(g){g=g.getExtremes();var u=g.min;var n=g.max}if(q&& this.sorted&&!k&&(!h||e>h||this.forceCrop))if(d[e-1]n)d=[],c=[];else if(this.yData&&(d[0]n)){f=this.cropData(this.xData,this.yData,u,n);d=f.xData;c=f.yData;f=f.start;var D=!0}for(h=d.length||1;--h;)if(e=p?a(d[h])-a(d[h-1]):d[h]-d[h-1],0e&&t&&(b(15,!1,this.chart),t=!1);return{xData:d,yData:c,cropped:D,cropStart:f,closestPointRange:l}};a.prototype.processData=function(b){var a=this.xAxis;if(this.isCartesian&&!this.isDirty&&!a.isDirty&& !this.yAxis.isDirty&&!b)return!1;b=this.getProcessedData();this.cropped=b.cropped;this.cropStart=b.cropStart;this.processedXData=b.xData;this.processedYData=b.yData;this.closestPointRange=this.basePointRange=b.closestPointRange};a.prototype.cropData=function(b,a,d,c,e){var f=b.length,g=0,p=f,h;e=R(e,this.cropShoulder);for(h=0;h=d){g=Math.max(0,h-e);break}for(d=h;dc){p=d+e;break}return{xData:b.slice(g,p),yData:a.slice(g,p),start:g,end:p}};a.prototype.generatePoints=function(){var b= this.options,a=b.data,c=this.data,e,f=this.processedXData,g=this.processedYData,p=this.pointClass,h=f.length,k=this.cropStart||0,q=this.hasGroupedData;b=b.keys;var t=[],u;c||q||(c=[],c.length=a.length,c=this.data=c);b&&q&&(this.options.keys=!1);for(u=0;u=q&&(e[l-u]||w)<=t;if(H&&w)if(H=D.length)for(;H--;)p(D[H])&&(f[h++]=D[H]);else f[h++]=D}b={dataMin:Q(f),dataMax:k(f)};M(this,"afterGetExtremes",{dataExtremes:b});return b};a.prototype.applyExtremes=function(){var b=this.getExtremes(); this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b};a.prototype.getFirstValidPoint=function(b){for(var a=null,d=b.length,c=0;null===a&&c=m&&(m=null),v.total=v.stackTotal=B.total,v.percentage=B.total&&v.y/B.total*100,v.stackY=K,this.irregularWidths||B.setOffset(this.pointXOffset||0,this.barW||0));v.yBottom=q(m)?w(f.translate(m,0,1,0,1),-1E5,1E5):null;t&&(K=this.modifyValue(K,v));v.plotY=void 0;p(K)&&(K=f.translate(K,!1,!0,!1,!0),"undefined"!==typeof K&&(v.plotY=w(K,-1E5,1E5)));v.isInside=this.isPointInside(v);v.clientX=l?G(d.translate(z,0,0,0,1,n)):x;v.negative=v[r]<(b[r+"Threshold"]||H|| 0);v.category=c&&"undefined"!==typeof c[v.x]?c[v.x]:v.x;if(!v.isNull&&!1!==v.visible){"undefined"!==typeof I&&(J=Math.min(J,Math.abs(x-I)));var I=x}v.zone=this.zones.length&&v.getZone();!v.graphic&&this.group&&e&&(v.isNew=!0)}this.closestPointRangePx=J;M(this,"afterTranslate")};a.prototype.getValidPoints=function(b,a,d){var c=this.chart;return(b||this.points||[]).filter(function(b){return a&&!c.isInsidePlot(b.plotX,b.plotY,c.inverted)?!1:!1!==b.visible&&(d||!b.isNull)})};a.prototype.getClipBox=function(b, a){var d=this.options,c=this.chart,e=c.inverted,f=this.xAxis,g=f&&this.yAxis,p=c.options.chart.scrollablePlotArea||{};b&&!1===d.clip&&g?b=e?{y:-c.chartWidth+g.len+g.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+f.len+f.pos}:{y:-g.pos,height:c.chartHeight,width:c.chartWidth,x:-f.pos}:(b=this.clipBox||c.clipBox,a&&(b.width=c.plotSizeX,b.x=(c.scrollablePixelsX||0)*(p.scrollPositionX||0)));return a?{width:b.width,x:b.x}:b};a.prototype.setClip=function(b){var a=this.chart,d=this.options, c=a.renderer,e=a.inverted,f=this.clipBox,g=this.getClipBox(b),p=this.sharedClipKey||["_sharedClip",b&&b.duration,b&&b.easing,b&&b.defer,g.height,d.xAxis,d.yAxis].join(),h=a[p],k=a[p+"m"];b&&(g.width=0,e&&(g.x=a.plotHeight+(!1!==d.clip?0:a.plotTop)));h?a.hasLoaded||h.attr(g):(b&&(a[p+"m"]=k=c.clipRect(e?a.plotSizeX+99:-99,e?-a.plotLeft:-a.plotTop,99,e?a.chartWidth:a.chartHeight)),a[p]=h=c.clipRect(g),h.count={length:0});b&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1);if(!1!==d.clip|| b)this.group.clip(b||f?h:a.clipRect),this.markerGroup.clip(k),this.sharedClipKey=p;b||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&p&&a[p]&&(f||(a[p]=a[p].destroy()),a[p+"m"]&&(a[p+"m"]=a[p+"m"].destroy())))};a.prototype.animate=function(b){var a=this.chart,d=z(this.options.animation);if(b)this.setClip(d);else{var c=this.sharedClipKey;b=a[c];var e=this.getClipBox(d,!0);b&&b.animate(e,d);a[c+"m"]&&a[c+"m"].animate({width:e.width+99,x:e.x-(a.inverted?0:99)}, d)}};a.prototype.afterAnimate=function(){this.setClip();M(this,"afterAnimate");this.finishedAnimating=!0};a.prototype.drawPoints=function(){var b=this.points,a=this.chart,d,c,e=this.options.marker,f=this[this.specialGroup]||this.markerGroup,g=this.xAxis,p=R(e.enabled,!g||g.isRadial?!0:null,this.closestPointRangePx>=e.enabledThreshold*e.radius);if(!1!==e.enabled||this._hasPointMarkers)for(d=0;dG.max;b.resetZones&&0===f&&(f=void 0)});this.clips=g}else b.visible&&(h&&h.show(!0),k&&k.show(!0))};a.prototype.invertGroups=function(b){function a(){["group","markerGroup"].forEach(function(a){d[a]&&(c.renderer.isVML&&d[a].attr({width:d.yAxis.len,height:d.xAxis.len}),d[a].width=d.yAxis.len,d[a].height=d.xAxis.len,d[a].invert(d.isRadialSeries?!1:b))})}var d=this,c=d.chart;d.xAxis&&(d.eventsToUnbind.push(y(c, "resize",a)),a(),d.invertGroups=a)};a.prototype.plotGroup=function(b,a,d,c,e){var f=this[b],g=!f;d={visibility:d,zIndex:c||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(d.opacity=this.opacity);g&&(this[b]=f=this.chart.renderer.g().add(e));f.addClass("highcharts-"+a+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(q(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")? " highcharts-tracker":""),!0);f.attr(d)[g?"attr":"animate"](this.getPlotBox());return f};a.prototype.getPlotBox=function(){var b=this.chart,a=this.xAxis,d=this.yAxis;b.inverted&&(a=d,d=this.xAxis);return{translateX:a?a.left:b.plotLeft,translateY:d?d.top:b.plotTop,scaleX:1,scaleY:1}};a.prototype.removeEvents=function(b){b||t(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length=0)};a.prototype.render=function(){var b=this,a=b.chart,d=b.options, c=z(d.animation),e=!b.finishedAnimating&&a.renderer.isSVG&&c.duration,f=b.visible?"inherit":"hidden",g=d.zIndex,p=b.hasRendered,h=a.seriesGroup,k=a.inverted;M(this,"render");var t=b.plotGroup("group","series",f,g,h);b.markerGroup=b.plotGroup("markerGroup","markers",f,g,h);e&&b.animate&&b.animate(!0);t.inverted=R(b.invertible,b.isCartesian)?k:!1;b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&&b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&& !1!==b.options.enableMouseTracking&&b.drawTracker();b.invertGroups(k);!1===d.clip||b.sharedClipKey||p||t.clip(a.clipRect);e&&b.animate&&b.animate();p||(e&&c.defer&&(e+=c.defer),b.animationTimeout=O(function(){b.afterAnimate()},e||0));b.isDirty=!1;b.hasRendered=!0;M(b,"afterRender")};a.prototype.redraw=function(){var b=this.chart,a=this.isDirty||this.isDirtyData,d=this.group,c=this.xAxis,e=this.yAxis;d&&(b.inverted&&d.attr({width:b.plotWidth,height:b.plotHeight}),d.animate({translateX:R(c&&c.left, b.plotLeft),translateY:R(e&&e.top,b.plotTop)}));this.translate();this.render();a&&delete this.kdTree};a.prototype.searchPoint=function(b,a){var d=this.xAxis,c=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-b.chartY+d.pos:b.chartX-d.pos,plotY:e?c.len-b.chartX+c.pos:b.chartY-c.pos},a,b)};a.prototype.buildKDTree=function(b){function a(b,c,e){var f;if(f=b&&b.length){var g=d.kdAxisArray[c%e];b.sort(function(b,a){return b[g]-a[g]});f=Math.floor(f/2);return{point:b[f],left:a(b.slice(0, f),c+1,e),right:a(b.slice(f+1),c+1,e)}}}this.buildingKdTree=!0;var d=this,c=-1t?"left":"right";n=0>t?"right":"left";a[l]&&(l=c(b,a[l],d+1,h),u=l[p]n;)l--;this.updateParallelArrays(u,"splice",l,0, 0);this.updateParallelArrays(u,l);h&&u.name&&(h[n]=u.name);k.splice(l,0,b);q&&(this.data.splice(l,0,null),this.processData());"point"===f.legendType&&this.generatePoints();d&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(u,"shift"),k.shift()));!1!==e&&M(this,"addPoint",{point:u});this.isDirtyData=this.isDirty=!0;a&&p.redraw(c)};a.prototype.removePoint=function(b,a,d){var c=this,e=c.data,f=e[b],g=c.points,p=c.chart,h=function(){g&&g.length===e.length&&g.splice(b,1);e.splice(b, 1);c.options.data.splice(b,1);c.updateParallelArrays(f||{series:c},"splice",b,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;a&&p.redraw()};r(d,p);a=R(a,!0);f?f.firePointEvent("remove",null,h):h()};a.prototype.remove=function(b,a,d,c){function e(){f.destroy(c);g.isDirtyLegend=g.isDirtyBox=!0;g.linkSeries();R(b,!0)&&g.redraw(a)}var f=this,g=f.chart;!1!==d?M(f,"remove",null,e):e()};a.prototype.update=function(a,c){a=h(a,this.userOptions);M(this,"update",{options:a});var e=this,f=e.chart,g=e.userOptions, p=e.initialType||e.type,k=f.options.plotOptions,t=a.type||g.type||f.options.chart.type,q=!(this.hasDerivedData||t&&t!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||e.hasOptionChanged("dataGrouping")||e.hasOptionChanged("pointStart")||e.hasOptionChanged("pointInterval")||e.hasOptionChanged("pointIntervalUnit")||e.hasOptionChanged("keys")),u=n[p].prototype,l,w=["eventOptions","navigatorSeries","baseSeries"],y=e.finishedAnimating&&{animation:!1},x={};q&&(w.push("data", "isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&w.push("area","graph"),e.parallelArrays.forEach(function(b){w.push(b+"Data")}),a.data&&(a.dataSorting&&d(e.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=H(g,y,{index:"undefined"===typeof g.index?e.index:g.index,pointStart:R(k&&k.series&&k.series.pointStart,g.pointStart,e.xData[0])},!q&& {data:e.options.data},a);q&&a.data&&(a.data=e.options.data);w=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(w);w.forEach(function(b){w[b]=e[b];delete e[b]});if(n[t||p]){if(g=t!==e.type,e.remove(!1,!1,!1,!0),g)if(Object.setPrototypeOf)Object.setPrototypeOf(e,n[t||p].prototype);else{g=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(l in u)e[l]=void 0;d(e,n[t||p].prototype);g?e.hcEvents=g:delete e.hcEvents}}else b(17,!0,f,{missingModuleFor:t||p});w.forEach(function(b){e[b]= w[b]});e.init(f,a);if(q&&this.points){var r=e.options;!1===r.visible?(x.graphic=1,x.dataLabel=1):e._hasPointLabels||(a=r.marker,t=r.dataLabels,a&&(!1===a.enabled||"symbol"in a)&&(x.graphic=1),t&&!1===t.enabled&&(x.dataLabel=1));this.points.forEach(function(b){b&&b.series&&(b.resolveColor(),Object.keys(x).length&&b.destroyElements(x),!1===r.showInLegend&&b.legendItem&&f.legend.destroyItem(b))},this)}e.initialType=p;f.linkSeries();M(this,"afterUpdate");R(c,!0)&&f.redraw(q?void 0:!1)};a.prototype.setName= function(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0};a.prototype.hasOptionChanged=function(b){var a=this.options[b],d=this.chart.options.plotOptions,c=this.userOptions[b];return c?a!==c:a!==R(d&&d[this.type]&&d[this.type][b],d&&d.series&&d.series[b],a)};a.prototype.onMouseOver=function(){var b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex();if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&M(this,"mouseOver");this.setState("hover");b.hoverSeries= this};a.prototype.onMouseOut=function(){var b=this.options,a=this.chart,d=a.tooltip,c=a.hoverPoint;a.hoverSeries=null;if(c)c.onMouseOut();this&&b.events.mouseOut&&M(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();a.series.forEach(function(b){b.setState("",!0)})};a.prototype.setState=function(b,a){var d=this,c=d.options,e=d.graph,f=c.inactiveOtherPoints,g=c.states,p=c.lineWidth,h=c.opacity,k=R(g[b||"normal"]&&g[b||"normal"].animation,d.chart.options.chart.animation); c=0;b=b||"";if(d.state!==b&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(a){a&&(d.state&&a.removeClass("highcharts-series-"+d.state),b&&a.addClass("highcharts-series-"+b))}),d.state=b,!d.chart.styledMode)){if(g[b]&&!1===g[b].enabled)return;b&&(p=g[b].lineWidth||p+(g[b].lineWidthPlus||0),h=R(g[b].opacity,h));if(e&&!e.dashstyle)for(g={"stroke-width":p},e.animate(g,k);d["zone-graph-"+c];)d["zone-graph-"+c].animate(g,k),c+=1;f||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(b){b&& b.animate({opacity:h},k)})}a&&f&&d.points&&d.setAllPointsToState(b||void 0)};a.prototype.setAllPointsToState=function(b){this.points.forEach(function(a){a.setState&&a.setState(b)})};a.prototype.setVisible=function(b,a){var d=this,c=d.chart,e=d.legendItem,f=c.options.chart.ignoreHiddenSeries,g=d.visible;var p=(d.visible=b=d.options.visible=d.userOptions.visible="undefined"===typeof b?!g:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(d[b])d[b][p]()}); if(c.hoverSeries===d||(c.hoverPoint&&c.hoverPoint.series)===d)d.onMouseOut();e&&c.legend.colorizeItem(d,b);d.isDirty=!0;d.options.stacking&&c.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});d.linkedSeries.forEach(function(a){a.setVisible(b,!1)});f&&(c.isDirtyBox=!0);M(d,p);!1!==a&&c.redraw()};a.prototype.show=function(){this.setVisible(!0)};a.prototype.hide=function(){this.setVisible(!1)};a.prototype.select=function(b){this.selected=b=this.options.selected="undefined"=== typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);M(this,b?"select":"unselect")};a.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:F.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:F.neutralColor20,lineColor:F.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{}, align:"center",defer:!0,formatter:function(){var b=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":b(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}}, stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"};return a}();d(a.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:A.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:N,requireSorting:!0,sorted:!0});E.series=a;"";"";return a});S(a,"Extensions/ScrollablePlotArea.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Series/Series.js"], a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N){var E=a.stop,I=N.addEvent,B=N.createElement,z=N.merge,r=N.pick;"";I(A,"afterSetChartSize",function(a){var c=this.options.chart.scrollablePlotArea,l=c&&c.minWidth;c=c&&c.minHeight;if(!this.renderer.forExport){if(l){if(this.scrollablePixelsX=l=Math.max(0,l-this.chartWidth)){this.scrollablePlotBox=z(this.plotBox);this.plotWidth+=l;this.inverted?(this.clipBox.height+=l,this.plotBox.height+=l):(this.clipBox.width+=l,this.plotBox.width+= l);var e={1:{name:"right",value:l}}}}else c&&(this.scrollablePixelsY=l=Math.max(0,c-this.chartHeight))&&(this.scrollablePlotBox=z(this.plotBox),this.plotHeight+=l,this.inverted?(this.clipBox.width+=l,this.plotBox.width+=l):(this.clipBox.height+=l,this.plotBox.height+=l),e={2:{name:"bottom",value:l}});e&&!a.skipAxes&&this.axes.forEach(function(a){e[a.side]?a.getPlotLinePath=function(){var c=e[a.side].name,k=this[c];this[c]=k-e[a.side].value;var n=F.Axis.prototype.getPlotLinePath.apply(this,arguments); this[c]=k;return n}:(a.setAxisSize(),a.setAxisTranslation())})}});I(A,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});A.prototype.setUpScrolling=function(){var a=this,c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(c.overflowX="auto");this.scrollablePixelsY&&(c.overflowY="auto");this.scrollingParent=B("div",{className:"highcharts-scrolling-parent"}, {position:"relative"},this.renderTo);this.scrollingContainer=B("div",{className:"highcharts-scrolling"},c,this.scrollingParent);I(this.scrollingContainer,"scroll",function(){a.pointer&&delete a.pointer.chartPosition});this.innerContainer=B("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};A.prototype.moveFixedElements=function(){var a=this.container,c=this.fixedRenderer,l=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "), e;this.scrollablePixelsX&&!this.inverted?e=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?e=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?e=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(e=".highcharts-yaxis");e&&l.push(e+":not(.highcharts-radial-axis)",e+"-labels:not(.highcharts-radial-axis-labels)");l.forEach(function(e){[].forEach.call(a.querySelectorAll(e),function(a){(a.namespaceURI===c.SVG_NS?c.box:c.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})}; A.prototype.applyFixed=function(){var a=this,c,l,e,n=!this.fixedDiv,y=this.options.chart,k=y.scrollablePlotArea;n?(this.fixedDiv=B("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:((null===(c=y.style)||void 0===c?void 0:c.zIndex)||0)+2,top:0},null,!0),null===(l=this.scrollingContainer)||void 0===l?void 0:l.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=c=new F.Renderer(this.fixedDiv, this.chartWidth,this.chartHeight,null===(e=this.options.chart)||void 0===e?void 0:e.style),this.scrollableMask=c.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":r(k.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),I(this,"afterShowResetZoom",this.moveFixedElements),I(this,"afterLayOutTitles",this.moveFixedElements),I(m,"afterInit",function(){a.scrollableDirty=!0}),I(C,"show",function(){a.scrollableDirty=!0})):this.fixedRenderer.setSize(this.chartWidth, this.chartHeight);if(this.scrollableDirty||n)this.scrollableDirty=!1,this.moveFixedElements();e=this.chartWidth+(this.scrollablePixelsX||0);c=this.chartHeight+(this.scrollablePixelsY||0);E(this.container);this.container.style.width=e+"px";this.container.style.height=c+"px";this.renderer.boxWrapper.attr({width:e,height:c,viewBox:[0,0,e,c].join(" ")});this.chartBackground.attr({width:e,height:c});this.scrollingContainer.style.height=this.chartHeight+"px";n&&(k.scrollPositionX&&(this.scrollingContainer.scrollLeft= this.scrollablePixelsX*k.scrollPositionX),k.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*k.scrollPositionY));c=this.axisOffset;n=this.plotTop-c[0]-1;k=this.plotLeft-c[3]-1;e=this.plotTop+this.plotHeight+c[2]+1;c=this.plotLeft+this.plotWidth+c[1]+1;l=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0);y=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);n=this.scrollablePixelsX?[["M",0,n],["L",this.plotLeft-1,n],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M", l,n],["L",this.chartWidth,n],["L",this.chartWidth,e],["L",l,e],["Z"]]:this.scrollablePixelsY?[["M",k,0],["L",k,this.plotTop-1],["L",c,this.plotTop-1],["L",c,0],["Z"],["M",k,y],["L",k,this.chartHeight],["L",c,this.chartHeight],["L",c,y],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:n})}});S(a,"Core/Axis/StackingAxis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Utilities.js"]],function(a,m){var A=a.getDeferredAnimation,C=m.addEvent,F=m.destroyObjectProperties, O=m.fireEvent,E=m.objectEach,I=m.pick,B=function(){function a(a){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=a}a.prototype.buildStacks=function(){var a=this.axis,v=a.series,c=I(a.options.reversedStacks,!0),l=v.length,e;if(!a.isXAxis){this.usePercentage=!1;for(e=l;e--;){var n=v[c?e:l-e-1];n.setStackedPoints();n.setGroupedPoints()}for(e=0;el&&r.shadow));k&&(k.startX=v.xMap,k.isArea=v.isArea)})};B.prototype.getGraphPath=function(a,r,v){var c=this,l=c.options,e=l.step,n,y=[],k=[],m;a=a||c.points;(n=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&n&&(e=4-e);a=this.getValidPoints(a,!1,!(l.connectNulls&&!r&&!v));a.forEach(function(n,h){var w=n.plotX,q=n.plotY,x=a[h-1];(n.leftCliff||x&&x.rightCliff)&&!v&&(m=!0);n.isNull&&!O(r)&&0a&&k>c?(k=Math.max(a,c),z=2*c-k):kr&&z>c?(z=Math.max(r,c),k=2*c-z):z=Math.abs(a)&&.5b.closestPointRange*b.xAxis.transA;q=b.borderWidth=h(k.borderWidth,q?0:1);var l=b.xAxis,g=b.yAxis,n=k.threshold,p=b.translatedThreshold=g.getThreshold(n),f=h(k.minPointLength, 5),w=b.getColumnMetrics(),u=w.width,r=b.barW=Math.max(u,1+2*q),t=b.pointXOffset=w.offset,x=b.dataMin,v=b.dataMax;a.inverted&&(p-=.5);k.pointPadding&&(r=Math.ceil(r));N.prototype.translate.apply(b);b.points.forEach(function(d){var q=h(d.yBottom,p),H=999+Math.abs(q),J=u,m=d.plotX||0;H=c(d.plotY,-H,g.len+H);var G=m+t,y=r,K=Math.min(H,q),z=Math.max(H,q)-K;if(f&&Math.abs(z)f?q-f:p-(M?f:0)}e(d.options.pointWidth)&&(J=y=Math.ceil(d.options.pointWidth),G-=Math.round((J-u)/2));k.centerInCategory&&(G=b.adjustForMissingColumns(G,J,d,w));d.barX=G;d.pointWidth=J;d.tooltipPos=a.inverted?[c(g.len+g.pos-a.plotLeft-H,g.pos-a.plotLeft,g.len+g.pos-a.plotLeft),l.len+l.pos-a.plotTop-(m||0)-t-y/2,z]:[l.left-a.plotLeft+G+y/2,c(H+g.pos-a.plotTop,g.pos-a.plotTop,g.len+g.pos-a.plotTop),z];d.shapeType=b.pointClass.prototype.shapeType||"rect";d.shapeArgs=b.crispCol.apply(b, d.isNull?[G,p,y,0]:[G,K,y,z])})};q.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};q.prototype.pointAttribs=function(b,a){var d=this.options,c=this.pointAttrToOptions||{};var e=c.stroke||"borderColor";var g=c["stroke-width"]||"borderWidth",k=b&&b.color||this.color,p=b&&b[e]||d[e]||this.color||k,f=b&&b[g]||d[g]||this[g]||0;c=b&&b.options.dashStyle||d.dashStyle;var q=h(b&&b.opacity,d.opacity,1);if(b&&this.zones.length){var u=b.getZone();k=b.options.color|| u&&(u.color||b.nonZonedColor)||this.color;u&&(p=u.borderColor||p,c=u.dashStyle||c,f=u.borderWidth||f)}a&&b&&(b=w(d.states[a],b.options.states&&b.options.states[a]||{}),a=b.brightness,k=b.color||"undefined"!==typeof a&&r(k).brighten(b.brightness).get()||k,p=b[e]||p,f=b[g]||f,c=b.dashStyle||c,q=h(b.opacity,q));e={fill:k,stroke:p,"stroke-width":f,opacity:q};c&&(e.dashstyle=c);return e};q.prototype.drawPoints=function(){var b=this,a=this.chart,c=b.options,e=a.renderer,h=c.animationLimit||250,g;b.points.forEach(function(d){var p= d.graphic,f=!!p,k=p&&a.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});return z}(m);E(C.prototype,{drawTracker:a.prototype.drawTracker, sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});O(C,"afterTranslate",function(){this.applyJitter()});A.registerSeriesType("scatter",C);"";return C});S(a,"Mixins/CenteredSeries.js",[a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,m,A){var C=A.isNumber,F=A.pick,O=A.relativeLength,E=a.deg2rad;return a.CenteredSeriesMixin={getCenter:function(){var a=this.options,B=this.chart,z=2*(a.slicedOffset|| 0),r=B.plotWidth-2*z,v=B.plotHeight-2*z,c=a.center,l=Math.min(r,v),e=a.size,n=a.innerSize||0;"string"===typeof e&&(e=parseFloat(e));"string"===typeof n&&(n=parseFloat(n));a=[F(c[0],"50%"),F(c[1],"50%"),F(e&&0>e?void 0:a.size,"100%"),F(n&&0>n?void 0:a.innerSize||0,"0%")];!B.angular||this instanceof m||(a[3]=0);for(c=0;4>c;++c)e=a[c],B=2>c||2===c&&/%$/.test(e),a[c]=O(e,[r,v,l,a[2]][c])+(B?z:0);a[3]>a[2]&&(a[3]=a[2]);return a},getStartAndEndRadians:function(a,m){a=C(a)?a:0;m=C(m)&&m>a&&360>m-a?m:a+360; return{start:E*(a+-90),end:E*(m+-90)}}}});S(a,"Series/Pie/PiePoint.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,m,A){var C=this&&this.__extends||function(){var a=function(r,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(r,c)};return function(r,c){function l(){this.constructor=r}a(r,c);r.prototype=null===c?Object.create(c): (l.prototype=c.prototype,new l)}}(),F=a.setAnimation,O=A.addEvent,E=A.defined;a=A.extend;var I=A.isNumber,B=A.pick,z=A.relativeLength;A=function(a){function r(){var c=null!==a&&a.apply(this,arguments)||this;c.labelDistance=void 0;c.options=void 0;c.series=void 0;return c}C(r,a);r.prototype.getConnectorPath=function(){var a=this.labelPosition,l=this.series.options.dataLabels,e=l.connectorShape,n=this.connectorShapes;n[e]&&(e=n[e]);return e.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment}, a.connectorPosition,l)};r.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};r.prototype.haloPath=function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:c.r-1,start:c.start,end:c.end})};r.prototype.init=function(){m.prototype.init.apply(this,arguments);var a=this;a.name=B(a.name,"Slice");var l=function(c){a.slice("select"===c.type)};O(a,"select",l);O(a,"unselect", l);return a};r.prototype.isValid=function(){return I(this.y)&&0<=this.y};r.prototype.setVisible=function(a,l){var c=this,n=c.series,r=n.chart,k=n.options.ignoreHiddenPoint;l=B(l,k);a!==c.visible&&(c.visible=c.options.visible=a="undefined"===typeof a?!c.visible:a,n.options.data[n.data.indexOf(c)]=c.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){if(c[e])c[e][a?"show":"hide"](a)}),c.legendItem&&r.legend.colorizeItem(c,a),a||"hover"!==c.state||c.setState(""),k&&(n.isDirty= !0),l&&r.redraw())};r.prototype.slice=function(a,l,e){var c=this.series;F(e,c.chart);B(l,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;c.options.data[c.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return r}(m);a(A.prototype,{connectorShapes:{fixedOffset:function(a,m,c){var l=m.breakAt;m=m.touchingSliceAt;return[["M",a.x,a.y],c.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y, 2*l.x-m.x,2*l.y-m.y,l.x,l.y]:["L",l.x,l.y],["L",m.x,m.y]]},straight:function(a,m){m=m.touchingSliceAt;return[["M",a.x,a.y],["L",m.x,m.y]]},crookedLine:function(a,m,c){m=m.touchingSliceAt;var l=this.series,e=l.center[0],n=l.chart.plotWidth,r=l.chart.plotLeft;l=a.alignment;var k=this.shapeArgs.r;c=z(c.crookDistance,1);n="left"===l?e+k+(n+r-e-k)*(1-c):r+(e-k)*c;c=["L",n,a.y];e=!0;if("left"===l?n>a.x||nm.x)e=!1;a=[["M",a.x,a.y]];e&&a.push(c);a.push(["L",m.x,m.y]);return a}}});return A}); S(a,"Series/Pie/PieSeries.js",[a["Mixins/CenteredSeries.js"],a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Mixins/LegendSymbol.js"],a["Core/Color/Palette.js"],a["Series/Pie/PiePoint.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E,I,B,z){var r=this&&this.__extends||function(){var a=function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a, c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,e)};return function(c,e){function h(){this.constructor=c}a(c,e);c.prototype=null===e?Object.create(e):(h.prototype=e.prototype,new h)}}(),v=a.getStartAndEndRadians;A=A.noop;var c=z.clamp,l=z.extend,e=z.fireEvent,n=z.merge,y=z.pick,k=z.relativeLength;z=function(a){function l(){var c=null!==a&&a.apply(this,arguments)||this;c.center=void 0;c.data=void 0;c.maxLabelDistance=void 0;c.options=void 0;c.points=void 0;return c}r(l,a);l.prototype.animate= function(a){var c=this,e=c.points,h=c.startAngleRad;a||e.forEach(function(b){var a=b.graphic,e=b.shapeArgs;a&&e&&(a.attr({r:y(b.startR,c.center&&c.center[3]/2),start:h,end:h}),a.animate({r:e.r,start:e.start,end:e.end},c.options.animation))})};l.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,e=this.options;if(0===this.total&&this.center){var k=this.center[0];var b=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(k,b,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group)); this.graph.attr({d:B.prototype.symbols.arc(k,b,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||F.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())};l.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic&&c.hasNewShapeType()&&(c.graphic=c.graphic.destroy());c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group), c.delayedRendering=!0)})};l.prototype.generatePoints=function(){a.prototype.generatePoints.call(this);this.updateTotals()};l.prototype.getX=function(a,e,k){var h=this.center,b=this.radii?this.radii[k.index]||0:h[2]/2;a=Math.asin(c((a-h[1])/(b+k.labelDistance),-1,1));return h[0]+(e?-1:1)*Math.cos(a)*(b+k.labelDistance)+(01.5*Math.PI?H-=2*Math.PI:H<-Math.PI/2&&(H+=2*Math.PI);p.slicedTranslation={translateX:Math.round(Math.cos(H)*l),translateY:Math.round(Math.sin(H)*l)};var u=Math.cos(H)*a[2]/2;var z=Math.sin(H)*a[2]/2;p.tooltipPos=[a[0]+.7*u,a[1]+.7*z];p.half=H<-Math.PI/2||H>Math.PI/2?1:0;p.angle=H;f=Math.min(b,p.labelDistance/5);p.labelPosition={natural:{x:a[0]+u+Math.cos(H)*p.labelDistance,y:a[1]+z+Math.sin(H)*p.labelDistance},"final":{}, alignment:0>p.labelDistance?"center":p.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+u+Math.cos(H)*f,y:a[1]+z+Math.sin(H)*f},touchingSliceAt:{x:a[0]+u,y:a[1]+z}}}}e(this,"afterTranslate")};l.prototype.updateTotals=function(){var a,c=0,e=this.points,k=e.length,b=this.options.ignoreHiddenPoint;for(a=0;ag){w(a,function(b, a){return(a.rank||0)-(b.rank||0)});for(l=b=0;l<=g;)l+=a[b].size,b++;q=a.splice(b-1,a.length)}w(a,h);for(a=a.map(function(b){return{size:b.size,targets:[b.target],align:y(b.align,.5)}});d;){for(b=a.length;b--;)d=a[b],l=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=B(l-d.size*d.align,0,c-d.size);b=a.length;for(d=!1;b--;)0a[b].pos&&(a[b-1].size+=a[b].size,a[b-1].targets=a[b-1].targets.concat(a[b].targets),a[b-1].align=.5,a[b-1].pos+a[b-1].size>c&&(a[b-1].pos= c-a[b-1].size),a.splice(b,1),d=!0)}k.push.apply(k,q);b=0;a.some(function(a){var d=0;if(a.targets.some(function(){k[b].pos=a.pos+d;if("undefined"!==typeof e&&Math.abs(k[b].pos-k[b].target)>e)return k.slice(0,b+1).forEach(function(b){delete b.pos}),k.reducedLen=(k.reducedLen||c)-.1*c,k.reducedLen>.1*c&&m.distribute(k,c,e),!0;d+=k[b].size;b++}))return!0});w(k,h)};C.prototype.drawDataLabels=function(){function a(b,a){var d=a.filter;return d?(a=d.operator,b=b[d.property],d=d.value,">"===a&&b>d||"<"=== a&&b="===a&&b>=d||"<="===a&&b<=d||"=="===a&&b==d||"==="===a&&b===d?!0:!1):!0}function k(b,a){var d=[],c;if(l(b)&&!l(a))d=b.map(function(b){return e(b,a)});else if(l(a)&&!l(b))d=a.map(function(a){return e(b,a)});else if(l(b)||l(a))for(c=Math.max(b.length,a.length);c--;)d[c]=e(b[c],a[c]);else d=e(b,a);return d}var q=this,w=q.chart,b=q.options,d=b.dataLabels,m=q.points,r,K=q.hasRendered||0,g=d.animation;g=d.defer?E(w,g,q):{defer:0,duration:0};var J=w.renderer;d=k(k(w.options.plotOptions&&w.options.plotOptions.series&& w.options.plotOptions.series.dataLabels,w.options.plotOptions&&w.options.plotOptions[q.type]&&w.options.plotOptions[q.type].dataLabels),d);v(this,"drawDataLabels");if(l(d)||d.enabled||q._hasPointLabels){var p=q.plotGroup("dataLabelsGroup","data-labels",K?"inherit":"hidden",d.zIndex||6);p.attr({opacity:+K});!K&&(K=q.dataLabelsGroup)&&(q.visible&&p.show(!0),K[b.animation?"animate":"attr"]({opacity:1},g));m.forEach(function(e){r=Q(k(d,e.dlOptions||e.options&&e.options.dataLabels));r.forEach(function(d, f){var g=d.enabled&&(!e.isNull||e.dataLabelOnNull)&&a(e,d),h=e.dataLabels?e.dataLabels[f]:e.dataLabel,k=e.connectors?e.connectors[f]:e.connector,u=y(d.distance,e.labelDistance),l=!h;if(g){var m=e.getLabelConfig();var r=y(d[e.formatPrefix+"Format"],d.format);m=z(r)?c(r,m,w):(d[e.formatPrefix+"Formatter"]||d.formatter).call(m,d);r=d.style;var H=d.rotation;w.styledMode||(r.color=y(d.color,r.color,q.color,A.neutralColor100),"contrast"===r.color?(e.contrastColor=J.getContrast(e.color||q.color),r.color= !z(u)&&d.inside||0>u||b.stacking?e.contrastColor:A.neutralColor100):delete e.contrastColor,b.cursor&&(r.cursor=b.cursor));var x={r:d.borderRadius||0,rotation:H,padding:d.padding,zIndex:1};w.styledMode||(x.fill=d.backgroundColor,x.stroke=d.borderColor,x["stroke-width"]=d.borderWidth);n(x,function(b,a){"undefined"===typeof b&&delete x[a]})}!h||g&&z(m)?g&&z(m)&&(h?x.text=m:(e.dataLabels=e.dataLabels||[],h=e.dataLabels[f]=H?J.text(m,0,-9999,d.useHTML).addClass("highcharts-data-label"):J.label(m,0,-9999, d.shape,null,null,d.useHTML,null,"data-label"),f||(e.dataLabel=h),h.addClass(" highcharts-data-label-color-"+e.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),h.options=d,h.attr(x),w.styledMode||h.css(r).shadow(d.shadow),h.added||h.add(p),d.textPath&&!d.useHTML&&(h.setTextPath(e.getDataLabelPath&&e.getDataLabelPath(h)||e.graphic,d.textPath),e.dataLabelPath&&!d.textPath.enabled&&(e.dataLabelPath=e.dataLabelPath.destroy())),q.alignDataLabel(e,h,d,null,l)):(e.dataLabel=e.dataLabel&& e.dataLabel.destroy(),e.dataLabels&&(1===e.dataLabels.length?delete e.dataLabels:delete e.dataLabels[f]),f||delete e.dataLabel,k&&(e.connector=e.connector.destroy(),e.connectors&&(1===e.connectors.length?delete e.connectors:delete e.connectors[f])))})})}v(this,"afterDrawDataLabels")};C.prototype.alignDataLabel=function(a,c,e,k,b){var d=this,h=this.chart,q=this.isCartesian&&h.inverted,l=this.enabledDataSorting,g=y(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),n=y(a.plotY,-9999),p=c.getBBox(),f=e.rotation, w=e.align,u=h.isInsidePlot(g,Math.round(n),q),m="justify"===y(e.overflow,l?"none":"justify"),t=this.visible&&!1!==a.visible&&(a.series.forceDL||l&&!m||u||e.inside&&k&&h.isInsidePlot(g,q?k.x+1:k.y+k.height-1,q));var v=function(e){l&&d.xAxis&&!m&&d.setDataLabelStartPos(a,c,b,u,e)};if(t){var x=h.renderer.fontMetrics(h.styledMode?void 0:e.style.fontSize,c).b;k=r({x:q?this.yAxis.len-n:g,y:Math.round(q?this.xAxis.len-g:n),width:0,height:0},k);r(e,{width:p.width,height:p.height});f?(m=!1,g=h.renderer.rotCorr(x, f),g={x:k.x+(e.x||0)+k.width/2+g.x,y:k.y+(e.y||0)+{top:0,middle:.5,bottom:1}[e.verticalAlign]*k.height},v(g),c[b?"attr":"animate"](g).attr({align:w}),v=(f+720)%360,v=180v,"left"===w?g.y-=v?p.height:0:"center"===w?(g.x-=p.width/2,g.y-=p.height/2):"right"===w&&(g.x-=p.width,g.y-=v?0:p.height),c.placed=!0,c.alignAttr=g):(v(k),c.align(e,null,k),g=c.alignAttr);m&&0<=k.height?this.justifyDataLabel(c,e,g,p,k,b):y(e.crop,!0)&&(t=h.isInsidePlot(g.x,g.y)&&h.isInsidePlot(g.x+p.width,g.y+p.height));if(e.shape&& !f)c[b?"attr":"animate"]({anchorX:q?h.plotWidth-a.plotY:a.plotX,anchorY:q?h.plotHeight-a.plotX:a.plotY})}b&&l&&(c.placed=!1);t||l&&!m||(c.hide(!0),c.placed=!1)};C.prototype.setDataLabelStartPos=function(a,c,e,k,b){var d=this.chart,h=d.inverted,q=this.xAxis,l=q.reversed,g=h?c.height/2:c.width/2;a=(a=a.pointWidth)?a/2:0;q=h?b.x:l?-g-a:q.width-g+a;b=h?l?this.yAxis.height-g+a:-g-a:b.y;c.startXPos=q;c.startYPos=b;k?"hidden"===c.visibility&&(c.show(),c.attr({opacity:0}).animate({opacity:1})):c.attr({opacity:1}).animate({opacity:0}, void 0,c.hide);d.hasRendered&&(e&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)};C.prototype.justifyDataLabel=function(a,c,e,k,b,d){var h=this.chart,q=c.align,l=c.verticalAlign,g=a.box?0:a.padding||0,n=c.x;n=void 0===n?0:n;var p=c.y;var f=void 0===p?0:p;p=e.x+g;if(0>p){"right"===q&&0<=n?(c.align="left",c.inside=!0):n-=p;var w=!0}p=e.x+k.width-g;p>h.plotWidth&&("left"===q&&0>=n?(c.align="right",c.inside=!0):n+=h.plotWidth-p,w=!0);p=e.y+g;0>p&&("bottom"===l&&0<=f?(c.verticalAlign="top",c.inside= !0):f-=p,w=!0);p=e.y+k.height-g;p>h.plotHeight&&("top"===l&&0>=f?(c.verticalAlign="bottom",c.inside=!0):f+=h.plotHeight-p,w=!0);w&&(c.x=n,c.y=f,a.placed=!d,a.align(c,void 0,b));return w};F.pie&&(F.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,c,e,k){return a.getX(ec.bottom-2?k:e,c.half,c)},justify:function(a,c,e){return e[0]+(a.half?-1:1)*(c+a.labelDistance)},alignToPlotEdges:function(a,c,e,k){a=a.getBBox().width; return c?a+k:e-a-k},alignToConnectors:function(a,c,e,k){var b=0,d;a.forEach(function(a){d=a.dataLabel.getBBox().width;d>b&&(b=d)});return c?b+k:e-b-k}},F.pie.prototype.drawDataLabels=function(){var a=this,c=a.data,k,l=a.chart,b=a.options.dataLabels||{},d=b.connectorPadding,n,w=l.plotWidth,r=l.plotHeight,g=l.plotLeft,v=Math.round(l.chartWidth/3),p,f=a.center,H=f[2]/2,u=f[1],B,t,Q,E,F=[[],[]],D,O,N,S,U=[0,0,0,0],Z=a.dataLabelPositioners,V;a.visible&&(b.enabled||a._hasPointLabels)&&(c.forEach(function(b){b.dataLabel&& b.visible&&b.dataLabel.shortened&&(b.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),b.dataLabel.shortened=!1)}),C.prototype.drawDataLabels.apply(a),c.forEach(function(a){a.dataLabel&&(a.visible?(F[a.half].push(a),a.dataLabel._pos=null,!z(b.style.width)&&!z(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>v&&(a.dataLabel.css({width:Math.round(.7*v)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(), a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),F.forEach(function(c,e){var p=c.length,h=[],q;if(p){a.sortByAngle(c,e-.5);if(0w-d&&0===e&&(n=Math.round(D+t-w+d),U[1]=Math.max(n,U[1])),0>O-E/2?U[0]=Math.max(Math.round(-O+E/2),U[0]):O+E/2>r&&(U[2]=Math.max(Math.round(O+E/2-r),U[2])),B.sideOverflow=n)}}}),0===I(U)||this.verifyDataLabelOverflow(U))&& (this.placeDataLabels(),this.points.forEach(function(d){V=e(b,d.options.dataLabels);if(n=y(V.connectorWidth,1)){var c;p=d.connector;if((B=d.dataLabel)&&B._pos&&d.visible&&0y(this.translatedThreshold,h.yAxis.len)),g=y(k.inside,!!this.options.stacking);q&&(l=e(q),0>l.y&&(l.height+=l.y,l.y=0),q=l.y+l.height-h.yAxis.len,0=k.x+k.width||B.x+B.width<=k.x||B.y>=k.y+k.height||B.y+B.height<=k.y||((y.labelrank=I(c.minWidth,0)&&this.chartHeight>=I(c.minHeight,0)}).call(this)&& m.push(a._id)};a.prototype.currentOptions=function(a){function m(a,l,r,k){var e;E(a,function(a,h){if(!k&&-1e&&(l?a=m-n:m=a+n);E(a)&&E(m)||(a=m=void 0);return{min:a,max:m}};return a}();return function(){function a(){}a.compose=function(a){a.keepProps.push("navigatorAxis");C(a,"init",function(){this.navigatorAxis||(this.navigatorAxis=new B(this))});C(a,"zoom",function(a){var c=this.chart.options,l=c.navigator,e=this.navigatorAxis, n=c.chart.pinchType,m=c.rangeSelector;c=c.chart.zoomType;this.isXAxis&&(l&&l.enabled||m&&m.enabled)&&("y"===c?a.zoomed=!1:(!A&&"xy"===c||A&&"xy"===n)&&this.options.range&&(l=e.previousZoom,N(a.newMin)?e.previousZoom=[this.min,this.max]:l&&(a.newMin=l[0],a.newMax=l[1],e.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()})};a.AdditionsClass=B;return a}()});S(a,"Core/Axis/ScrollbarAxis.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,m){var A=m.addEvent,C=m.defined, F=m.pick;return function(){function m(){}m.compose=function(m,I){var B=function(a){var m=F(a.options&&a.options.min,a.min),v=F(a.options&&a.options.max,a.max);return{axisMin:m,axisMax:v,scrollMin:C(a.dataMin)?Math.min(m,a.min,a.dataMin,F(a.threshold,Infinity)):m,scrollMax:C(a.dataMax)?Math.max(v,a.max,a.dataMax,F(a.threshold,-Infinity)):v}};A(m,"afterInit",function(){var m=this;m.options&&m.options.scrollbar&&m.options.scrollbar.enabled&&(m.options.scrollbar.vertical=!m.horiz,m.options.startOnTick= m.options.endOnTick=!1,m.scrollbar=new I(m.chart.renderer,m.options.scrollbar,m.chart),A(m.scrollbar,"changed",function(r){var v=B(m),c=v.axisMax,l=v.scrollMin,e=v.scrollMax-l;C(v.axisMin)&&C(c)&&(m.horiz&&!m.reversed||!m.horiz&&m.reversed?(v=l+e*this.to,l+=e*this.from):(v=l+e*(1-this.from),l+=e*(1-this.to)),F(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===r.DOMType||"touchend"===r.DOMType||!C(r.DOMType)?m.setExtremes(l,v,!0,"mousemove"!==r.DOMType&&"touchmove"!== r.DOMType,r):this.setRange(this.from,this.to))}))});A(m,"afterRender",function(){var a=B(this),m=a.scrollMin,v=a.scrollMax;a=this.scrollbar;var c=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,e=this.options.margin||0;a&&(this.horiz?(this.opposite||(l[1]+=c),a.position(this.left,this.top+this.height+2+l[1]-(this.opposite?e:0),this.width,this.height),this.opposite||(l[1]+=e),c=1):(this.opposite&&(l[0]+=c),a.position(this.left+this.width+2+l[0]-(this.opposite?0:e),this.top, this.width,this.height),this.opposite&&(l[0]+=e),c=0),l[c]+=a.size+a.options.margin,isNaN(m)||isNaN(v)||!C(this.min)||!C(this.max)||this.min===this.max?a.setRange(0,1):(l=(this.min-m)/(v-m),m=(this.max-m)/(v-m),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(l,m):a.setRange(1-m,1-l)))});A(m,"afterGetOffset",function(){var a=this.horiz?2:1,m=this.scrollbar;m&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=m.size+m.options.margin)})};return m}()});S(a,"Core/Scrollbar.js", [a["Core/Axis/Axis.js"],a["Core/Globals.js"],a["Core/Color/Palette.js"],a["Core/Axis/ScrollbarAxis.js"],a["Core/Utilities.js"],a["Core/Options.js"]],function(a,m,A,C,F,N){var E=F.addEvent,I=F.correctFloat,B=F.defined,z=F.destroyObjectProperties,r=F.fireEvent,v=F.merge,c=F.pick,l=F.removeEvent;F=N.defaultOptions;var e=m.isTouchDevice,n=m.swapXY=function(a,c){c&&a.forEach(function(a){for(var c=a.length,e,k=0;kthis.calculatedWidth?c.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-c),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-c)}};a.prototype.destroy=function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,z(a.scrollbarButtons))};a.prototype.drawScrollbarButton= function(a){var c=this.renderer,e=this.scrollbarButtons,k=this.options,l=this.size;var q=c.g().add(this.group);e.push(q);q=c.rect().addClass("highcharts-scrollbar-button").add(q);this.chart.styledMode||q.attr({stroke:k.buttonBorderColor,"stroke-width":k.buttonBorderWidth,fill:k.buttonBackgroundColor});q.attr(q.crisp({x:-.5,y:-.5,width:l+1,height:l+1,r:k.buttonBorderRadius},q.strokeWidth()));q=c.path(n([["M",l/2+(a?-1:1),l/2-3],["L",l/2+(a?-1:1),l/2+3],["L",l/2+(a?2:-2),l/2]],k.vertical)).addClass("highcharts-scrollbar-arrow").add(e[a]); this.chart.styledMode||q.attr({fill:k.buttonArrowColor})};a.prototype.init=function(e,l,n){this.scrollbarButtons=[];this.renderer=e;this.userOptions=l;this.options=v(a.defaultOptions,l);this.chart=n;this.size=c(this.options.size,this.options.height);l.enabled&&(this.render(),this.addEvents())};a.prototype.mouseDownHandler=function(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter= !0};a.prototype.mouseMoveHandler=function(a){var c=this.chart.pointer.normalize(a),e=this.options.vertical?"chartY":"chartX",k=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][e]||(c=this.cursorToScrollbarPosition(c)[e],e=this[e],e=c-e,this.hasDragged=!0,this.updatePosition(k[0]+e,k[1]+e),this.hasDragged&&r(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};a.prototype.mouseUpHandler=function(a){this.hasDragged&&r(this,"changed",{from:this.from, to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};a.prototype.position=function(a,c,e,h){var k=this.options.vertical,l=0,n=this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=e;this.xOffset=this.height=h;this.yOffset=l;k?(this.width=this.yOffset=e=l=this.size,this.xOffset=c=0,this.barWidth=h-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=h=c=this.size,this.barWidth=e-2*h,this.y+=this.options.margin); this.group[n]({translateX:a,translateY:this.y});this.track[n]({width:e,height:h});this.scrollbarButtons[1][n]({translateX:k?0:e-c,translateY:k?h-l:0})};a.prototype.removeEvents=function(){this._events.forEach(function(a){l.apply(null,a)});this._events.length=0};a.prototype.render=function(){var a=this.renderer,c=this.options,e=this.size,h=this.chart.styledMode,l;this.group=l=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0, r:c.trackBorderRadius||0,height:e,width:e}).add(l);h||this.track.attr({fill:c.trackBackgroundColor,stroke:c.trackBorderColor,"stroke-width":c.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(l);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(n([["M",-3,e/4],["L",-3,2*e/3],["M",0,e/4],["L", 0,2*e/3],["M",3,e/4],["L",3,2*e/3]],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);h||(this.scrollbar.attr({fill:c.barBackgroundColor,stroke:c.barBorderColor,"stroke-width":c.barBorderWidth}),this.scrollbarRifles.attr({stroke:c.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};a.prototype.setRange= function(a,c){var e=this.options,k=e.vertical,l=e.minWidth,q=this.barWidth,n,b=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(B(q)){a=Math.max(a,0);var d=Math.ceil(q*a);this.calculatedWidth=n=I(q*Math.min(c,1)-d);n=n?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===e.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show());this.rendered=!0}};a.prototype.trackClick=function(a){var c=this.chart.pointer.normalize(a),e=this.to-this.from,k=this.y+this.scrollbarTop,l=this.x+this.scrollbarLeft;this.options.vertical&&c.chartY> k||!this.options.vertical&&c.chartX>l?this.updatePosition(this.from+e,this.to+e):this.updatePosition(this.from-e,this.to-e);r(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};a.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,v(!0,this.options,a),this.chart)};a.prototype.updatePosition=function(a,c){1a&&(c=I(c-a),a=0);this.from=a;this.to=c};a.defaultOptions={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0, margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:A.neutralColor20,barBorderWidth:1,barBorderColor:A.neutralColor20,buttonArrowColor:A.neutralColor80,buttonBackgroundColor:A.neutralColor10,buttonBorderColor:A.neutralColor20,buttonBorderWidth:1,rifleColor:A.neutralColor80,trackBackgroundColor:A.neutralColor5,trackBorderColor:A.neutralColor5,trackBorderWidth:1};return a}();m.Scrollbar||(F.scrollbar=v(!0,N.defaultOptions,F.scrollbar),m.Scrollbar=N,C.compose(a,N));return m.Scrollbar});S(a,"Core/Navigator.js", [a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxis.js"],a["Core/Options.js"],a["Core/Color/Palette.js"],a["Core/Scrollbar.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E,I,B,z,r){A=A.parse;var v=C.hasTouch,c=C.isTouchDevice,l=N.defaultOptions,e=r.addEvent,n=r.clamp,y=r.correctFloat,k=r.defined,Q=r.destroyObjectProperties,w=r.erase,h=r.extend,G=r.find,q=r.isArray, x=r.isNumber,b=r.merge,d=r.pick,L=r.removeEvent,M=r.splat,K=function(a){for(var b=[],c=1;cv&&(this.grabbedLeft?c=h.toPixels(b-v-l,!0):this.grabbedRight&&(e=h.toPixels(a+v+l,!0)));this.zoomedMax=n(Math.max(c,e),0,m);this.zoomedMin=n(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0,m);this.range=this.zoomedMax-this.zoomedMin;m=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);u&&(this.navigatorGroup.attr({visibility:"visible"}),r=r&&!this.hasDragged?"animate":"attr", this.drawMasks(c,m,w,r),this.drawOutline(c,m,w,r),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,w,r),this.drawHandle(m,1,w,r)));this.scrollbar&&(w?(w=this.top-g,q=this.left-g+(u||!q.opposite?0:(q.titleOffset||0)+q.axisTitleMargin),g=p+2*g):(w=this.top+(u?this.height:-g),q=this.left-g),this.scrollbar.position(q,w,f,g),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}};g.prototype.addMouseEvents=function(){var a=this,b=a.chart,c=b.container,d=[],g, k;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=k=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(e(b.renderTo,"mousemove",g),e(c.ownerDocument,"mouseup",k));v&&(d.push(e(b.renderTo,"touchmove",g),e(c.ownerDocument,"touchend",k)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(e(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))};g.prototype.getPartsEvents=function(a){var b=this, c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(f,g){c.push(e(f.element,a,function(a){b[d+"Mousedown"](a,g)}))})});return c};g.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,p=this.range,h=a.chartX;c.inverted&&(h=a.chartY,f=this.top);if(1===b)this.grabbedCenter=h,this.fixedWidth=p,this.dragOffset=h-e;else{a=h-f-p/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+p>=g)if(a=g-p,this.reversedExtremes){a-= p;var l=this.getUnionExtremes().dataMin}else var n=this.getUnionExtremes().dataMax;a!==e&&(this.fixedWidth=p,b=d.navigatorAxis.toFixedRange(a,a+p,l,n),k(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};g.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight= !0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null};g.prototype.onMouseMove=function(a){var b=this,e=b.chart,g=b.left,p=b.navigatorSize,k=b.range,h=b.dragOffset,l=e.inverted;a.touches&&0===a.touches[0].pageX||(a=e.pointer.normalize(a),e=a.chartX,l&&(g=b.top,e=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,e-g,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,e-g)):b.grabbedCenter&&(b.hasDragged=!0,ep+h-k&&(e=p+h- k),b.render(0,0,e-h,e-h+k)),b.hasDragged&&b.scrollbar&&d(b.scrollbar.options.liveRedraw,C.svg&&!c&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};g.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,g=b.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var h=this.fixedExtreme; else if(this.zoomedMax===this.otherHandlePos)var l=this.fixedExtreme;this.zoomedMax===this.size&&(l=this.reversedExtremes?d.dataMin:d.dataMax);0===this.zoomedMin&&(h=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,h,l);k(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&&(this.grabbedLeft= this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&x(this.zoomedMin)&&x(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,g,p),this.outline&&this.drawOutline(b,a,g,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,g,p),this.drawHandle(a,1,g,p)))};g.prototype.removeEvents=function(){this.eventsToUnbind&& (this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};g.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){L(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&L(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};g.prototype.init=function(c){var f=c.options,g=f.navigator,k=g.enabled,h=f.scrollbar,p=h.enabled;f=k?g.height: 0;var l=p?h.height:0;this.handles=[];this.shades=[];this.chart=c;this.setBaseSeries();this.height=f;this.scrollbarHeight=l;this.scrollbarEnabled=p;this.navigatorEnabled=k;this.navigatorOptions=g;this.scrollbarOptions=h;this.outlineHeight=f+l;this.opposite=d(g.opposite,!(k||!c.inverted));var n=this;k=n.baseSeries;h=c.xAxis.length;p=c.yAxis.length;var q=k&&k[0]&&k[0].xAxis||c.xAxis[0]||{options:{}};c.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new a(c,b({breaks:q.options.breaks,ordinal:q.options.ordinal}, g.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:h,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},c.inverted?{offsets:[l,0,-l,0],width:f}:{offsets:[0,-l,0,l],height:f})),n.yAxis=new a(c,b(g.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:d(g.yAxis&&g.yAxis.reversed,c.yAxis[0]&&c.yAxis[0].reversed,!1),zoomEnabled:!1},c.inverted?{width:f}:{height:f})),k||g.series.data? n.updateNavigatorSeries(!1):0===c.series.length&&(n.unbindRedraw=e(c,"beforeRedraw",function(){0f.indexOf(b)?(b&&(L(b,"updatedData",e.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});f&&f.length&&f.forEach(function(a){var t=a.navigatorSeries,u=h({color:a.color,visible:a.visible},q(n)?l.navigator.series:n);t&&!1===e.navigatorOptions.adaptToUpdatedData||(w.name="Navigator "+ f.length,k=a.options||{},m=k.navigatorOptions||{},p=b(k,w,u,m),p.pointRange=d(u.pointRange,m.pointRange,l.plotOptions[p.type||"line"].pointRange),u=m.data||u.data,e.hasNavigatorData=e.hasNavigatorData||!!u,p.data=u||k.data&&k.data.slice(0),t&&t.options?t.update(p,c):(a.navigatorSeries=g.initSeries(p),a.navigatorSeries.baseSeries=a,r.push(a.navigatorSeries)))});if(n.data&&(!f||!f.length)||q(n))e.hasNavigatorData=!1,n=M(n),n.forEach(function(a,c){w.name="Navigator "+(r.length+1);p=b(l.navigator.series, {color:g.series[c]&&!g.series[c].options.isInternal&&g.series[c].color||g.options.colors[c]||g.options.colors[0]},w,a);p.data=a.data;p.data&&(e.hasNavigatorData=!0,r.push(g.initSeries(p)))});a&&this.addBaseSeriesEvents()};g.prototype.addBaseSeriesEvents=function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&e(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){e(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});e(b,"hide",function(){this.navigatorSeries&& this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&e(b,"updatedData",this.updatedDataHandler);e(b,"remove",function(){this.navigatorSeries&&(w(a.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)};g.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)};g.prototype.modifyNavigatorAxisExtremes=function(){var a= this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))};g.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,e=b.dataMax;b=b.max-b.min;var g=a.stickToMin,k=a.stickToMax,h=d(this.options.overscroll,0),l=a.series&&a.series[0],n=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(g){var q=c;var m=q+b}k&&(m=e+h,g|| (q=Math.max(c,m-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE))));n&&(g||k)&&x(q)&&(this.min=this.userMin=q,this.max=this.userMax=m)}a.stickToMin=a.stickToMax=null};g.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=x(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax); b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};g.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(e(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||this.xAxis[0]);b&&a.render(b.min,b.max)}),e(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight": "plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))};g.prototype.destroy=function(){this.removeEvents();this.xAxis&&(w(this.chart.xAxis,this.xAxis),w(this.chart.axes,this.xAxis));this.yAxis&&(w(this.chart.yAxis,this.yAxis),w(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&& this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){Q(a)},this)};return g}();C.Navigator||(C.Navigator=g,F.compose(a),e(m,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,d=a.rangeSelector;if((b&&b.enabled||d&&d.enabled)&&(!c&&"x"===a.chart.zoomType||c&&"x"===a.chart.pinchType))return!1}),e(m,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new g(this)}),e(m,"afterSetChartSize", function(){var a=this.legend,b=this.navigator;if(b){var c=a&&a.options;var e=b.xAxis;var g=b.yAxis;var k=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-k-b.height:this.spacing[3]+k,b.top=this.plotTop+k):(b.left=this.plotLeft+k,b.top=b.navigatorOptions.top||this.chartHeight-b.height-k-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&"proximate"!==c.layout&&c.enabled&&!c.floating?a.legendHeight+d(c.margin, 10):0)-(this.titleOffset?this.titleOffset[2]:0));e&&g&&(this.inverted?e.options.left=g.options.left=b.left:e.options.top=g.options.top=b.top,e.setAxisSize(),g.setAxisSize())}}),e(m,"update",function(a){var c=a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(b(!0,this.options.navigator,c),b(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),e(m,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&& !this.options.scrollbar.enabled||(this.scroller=this.navigator=new g(this),d(a.redraw,!0)&&this.redraw(a.animation))}),e(m,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),e(B,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),m.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}));C.Navigator=g;return C.Navigator});S(a,"Core/Axis/OrdinalAxis.js", [a["Core/Axis/Axis.js"],a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"],a["Core/Chart/Chart.js"]],function(a,m,A,C,F){var N=C.addEvent,E=C.css,I=C.defined,B=C.error,z=C.pick,r=C.timeUnits,v;(function(a){var c=function(){function a(a){this.index={};this.axis=a}a.prototype.beforeSetTickPositions=function(){var a=this.axis,c=a.ordinal,e=[],l,m=!1,h=a.getExtremes(),r=h.min,q=h.max,v,b=a.isXAxis&&!!a.options.breaks;h=a.options.ordinal;var d=Number.MAX_VALUE,B=a.chart.options.chart.ignoreHiddenSeries, M;if(h||b){a.series.forEach(function(a,c){l=[];if(!(B&&!1===a.visible||!1===a.takeOrdinalPosition&&!b)&&(e=e.concat(a.processedXData),K=e.length,e.sort(function(a,b){return a-b}),d=Math.min(d,z(a.closestPointRange,d)),K)){for(c=0;cg||q-e[e.length-1]>g)&&(m=!0)}else a.options.overscroll&& (2===K?d=e[1]-e[0]:1===K?(d=a.options.overscroll,e=[e[0],e[0]+d]):d=c.overscrollPointsRange);m?(a.options.overscroll&&(c.overscrollPointsRange=d,e=e.concat(c.getOverscrollPositions())),c.positions=e,g=a.ordinal2lin(Math.max(r,e[0]),!0),v=Math.max(a.ordinal2lin(Math.min(q,e[e.length-1]),!0),1),c.slope=q=(q-r)/(v-g),c.offset=r-g*q):(c.overscrollPointsRange=z(a.closestPointRange,c.overscrollPointsRange),c.positions=a.ordinal.slope=c.offset=void 0)}a.isOrdinal=h&&m;c.groupIntervalFactor=null};a.prototype.getExtendedPositions= function(){var a=this,c=a.axis,e=c.constructor.prototype,l=c.chart,r=c.series[0].currentDataGrouping,h=a.index,v=r?r.count+r.unitName:"raw",q=c.options.overscroll,x=c.getExtremes(),b;h||(h=a.index={});if(!h[v]){var d={series:[],chart:l,getExtremes:function(){return{min:x.dataMin,max:x.dataMax+q}},options:{ordinal:!0},ordinal:{},ordinal2lin:e.ordinal2lin,val2lin:e.val2lin};d.ordinal.axis=d;c.series.forEach(function(c){b={xAxis:d,xData:c.xData.slice(),chart:l,destroyGroupedData:m.noop,getProcessedData:A.prototype.getProcessedData}; b.xData=b.xData.concat(a.getOverscrollPositions());b.options={dataGrouping:r?{enabled:!0,forced:!0,approximation:"open",units:[[r.unitName,[r.count]]]}:{enabled:!1}};c.processData.apply(b);d.series.push(b)});c.ordinal.beforeSetTickPositions.apply({axis:d});h[v]=d.ordinal.positions}return h[v]};a.prototype.getGroupIntervalFactor=function(a,c,e){e=e.processedXData;var k=e.length,l=[];var h=this.groupIntervalFactor;if(!h){for(h=0;hl.length||"undefined"===typeof c)return f.getTimeTicks.apply(f,arguments);var u=l.length;for(h=0;he;l[h]5*n||x){if(l[h]>w){for(q=f.getTimeTicks(a,l[d],l[h],k);q.length&&q[0]<=w;)q.shift(); q.length&&(w=q[q.length-1]);v.push(g.length);g=g.concat(q)}d=h+1}if(x)break}if(q){q=q.info;if(b&&q.unitRange<=r.hour){h=g.length-1;for(d=1;de?v-1:v;for(y=void 0;d--;)h=t[d], v=Math.abs(y-h),y&&v<.8*p&&(null===f||v<.8*f)?(m[g[d]]&&!m[g[d+1]]?(v=d+1,y=h):v=d,g.splice(v,1)):y=h}return g};e.lin2val=function(a,c){var e=this.ordinal,k=e.positions;if(k){var l=e.slope,n=e.offset;e=k.length-1;if(c)if(0>a)a=k[0];else if(a>e)a=k[e];else{e=Math.floor(a);var b=a-e}else for(;e--;)if(c=l*e+n,a>=c){l=l*(e+1)+n;b=(a-c)/(l-c);break}return"undefined"!==typeof b&&"undefined"!==typeof k[e]?k[e]+(b?b*(k[e+1]-k[e]):0):a}return a};e.val2lin=function(a,c){var e=this.ordinal,k=e.positions;if(k){var l= k.length,n;for(n=l;n--;)if(k[n]===a){var b=n;break}for(n=l-1;n--;)if(a>k[n]||0===n){a=(a-k[n])/(k[n+1]-k[n]);b=n+a;break}c=c?b:e.slope*(b||0)+e.offset}else c=a;return c};e.ordinal2lin=e.val2lin;N(c,"afterInit",function(){this.ordinal||(this.ordinal=new a.Composition(this))});N(c,"foundExtremes",function(){this.isXAxis&&I(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+= this.options.overscroll,!this.isInternal&&I(this.userMin)&&(this.min+=this.options.overscroll))});N(c,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)});N(c,"initialAxisTranslation",function(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))});N(l,"pan",function(a){var c=this.xAxis[0],e=c.options.overscroll,k=a.originalEvent.chartX, l=this.options.chart&&this.options.chart.panning,n=!1;if(l&&"y"!==l.type&&c.options.ordinal&&c.series.length){var b=this.mouseDownX,d=c.getExtremes(),m=d.dataMax,r=d.min,v=d.max,g=this.hoverPoints,y=c.closestPointRange||c.ordinal&&c.ordinal.overscrollPointsRange;b=(b-k)/(c.translationSlope*(c.ordinal.slope||y));var p={ordinal:{positions:c.ordinal.getExtendedPositions()}};y=c.lin2val;var f=c.val2lin;if(!p.ordinal.positions)n=!0;else if(1b){g= p;var H=c.ordinal.positions?c:p}else g=c.ordinal.positions?c:p,H=p;p=H.ordinal.positions;m>p[p.length-1]&&p.push(m);this.fixedRange=v-r;b=c.navigatorAxis.toFixedRange(null,null,y.apply(g,[f.apply(g,[r,!0])+b,!0]),y.apply(H,[f.apply(H,[v,!0])+b,!0]));b.min>=Math.min(d.dataMin,r)&&b.max<=Math.max(m,v)+e&&c.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"});this.mouseDownX=k;E(this.container,{cursor:"move"})}}else n=!0;n||l&&/y/.test(l.type)?e&&(c.max=c.dataMax+e):a.preventDefault()});N(m,"updatedData", function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinal.index})}})(v||(v={}));v.compose(a,F,A);return v});S(a,"Core/Axis/BrokenAxis.js",[a["Core/Axis/Axis.js"],a["Core/Series/Series.js"],a["Extensions/Stacking.js"],a["Core/Utilities.js"]],function(a,m,A,C){var F=C.addEvent,N=C.find,E=C.fireEvent,I=C.isArray,B=C.isNumber,z=C.pick,r=function(){function m(a){this.hasBreaks=!1;this.axis=a}m.isInBreak=function(a,l){var c=a.repeat||Infinity,n=a.from,m=a.to-a.from;l=l>=n?(l-n)%c:c-(n-l)%c;return a.inclusive? l<=m:l=a)break;else n.to=a)break;else if(m.isInBreak(r,a)){e-=a-r.from;break}}return e};m.prototype.findBreakAt=function(a,l){return N(l,function(c){return c.from< a&&aq;)B-=v;for(;Bb.to||h>b.from&&qb.from&&qb.from&&q>b.to&&qa&&c>=this.basePointRange&&(a=c),h=void 0;l--;)h&&!1!==h.visible||(h=e[l+1]),c=e[l],!1!==h.visible&&!1!==c.visible&&(h.x-c.x>a&&(h=(c.x+h.x)/2,e.splice(l+1,0,{isNull:!0,x:h}),m.stacking&&this.options.stacking&&(h=m.stacking.stacks[this.stackKey][h]=new A(m,m.options.stackLabels,!1,h,this.stack),h.total=0)),h=c);return this.getGraphPath(e)};F(a,"init",function(){this.brokenAxis||(this.brokenAxis=new r(this))}); F(a,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});F(a,"afterSetTickPositions",function(){var a=this.brokenAxis;if(a&&a.hasBreaks){var c=this.tickPositions,e=this.tickPositions.info,l=[],m;for(m=0;m=c[0]);K++);for(K;K<=r;K++){for(;"undefined"!==typeof c[z+1]&&a[K]>=c[z+1]||K===r;){var A=c[z];e.dataGroupInfo={start:e.cropStart+B,length:w[0].length};var M=d.apply(e,w);e.pointClass&&!l(e.dataGroupInfo.options)&&(e.dataGroupInfo.options=O(e.pointClass.prototype.optionsToObject.call({series:e},e.options.data[e.cropStart+B])),J.forEach(function(a){delete e.dataGroupInfo.options[a]}));"undefined"!==typeof M&&(m.push(A),q.push(M),t.push(e.dataGroupInfo));B= K;for(A=0;Athis.chart.plotSizeX/e||c&&f.forced)&&(h=!0);return h?e:0};a.prototype.setDataGrouping=function(b,c){var d;c=w(c,!0);b||(b={forced:!1,units:null});if(this instanceof a)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:b}, !1);else this.chart.options.series.forEach(function(a){a.dataGrouping=b},!1);this.ordinal&&(this.ordinal.slope=void 0);c&&this.chart.redraw()};A.dataGrouping=G;"";return G});S(a,"Series/OHLC/OHLCPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var m=this&&this.__extends||function(){var a=function(m,A){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,m){a.__proto__=m}||function(a,m){for(var A in m)m.hasOwnProperty(A)&&(a[A]=m[A])};return a(m,A)};return function(m,A){function C(){this.constructor= m}a(m,A);m.prototype=null===A?Object.create(A):(C.prototype=A.prototype,new C)}}();return function(a){function A(){var m=null!==a&&a.apply(this,arguments)||this;m.close=void 0;m.high=void 0;m.low=void 0;m.open=void 0;m.options=void 0;m.plotClose=void 0;m.plotOpen=void 0;m.series=void 0;return m}m(A,a);A.prototype.getClassName=function(){return a.prototype.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0});return m}(F);N(A.prototype,{animate:null,directTouch:!1,pointArrayMap:["open","high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}); A.prototype.pointClass=a;m.registerSeriesType("ohlc",A);"";return A});S(a,"Series/Candlestick/CandlestickSeries.js",[a["Core/Options.js"],a["Core/Color/Palette.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,m,A,C){var F=this&&this.__extends||function(){var a=function(m,v){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,l){a.__proto__=l}||function(a,l){for(var c in l)l.hasOwnProperty(c)&&(a[c]=l[c])};return a(m,v)};return function(m,v){function c(){this.constructor= m}a(m,v);m.prototype=null===v?Object.create(v):(c.prototype=v.prototype,new c)}}(),N=a.defaultOptions;a=A.seriesTypes;var E=a.column,I=a.ohlc,B=C.merge;C=function(a){function r(){var m=null!==a&&a.apply(this,arguments)||this;m.data=void 0;m.options=void 0;m.points=void 0;return m}F(r,a);r.prototype.pointAttribs=function(a,c){var l=E.prototype.pointAttribs.call(this,a,c),e=this.options,m=a.openv)break}}}r.forEach(function(b,e){b.plotX+=h;if("undefined"===typeof b.plotY||k)0<=b.plotX&&b.plotX<=A.len?k?(b.plotY=A.translate(b.x,0,1,0,1),b.plotX=N(b.y)?w.translate(b.y,0,0,0,1):0):b.plotY=(A.opposite?0:a.yAxis.len)+A.offset:b.shapeArgs={};if((c=r[e-1])&&c.plotX===b.plotX){"undefined"===typeof c.stackIndex&&(c.stackIndex=0);var d=c.stackIndex+1}b.stackIndex=d});this.onSeries=l}}});S(a,"Series/Flags/FlagsSymbols.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGRenderer.js"]], function(a,m){function A(a){N[a+"pin"]=function(m,A,z,r,v){var c=v&&v.anchorX;v=v&&v.anchorY;"circle"===a&&r>z&&(m-=Math.round((r-z)/2),z=r);var l=N[a](m,A,z,r);if(c&&v){var e=c;"circle"===a?e=m+z/2:(m=l[0],z=l[1],"M"===m[0]&&"L"===z[0]&&(e=(m[1]+z[1])/2));l.push(["M",e,A>v?A:A+r],["L",c,v]);l=l.concat(N.circle(c-1,v-1,2,2))}return l}}var C=a.Renderer,F=a.VMLRenderer,N=m.prototype.symbols;N.flag=function(a,m,A,z,r){var v=r&&r.anchorX||a;r=r&&r.anchorY||m;var c=N.circle(v-1,r-1,2,2);c.push(["M",v, r],["L",a,m+z],["L",a,m],["L",a+A,m],["L",a+A,m+z],["L",a,m+z],["Z"]);return c};A("circle");A("square");C===F&&["circlepin","flag","squarepin"].forEach(function(a){F.prototype.symbols[a]=N[a]});return N});S(a,"Series/Flags/FlagsSeries.js",[a["Series/Flags/FlagsPoint.js"],a["Core/Globals.js"],a["Mixins/OnSeries.js"],a["Core/Color/Palette.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E){var I=this&&this.__extends||function(){var a= function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,e)};return function(c,e){function h(){this.constructor=c}a(c,e);c.prototype=null===e?Object.create(e):(h.prototype=e.prototype,new h)}}(),B=m.noop,z=F.series,r=F.seriesTypes.column,v=E.addEvent,c=E.defined,l=E.extend,e=E.merge,n=E.objectEach,y=E.wrap;E=function(a){function k(){var c=null!==a&&a.apply(this,arguments)||this;c.data= void 0;c.options=void 0;c.points=void 0;return c}I(k,a);k.prototype.animate=function(a){a&&this.setClip()};k.prototype.drawPoints=function(){var a=this.points,h=this.chart,k=h.renderer,l=h.inverted,r=this.options,b=r.y,d,v=this.yAxis,z={},A=[];for(d=a.length;d--;){var g=a[d];var J=(l?g.plotY:g.plotX)>this.xAxis.len;var p=g.plotX;var f=g.stackIndex;var H=g.options.shape||r.shape;var u=g.plotY;"undefined"!==typeof u&&(u=g.plotY+b-("undefined"!==typeof f&&f*r.stackDistance));g.anchorX=f?void 0:g.plotX; var B=f?void 0:g.plotY;var t="flag"!==H;f=g.graphic;"undefined"!==typeof u&&0<=p&&!J?(f||(f=g.graphic=k.label("",null,null,H,null,null,r.useHTML).addClass("highcharts-point").add(this.markerGroup),g.graphic.div&&(g.graphic.div.point=g),f.isNew=!0),f.attr({align:t?"center":"left",width:r.width,height:r.height,"text-align":r.textAlign}),h.styledMode||f.attr(this.pointAttribs(g)).css(e(r.style,g.style)).shadow(r.shadow),0"},threshold:null,y:-30,fillColor:C.backgroundColor,lineWidth:1,states:{hover:{lineColor:C.neutralColor100,fillColor:C.highlightColor20}},style:{fontSize:"11px",fontWeight:"bold"}});return k}(r);l(E.prototype,{allowDG:!1,buildKDTree:B,forceCrop:!0,getPlotBox:A.getPlotBox,init:z.prototype.init,invertGroups:B,invertible:!1,noSharedTooltip:!0,pointClass:a, sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],translate:A.translate});F.registerSeriesType("flags",E);"";"";return E});S(a,"Extensions/RangeSelector.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Options.js"],a["Core/Color/Palette.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,m,A,C,F,N,E){function I(a){if(-1!==a.indexOf("%L"))return"text";var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}), c="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&c?"datetime-local":b?"date":c?"time":"text"}var B=C.defaultOptions,z=E.addEvent,r=E.createElement,v=E.css,c=E.defined,l=E.destroyObjectProperties,e=E.discardElement,n=E.extend,y=E.find,k=E.fireEvent,O=E.isNumber,w=E.merge,h=E.objectEach,G=E.pad,q=E.pick,x=E.pInt,b=E.splat;n(B,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28, height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:F.highlightColor80,cursor:"pointer"},labelStyle:{color:F.neutralColor60}}});n(B.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"}); var d=function(){function d(a){this.buttons=void 0;this.buttonOptions=d.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}d.prototype.clickButton=function(d,e){var g=this.chart,f=this.buttonOptions[d],h=g.xAxis[0],l=g.scroller&&g.scroller.getUnionExtremes()||h||{},m=l.dataMin,n=l.dataMax,r=h&&Math.round(Math.min(h.max,q(n,h.max))),v=f.type;l=f._range;var w,y=f.dataGrouping;if(null!==m&&null!==n){g.fixedRange=l;y&&(this.forcedDataGrouping=!0,a.prototype.setDataGrouping.call(h|| {chart:this.chart},y,!1),this.frozenStates=f.preserveDataGrouping);if("month"===v||"year"===v)if(h){v={range:f,max:r,chart:g,dataMin:m,dataMax:n};var x=h.minFromRange.call(v);O(v.newMax)&&(r=v.newMax)}else l=f;else if(l)x=Math.max(r-l,m),r=Math.min(x+l,n);else if("ytd"===v)if(h)"undefined"===typeof n&&(m=Number.MAX_VALUE,n=Number.MIN_VALUE,g.series.forEach(function(a){a=a.xData;m=Math.min(a[0],m);n=Math.max(a[a.length-1],n)}),e=!1),r=this.getYTDExtremes(n,m,g.time.useUTC),x=w=r.min,r=r.max;else{this.deferredYTDClick= d;return}else"all"===v&&h&&(x=m,r=n);c(x)&&(x+=f._offsetMin);c(r)&&(r+=f._offsetMax);this.setSelected(d);this.dropdown&&(this.dropdown.selectedIndex=d+1);if(h)h.setExtremes(x,r,q(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:f});else{var J=b(g.options.xAxis)[0];var A=J.range;J.range=l;var B=J.min;J.min=w;z(g,"load",function(){J.range=A;J.min=B})}k(this,"afterBtnClick")}};d.prototype.setSelected=function(a){this.selected=this.options.selected=a};d.prototype.init=function(a){var b= this,c=a.options.rangeSelector,d=c.buttons||b.defaultButtons.slice(),e=c.selected,g=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&k(a,"blur");c&&c.blur&&k(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.eventsToUnbind=[];this.eventsToUnbind.push(z(a.container,"mousedown",g));this.eventsToUnbind.push(z(a,"resize",g));d.forEach(b.computeButtonRange);"undefined"!==typeof e&&d[e]&&this.clickButton(e,!1);this.eventsToUnbind.push(z(a,"load",function(){a.xAxis&&a.xAxis[0]&&z(a.xAxis[0], "setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})}))};d.prototype.updateButtonStates=function(){var a=this,b=this.chart,c=this.dropdown,d=b.xAxis[0],e=Math.round(d.max-d.min),h=!d.hasVisibleSeries,k=b.scroller&&b.scroller.getUnionExtremes()||d,l=k.dataMin,m=k.dataMax;b=a.getYTDExtremes(m,l,b.time.useUTC);var n=b.min,q=b.max,r=a.selected,v=O(r),w=a.options.allButtonsEnabled, x=a.buttons;a.buttonOptions.forEach(function(b,g){var f=b._range,k=b.type,p=b.count||1,t=x[g],u=0,y=b._offsetMax-b._offsetMin;b=g===r;var z=f>m-l,H=f=864E5*{month:28,year:365}[k]*p-y&&e-36E5<=864E5*{month:31,year:366}[k]*p+y?f=!0:"ytd"===k?(f=q-n+y===e,J=!b):"all"===k&&(f=d.max-d.min>=m-l,A=!b&&v&&f);k=!w&&(z||H||A||h);p=b&&f||f&&!v&&!J||b&&a.frozenStates;k?u=3:p&&(v=!0,u=2);t.state!==u&&(t.setState(u),c&&(c.options[g+1].disabled=k,2=== u&&(c.selectedIndex=g+1)),0===u&&r===g&&a.setSelected())})};d.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=q(a.offsetMin,0);a._offsetMax=q(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};d.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector, c=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,c.useUTC,c):0};d.prototype.setInputValue=function(a,b){var d=this.options,e=this.chart.time,g="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(g){var h=g.getAttribute("data-hc-time");h=c(h)?Number(h):void 0;c(b)&&(c(h)&&g.setAttribute("data-hc-time-previous",h),g.setAttribute("data-hc-time",b),h=b);g.value=e.dateFormat(this.inputTypeFormats[g.type]||d.inputEditDateFormat, h);a&&a.attr({text:e.dateFormat(d.inputDateFormat,h)})}};d.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var d=this.inputTypeFormats[a.type],e=this.chart.time;d&&(b=e.dateFormat(d,b),a.min!==b&&(a.min=b),c=e.dateFormat(d,c),a.max!==c&&(a.max=c))}};d.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var c="text"===a.type,d=this.inputGroup,e=d.translateX;d=d.translateY; v(a,{width:c?b.width-2+"px":"auto",height:c?b.height-2+"px":"auto",border:"2px solid silver"});c?v(a,{left:e+b.x+"px",top:d+"px"}):v(a,{left:Math.min(Math.round(b.x+e-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:d-(a.offsetHeight-b.height)/2+"px"})}};d.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&v(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};d.prototype.defaultInputDateParser=function(a,b,c){var d=a.split("/").join("-").split(" ").join("T"); -1===d.indexOf("T")&&(d+="T00:00");if(b)d+="Z";else{var e;if(e=A.isSafari)e=d,e=!(6=e?"+"+G(-e)+":00":"-"+G(e)+":00")}d=Date.parse(d);O(d)||(a=a.split("-"),d=Date.UTC(x(a[0]),x(a[1])-1,x(a[2])));c&&b&&(d+=c.getTimezoneOffset(d));return d};d.prototype.drawInput=function(a){function b(){var b=g.getInputValue(a),d=c.xAxis[0],e=c.scroller&&c.scroller.xAxis?c.scroller.xAxis:d, f=e.dataMin;e=e.dataMax;var h=g.maxInput,k=g.minInput;b!==Number(x.getAttribute("data-hc-time-previous"))&&O(b)&&(x.setAttribute("data-hc-time-previous",b),m&&h&&O(f)?b>Number(h.getAttribute("data-hc-time"))?b=void 0:be&&(b=e)),"undefined"!==typeof b&&d.setExtremes(m?b:d.min,m?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var c=this.chart,d=this.div,e=this.inputGroup,g=this,h=c.renderer.style||{},k=c.renderer,l=c.options.rangeSelector, m="min"===a,q=B.lang[m?"rangeSelectorFrom":"rangeSelectorTo"];q=k.label(q,0).addClass("highcharts-range-label").attr({padding:q?2:0}).add(e);k=k.label("",0).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth,height:l.inputBoxHeight,"text-align":"center"}).on("click",function(){g.showInput(a);g[a+"Input"].focus()});c.styledMode||k.attr({stroke:l.inputBoxBorderColor,"stroke-width":1});k.add(e);var x=r("input",{name:a,className:"highcharts-range-selector"},void 0,d);x.setAttribute("type", I(l.inputDateFormat||"%b %e, %Y"));c.styledMode||(q.css(w(h,l.labelStyle)),k.css(w({color:F.neutralColor80},h,l.inputStyle)),v(x,n({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},l.inputStyle)));x.onfocus=function(){g.showInput(a)};x.onblur=function(){x===A.doc.activeElement&&b();g.hideInput(a);g.setInputValue(a);x.blur()};var y=!1;x.onchange=function(){b();y||(g.hideInput(a), x.blur())};x.onkeypress=function(a){13===a.keyCode&&b()};x.onkeydown=function(){y=!0};x.onkeyup=function(){y=!1};return{dateBox:k,input:x,label:q}};d.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};d.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e=new d.Date(a),g=d.get("FullYear",e);c=c?d.Date.UTC(g,0,1):+new d.Date(g,0,1);b=Math.max(b, c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};d.prototype.render=function(a,b){var d=this.chart,e=d.renderer,g=d.container,h=d.options,k=h.rangeSelector,l=q(h.chart.style&&h.chart.style.zIndex,0)+1;h=k.inputEnabled;if(!1!==k.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=r("div",void 0,{position:"relative",height:0,zIndex:l}),this.buttonOptions.length&&this.renderButtons(),g.parentNode&&g.parentNode.insertBefore(this.div,g),h&&(this.inputGroup= e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(h&&(this.setInputValue("min",a),this.setInputValue("max",b),a=d.scroller&&d.scroller.getUnionExtremes()||d.xAxis[0]||{},c(a.dataMin)&&c(a.dataMax)&&(d=d.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-d),this.setInputExtremes("max", Math.max(a.dataMin,this.getInputValue("min"))+d,a.dataMax)),this.inputGroup)){var m=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){a&&a.width&&(a.attr({x:m}),m+=a.width+k.inputSpacing)})}this.alignElements();this.rendered=!0}};d.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,d=B.lang,e=this.chart.renderer,h=w(c.buttonTheme),l=h&&h.states,m=h.width||28;delete h.width;this.buttonGroup=e.g("range-selector-buttons").add(this.group);var n= this.dropdown=r("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);z(n,"touchstart",function(){n.style.fontSize="16px"});[[A.isMS?"mouseover":"mouseenter"],[A.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d=c[0],e=c[1];z(n,d,function(){var c=b[a.currentButtonIndex()];c&&k(c.element,e||d)})});this.zoomText=e.text(d.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle), h["stroke-width"]=q(h["stroke-width"],0));r("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n);this.buttonOptions.forEach(function(c,d){r("option",{textContent:c.title||c.text},void 0,n);b[d]=e.button(c.text,0,0,function(b){var e=c.events&&c.events.click,f;e&&(f=e.call(c,b));!1!==f&&a.clickButton(d);a.isActive=!0},h,l&&l.hover,l&&l.select,l&&l.disabled).attr({"text-align":"center",width:m}).add(a.buttonGroup);c.title&&b[d].attr("title",c.title)})};d.prototype.alignElements=function(){var a= this,b=this.buttonGroup,c=this.buttons,d=this.chart,e=this.group,h=this.inputGroup,k=this.options,l=this.zoomText,m=d.options,n=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions;m=k.buttonPosition;var r=k.inputPosition,v=k.verticalAlign,w=function(b,c){return n&&a.titleCollision(d)&&"top"===v&&"right"===c.align&&c.y-b.getBBox().height-12<(n.y||0)+(n.height||0)+d.spacing[0]?-40:0},x=d.plotLeft;if(e&&m&&r){var y=m.x-d.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var z= 0;l&&(z+=l.getBBox().width+5);c.forEach(function(a,b){z+=a.width;b!==c.length-1&&(z+=k.buttonSpacing)});this.initialButtonGroupWidth=z}x-=d.spacing[3];this.updateButtonStates();l=w(b,m);this.alignButtonGroup(l);e.placed=b.placed=d.hasLoaded}b=0;h&&(b=w(h,r),"left"===r.align?y=x:"right"===r.align&&(y=-Math.max(d.axisOffset[1],-b)),h.align({y:r.y,width:h.getBBox().width,align:r.align,x:r.x+y-2},!0,d.spacingBox),h.placed=d.hasLoaded);this.handleCollision(b);e.align({verticalAlign:v},!0,d.spacingBox); h=e.alignAttr.translateY;b=e.getBBox().height+20;w=0;"bottom"===v&&(w=(w=d.legend&&d.legend.options)&&"bottom"===w.verticalAlign&&w.enabled&&!w.floating?d.legend.legendHeight+q(w.margin,10):0,b=b+w-20,w=h-b-(k.floating?0:k.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===v)k.floating&&(w=0),d.titleOffset&&d.titleOffset[0]&&(w=d.titleOffset[0]),w+=d.margin[0]-d.spacing[0]||0;else if("middle"===v)if(r.y===m.y)w=h;else if(r.y||m.y)w=0>r.y||0>m.y?w-Math.min(r.y,m.y):h-b;e.translate(k.x,k.y+Math.floor(w)); m=this.minInput;r=this.maxInput;h=this.dropdown;k.inputEnabled&&m&&r&&(m.style.marginTop=e.translateY+"px",r.style.marginTop=e.translateY+"px");h&&(h.style.marginTop=e.translateY+"px")}};d.prototype.alignButtonGroup=function(a,b){var c=this.chart,d=this.buttonGroup,e=this.options.buttonPosition,g=c.plotLeft-c.spacing[3],h=e.x-c.spacing[3];"right"===e.align?h+=a-g:"center"===e.align&&(h-=g/2);d&&d.align({y:e.y,width:q(b,this.initialButtonGroupWidth),align:e.align,x:h},!0,c.spacingBox)};d.prototype.positionButtons= function(){var a=this.buttons,b=this.chart,c=this.options,d=this.zoomText,e=b.hasLoaded?"animate":"attr",h=c.buttonPosition,k=b.plotLeft,l=k;d&&"hidden"!==d.visibility&&(d[e]({x:q(k+h.x,k)}),l+=h.x+d.getBBox().width+5);this.buttonOptions.forEach(function(b,d){if("hidden"!==a[d].visibility)a[d][e]({x:l}),l+=a[d].width+c.buttonSpacing;else a[d][e]({x:k})})};d.prototype.handleCollision=function(a){var b=this,c=this.chart,d=this.buttonGroup,e=this.inputGroup,g=this.options,h=g.buttonPosition,k=g.dropdown, l=g.inputPosition;g=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var m=function(b){if(e&&d){var c=e.alignAttr.translateX+e.alignOptions.x-a+e.getBBox().x+2,g=e.alignOptions.width,f=d.alignAttr.translateX+d.getBBox().x;return f+b>c&&c+g>f&&h.y=-a?0:-a),translateY:e.alignAttr.translateY+d.getBBox().height+10})};if(d){if("always"===k){this.collapseButtons(a); m(g())&&n();return}"never"===k&&this.expandButtons()}e&&d?l.align===h.align||m(this.initialButtonGroupWidth+20)?"responsive"===k?(this.collapseButtons(a),m(g())&&n()):n():"responsive"===k&&this.expandButtons():d&&"responsive"===k&&(this.initialButtonGroupWidth>c.plotWidth?this.collapseButtons(a):this.expandButtons())};d.prototype.collapseButtons=function(a){var b,c=this.buttons,d=this.buttonOptions,e=this.dropdown,g=this.options,h=this.zoomText,k=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto", paddingLeft:8,paddingRight:8}};h&&h.hide();var l=!1;d.forEach(function(a,b){b=c[b];2!==b.state?b.hide():(b.show(),b.attr(k(a.text)),l=!0)});l||(e&&(e.selectedIndex=0),c[0].show(),c[0].attr(k(null===(b=this.zoomText)||void 0===b?void 0:b.textStr)));b=g.buttonPosition.align;this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width);this.showDropdown()};d.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options, d=this.zoomText;this.hideDropdown();d&&d.show();b.forEach(function(b,d){d=a[d];d.show();d.attr({text:b.text,width:c.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>d.state&&d.setState(0)});this.positionButtons()};d.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0e&&0>d||0f+d.width)&&(B?m=t=n(m,f,f+d.width):b=!0);b||w.push(["M",m,r],["L",t,v])}):E.forEach(function(a){var b;m=a.pos;t=m+a.len;r=v=Math.round(l+d.height-F);"pass"!==B&&(r< l||r>l+d.height)&&(B?r=v=n(r,l,l+d.height):b=!0);b||w.push(["M",m,r],["L",t,v])}));a.path=0F?"hidden":"visible"});l=t.getBBox();if(G(t.y))if(f){if(x&&!m||!x&&m)q=t.y-l.height}else q=t.y-l.height/2;f?(c=n-l.x,d=n+this.width-l.x):(c="left"===this.labelAlign?n:0,d="right"===this.labelAlign?n+this.width: e.chartWidth);t.translateX=d&&(A=-(t.translateX+l.width-d));t.attr({x:h+A,y:q,anchorX:f?h:this.opposite?0:e.chartWidth,anchorY:f?this.opposite?e.chartHeight:0:q+l.height/2})}});N.prototype.init=function(){v.apply(this,arguments);this.initCompare(this.options.compare)};N.prototype.setCompare=function(a){this.initCompare(a);this.userOptions.compare=a};N.prototype.initCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue; return"undefined"!==typeof b&&"undefined"!==typeof d?(b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b):0}:null;this.chart.hasRendered&&(this.isDirty=!0)};N.prototype.processData=function(a){var b,d=-1,e=!0===this.options.compareStart?0:1;c.apply(this,arguments);if(this.xAxis&&this.processedYData){var h=this.processedXData;var k=this.processedYData;var f=k.length;this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y"));for(b= 0;b=this.xAxis.min&&0!==l){this.compareValue=l;break}}}};r(N,"afterGetExtremes",function(a){a=a.dataExtremes;if(this.modifyValue&&a){var b=[this.modifyValue(a.dataMin),this.modifyValue(a.dataMax)];a.dataMin=e(b);a.dataMax=l(b)}});a.prototype.setCompare=function(a,c){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),b(c,!0)&&this.chart.redraw())};F.prototype.tooltipFormatter=function(a){var c=this.series.chart.numberFormatter;a= a.replace("{point.change}",(0