a.closestPointRange*a.xAxis.transA;f=a.borderWidth=y(e.borderWidth,f?0:1);var h=a.xAxis,k=a.yAxis,n=e.threshold,m=a.translatedThreshold=k.getThreshold(n),p=y(e.minPointLength,5),q=a.getColumnMetrics(),r=q.width,u=a.pointXOffset=q.offset,t=a.dataMin,w=a.dataMax,B=a.barW=Math.max(r,1+2*f);c.inverted&&(m-=.5);e.pointPadding&&(B=Math.ceil(B));x.prototype.translate.apply(a);a.points.forEach(function(b){var g=
+y(b.yBottom,m),f=999+Math.abs(g),v=b.plotX||0;f=d(b.plotY,-f,k.len+f);var E=Math.min(f,g),D=Math.max(f,g)-E,x=r,H=v+u,z=B;p&&Math.abs(D)p?g-p:m-(v?p:0));l(b.options.pointWidth)&&(x=z=Math.ceil(b.options.pointWidth),H-=Math.round((x-r)/2));e.centerInCategory&&(H=a.adjustForMissingColumns(H,x,b,q));b.barX=H;b.pointWidth=x;b.tooltipPos=c.inverted?[d(k.len+
+k.pos-c.plotLeft-f,k.pos-c.plotLeft,k.len+k.pos-c.plotLeft),h.len+h.pos-c.plotTop-H-z/2,D]:[h.left-c.plotLeft+H+z/2,d(f+k.pos-c.plotTop,k.pos-c.plotTop,k.len+k.pos-c.plotTop),D];b.shapeType=a.pointClass.prototype.shapeType||"rect";b.shapeArgs=a.crispCol.apply(a,b.isNull?[H,m,z,0]:[H,E,z,D])})};k.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};k.prototype.pointAttribs=function(a,c){var b=this.options,d=this.pointAttrToOptions||{},g=d.stroke||
+"borderColor",f=d["stroke-width"]||"borderWidth",h=a&&a.color||this.color,k=a&&a[g]||b[g]||h;d=a&&a.options.dashStyle||b.dashStyle;var l=a&&a[f]||b[f]||this[f]||0,n=y(a&&a.opacity,b.opacity,1);if(a&&this.zones.length){var p=a.getZone();h=a.options.color||p&&(p.color||a.nonZonedColor)||this.color;p&&(k=p.borderColor||k,d=p.dashStyle||d,l=p.borderWidth||l)}c&&a&&(a=r(b.states[c],a.options.states&&a.options.states[c]||{}),c=a.brightness,h=a.color||"undefined"!==typeof c&&m(h).brighten(a.brightness).get()||
+h,k=a[g]||k,l=a[f]||l,d=a.dashStyle||d,n=y(a.opacity,n));g={fill:h,stroke:k,"stroke-width":l,opacity:n};d&&(g.dashstyle=d);return g};k.prototype.drawPoints=function(){var a=this,c=this.chart,e=a.options,d=c.renderer,f=e.animationLimit||250,h;a.points.forEach(function(b){var g=b.graphic,k=!!g,l=g&&c.pointCountt,"left"===r?n.y-=t?p.height:0:"center"===r?(n.x-=p.width/2,n.y-=p.height/2):"right"===r&&(n.x-=p.width,n.y-=t?0:p.height),b.placed=!0,b.alignAttr=n):(t(e),b.align(c,void 0,e),n=b.alignAttr);w&&0<=e.height?this.justifyDataLabel(b,c,n,p,e,f):d(c.crop,!0)&&(B=h.isInsidePlot(n.x,n.y,{paneCoordinates:!0,series:g})&&h.isInsidePlot(n.x+p.width,n.y+p.height,{paneCoordinates:!0,
+series:g}));if(c.shape&&!q)b[f?"attr":"animate"]({anchorX:k?h.plotWidth-a.plotY:a.plotX,anchorY:k?h.plotHeight-a.plotX:a.plotY})}f&&l&&(b.placed=!1);B||l&&!w||(b.hide(!0),b.placed=!1)}function l(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,">"===b&&a>c||"<"===b&&a="===b&&a>=c||"<="===b&&a<=c||"=="===b&&a==c||"==="===b&&a===c?!0:!1):!0}function t(){var a=this,b=a.chart,g=a.options,e=a.points,f=a.hasRendered||0,n=b.renderer,m=g.dataLabels,p,r=m.animation;r=m.defer?u(b,
+r,a):{defer:0,duration:0};m=y(y(b.options.plotOptions&&b.options.plotOptions.series&&b.options.plotOptions.series.dataLabels,b.options.plotOptions&&b.options.plotOptions[a.type]&&b.options.plotOptions[a.type].dataLabels),m);z(this,"drawDataLabels");if(q(m)||m.enabled||a._hasPointLabels){var t=a.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",m.zIndex||6);t.attr({opacity:+f});!f&&(f=a.dataLabelsGroup)&&(a.visible&&t.show(!0),f[g.animation?"animate":"attr"]({opacity:1},r));e.forEach(function(e){p=
+c(y(m,e.dlOptions||e.options&&e.options.dataLabels));p.forEach(function(c,f){var k=c.enabled&&(!e.isNull||e.dataLabelOnNull)&&l(e,c),m=e.connectors?e.connectors[f]:e.connector,p=e.dataLabels?e.dataLabels[f]:e.dataLabel,q=d(c.distance,e.labelDistance),r=!p;if(k){var u=e.getLabelConfig();var w=d(c[e.formatPrefix+"Format"],c.format);u=C(w)?x(w,u,b):(c[e.formatPrefix+"Formatter"]||c.formatter).call(u,c);w=c.style;var B=c.rotation;b.styledMode||(w.color=d(c.color,w.color,a.color,"#000000"),"contrast"===
+w.color?(e.contrastColor=n.getContrast(e.color||a.color),w.color=!C(q)&&c.inside||0>q||g.stacking?e.contrastColor:"#000000"):delete e.contrastColor,g.cursor&&(w.cursor=g.cursor));var v={r:c.borderRadius||0,rotation:B,padding:c.padding,zIndex:1};b.styledMode||(v.fill=c.backgroundColor,v.stroke=c.borderColor,v["stroke-width"]=c.borderWidth);h(v,function(a,b){"undefined"===typeof a&&delete v[b]})}!p||k&&C(u)?k&&C(u)&&(p?v.text=u:(e.dataLabels=e.dataLabels||[],p=e.dataLabels[f]=B?n.text(u,0,-9999,c.useHTML).addClass("highcharts-data-label"):
+n.label(u,0,-9999,c.shape,null,null,c.useHTML,null,"data-label"),f||(e.dataLabel=p),p.addClass(" highcharts-data-label-color-"+e.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":""))),p.options=c,p.attr(v),b.styledMode||p.css(w).shadow(c.shadow),p.added||p.add(t),c.textPath&&!c.useHTML&&(p.setTextPath(e.getDataLabelPath&&e.getDataLabelPath(p)||e.graphic,c.textPath),e.dataLabelPath&&!c.textPath.enabled&&(e.dataLabelPath=e.dataLabelPath.destroy())),a.alignDataLabel(e,p,c,null,r)):(e.dataLabel=
+e.dataLabel&&e.dataLabel.destroy(),e.dataLabels&&(1===e.dataLabels.length?delete e.dataLabels:delete e.dataLabels[f]),f||delete e.dataLabel,m&&(e.connector=e.connector.destroy(),e.connectors&&(1===e.connectors.length?delete e.connectors:delete e.connectors[f])))})})}z(this,"afterDrawDataLabels")}function r(a,b,c,e,d,f){var g=this.chart,h=b.align,k=b.verticalAlign,l=a.box?0:a.padding||0,n=b.x;n=void 0===n?0:n;var m=b.y;m=void 0===m?0:m;var p=(c.x||0)+l;if(0>p){"right"===h&&0<=n?(b.align="left",b.inside=
+!0):n-=p;var q=!0}p=(c.x||0)+e.width-l;p>g.plotWidth&&("left"===h&&0>=n?(b.align="right",b.inside=!0):n+=g.plotWidth-p,q=!0);p=c.y+l;0>p&&("bottom"===k&&0<=m?(b.verticalAlign="top",b.inside=!0):m-=p,q=!0);p=(c.y||0)+e.height-l;p>g.plotHeight&&("top"===k&&0>=m?(b.verticalAlign="bottom",b.inside=!0):m+=g.plotHeight-p,q=!0);q&&(b.x=n,b.y=m,a.placed=!f,a.align(b,void 0,d));return q}function y(a,b){var c=[],e;if(q(a)&&!q(b))c=a.map(function(a){return m(a,b)});else if(q(b)&&!q(a))c=b.map(function(b){return m(a,
+b)});else if(q(a)||q(b))for(e=Math.max(a.length,b.length);e--;)c[e]=m(a[e],b[e]);else c=m(a,b);return c}function B(a,b,c,e,d){var f=this.chart,g=f.inverted,h=this.xAxis,k=h.reversed,l=g?b.height/2:b.width/2;a=(a=a.pointWidth)?a/2:0;b.startXPos=g?d.x:k?-l-a:h.width-l+a;b.startYPos=g?k?this.yAxis.height-l+a:-l-a:d.y;e?"hidden"===b.visibility&&(b.show(),b.attr({opacity:0}).animate({opacity:1})):b.attr({opacity:1}).animate({opacity:0},void 0,b.hide);f.hasRendered&&(c&&b.attr({x:b.startXPos,y:b.startYPos}),
+b.placed=!0)}var n=[];a.compose=function(a){if(-1===n.indexOf(a)){var b=a.prototype;n.push(a);b.alignDataLabel=f;b.drawDataLabels=t;b.justifyDataLabel=r;b.setDataLabelStartPos=B}}})(l||(l={}));"";return l});L(a,"Series/Column/ColumnDataLabel.js",[a["Core/Series/DataLabel.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,t,A){var u=t.series,x=A.merge,C=A.pick,I;(function(t){function q(a,d,c,l,f){var h=this.chart.inverted,m=a.series,q=(m.xAxis?m.xAxis.len:this.chart.plotSizeX)||
+0;m=(m.yAxis?m.yAxis.len:this.chart.plotSizeY)||0;var r=a.dlBox||a.shapeArgs,t=C(a.below,a.plotY>C(this.translatedThreshold,m)),B=C(c.inside,!!this.options.stacking);r&&(l=x(r),0>l.y&&(l.height+=l.y,l.y=0),r=l.y+l.height-m,0\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});
+return m}(t);I(G.prototype,{drawTracker:a.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});C(G,"afterTranslate",function(){this.applyJitter()});A.registerSeriesType("scatter",G);"";return G});L(a,"Series/CenteredUtilities.js",[a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,t,A){var u=a.deg2rad,x=A.isNumber,C=A.pick,I=A.relativeLength,z;(function(a){a.getCenter=function(){var a=
+this.options,h=this.chart,d=2*(a.slicedOffset||0),c=h.plotWidth-2*d,l=h.plotHeight-2*d,f=a.center,q=Math.min(c,l),p=a.size,u=a.innerSize||0;"string"===typeof p&&(p=parseFloat(p));"string"===typeof u&&(u=parseFloat(u));a=[C(f[0],"50%"),C(f[1],"50%"),C(p&&0>p?void 0:a.size,"100%"),C(u&&0>u?void 0:a.innerSize||0,"0%")];!h.angular||this instanceof t||(a[3]=0);for(f=0;4>f;++f)p=a[f],h=2>f||2===f&&/%$/.test(p),a[f]=I(p,[c,l,q,a[2]][f])+(h?d:0);a[3]>a[2]&&(a[3]=a[2]);return a};a.getStartAndEndRadians=function(a,
+h){a=x(a)?a:0;h=x(h)&&h>a&&360>h-a?h:a+360;return{start:u*(a+-90),end:u*(h+-90)}}})(z||(z={}));"";return z});L(a,"Series/Pie/PiePoint.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,t,A){var u=this&&this.__extends||function(){var a=function(d,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(d,c)};return function(d,c){function h(){this.constructor=
+d}a(d,c);d.prototype=null===c?Object.create(c):(h.prototype=c.prototype,new h)}}(),x=a.setAnimation,C=A.addEvent,I=A.defined;a=A.extend;var z=A.isNumber,q=A.pick,m=A.relativeLength;t=function(a){function d(){var c=null!==a&&a.apply(this,arguments)||this;c.labelDistance=void 0;c.options=void 0;c.series=void 0;return c}u(d,a);d.prototype.getConnectorPath=function(){var a=this.labelPosition,d=this.series.options.dataLabels,f=this.connectorShapes,h=d.connectorShape;f[h]&&(h=f[h]);return h.call(this,{x:a.final.x,
+y:a.final.y,alignment:a.alignment},a.connectorPosition,d)};d.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};d.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})};d.prototype.init=function(){var c=this;a.prototype.init.apply(this,arguments);this.name=q(this.name,"Slice");var d=function(a){c.slice("select"===
+a.type)};C(this,"select",d);C(this,"unselect",d);return this};d.prototype.isValid=function(){return z(this.y)&&0<=this.y};d.prototype.setVisible=function(a,d){var c=this,h=this.series,l=h.chart,m=h.options.ignoreHiddenPoint;d=q(d,m);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,h.options.data[h.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(d){if(c[d])c[d][a?"show":"hide"](a)}),this.legendItem&&l.legend.colorizeItem(this,
+a),a||"hover"!==this.state||this.setState(""),m&&(h.isDirty=!0),d&&l.redraw())};d.prototype.slice=function(a,d,f){var c=this.series;x(f,c.chart);q(d,!0);this.sliced=this.options.sliced=I(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 d}(t);a(t.prototype,{connectorShapes:{fixedOffset:function(a,d,c){var h=d.breakAt;d=d.touchingSliceAt;return[["M",a.x,
+a.y],c.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*h.x-d.x,2*h.y-d.y,h.x,h.y]:["L",h.x,h.y],["L",d.x,d.y]]},straight:function(a,d){d=d.touchingSliceAt;return[["M",a.x,a.y],["L",d.x,d.y]]},crookedLine:function(a,d,c){d=d.touchingSliceAt;var h=this.series,f=h.center[0],q=h.chart.plotWidth,p=h.chart.plotLeft;h=a.alignment;var u=this.shapeArgs.r;c=m(c.crookDistance,1);q="left"===h?f+u+(q+p-f-u)*(1-c):p+(f-u)*c;c=["L",q,a.y];f=!0;if("left"===h?q>a.x||qd.x)f=!1;a=[["M",a.x,a.y]];
+f&&a.push(c);a.push(["L",d.x,d.y]);return a}}});return t});L(a,"Series/Pie/PieSeries.js",[a["Series/CenteredUtilities.js"],a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Core/Legend/LegendSymbol.js"],a["Series/Pie/PiePoint.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/Symbols.js"],a["Core/Utilities.js"]],function(a,t,A,G,x,C,I,z,q){var m=this&&this.__extends||function(){var a=function(c,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&
+function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c,d)};return function(c,d){function f(){this.constructor=c}a(c,d);c.prototype=null===d?Object.create(d):(f.prototype=d.prototype,new f)}}(),h=a.getStartAndEndRadians;A=A.noop;var d=q.clamp,c=q.extend,l=q.fireEvent,f=q.merge,u=q.pick,p=q.relativeLength;q=function(a){function c(){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}m(c,a);c.prototype.animate=function(a){var c=this,d=c.points,f=c.startAngleRad;a||d.forEach(function(a){var b=a.graphic,e=a.shapeArgs;b&&e&&(b.attr({r:u(a.startR,c.center&&c.center[3]/2),start:f,end:f}),b.animate({r:e.r,start:e.start,end:e.end},c.options.animation))})};c.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,d=this.options;if(0===this.total&&this.center){var f=this.center[0];var b=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(f,
+b,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:z.arc(f,b,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":d.borderWidth,fill:d.fillColor||"none",stroke:d.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())};c.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)})};c.prototype.generatePoints=function(){a.prototype.generatePoints.call(this);this.updateTotals()};c.prototype.getX=function(a,c,f){var h=this.center,b=this.radii?this.radii[f.index]||0:h[2]/2;a=Math.asin(d((a-h[1])/(b+f.labelDistance),-1,1));return h[0]+(c?-1:1)*Math.cos(a)*(b+f.labelDistance)+(01.5*Math.PI?y-=2*Math.PI:y<-Math.PI/2&&(y+=2*Math.PI);w.slicedTranslation={translateX:Math.round(Math.cos(y)*d),translateY:Math.round(Math.sin(y)*d)};z=Math.cos(y)*a[2]/2;var A=Math.sin(y)*a[2]/2;w.tooltipPos=[a[0]+.7*z,a[1]+.7*A];w.half=y<-Math.PI/2||y>Math.PI/2?1:0;w.angle=y;x=Math.min(f,w.labelDistance/5);w.labelPosition={natural:{x:a[0]+z+
+Math.cos(y)*w.labelDistance,y:a[1]+A+Math.sin(y)*w.labelDistance},"final":{},alignment:0>w.labelDistance?"center":w.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+z+Math.cos(y)*x,y:a[1]+A+Math.sin(y)*x},touchingSliceAt:{x:a[0]+z,y:a[1]+A}}}}l(this,"afterTranslate")};c.prototype.updateTotals=function(){var a=this.points,c=a.length,d=this.options.ignoreHiddenPoint,f,b=0;for(f=0;fu&&(a.dataLabel.css({width:Math.round(.7*
+u)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),B.forEach(function(d,f){var k=d.length,n=[],q;if(k){a.sortByAngle(d,f-.5);if(0l-e&&0===f&&(u=Math.round(N+L-l+e),x[1]=Math.max(u,x[1])),0>V-T/2?x[0]=Math.max(Math.round(-V+T/2),x[0]):V+T/2>m&&(x[2]=Math.max(Math.round(V+T/2-m),x[2])),
+K.sideOverflow=u)}}}),0===q(x)||this.verifyDataLabelOverflow(x))&&(this.placeDataLabels(),this.points.forEach(function(e){R=d(g,e.options.dataLabels);if(C=c(R.connectorWidth,1)){var f;G=e.connector;if((K=e.dataLabel)&&K._pos&&e.visible&&0c.bottom-2?d:b,c.half,c)},justify:function(a,c,b){return b[0]+(a.half?-1:1)*(c+a.labelDistance)},alignToPlotEdges:function(a,c,b,d){a=a.getBBox().width;return c?a+d:b-a-d},alignToConnectors:function(a,c,b,d){var e=0,f;a.forEach(function(a){f=a.dataLabel.getBBox().width;f>e&&(e=f)});return c?e+d:b-e-d}};f.compose=function(c){a.compose(z);-1===w.indexOf(c)&&(w.push(c),c=c.prototype,c.dataLabelPositioners=B,c.alignDataLabel=
+u,c.drawDataLabels=p,c.placeDataLabels=t,c.verifyDataLabelOverflow=r)}})(f||(f={}));return f});L(a,"Extensions/OverlappingDataLabels.js",[a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,t){function u(a,h){var d=!1;if(a){var c=a.newOpacity;a.oldOpacity!==c&&(a.alignAttr&&a.placed?(a[c?"removeClass":"addClass"]("highcharts-data-label-hidden"),d=!0,a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){h.styledMode||a.css({pointerEvents:c?"auto":"none"})}),x(h,"afterHideOverlappingLabel")):
+a.attr({opacity:c}));a.isOld=!0}return d}var G=t.addEvent,x=t.fireEvent,C=t.isArray,I=t.isNumber,z=t.objectEach,q=t.pick;G(a,"render",function(){var a=this,h=[];(this.labelCollectors||[]).forEach(function(a){h=h.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&z(a.stacking.stacks,function(a){z(a,function(a){a.label&&"hidden"!==a.label.visibility&&h.push(a.label)})})});(this.series||[]).forEach(function(d){var c=d.options.dataLabels;
+d.visible&&(!1!==c.enabled||d._hasPointLabels)&&(c=function(c){return c.forEach(function(c){c.visible&&(C(c.dataLabels)?c.dataLabels:c.dataLabel?[c.dataLabel]:[]).forEach(function(d){var f=d.options;d.labelrank=q(f.labelrank,c.labelrank,c.shapeArgs&&c.shapeArgs.height);f.allowOverlap?(d.oldOpacity=d.opacity,d.newOpacity=1,u(d,a)):h.push(d)})})},c(d.nodes||[]),c(d.points))});this.hideOverlappingLabels(h)});a.prototype.hideOverlappingLabels=function(a){var h=this,d=a.length,c=h.renderer,l,f,m,p=!1;
+var q=function(a){var d,f=a.box?0:a.padding||0,b=d=0,g;if(a&&(!a.alignAttr||a.placed)){var e=a.alignAttr||{x:a.attr("x"),y:a.attr("y")};var h=a.parentGroup;a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=c.fontMetrics(null,a.element).h);var l=a.width-2*f;(g={left:"0",center:"0.5",right:"1"}[a.alignValue])?b=+g*l:I(a.x)&&Math.round(a.x)!==a.translateX&&(b=a.x-a.translateX);return{x:e.x+(h.translateX||0)+f-(b||0),y:e.y+(h.translateY||0)+f-d,width:a.width-2*f,height:a.height-2*f}}};for(f=
+0;f=r.x+r.width||t.x+t.width<=r.x||t.y>=r.y+r.height||t.y+t.height<=r.y||((q.labelrank=z(d.minWidth,0)&&this.chartHeight>=z(d.minHeight,0)}).call(this)&&c.push(a._id)};a.prototype.setResponsive=
+function(a,c){var d=this,f=this.options.responsive,h=this.currentResponsive,l=[];!c&&f&&f.rules&&f.rules.forEach(function(a){"undefined"===typeof a._id&&(a._id=m());d.matchResponsiveRule(a,l)},this);c=C.apply(void 0,l.map(function(a){return A((f||{}).rules||[],function(c){return c._id===a})}).map(function(a){return a&&a.chartOptions}));c.isResponsiveOptions=!0;l=l.toString()||void 0;l!==(h&&h.ruleIds)&&(h&&this.update(h.undoOptions,a,!0),l?(h=this.currentOptions(c),h.isResponsiveOptions=!0,this.currentResponsive=
+{ruleIds:l,mergedOptions:c,undoOptions:h},this.update(c,a,!0)):this.currentResponsive=void 0)};return a}()})(h||(h={}));"";"";return h});L(a,"masters/highcharts.src.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Core/DefaultOptions.js"],a["Core/Animation/Fx.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Renderer/HTML/AST.js"],a["Core/FormatUtilities.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Renderer/HTML/HTMLElement.js"],
+a["Core/Renderer/HTML/HTMLRenderer.js"],a["Core/Axis/Axis.js"],a["Core/Axis/DateTimeAxis.js"],a["Core/Axis/LogarithmicAxis.js"],a["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],a["Core/Axis/Tick.js"],a["Core/Tooltip.js"],a["Core/Series/Point.js"],a["Core/Pointer.js"],a["Core/MSPointer.js"],a["Core/Legend/Legend.js"],a["Core/Chart/Chart.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Series/Column/ColumnSeries.js"],a["Series/Column/ColumnDataLabel.js"],a["Series/Pie/PieSeries.js"],
+a["Series/Pie/PieDataLabel.js"],a["Core/Series/DataLabel.js"],a["Core/Responsive.js"],a["Core/Color/Color.js"],a["Core/Time.js"]],function(a,t,A,G,x,C,I,z,q,m,h,d,c,l,f,w,p,K,r,y,B,n,k,b,g,e,D,H,v,E,L,S,P){a.animate=x.animate;a.animObject=x.animObject;a.getDeferredAnimation=x.getDeferredAnimation;a.setAnimation=x.setAnimation;a.stop=x.stop;a.timers=G.timers;a.AST=C;a.Axis=c;a.Chart=k;a.chart=k.chart;a.Fx=G;a.Legend=n;a.PlotLineOrBand=w;a.Point=r;a.Pointer=B.isRequired()?B:y;a.Series=b;a.SVGElement=
+q;a.SVGRenderer=m;a.Tick=p;a.Time=P;a.Tooltip=K;a.Color=S;a.color=S.parse;d.compose(m);h.compose(q);a.defaultOptions=A.defaultOptions;a.getOptions=A.getOptions;a.time=A.defaultTime;a.setOptions=A.setOptions;a.dateFormat=I.dateFormat;a.format=I.format;a.numberFormat=I.numberFormat;a.addEvent=t.addEvent;a.arrayMax=t.arrayMax;a.arrayMin=t.arrayMin;a.attr=t.attr;a.clearTimeout=t.clearTimeout;a.correctFloat=t.correctFloat;a.createElement=t.createElement;a.css=t.css;a.defined=t.defined;a.destroyObjectProperties=
+t.destroyObjectProperties;a.discardElement=t.discardElement;a.distribute=z.distribute;a.erase=t.erase;a.error=t.error;a.extend=t.extend;a.extendClass=t.extendClass;a.find=t.find;a.fireEvent=t.fireEvent;a.getMagnitude=t.getMagnitude;a.getStyle=t.getStyle;a.inArray=t.inArray;a.isArray=t.isArray;a.isClass=t.isClass;a.isDOMElement=t.isDOMElement;a.isFunction=t.isFunction;a.isNumber=t.isNumber;a.isObject=t.isObject;a.isString=t.isString;a.keys=t.keys;a.merge=t.merge;a.normalizeTickInterval=t.normalizeTickInterval;
+a.objectEach=t.objectEach;a.offset=t.offset;a.pad=t.pad;a.pick=t.pick;a.pInt=t.pInt;a.relativeLength=t.relativeLength;a.removeEvent=t.removeEvent;a.seriesType=g.seriesType;a.splat=t.splat;a.stableSort=t.stableSort;a.syncTimeout=t.syncTimeout;a.timeUnits=t.timeUnits;a.uniqueKey=t.uniqueKey;a.useSerialIds=t.useSerialIds;a.wrap=t.wrap;D.compose(e);E.compose(b);l.compose(c);f.compose(c);v.compose(H);w.compose(c);L.compose(k);return a});a["masters/highcharts.src.js"]._modules=a;return a["masters/highcharts.src.js"]});
+//# sourceMappingURL=highcharts.js.map
\ No newline at end of file
diff --git a/docs/libs/highcharts-9.3.1/modules/annotations.js b/docs/libs/highcharts-9.3.1/modules/annotations.js
new file mode 100644
index 0000000..9852c5f
--- /dev/null
+++ b/docs/libs/highcharts-9.3.1/modules/annotations.js
@@ -0,0 +1,135 @@
+/*
+ Highcharts JS v9.3.1 (2021-11-05)
+
+ Annotations module
+
+ (c) 2009-2021 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+'use strict';(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(r){a(r);a.Highcharts=r;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function r(c,a,n,x){c.hasOwnProperty(a)||(c[a]=x.apply(null,n))}a=a?a._modules:{};r(a,"Extensions/Annotations/Mixins/EventEmitterMixin.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(c,
+a){var h=a.addEvent,x=a.fireEvent,m=a.objectEach,g=a.pick,b=a.removeEvent;return{addEvents:function(){var b=this,d=function(d){h(d,c.isTouchDevice?"touchstart":"mousedown",function(d){b.onMouseDown(d)},{passive:!1})};d(this.graphic.element);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&d(b.graphic.text.element)});m(b.options.events,function(d,e){var c=function(c){"click"===e&&b.cancelClick||d.call(b,b.chart.pointer.normalize(c),b.target)};if(-1===(b.nonDOMEvents||[]).indexOf(e))b.graphic.on(e,
+c);else h(b,e,c,{passive:!1})});if(b.options.draggable&&(h(b,"drag",b.onDrag),!b.graphic.renderer.styledMode)){var e={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[b.options.draggable]};b.graphic.css(e);(b.labels||[]).forEach(function(d){d.options.useHTML&&d.graphic.text&&d.graphic.text.css(e)})}b.isUpdating||x(b,"add")},removeDocEvents:function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())},onMouseDown:function(b){var d=this,
+e=d.chart.pointer;b.preventDefault&&b.preventDefault();if(2!==b.button){b=e.normalize(b);var B=b.chartX;var f=b.chartY;d.cancelClick=!1;d.chart.hasDraggedAnnotation=!0;d.removeDrag=h(c.doc,c.isTouchDevice?"touchmove":"mousemove",function(b){d.hasDragged=!0;b=e.normalize(b);b.prevChartX=B;b.prevChartY=f;x(d,"drag",b);B=b.chartX;f=b.chartY},c.isTouchDevice?{passive:!1}:void 0);d.removeMouseUp=h(c.doc,c.isTouchDevice?"touchend":"mouseup",function(b){var e=g(d.target&&d.target.annotation,d.target);e&&
+(e.cancelClick=d.hasDragged);d.cancelClick=d.hasDragged;d.hasDragged=!1;d.chart.hasDraggedAnnotation=!1;x(g(e,d),"afterUpdate");d.onMouseUp(b)},c.isTouchDevice?{passive:!1}:void 0)}},onMouseUp:function(b){var d=this.chart;b=this.target||this;var e=d.options.annotations;d=d.annotations.indexOf(b);this.removeDocEvents();e[d]=b.options},onDrag:function(b){if(this.chart.isInsidePlot(b.chartX-this.chart.plotLeft,b.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){var d=this.mouseMoveToTranslation(b);"x"===
+this.options.draggable&&(d.y=0);"y"===this.options.draggable&&(d.x=0);this.points.length?this.translate(d.x,d.y):(this.shapes.forEach(function(b){b.translate(d.x,d.y)}),this.labels.forEach(function(b){b.translate(d.x,d.y)}));this.redraw(!1)}},mouseMoveToRadians:function(b,d,e){var c=b.prevChartY-e,f=b.prevChartX-d;e=b.chartY-e;b=b.chartX-d;this.chart.inverted&&(d=f,f=c,c=d,d=b,b=e,e=d);return Math.atan2(e,b)-Math.atan2(c,f)},mouseMoveToTranslation:function(b){var d=b.chartX-b.prevChartX;b=b.chartY-
+b.prevChartY;if(this.chart.inverted){var e=b;b=d;d=e}return{x:d,y:b}},mouseMoveToScale:function(b,d,e){d=(b.chartX-d||1)/(b.prevChartX-d||1);b=(b.chartY-e||1)/(b.prevChartY-e||1);this.chart.inverted&&(e=b,b=d,d=e);return{x:d,y:b}},destroy:function(){this.removeDocEvents();b(this);this.hcEvents=null}}});r(a,"Extensions/Annotations/ControlPoint.js",[a["Core/Utilities.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"]],function(c,a){var h=c.merge,x=c.pick;return function(){function c(c,b,B,
+d){this.addEvents=a.addEvents;this.graphic=void 0;this.mouseMoveToRadians=a.mouseMoveToRadians;this.mouseMoveToScale=a.mouseMoveToScale;this.mouseMoveToTranslation=a.mouseMoveToTranslation;this.onDrag=a.onDrag;this.onMouseDown=a.onMouseDown;this.onMouseUp=a.onMouseUp;this.removeDocEvents=a.removeDocEvents;this.nonDOMEvents=["drag"];this.chart=c;this.target=b;this.options=B;this.index=x(B.index,d)}c.prototype.setVisibility=function(c){this.graphic.attr("visibility",c?"visible":"hidden");this.options.visible=
+c};c.prototype.render=function(){var c=this.chart,b=this.options;this.graphic=c.renderer.symbol(b.symbol,0,0,b.width,b.height).add(c.controlPointsGroup).css(b.style);this.setVisibility(b.visible);this.addEvents()};c.prototype.redraw=function(c){this.graphic[c?"animate":"attr"](this.options.positioner.call(this,this.target))};c.prototype.destroy=function(){a.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null};c.prototype.update=function(c){var b=
+this.chart,a=this.target,d=this.index;c=h(!0,this.options,c);this.destroy();this.constructor(b,a,c,d);this.render(b.controlPointsGroup);this.redraw()};return c}()});r(a,"Extensions/Annotations/MockPoint.js",[a["Core/Series/Series.js"],a["Core/Utilities.js"],a["Core/Axis/Axis.js"]],function(c,a,n){var h=a.defined,m=a.fireEvent;return function(){function a(b,a,d){this.y=this.x=this.ttBelow=this.plotY=this.plotX=this.negative=this.isInside=void 0;this.mock=!0;this.series={visible:!0,chart:b,getPlotBox:c.prototype.getPlotBox};
+this.target=a||null;this.options=d;this.applyOptions(this.getOptions())}a.fromPoint=function(b){return new a(b.series.chart,null,{x:b.x,y:b.y,xAxis:b.series.xAxis,yAxis:b.series.yAxis})};a.pointToPixels=function(b,c){var d=b.series,e=d.chart,a=b.plotX,f=b.plotY;e.inverted&&(b.mock?(a=b.plotY,f=b.plotX):(a=e.plotWidth-b.plotY,f=e.plotHeight-b.plotX));d&&!c&&(b=d.getPlotBox(),a+=b.translateX,f+=b.translateY);return{x:a,y:f}};a.pointToOptions=function(b){return{x:b.x,y:b.y,xAxis:b.series.xAxis,yAxis:b.series.yAxis}};
+a.prototype.hasDynamicOptions=function(){return"function"===typeof this.options};a.prototype.getOptions=function(){return this.hasDynamicOptions()?this.options(this.target):this.options};a.prototype.applyOptions=function(b){this.command=b.command;this.setAxis(b,"x");this.setAxis(b,"y");this.refresh()};a.prototype.setAxis=function(b,c){c+="Axis";b=b[c];var d=this.series.chart;this.series[c]=b instanceof n?b:h(b)?d[c][b]||d.get(b):null};a.prototype.toAnchor=function(){var b=[this.plotX,this.plotY,0,
+0];this.series.chart.inverted&&(b[0]=this.plotY,b[1]=this.plotX);return b};a.prototype.getLabelConfig=function(){return{x:this.x,y:this.y,point:this}};a.prototype.isInsidePlot=function(){var b=this.plotX,c=this.plotY,d=this.series.xAxis,e=this.series.yAxis,a={x:b,y:c,isInsidePlot:!0};d&&(a.isInsidePlot=h(b)&&0<=b&&b<=d.len);e&&(a.isInsidePlot=a.isInsidePlot&&h(c)&&0<=c&&c<=e.len);m(this.series.chart,"afterIsInsidePlot",a);return a.isInsidePlot};a.prototype.refresh=function(){var b=this.series,c=b.xAxis;
+b=b.yAxis;var d=this.getOptions();c?(this.x=d.x,this.plotX=c.toPixels(d.x,!0)):(this.x=null,this.plotX=d.x);b?(this.y=d.y,this.plotY=b.toPixels(d.y,!0)):(this.y=null,this.plotY=d.y);this.isInside=this.isInsidePlot()};a.prototype.translate=function(b,c,d,e){this.hasDynamicOptions()||(this.plotX+=d,this.plotY+=e,this.refreshOptions())};a.prototype.scale=function(b,c,d,e){if(!this.hasDynamicOptions()){var a=this.plotY*e;this.plotX=(1-d)*b+this.plotX*d;this.plotY=(1-e)*c+a;this.refreshOptions()}};a.prototype.rotate=
+function(b,c,d){if(!this.hasDynamicOptions()){var e=Math.cos(d);d=Math.sin(d);var a=this.plotX,f=this.plotY;a-=b;f-=c;this.plotX=a*e-f*d+b;this.plotY=a*d+f*e+c;this.refreshOptions()}};a.prototype.refreshOptions=function(){var b=this.series,c=b.xAxis;b=b.yAxis;this.x=this.options.x=c?this.options.x=c.toValue(this.plotX,!0):this.plotX;this.y=this.options.y=b?b.toValue(this.plotY,!0):this.plotY};return a}()});r(a,"Extensions/Annotations/Mixins/ControllableMixin.js",[a["Extensions/Annotations/ControlPoint.js"],
+a["Extensions/Annotations/MockPoint.js"],a["Core/Tooltip.js"],a["Core/Utilities.js"]],function(c,a,n,x){var h=x.isObject,g=x.isString,b=x.merge,B=x.splat;return{init:function(b,c,a){this.annotation=b;this.chart=b.chart;this.options=c;this.points=[];this.controlPoints=[];this.index=a;this.linkPoints();this.addControlPoints()},attr:function(){this.graphic.attr.apply(this.graphic,arguments)},getPointsOptions:function(){var b=this.options;return b.points||b.point&&B(b.point)},attrsFromOptions:function(b){var d=
+this.constructor.attrsMap,c={},a,p=this.chart.styledMode;for(a in b){var u=d[a];!u||p&&-1!==["fill","stroke","stroke-width"].indexOf(u)||(c[u]=b[a])}return c},anchor:function(c){var d=c.series.getPlotBox(),a=c.series.chart,f=c.mock?c.toAnchor():n.prototype.getAnchor.call({chart:c.series.chart},c);f={x:f[0]+(this.options.x||0),y:f[1]+(this.options.y||0),height:f[2]||0,width:f[3]||0};return{relativePosition:f,absolutePosition:b(f,{x:f.x+(c.mock?d.translateX:a.plotLeft),y:f.y+(c.mock?d.translateY:a.plotTop)})}},
+point:function(b,c){if(b&&b.series)return b;c&&null!==c.series||(h(b)?c=new a(this.chart,this,b):g(b)?c=this.chart.get(b)||null:"function"===typeof b&&(c=b.call(c,this),c=c.series?c:new a(this.chart,this,b)));return c},linkPoints:function(){var b=this.getPointsOptions(),c=this.points,a=b&&b.length||0,f;for(f=0;fg&&("right"===e?a.align="left":a.x=(a.x||0)-g);g=c+h.width-p;g>b.plotWidth&&("left"===e?a.align="right":a.x=(a.x||0)+b.plotWidth-g);g=d+p;0>g&&("bottom"===f?a.verticalAlign="top":a.y=(a.y||0)-g);g=d+h.height-p;g>b.plotHeight&&("top"===f?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-g);return a};a.prototype.translatePoint=function(b,a){c.translatePoint.call(this,
+b,a,0)};a.prototype.translate=function(b,a){var c=this.annotation.chart,d=this.annotation.userOptions,e=c.annotations.indexOf(this.annotation);e=c.options.annotations[e];c.inverted&&(c=b,b=a,a=c);this.options.x+=b;this.options.y+=a;e[this.collection][this.index].x=this.options.x;e[this.collection][this.index].y=this.options.y;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y};a.prototype.render=function(b){var d=this.options,e=this.attrsFromOptions(d),
+f=d.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,d.shape,null,null,d.useHTML,null,"annotation-label").attr(e).add(b);this.annotation.chart.styledMode||("contrast"===f.color&&(f.color=this.annotation.chart.renderer.getContrast(-1n&&(n=-e-n);na+e?m.push(["L",b+h,a+e]):gb+c&&m.push(["L",b+c,a+e/2])}return m||[]};return g});r(a,"Extensions/Annotations/Controllables/ControllableImage.js",[a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"]],function(a,h){return function(){function c(a,
+c,g){this.addControlPoints=h.addControlPoints;this.anchor=h.anchor;this.attr=h.attr;this.attrsFromOptions=h.attrsFromOptions;this.destroy=h.destroy;this.getPointsOptions=h.getPointsOptions;this.init=h.init;this.linkPoints=h.linkPoints;this.point=h.point;this.rotate=h.rotate;this.scale=h.scale;this.setControlPointsVisibility=h.setControlPointsVisibility;this.shouldBeDrawn=h.shouldBeDrawn;this.transform=h.transform;this.transformPoint=h.transformPoint;this.translatePoint=h.translatePoint;this.translateShape=
+h.translateShape;this.update=h.update;this.type="image";this.translate=h.translateShape;this.init(a,c,g);this.collection="shapes"}c.prototype.render=function(a){var c=this.attrsFromOptions(this.options),g=this.options;this.graphic=this.annotation.chart.renderer.image(g.src,0,-9E9,g.width,g.height).attr(c).add(a);this.graphic.width=g.width;this.graphic.height=g.height;h.render.call(this)};c.prototype.redraw=function(c){var m=this.anchor(this.points[0]);if(m=a.prototype.position.call(this,m))this.graphic[c?
+"animate":"attr"]({x:m.x,y:m.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!m;h.redraw.call(this,c)};c.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return c}()});r(a,"Extensions/Annotations/Annotations.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Chart/Chart.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllableRect.js"],a["Extensions/Annotations/Controllables/ControllableCircle.js"],a["Extensions/Annotations/Controllables/ControllableEllipse.js"],
+a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Extensions/Annotations/Controllables/ControllableImage.js"],a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/ControlPoint.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"],a["Core/Globals.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Pointer.js"],a["Core/Utilities.js"]],function(a,h,n,x,m,g,b,r,d,e,v,f,p,u,y){var c=a.getDeferredAnimation;a=h.prototype;var B=y.addEvent,D=y.defined,
+z=y.destroyObjectProperties,E=y.erase,w=y.extend,l=y.find,q=y.fireEvent,k=y.merge,t=y.pick,A=y.splat;y=y.wrap;var F=function(){function a(a,b){this.annotation=void 0;this.coll="annotations";this.shapesGroup=this.labelsGroup=this.labelCollector=this.group=this.graphic=this.animationConfig=this.collection=void 0;this.chart=a;this.points=[];this.controlPoints=[];this.coll="annotations";this.labels=[];this.shapes=[];this.options=k(this.defaultOptions,b);this.userOptions=b;b=this.getLabelsAndShapesOptions(this.options,
+b);this.options.labels=b.labels;this.options.shapes=b.shapes;this.init(a,this.options)}a.prototype.init=function(){var a=this.chart,b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.setLabelCollector();this.animationConfig=c(a,b)};a.prototype.getLabelsAndShapesOptions=function(a,b){var c={};["labels","shapes"].forEach(function(d){a[d]&&(c[d]=b[d]?A(b[d]).map(function(b,c){return k(a[d][c],b)}):a[d])});return c};a.prototype.addShapes=function(){(this.options.shapes||
+[]).forEach(function(a,b){a=this.initShape(a,b);k(!0,this.options.shapes[b],a.options)},this)};a.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,b){a=this.initLabel(a,b);k(!0,this.options.labels[b],a.options)},this)};a.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};a.prototype.setClipAxes=function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||
+[]).concat(this.options.shapes||[]).reduce(function(c,d){d=d&&(d.point||d.points&&d.points[0]);return[a[d&&d.xAxis]||c[0],b[d&&d.yAxis]||c[1]]},[]);this.clipXAxis=c[0];this.clipYAxis=c[1]};a.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};a.prototype.setLabelCollector=function(){var a=this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||
+a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};a.prototype.setOptions=function(a){this.options=k(this.defaultOptions,a)};a.prototype.redraw=function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);n.redraw.call(this,a)};a.prototype.redrawItems=function(a,b){for(var c=a.length;c--;)this.redrawItem(a[c],b)};a.prototype.renderItems=function(a){for(var b=
+a.length;b--;)this.renderItem(a[b])};a.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"visible":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths();this.clipRect&&this.graphic.clip(this.clipRect);
+this.renderItems(this.shapes);this.renderItems(this.labels);this.addEvents();n.render.call(this)};a.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=t(a,!b.visible);this.graphic.attr("visibility",a?"visible":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&q(c,"closePopup"));b.visible=a};a.prototype.setControlPointsVisibility=function(a){var b=function(b){b.setControlPointsVisibility(a)};
+n.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};a.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=null;E(a.labelCollectors,this.labelCollector);v.destroy.call(this);n.destroy.call(this);z(this,a)};a.prototype.remove=function(){return this.chart.removeAnnotation(this)};a.prototype.update=function(a,b){var c=this.chart,d=this.getLabelsAndShapesOptions(this.userOptions,
+a),A=c.annotations.indexOf(this);a=k(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;this.destroy();this.constructor(c,a);c.options.annotations[A]=a;this.isUpdating=!0;t(b,!0)&&c.redraw();q(this,"afterUpdate");this.isUpdating=!1};a.prototype.initShape=function(b,c){b=k(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},b);c=new a.shapesMap[b.type](this,b,c);c.itemType="shape";this.shapes.push(c);return c};a.prototype.initLabel=function(a,b){a=k(this.options.labelOptions,
+{controlPointOptions:this.options.controlPointOptions},a);b=new d(this,a,b);b.itemType="label";this.labels.push(b);return b};a.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(t(b,!0)&&a.graphic.placed),a.points.length&&this.adjustVisibility(a)):this.destroyItem(a)};a.prototype.adjustVisibility=function(a){var b=!1,c=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(b=!0)});b?"hidden"===c.visibility&&c.show():
+c.hide()};a.prototype.destroyItem=function(a){E(this[a.itemType+"s"],a);a.destroy()};a.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};a.ControlPoint=e;a.MockPoint=p;a.shapesMap={rect:x,circle:m,ellipse:g,path:b,image:r};a.types={};return a}();k(!0,F.prototype,n,v,k(F.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",
+borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return D(this.y)?this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle",width:10,height:10,style:{cursor:"pointer",
+fill:"#ffffff",stroke:"#000000","stroke-width":2},visible:!1,events:{}},events:{},zIndex:6}}));f.extendAnnotation=function(a,b,c,d){b=b||F;w(a.prototype,k(b.prototype,c));a.prototype.defaultOptions=k(a.prototype.defaultOptions,d||{})};w(a,{initAnnotation:function(a){a=new (F.types[a.type]||F)(this,a);this.annotations.push(a);return a},addAnnotation:function(a,b){a=this.initAnnotation(a);this.options.annotations.push(a.options);t(b,!0)&&(a.redraw(),a.graphic.attr({opacity:1}));return a},removeAnnotation:function(a){var b=
+this.annotations,c="annotations"===a.coll?a:l(b,function(b){return b.options.id===a});c&&(q(c,"remove"),E(this.options.annotations,c.options),E(b,c),c.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}});a.collectionsWithUpdate.push("annotations");a.collectionsWithInit.annotations=[a.addAnnotation];B(h,"afterInit",function(){this.annotations=[];this.options.annotations||(this.options.annotations=
+[])});a.callbacks.push(function(a){a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(b,c){if(!a.annotations.some(function(a){return a.options===b})){var d=a.initAnnotation(b);a.options.annotations[c]=d.options}});a.drawAnnotations();B(a,"redraw",a.drawAnnotations);B(a,"destroy",function(){a.plotBoxClip.destroy();a.controlPointsGroup.destroy()});B(a,"exportData",function(b){var c=
+(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,d=!b.dataRows[1].xValues,k=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,t=function(a){if(c){var b=c(a);if(!1!==b)return b}b=k+" "+a;return d?{columnTitle:b,topLevelColumnTitle:b}:b},A=b.dataRows[0].length,w=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter,F=a.options.exporting&&a.options.exporting.csv&&
+a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var c=a.options.text;a.points.forEach(function(a){var d=a.x,k=a.series.xAxis?a.series.xAxis.options.index:-1,t=!1;if(-1===k){a=b.dataRows[0].length;for(var e=Array(a),l=0;lA?a[a.length-1]+=w+c:a.push(c),t=!0)});if(!t){a=b.dataRows[0].length;e=Array(a);for(l=0;l=c-d&&a.value<=b+d&&!a.axis.options.isInternal})[0]}};h.prototype.initNavigationBindings=function(){var a=this.options;
+a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new q(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};v(h,"load",function(){this.initNavigationBindings()});v(h,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});v(q,"deselectButton",function(){this.selectedButtonElement=null});v(a,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()});m.Annotation&&(d(a),z(a.types,
+function(a){d(a)}));r({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",
+style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",
+point:{x:a.value,y:b.value,xAxis:a.axis.options.index,yAxis:b.axis.options.index},r:5}]},c.annotationsOptions,c.bindings.circleAnnotation.annotationsOptions))},steps:[function(a,b){var c=b.options.shapes[0].point;if(C(c.xAxis)&&C(c.yAxis)){var d=this.chart.inverted;var k=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);d=Math.max(Math.sqrt(Math.pow(d?c-a.chartX:k-a.chartX,2)+Math.pow(d?k-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:d}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",
+start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value,y:b.value},{x:a.value,y:b.value}],ry:1}]},c.annotationsOptions,c.bindings.ellipseAnnotation.annotationOptions))},steps:[function(a,b){b=b.shapes[0];
+var c=b.getAbsolutePosition(b.points[1]);b.translatePoint(a.chartX-c.x,a.chartY-c.y,1);b.redraw(!1)},function(a,b){b=b.shapes[0];var c=b.getAbsolutePosition(b.points[0]),d=b.getAbsolutePosition(b.points[1]);a=b.getDistanceFromLine(c,d,a.chartX,a.chartY);c=b.getYAxis();a=Math.abs(c.toValue(0)-c.toValue(a));b.setYRadius(a);b.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(a){a=this.chart.pointer.getCoordinates(a);var b=this.utils.getAssignedAxis(a.xAxis),
+c=this.utils.getAssignedAxis(a.yAxis);if(b&&c){a=b.value;var d=c.value;b=b.axis.options.index;c=c.axis.options.index;var k=this.chart.options.navigation;return this.chart.addAnnotation(D({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{command:"Z"}]}]},k.annotationsOptions,k.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a,b){var c=b.options.shapes[0].points,
+d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);a&&d&&(a=a.value,d=d.value,c[1].x=a,c[2].x=a,c[2].y=d,c[3].y=d,b.update({shapes:[{points:c}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"label",
+type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,x:a.value,y:b.value},overflow:"none",crop:!0}]},c.annotationsOptions,c.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}});v(h,"render",function(){var a=this,b=a.navigationBindings;if(a&&b){var c=!1;a.series.forEach(function(a){!a.options.isInternal&&a.visible&&(c=!0)});z(b.boundClassNames,function(b,d){if(a.navigationBindings&&
+a.navigationBindings.container&&a.navigationBindings.container[0]&&(d=a.navigationBindings.container[0].querySelectorAll("."+d)))for(var e=0;e option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];var l={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?l.seriesId=a.value:b?l.fields[b]=a.value:l.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==
+b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],l.fields[b]=a.value)});a&&(l.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return l},showPopup:function(){var a=this.container,b=a.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;a.innerHTML="";0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block";a.style.height=""},closePopup:function(){C(this.popup&&
+this.popup.container,this.container).style.display="none"},showForm:function(a,b,c,d){b&&(this.popup=b.navigationBindings.popup,this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")},getLangpack:function(){return x().lang.navigation.popup},
+annotations:{addToolbar:function(a,b,d){var l=this,f=this.lang,g=this.popup.container,w=this.showForm;-1===g.className.indexOf("highcharts-annotation-toolbar")&&(g.className+=" highcharts-annotation-toolbar");a&&(g.style.top=a.plotTop+10+"px");e("span",void 0,void 0,g).appendChild(c.createTextNode(C(f[b.langKey]||b.langKey,b.shapes&&b.shapes[0].type)));var q=this.addButton(g,f.removeButton||"remove","remove",g,d);q.className+=" highcharts-annotation-remove-button";q.style["background-image"]="url("+
+this.iconsURL+"destroy.svg)";q=this.addButton(g,f.editButton||"edit","edit",g,function(){w.call(l,"annotation-edit",a,b,d)});q.className+=" highcharts-annotation-edit-button";q.style["background-image"]="url("+this.iconsURL+"edit.svg)"},addForm:function(a,b,d,k){var l=this.popup.container,g=this.lang;if(a){var f=e("h2",{className:"highcharts-popup-main-title"},void 0,l);f.appendChild(c.createTextNode(g[b.langKey]||b.langKey||""));f=e("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},
+void 0,l);var q=e("div",{className:"highcharts-popup-bottom-row"},void 0,l);this.annotations.addFormFields.call(this,f,a,"",b,[],!0);this.addButton(q,k?g.addButton||"add":g.saveButton||"save",k?"add":"save",l,d)}},addFormFields:function(a,d,g,k,f,h){var l=this,q=this.annotations.addFormFields,w=this.addInput,t=this.lang,m,A;d&&(y(k,function(b,c){m=""!==g?g+"."+c:c;u(b)&&(!p(b)||p(b)&&u(b[0])?(A=t[c]||c,A.match(D)||f.push([!0,A,a]),q.call(l,a,d,m,b,f,!1)):f.push([l,m,"annotation",a,b]))}),h&&(G(f,
+function(a){return a[1].match(/format/g)?-1:1}),b&&f.reverse(),f.forEach(function(a){!0===a[0]?e("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(c.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},w.apply(a[0],a.splice(1)))})))}},indicators:{addForm:function(a,b,c){var d=this.indicators,e=this.lang;if(a){this.tabs.init.call(this,a);b=this.popup.container.querySelectorAll(".highcharts-tab-item-content");this.addColsContainer(b[0]);d.addSearchBox.call(this,a,b[0]);d.addIndicatorList.call(this,
+a,b[0],"add");var l=b[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(l,e.addButton||"add","add",l,c);this.addColsContainer(b[1]);d.addIndicatorList.call(this,a,b[1],"edit");l=b[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(l,e.saveButton||"save","edit",l,c);this.addButton(l,e.removeButton||"remove","remove",l,c)}},filterSeries:function(a,b){var c=this.indicators,d=this.chart&&this.chart.options.lang,e=d&&d.navigation&&d.navigation.popup&&d.navigation.popup.indicatorAliases,
+l=[],f;y(a,function(a,d){var k=a.options;if(a.params||k&&k.params)if(k=c.getNameType(a,d),d=k.indicatorFullName,k=k.indicatorType,b){var g=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");g=new RegExp(g,"i");var q=e&&e[k]&&e[k].join(" ")||"";if(d.match(g)||q.match(g))f={indicatorFullName:d,indicatorType:k,series:a},l.push(f)}else f={indicatorFullName:d,indicatorType:k,series:a},l.push(f)});return l},filterSeriesArray:function(a){var b=[],c;a.forEach(function(a){a.is("sma")&&(c={indicatorFullName:a.name,indicatorType:a.type,
+series:a},b.push(c))});return b},addIndicatorList:function(a,b,f,k){var l=this,g=l.indicators,h=l.lang,q=b.querySelectorAll(".highcharts-popup-lhs-col")[0];b=b.querySelectorAll(".highcharts-popup-rhs-col")[0];var w="edit"===f,m=this.indicators.addFormFields;f=w?a.series:a.options.plotOptions||{};if(a||!f){var n,r=[];w||p(f)?p(f)&&(r=g.filterSeriesArray.call(this,f)):r=g.filterSeries.call(this,f,k);G(r,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return ab?1:0});q.children[1]&&q.children[1].remove();var v=e("ul",{className:"highcharts-indicator-list"},void 0,q);var u=b.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];r.forEach(function(b){var k=b.indicatorFullName,f=b.indicatorType,g=b.series;n=e("li",{className:"highcharts-indicator-list"},void 0,v);n.appendChild(c.createTextNode(k));["click","touchstart"].forEach(function(b){d(n,b,function(){var b=u.parentNode.children[1];m.call(l,a,g,f,u);b&&(b.style.display="block");w&&g.options&&
+e("input",{type:"hidden",name:"highcharts-id-"+f,value:g.options.id},void 0,u).setAttribute("highcharts-data-series-id",g.options.id)})})});0 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
+"vertex"),p=C("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment");if(!O||!p)return f=!1,a(),!1;
+f=d.createProgram();d.attachShader(f,O);d.attachShader(f,p);d.linkProgram(f);if(!d.getProgramParameter(f,d.LINK_STATUS))return t.push(d.getProgramInfoLog(f)),a(),f=!1;d.useProgram(f);d.bindAttribLocation(f,0,"aVertexPosition");e=b("uPMatrix");m=b("pSize");l=b("fillColor");K=b("isBubble");L=b("bubbleSizeAbs");D=b("bubbleSizeByArea");M=b("uSampler");H=b("skipTranslation");c=b("isCircle");h=b("isInverted");return!0}function y(b,c){d&&f&&(b=n[b]=n[b]||d.getUniformLocation(f,b),d.uniform1f(b,c))}var n=
+{},f,e,m,l,K,L,D,H,c,h,t=[],M;return d&&!p()?!1:{psUniform:function(){return m},pUniform:function(){return e},fillColorUniform:function(){return l},setBubbleUniforms:function(b,h,e){var g=b.options,t=Number.MAX_VALUE,a=-Number.MAX_VALUE;if(d&&f&&b.is("bubble")){var M=b.getPxExtremes();t=k(g.zMin,q(h,!1===g.displayNegative?g.zThreshold:-Number.MAX_VALUE,t));a=k(g.zMax,Math.max(a,e));d.uniform1i(K,1);d.uniform1i(c,1);d.uniform1i(D,"width"!==b.options.sizeBy);d.uniform1i(L,b.options.sizeByAbsoluteValue);
+y("bubbleZMin",t);y("bubbleZMax",a);y("bubbleZThreshold",b.options.zThreshold);y("bubbleMinSize",M.minPxSize);y("bubbleMaxSize",M.maxPxSize)}},bind:function(){d&&f&&d.useProgram(f)},program:function(){return f},create:p,setUniform:y,setPMatrix:function(b){d&&f&&d.uniformMatrix4fv(e,!1,b)},setColor:function(b){d&&f&&d.uniform4f(l,b[0]/255,b[1]/255,b[2]/255,b[3])},setPointSize:function(b){d&&f&&d.uniform1f(m,b)},setSkipTranslation:function(b){d&&f&&d.uniform1i(H,!0===b?1:0)},setTexture:function(b){d&&
+f&&d.uniform1i(M,b)},setDrawAsCircle:function(b){d&&f&&d.uniform1i(c,b?1:0)},reset:function(){d&&f&&(d.uniform1i(K,0),d.uniform1i(c,0))},setInverted:function(b){d&&f&&d.uniform1i(h,b)},destroy:function(){d&&f&&(d.deleteProgram(f),f=!1)}}}});u(a,"Extensions/Boost/WGLVBuffer.js",[],function(){return function(a,z,v){function k(){d&&(a.deleteBuffer(d),r=d=!1);y=0;q=v||2;n=[]}var d=!1,r=!1,q=v||2,p=!1,y=0,n;return{destroy:k,bind:function(){if(!d)return!1;a.vertexAttribPointer(r,q,a.FLOAT,!1,0,0)},data:n,
+build:function(f,e,m){var l;n=f||[];if(!(n&&0!==n.length||p))return k(),!1;q=m||q;d&&a.deleteBuffer(d);p||(l=new Float32Array(n));d=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,d);a.bufferData(a.ARRAY_BUFFER,p||l,a.STATIC_DRAW);r=a.getAttribLocation(z.program(),e);a.enableVertexAttribArray(r);return!0},render:function(f,e,m){var l=p?p.length:n.length;if(!d||!l)return!1;if(!f||f>l||0>f)f=0;if(!e||e>l)e=l;if(f>=e)return!1;a.drawArrays(a[(m||"points").toUpperCase()],f/q,(e-f)/q);return!0},allocate:function(a){y=
+-1;p=new Float32Array(4*a)},push:function(a,e,d,l){p&&(p[++y]=a,p[++y]=e,p[++y]=d,p[++y]=l)}}}});u(a,"Extensions/Boost/WGLRenderer.js",[a["Core/Color/Color.js"],a["Extensions/Boost/WGLShader.js"],a["Extensions/Boost/WGLVBuffer.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,v,k,d){var r=a.parse,q=k.doc,p=d.isNumber,y=d.isObject,n=d.merge,f=d.objectEach,e=d.pick;return function(d){function m(b){if(b.isSeriesBoosting){var c=!!b.options.stacking;var h=b.xData||b.options.xData||b.processedXData;
+c=(c?b.data:h||b.options.data).length;"treemap"===b.type?c*=12:"heatmap"===b.type?c*=6:ca[b.type]&&(c*=2);return c}return 0}function K(){g.clear(g.COLOR_BUFFER_BIT|g.DEPTH_BUFFER_BIT)}function L(b,c){function h(b){b&&(c.colorData.push(b[0]),c.colorData.push(b[1]),c.colorData.push(b[2]),c.colorData.push(b[3]))}function a(b,c,a,g,e){h(e);w.usePreallocated?(O.push(b,c,a?1:0,g||1),qa+=4):(B.push(b),B.push(c),B.push(a?1:0),B.push(g||1))}function g(){c.segments.length&&(c.segments[c.segments.length-1].to=
+B.length||qa)}function e(){c.segments.length&&c.segments[c.segments.length-1].from===(B.length||qa)||(g(),c.segments.push({from:B.length||qa}))}function d(b,c,g,e,d){h(d);a(b+g,c);h(d);a(b,c);h(d);a(b,c+e);h(d);a(b,c+e);h(d);a(b+g,c+e);h(d);a(b+g,c)}function t(b,h){w.useGPUTranslations||(c.skipTranslation=!0,b.x=Q.toPixels(b.x,!0),b.y=v.toPixels(b.y,!0));h?B=[b.x,b.y,0,2].concat(B):a(b.x,b.y,0,2)}var M=b.pointArrayMap&&"low,high"===b.pointArrayMap.join(","),m=b.chart,x=b.options,S=!!x.stacking,f=
+x.data,l=b.xAxis.getExtremes(),p=l.min,n=l.max;l=b.yAxis.getExtremes();var k=l.min,K=l.max,q=b.xData||x.xData||b.processedXData,D=b.yData||x.yData||b.processedYData,L=b.zData||x.zData||b.processedZData,v=b.yAxis,Q=b.xAxis,H=b.chart.plotWidth,R=!q||0===q.length,z=x.connectNulls;l=b.points||!1;var P=!1,u=!1,C,G,E=S?b.data:q||f,ma={x:Number.MAX_VALUE,y:0},na={x:-Number.MAX_VALUE,y:0},Ia=0,Y=!1,F,A,N,U,J=-1,aa=!1,ha=!1,X,Ra="undefined"===typeof m.index,ba=!1,Ba=!1,I=!1,Pa=ca[b.type],Ca=!1,Ja=!0,Ka=!0,
+Qa=x.zoneAxis||"y",oa=x.zones||!1,T=!1,La=x.threshold,Da=!1;if(!(x.boostData&&0c.node.levelDynamic)return 1;if(b.node.levelDynamicc.zMax&&(c.zMax=N[2]),N[2]c.zMax&&(c.zMax=L[J]),L[J]=p&&ha<=n&&(ba=!0);aa&&aa>=p&&aa<=n&&(Ba=!0);M?(R&&(A=N.slice(1,3)),X=A[0],A=A[1]):S&&(F=N.x,A=N.stackY,X=A-N.y);null!==k&&"undefined"!==typeof k&&null!==K&&"undefined"!==typeof K&&(Ja=A>=k&&A<=K);F>n&&na.xp&&(ma.x=F,ma.y=A);if(null===A&&z)return"continue";if(null===A||!Ja&&!ba&&!Ba)return e(),"continue";(ha>=p||F>=p)&&(aa<=n||F<=n)&&(Ca=!0);if(!Ca&&!ba&&!Ba)return"continue";Da&&F-aa>Da&&e();if(oa){var g;oa.some(function(b,c){var h=oa[c-1];return"x"===Qa?"undefined"!==typeof b.value&&F<=b.value?(pa[c]&&(!h||F>=h.value)&&(g=pa[c]),!0):!1:"undefined"!==typeof b.value&&A<=b.value?(pa[c]&&(!h||A>=h.value)&&(g=pa[c]),!0):!1});I=g||T||I}if(!w.useGPUTranslations&&(c.skipTranslation=!0,
+F=Q.toPixels(F,!0),A=v.toPixels(A,!0),F>H&&"points"===c.drawMode))return"continue";c.hasMarkers&&Ca&&!1!==P&&(b.closestPointRangePx=Math.min(b.closestPointRangePx,Math.abs(F-P)));if(!w.useGPUTranslations&&!w.usePreallocated&&P&&1>Math.abs(F-P)&&u&&1>Math.abs(A-u))return w.debug.showSkipSummary&&++Ia,"continue";if(Pa){C=X;if(!1===X||"undefined"===typeof X)C=0>A?A:0;M||S||(C=Math.max(null===La?k:La,k));w.useGPUTranslations||(C=v.toPixels(C,!0));a(F,C,0,0,I)}x.step&&!Ka&&a(F,u,0,2,I);a(F,A,0,"bubble"===
+b.type?U||1:2,I);P=F;u=A;Y=!0;Ka=!1};J-Number.MAX_VALUE&&t(na))}g()}}function D(){G=[];C.data=B=[];u=[];O&&O.destroy()}function H(c){b&&(b.setUniform("xAxisTrans",c.transA),b.setUniform("xAxisMin",c.min),b.setUniform("xAxisMinPad",c.minPixelPadding),b.setUniform("xAxisPointRange",c.pointRange),b.setUniform("xAxisLen",c.len),b.setUniform("xAxisPos",
+c.pos),b.setUniform("xAxisCVSCoord",!c.horiz),b.setUniform("xAxisIsLog",!!c.logarithmic),b.setUniform("xAxisReversed",!!c.reversed))}function c(c){b&&(b.setUniform("yAxisTrans",c.transA),b.setUniform("yAxisMin",c.min),b.setUniform("yAxisMinPad",c.minPixelPadding),b.setUniform("yAxisPointRange",c.pointRange),b.setUniform("yAxisLen",c.len),b.setUniform("yAxisPos",c.pos),b.setUniform("yAxisCVSCoord",!c.horiz),b.setUniform("yAxisIsLog",!!c.logarithmic),b.setUniform("yAxisReversed",!!c.reversed))}function h(c,
+h){b.setUniform("hasThreshold",c);b.setUniform("translatedThreshold",h)}function t(t){if(t)R=t.chartWidth||800,P=t.chartHeight||400;else return!1;if(!(g&&R&&P&&b))return!1;w.debug.timeRendering&&console.time("gl rendering");g.canvas.width=R;g.canvas.height=P;b.bind();g.viewport(0,0,R,P);b.setPMatrix([2/R,0,0,0,0,-(2/P),0,0,0,0,-2,0,-1,1,-1,1]);12*((m.marker?m.marker.radius:10)||10));l=U[l&&l.symbol||d.series.symbol]||U.circle;if(0!==d.segments.length&&d.segments[0].from!==d.segments[0].to){l.isReady&&(g.bindTexture(g.TEXTURE_2D,l.handle),b.setTexture(l.handle));t.styledMode?l=d.series.markerGroup&&d.series.markerGroup.getStyle("fill"):
+(l="points"===d.drawMode&&d.series.pointAttribs&&d.series.pointAttribs().fill||d.series.color,m.colorByPoint&&(l=d.series.chart.options.colors[M]));d.series.fillOpacity&&m.fillOpacity&&(l=(new a(l)).setOpacity(e(m.fillOpacity,1)).get());l=r(l).rgba;w.useAlpha||(l[3]=1);"lines"===d.drawMode&&w.useAlpha&&1>l[3]&&(l[3]/=10);"add"===m.boostBlending?(g.blendFunc(g.SRC_ALPHA,g.ONE),g.blendEquation(g.FUNC_ADD)):"mult"===m.boostBlending||"multiply"===m.boostBlending?g.blendFunc(g.DST_COLOR,g.ZERO):"darken"===
+m.boostBlending?(g.blendFunc(g.ONE,g.ONE),g.blendEquation(g.FUNC_MIN)):g.blendFuncSeparate(g.SRC_ALPHA,g.ONE_MINUS_SRC_ALPHA,g.ONE,g.ONE_MINUS_SRC_ALPHA);b.reset();0=G.length?G.push(c):G[b.index]=c;L(b,c);w.debug.timeSeriesProcessing&&console.timeEnd("building "+b.type+" series")},setSize:function(c,h){R===c&&P===h||!b||(R=c,P=h,b.bind(),b.setPMatrix([2/R,0,0,0,0,-(2/P),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return Y},setThreshold:h,init:function(c,h){function d(b,c){var h={isReady:!1,texture:q.createElement("canvas"),handle:g.createTexture()},
+d=h.texture.getContext("2d");U[b]=h;h.texture.width=512;h.texture.height=512;d.mozImageSmoothingEnabled=!1;d.webkitImageSmoothingEnabled=!1;d.msImageSmoothingEnabled=!1;d.imageSmoothingEnabled=!1;d.strokeStyle="rgba(255, 255, 255, 0)";d.fillStyle="#FFF";c(d);try{g.activeTexture(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,h.handle),g.texImage2D(g.TEXTURE_2D,0,g.RGBA,g.RGBA,g.UNSIGNED_BYTE,h.texture),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,
+g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,g.LINEAR),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.LINEAR),g.bindTexture(g.TEXTURE_2D,null),h.isReady=!0}catch(W){}}var a=0,e=["webgl","experimental-webgl","moz-webgl","webkit-3d"];Y=!1;if(!c)return!1;for(w.debug.timeSetup&&console.time("gl setup");a=(n.options.boostThreshold||Number.MAX_VALUE)&&++f)}a.boostForceChartBoost=m&&(k===a.series.length&&0=y&&f<=K);if(null!==f&&e>=v&&e<=z&&d)if(b=g.toPixels(e,!0),w){if("undefined"===typeof W||b===D){ia||(h=f);if("undefined"===typeof Z||f>ea)ea=f,Z=c;if("undefined"===typeof W||hplease use a modern browser")});e(k.prototype,{getContext:function(){var c=
+this.chart,a=c.chartWidth,d=c.chartHeight,e=c.seriesGroup||this.group,b=this,f=function(b,c,a,d,h,e,f){b.call(this,a,c,d,h,e,f)};c.isChartSeriesBoosting()&&(b=c,e=c.seriesGroup);var k=b.ctx;b.canvas||(b.canvas=p.createElement("canvas"),b.renderTarget=c.renderer.image("",0,0,a,d).addClass("highcharts-boost-canvas").add(e),b.ctx=k=b.canvas.getContext("2d"),c.inverted&&["moveTo","lineTo","rect","arc"].forEach(function(b){D(k,b,f)}),b.boostCopy=function(){b.renderTarget.attr({href:b.canvas.toDataURL("image/png")})},
+b.boostClear=function(){k.clearRect(0,0,b.canvas.width,b.canvas.height);b===this&&b.renderTarget.attr({href:""})},b.boostClipRect=c.renderer.clipRect(),b.renderTarget.clip(b.boostClipRect));b.canvas.width!==a&&(b.canvas.width=a);b.canvas.height!==d&&(b.canvas.height=d);b.renderTarget.attr({x:0,y:0,width:a,height:d,style:"pointer-events: none",href:""});b.boostClipRect.attr(c.getBoostClipRect(b));return k},canvasToSVG:function(){this.chart.isChartSeriesBoosting()?this.boostClear&&this.boostClear():
+(this.boostCopy||this.chart.boostCopy)&&(this.boostCopy||this.chart.boostCopy)()},cvsLineTo:function(c,a,d){c.lineTo(a,d)},renderCanvas:function(){var c=this,a=c.options,d=c.chart,k=this.xAxis,b=this.yAxis,n=(d.options.boost||{}).timeRendering||!1,p=0,g=c.processedXData,y=c.processedYData,D=a.data,B=k.getExtremes(),C=B.min,X=B.max;B=b.getExtremes();var Y=B.min,G=B.max,U={},ca,ba=!!c.sampling,w=a.marker&&a.marker.radius,x=this.cvsDrawPoint,S=a.lineWidth?this.cvsLineTo:void 0,ia=w&&1>=w?this.cvsMarkerSquare:
+this.cvsMarkerCircle,ra=this.cvsStrokeBatch||1E3,sa=!1!==a.enableMouseTracking,ta;B=a.threshold;var V=b.getThreshold(B),da=l(B),ea=V,W=this.fill,Z=c.pointArrayMap&&"low,high"===c.pointArrayMap.join(","),ua=!!a.stacking,ja=c.cropStart||0;B=d.options.loading;var ka=c.requireSorting,la,xa=a.connectNulls,Ea=!g,ya,za,fa,va,wa,Q=ua?c.data:g||D,Ma=c.fillOpacity?z.parse(c.color).setOpacity(L(a.fillOpacity,.75)).get():c.color,Fa=function(){W?(E.fillStyle=Ma,E.fill()):(E.strokeStyle=c.color,E.lineWidth=a.lineWidth,
+E.stroke())},Ga=function(b,a,h,e){0===p&&(E.beginPath(),S&&(E.lineJoin="round"));d.scroller&&"highcharts-navigator-series"===c.options.className?(a+=d.scroller.top,h&&(h+=d.scroller.top)):a+=d.plotTop;b+=d.plotLeft;la?E.moveTo(b,a):x?x(E,b,a,h,ta):S?S(E,b,a):ia&&ia.call(c,E,b,a,w,e);p+=1;p===ra&&(Fa(),p=0);ta={clientX:b,plotY:a,yBottom:h}},Na="x"===a.findNearestPointBy,Ha=this.xData||this.options.xData||this.processedXData||!1,Aa=function(c,a,h){wa=Na?c:c+","+a;sa&&!U[wa]&&(U[wa]=!0,d.inverted&&(c=
+k.len-c,a=b.len-a),Oa.push({x:Ha?Ha[ja+h]:!1,clientX:c,plotX:c,plotY:a,i:ja+h}))};this.renderTarget&&this.renderTarget.attr({href:""});(this.points||this.graph)&&this.destroyGraphics();c.plotGroup("group","series",c.visible?"visible":"hidden",a.zIndex,d.seriesGroup);c.markerGroup=c.group;f(c,"destroy",function(){c.markerGroup=null});var Oa=this.points=[];var E=this.getContext();c.buildKDTree=u;this.boostClear&&this.boostClear();this.visible&&(99999=C&&g<=X&&(e=!0);t&&t>=C&&t<=X&&(f=!0);if(Z){Ea&&(l=a.slice(1,3));var q=l[0];l=l[1]}else ua&&
+(m=a.x,l=a.stackY,q=l-a.y);a=null===l;ka||(p=l>=Y&&l<=G);if(!a&&(m>=C&&m<=X&&p||e||f))if(m=Math.round(k.toPixels(m,!0)),ba){if("undefined"===typeof fa||m===ca){Z||(q=l);if("undefined"===typeof va||l>za)za=l,va=h;if("undefined"===typeof fa||q=c.length?(a.y=Math.min(c[0].pos,a.y),a.height=c[0].pos-this.plotTop+c[0].len):a.height=this.plotHeight);return a};k.prototype.getPoint=function(c){var a=c,d=this.xData||this.options.xData||this.processedXData||!1;!c||c instanceof this.pointClass||(a=(new this.pointClass).init(this,this.options.data[c.i],d?d[c.i]:void 0),
+a.category=l(this.xAxis.categories?this.xAxis.categories[a.x]:a.x,a.x),a.dist=c.dist,a.distX=c.distX,a.plotX=c.plotX,a.plotY=c.plotY,a.index=c.i,a.isInside=this.isPointInside(c));return a};q(k.prototype,"searchPoint",function(c){return this.getPoint(c.apply(this,[].slice.call(arguments,1)))});q(v.prototype,"haloPath",function(c){var a=this.series,d=this.plotX,e=this.plotY,b=a.chart.inverted;a.isSeriesBoosting&&b&&(this.plotX=a.yAxis.len-e,this.plotY=a.xAxis.len-d);var f=c.apply(this,Array.prototype.slice.call(arguments,
+1));a.isSeriesBoosting&&b&&(this.plotX=d,this.plotY=e);return f});q(k.prototype,"markerAttribs",function(c,a){var d=a.plotX,e=a.plotY,b=this.chart.inverted;this.isSeriesBoosting&&b&&(a.plotX=this.yAxis.len-e,a.plotY=this.xAxis.len-d);var h=c.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&b&&(a.plotX=d,a.plotY=e);return h});d(k,"destroy",function(){var c=this,a=c.chart;a.markerGroup===c.markerGroup&&(c.markerGroup=null);a.hoverPoints&&(a.hoverPoints=a.hoverPoints.filter(function(a){return a.series===
+c}));a.hoverPoint&&a.hoverPoint.series===c&&(a.hoverPoint=null)});q(k.prototype,"getExtremes",function(a){return this.isSeriesBoosting&&this.hasExtremes&&this.hasExtremes()?{}:a.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(a){function c(c){var d=this.options.stacking&&("translate"===a||"generatePoints"===a);if(!this.isSeriesBoosting||d||!z(this.chart)||"heatmap"===this.type||"treemap"===this.type||!y[this.type]||
+0===this.options.boostThreshold)c.call(this);else if(this[a+"Canvas"])this[a+"Canvas"]()}q(k.prototype,a,c);"translate"===a&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(d){n[d]&&q(n[d].prototype,a,c)})});q(k.prototype,"processData",function(a){function c(b){return d.forceCrop?!1:d.chart.isChartSeriesBoosting()||(b?b.length:0)>=(d.options.boostThreshold||Number.MAX_VALUE)}var d=this,k=this.options.data;z(this.chart)&&y[this.type]?(c(k)&&"heatmap"!==this.type&&"treemap"!==
+this.type&&!this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(a.apply(this,Array.prototype.slice.call(arguments,1)),k=this.processedXData),(this.isSeriesBoosting=c(k))?(k=void 0,this.options.data&&this.options.data.length&&(k=this.getFirstValidPoint(this.options.data),m(k)||e(k)||f(12,!1,this.chart)),this.enterBoost()):this.exitBoost&&this.exitBoost()):a.apply(this,Array.prototype.slice.call(arguments,1))});d(k,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),
+this.boostClear())});k.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,val:this[a],own:Object.hasOwnProperty.call(this,a)})},this);this.directTouch=this.allowDG=!1;this.finishedAnimating=this.stickyTracking=!0;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};k.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},
+this);this.boostClear&&this.boostClear()};k.prototype.hasExtremes=function(a){var c=this.options,d=this.xAxis&&this.xAxis.options,e=this.yAxis&&this.yAxis.options,b=this.colorAxis&&this.colorAxis.options;return c.data.length>(c.boostThreshold||Number.MAX_VALUE)&&m(e.min)&&m(e.max)&&(!a||m(d.min)&&m(d.max))&&(!b||m(b.min)&&m(b.max))};k.prototype.destroyGraphics=function(){var a=this,d=this,e=this.points,f,b;if(e)for(b=0;b\u25cf {series.name}: {point.y}. Target: {point.target}
'}});return a}(c);t(a.prototype,{parallelArrays:["x","y","target"],pointArrayMap:["y",
+"target"]});a.prototype.pointClass=b;f.registerSeriesType("bullet",a);"";return a});d(b,"masters/modules/bullet.src.js",[],function(){})});
+//# sourceMappingURL=bullet.js.map
\ No newline at end of file
diff --git a/docs/libs/highcharts-9.3.1/modules/coloraxis.js b/docs/libs/highcharts-9.3.1/modules/coloraxis.js
new file mode 100644
index 0000000..43729c4
--- /dev/null
+++ b/docs/libs/highcharts-9.3.1/modules/coloraxis.js
@@ -0,0 +1,33 @@
+/*
+ Highcharts JS v9.3.1 (2021-11-05)
+
+ ColorAxis module
+
+ (c) 2012-2021 Pawel Potaczek
+
+ License: www.highcharts.com/license
+*/
+'use strict';(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/color-axis",["highcharts"],function(n){c(n);c.Highcharts=n;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function n(c,m,t,p){c.hasOwnProperty(m)||(c[m]=p.apply(null,t))}c=c?c._modules:{};n(c,"Core/Axis/Color/ColorAxisComposition.js",[c["Core/Color/Color.js"],c["Core/Utilities.js"]],function(c,m){var l=
+c.parse,p=m.addEvent,n=m.extend,y=m.merge,z=m.pick,r=m.splat,u;(function(c){function m(){var b=this,a=this.options;this.colorAxis=[];a.colorAxis&&(a.colorAxis=r(a.colorAxis),a.colorAxis.forEach(function(a,d){a.index=d;new h(b,a)}))}function u(a){var b=this,d=function(d){d=a.allItems.indexOf(d);-1!==d&&(b.destroyItem(a.allItems[d]),a.allItems.splice(d,1))},f=[],g,h;(this.chart.colorAxis||[]).forEach(function(a){(g=a.options)&&g.showInLegend&&(g.dataClasses&&g.visible?f=f.concat(a.getDataClassLegendSymbols()):
+g.visible&&f.push(a),a.series.forEach(function(a){if(!a.options.showInLegend||g.dataClasses)"point"===a.options.legendType?a.points.forEach(function(a){d(a)}):d(a)}))});for(h=f.length;h--;)a.allItems.unshift(f[h])}function t(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}function v(){var a=this.chart.colorAxis;a&&a.forEach(function(a,d,b){a.update({},b)})}function x(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}
+function q(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]}function B(a){var d=this,b=a?"show":"hide";d.visible=d.options.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(d[a])d[a][b]()});this.series.buildKDTree()}function e(){var a=this,d=this.options.nullColor,b=this.colorAxis,f=this.colorKey;(this.data.length?this.data:this.points).forEach(function(h){var g=h.getNestedProperty(f);(g=h.options.color||(h.isNull||null===h.value?d:b&&
+"undefined"!==typeof g?b.toColor(g,h):h.color||a.color))&&h.color!==g&&(h.color=g,"point"===a.options.legendType&&h.legendItem&&a.chart.legend.colorizeItem(h,h.visible))})}function b(a){var d=a.prototype.createAxis;a.prototype.createAxis=function(a,b){if("colorAxis"!==a)return d.apply(this,arguments);var f=new h(this,y(b.axis,{index:this[a].length,isX:!1}));this.isDirtyLegend=!0;this.axes.forEach(function(a){a.series=[]});this.series.forEach(function(a){a.bindAxes();a.isDirtyData=!0});z(b.redraw,
+!0)&&this.redraw(b.animation);return f}}function d(){this.elem.attr("fill",l(this.start).tweenTo(l(this.end),this.pos),void 0,!0)}function f(){this.elem.attr("stroke",l(this.start).tweenTo(l(this.end),this.pos),void 0,!0)}var a=[],h;c.compose=function(g,k,c,w,l){h||(h=g);-1===a.indexOf(k)&&(a.push(k),g=k.prototype,g.collectionsWithUpdate.push("colorAxis"),g.collectionsWithInit.colorAxis=[g.addColorAxis],p(k,"afterGetAxes",m),b(k));-1===a.indexOf(c)&&(a.push(c),k=c.prototype,k.fillSetter=d,k.strokeSetter=
+f);-1===a.indexOf(w)&&(a.push(w),p(w,"afterGetAllItems",u),p(w,"afterColorizeItem",t),p(w,"afterUpdate",v));-1===a.indexOf(l)&&(a.push(l),n(l.prototype,{optionalAxis:"colorAxis",translateColors:e}),n(l.prototype.pointClass.prototype,{setVisible:B}),p(l,"afterTranslate",x),p(l,"bindAxes",q))};c.pointSetVisible=B})(u||(u={}));return u});n(c,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,
+offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0}});n(c,"Core/Axis/Color/ColorAxis.js",[c["Core/Axis/Axis.js"],c["Core/Color/Color.js"],c["Core/Axis/Color/ColorAxisComposition.js"],c["Core/Axis/Color/ColorAxisDefaults.js"],c["Core/Globals.js"],c["Core/Legend/LegendSymbol.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,m,n,p,C,y,z,r){var l=this&&this.__extends||
+function(){var c=function(e,b){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(b,f){for(var a in f)f.hasOwnProperty(a)&&(b[a]=f[a])};return c(e,b)};return function(e,b){function d(){this.constructor=e}c(e,b);e.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),v=m.parse,t=C.noop,A=z.series,D=r.extend,E=r.isNumber,x=r.merge,q=r.pick;m=function(c){function e(b,d){var f=c.call(this,b,d)||this;f.beforePadding=!1;f.chart=void 0;f.coll=
+"colorAxis";f.dataClasses=void 0;f.legendItem=void 0;f.legendItems=void 0;f.name="";f.options=void 0;f.stops=void 0;f.visible=!0;f.init(b,d);return f}l(e,c);e.compose=function(b,d,f,a){n.compose(e,b,d,f,a)};e.prototype.init=function(b,d){var f=b.options.legend||{},a=d.layout?"vertical"!==d.layout:"vertical"!==f.layout,h=d.visible;f=x(e.defaultColorAxisOptions,d,{showEmpty:!1,title:null,visible:f.enabled&&!1!==h});this.coll="colorAxis";this.side=d.side||a?2:1;this.reversed=d.reversed||!a;this.opposite=
+!a;c.prototype.init.call(this,b,f);this.userOptions.visible=h;d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=a;this.zoomEnabled=!1};e.prototype.initDataClasses=function(b){var d=this.chart,f=this.options,a=b.dataClasses.length,h,c=0,e=d.options.chart.colorCount;this.dataClasses=h=[];this.legendItems=[];(b.dataClasses||[]).forEach(function(b,g){b=x(b);h.push(b);if(d.styledMode||!b.color)"category"===f.dataClassColor?(d.styledMode||(g=d.options.colors,e=g.length,b.color=g[c]),b.colorIndex=
+c,c++,c===e&&(c=0)):b.color=v(f.minColor).tweenTo(v(f.maxColor),2>a?.5:g/(a-1))})};e.prototype.hasData=function(){return!!(this.tickPositions||[]).length};e.prototype.setTickPositions=function(){if(!this.dataClasses)return c.prototype.setTickPositions.call(this)};e.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(b){b.color=v(b[1])})};e.prototype.setOptions=function(b){c.prototype.setOptions.call(this,b);
+this.options.crosshair=this.options.marker};e.prototype.setAxisSize=function(){var b=this.legendSymbol,d=this.chart,f=d.options.legend||{},a,c;b?(this.left=f=b.attr("x"),this.top=a=b.attr("y"),this.width=c=b.attr("width"),this.height=b=b.attr("height"),this.right=d.chartWidth-f-c,this.bottom=d.chartHeight-a-b,this.len=this.horiz?c:b,this.pos=this.horiz?f:a):this.len=(this.horiz?f.symbolWidth:f.symbolHeight)||e.defaultLegendLength};e.prototype.normalizedValue=function(b){this.logarithmic&&(b=this.logarithmic.log2lin(b));
+return 1-(this.max-b)/(this.max-this.min||1)};e.prototype.toColor=function(b,d){var f=this.dataClasses,a=this.stops,c;if(f)for(c=f.length;c--;){var e=f[c];var k=e.from;a=e.to;if(("undefined"===typeof k||b>=k)&&("undefined"===typeof a||b<=a)){var l=e.color;d&&(d.dataClass=c,d.colorIndex=e.colorIndex);break}}else{b=this.normalizedValue(b);for(c=a.length;c--&&!(b>a[c][0]););k=a[c]||a[c+1];a=a[c+1]||k;b=1-(a[0]-b)/(a[0]-k[0]||1);l=k.color.tweenTo(a.color,b)}return l};e.prototype.getOffset=function(){var b=
+this.legendGroup,d=this.chart.axisOffset[this.side];b&&(this.axisParent=b,c.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)};e.prototype.setLegendColor=function(){var b=this.reversed,d=b?1:0;b=b?0:1;d=this.horiz?[d,0,b,0]:[0,b,0,d];this.legendColor={linearGradient:{x1:d[0],y1:d[1],x2:d[2],y2:d[3]},stops:this.stops}};e.prototype.drawLegendSymbol=function(b,d){var c=b.padding,a=b.options,h=this.horiz,g=q(a.symbolWidth,
+h?e.defaultLegendLength:12),k=q(a.symbolHeight,h?12:e.defaultLegendLength),l=q(a.labelPadding,h?16:30);a=q(a.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,b.baseline-11,g,k).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=g+c+(h?a:l);this.legendItemHeight=k+c+(h?l:0)};e.prototype.setState=function(b){this.series.forEach(function(d){d.setState(b)})};e.prototype.setVisible=function(){};e.prototype.getSeriesExtremes=function(){var b=this.series,d=b.length,
+c;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;){var a=b[d];var e=a.colorKey=q(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y");var g=a.pointArrayMap;var k=a[e+"Min"]&&a[e+"Max"];if(a[e+"Data"])var l=a[e+"Data"];else if(g){l=[];g=g.indexOf(e);var m=a.yData;if(0<=g&&m)for(c=0;ce+g&&(k=e+g+2);d.plotX=k;d.plotY=this.len-k;c.prototype.drawCrosshair.call(this,b,d);d.plotX=f;d.plotY=a;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&
+(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};e.prototype.getPlotLinePath=function(b){var d=this.left,f=b.translatedValue,a=this.top;return E(f)?this.horiz?[["M",f-4,a-6],["L",f+4,a-6],["L",f,a],["Z"]]:[["M",d,f],["L",d-6,f+6],["L",d-6,f-6],["Z"]]:c.prototype.getPlotLinePath.call(this,b)};e.prototype.update=function(b,d){var f=this.chart.legend;
+this.series.forEach(function(a){a.isDirtyData=!0});(b.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems();c.prototype.update.call(this,b,d);this.legendItem&&(this.setLegendColor(),f.colorizeItem(this,!0))};e.prototype.destroyItems=function(){var b=this.chart;this.legendItem?b.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(d){b.legend.destroyItem(d)});b.isDirtyLegend=!0};e.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();c.prototype.destroy.apply(this,
+[].slice.call(arguments))};e.prototype.remove=function(b){this.destroyItems();c.prototype.remove.call(this,b)};e.prototype.getDataClassLegendSymbols=function(){var b=this,d=b.chart,c=b.legendItems,a=d.options.legend,e=a.valueDecimals,g=a.valueSuffix||"",k;c.length||b.dataClasses.forEach(function(a,f){var l=a.from,h=a.to,m=d.numberFormatter,n=!0;k="";"undefined"===typeof l?k="< ":"undefined"===typeof h&&(k="> ");"undefined"!==typeof l&&(k+=m(l,e)+g);"undefined"!==typeof l&&"undefined"!==typeof h&&
+(k+=" - ");"undefined"!==typeof h&&(k+=m(h,e)+g);c.push(D({chart:d,name:k,options:{},drawLegendSymbol:y.drawRectangle,visible:!0,setState:t,isDataClass:!0,setVisible:function(){n=b.visible=!n;b.series.forEach(function(a){a.points.forEach(function(a){a.dataClass===f&&a.setVisible(n)})});d.legend.colorizeItem(this,n)}},a))});return c};e.defaultColorAxisOptions=p;e.defaultLegendLength=200;e.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"];return e}(c);Array.prototype.push.apply(c.keepProps,
+m.keepProps);"";return m});n(c,"masters/modules/coloraxis.src.js",[c["Core/Globals.js"],c["Core/Axis/Color/ColorAxis.js"]],function(c,m){c.ColorAxis=m;m.compose(c.Chart,c.Fx,c.Legend,c.Series)})});
+//# sourceMappingURL=coloraxis.js.map
\ No newline at end of file
diff --git a/docs/libs/highcharts-9.3.1/modules/data.js b/docs/libs/highcharts-9.3.1/modules/data.js
new file mode 100644
index 0000000..fb04a3e
--- /dev/null
+++ b/docs/libs/highcharts-9.3.1/modules/data.js
@@ -0,0 +1,42 @@
+/*
+ Highcharts JS v9.3.1 (2021-11-05)
+
+ Data module
+
+ (c) 2012-2021 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+'use strict';(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(p){b(p);b.Highcharts=p;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function p(b,e,v,p){b.hasOwnProperty(e)||(b[e]=p.apply(null,v))}b=b?b._modules:{};p(b,"Core/HttpUtilities.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,e){var v=b.doc,p=e.createElement,u=e.discardElement,
+q=e.merge,D=e.objectEach,w={ajax:function(b){var l=q(!0,{url:!1,type:"get",dataType:"json",success:!1,error:!1,data:!1,headers:{}},b);b={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"};var e=new XMLHttpRequest;if(!l.url)return!1;e.open(l.type.toUpperCase(),l.url,!0);l.headers["Content-Type"]||e.setRequestHeader("Content-Type",b[l.dataType]||b.text);D(l.headers,function(b,l){e.setRequestHeader(l,b)});e.onreadystatechange=function(){if(4===e.readyState){if(200===
+e.status){var b=e.responseText;if("json"===l.dataType)try{b=JSON.parse(b)}catch(A){l.error&&l.error(e,A);return}return l.success&&l.success(b)}l.error&&l.error(e,e.responseText)}};try{l.data=JSON.stringify(l.data)}catch(E){}e.send(l.data||!0)},getJSON:function(b,e){w.ajax({url:b,success:e,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(b,e,w){var l=p("form",q({method:"post",action:b,enctype:"multipart/form-data"},w),{display:"none"},v.body);D(e,function(b,e){p("input",{type:"hidden",
+name:e,value:b},null,l)});l.submit();u(l)}};"";return w});p(b,"Extensions/Data.js",[b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/HttpUtilities.js"],b["Core/Series/Point.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,e,p,H,I,q){var u=e.doc,w=p.ajax,v=I.seriesTypes;p=q.addEvent;var l=q.defined,J=q.extend,E=q.fireEvent,A=q.isNumber,B=q.merge,K=q.objectEach,F=q.pick,L=q.splat;q=function(){function b(a,c,h){this.options=this.rawColumns=this.firstRowAsNames=this.chartOptions=
+this.chart=void 0;this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(a){return a?Date.UTC(+a[1],a[2]-1,+a[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return a?Date.UTC(+a[3],a[2]-1,+a[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return a?Date.UTC(+a[3],a[1]-1,+a[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,
+parser:function(a){if(!a)return NaN;var c=+a[3];c=c>(new Date).getFullYear()-2E3?c+1900:c+2E3;return Date.UTC(c,a[2]-1,+a[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){return a?Date.UTC(+a[3]+2E3,a[1]-1,+a[2]):NaN}}};this.init(a,c,h)}b.prototype.init=function(a,c,h){var d=a.decimalPoint;c&&(this.chartOptions=c);h&&(this.chart=h);"."!==d&&","!==d&&(d=void 0);this.options=a;this.columns=a.columns||this.rowsToColumns(a.rows)||
+[];this.firstRowAsNames=F(a.firstRowAsNames,this.firstRowAsNames,!0);this.decimalRegex=d&&new RegExp("^(-?[0-9]+)"+d+"([0-9]+)$");this.rawColumns=[];if(this.columns.length){this.dataFound();var g=!0}this.hasURLOption(a)&&(clearTimeout(this.liveDataTimeout),g=!1);g||(g=this.fetchLiveData());g||(g=!!this.parseCSV().length);g||(g=!!this.parseTable().length);g||(g=this.parseGoogleSpreadsheet());!g&&a.afterComplete&&a.afterComplete()};b.prototype.hasURLOption=function(a){return!(!a||!(a.rowsURL||a.csvURL||
+a.columnsURL))};b.prototype.getColumnDistribution=function(){var a=this.chartOptions,c=this.options,h=[],d=function(a){return(v[a||"line"].prototype.pointArrayMap||[0]).length},g=a&&a.chart&&a.chart.type,b=[],m=[],k=0;c=c&&c.seriesMapping||a&&a.series&&a.series.map(function(){return{x:0}})||[];var f;(a&&a.series||[]).forEach(function(a){b.push(d(a.type||g))});c.forEach(function(a){h.push(a.x||0)});0===h.length&&h.push(0);c.forEach(function(c){var h=new G,t=b[k]||d(g),e=(a&&a.series||[])[k]||{},C=
+v[e.type||g||"line"].prototype.pointArrayMap,p=C||["y"];(l(c.x)||e.isCartesian||!C)&&h.addColumnReader(c.x,"x");K(c,function(a,c){"x"!==c&&h.addColumnReader(a,c)});for(f=0;fr||r>C?(++r,m=""):(!isNaN(parseFloat(m))&&isFinite(m)?(m=parseFloat(m),g("number")):isNaN(Date.parse(m))?g("string"):(m=m.replace(/\//g,"-"),g("date")),p.lengthr[","]?";":",";b.decimalPoint||(b.decimalPoint=c>h?".":",",g.decimalRegex=new RegExp("^(-?[0-9]+)"+b.decimalPoint+"([0-9]+)$"));return d}function d(a,c){var d=[],h=0,k=!1,e=[],t=[],f;if(!c||c>a.length)c=a.length;for(;hn[f]?"YY":"YYYY":12=n[f]?(d[f]="dd",k=!0):d[f].length||(d[f]="mm")))}if(k){for(f=0;fa)a=0;if(!k||k>=e.length)k=e.length-1;if(b.itemDelimiter)var q=
+b.itemDelimiter;else q=null,q=h(e);var z=0;for(n=a;n<=k;n++)"#"===e[n][0]?z++:c(e[n],n-a-z);b.columnTypes&&0!==b.columnTypes.length||!l.length||!l[0].length||"date"!==l[0][1]||b.dateFormat||(b.dateFormat=d(p[0]));this.dataFound()}return p};b.prototype.parseTable=function(){var a=this.options,c=a.table,h=this.columns||[],d=a.startRow||0,b=a.endRow||Number.MAX_VALUE,e=a.startColumn||0,m=a.endColumn||Number.MAX_VALUE;c&&("string"===typeof c&&(c=u.getElementById(c)),[].forEach.call(c.getElementsByTagName("tr"),
+function(a,c){c>=d&&c<=b&&[].forEach.call(a.children,function(a,b){var g=h[b-e],f=1;if(("TD"===a.tagName||"TH"===a.tagName)&&b>=e&&b<=m)for(h[b-e]||(h[b-e]=[]),h[b-e][c-d]=a.innerHTML;c-d>=f&&void 0===g[c-d-f];)g[c-d-f]=null,f++})}),this.dataFound());return h};b.prototype.fetchLiveData=function(){function a(g){function f(f,k,t){function n(){e&&h.liveDataURL===f&&(c.liveDataTimeout=setTimeout(a,m))}if(!f||!/^(http|\/|\.\/|\.\.\/)/.test(f))return f&&d.error&&d.error("Invalid URL"),!1;g&&(clearTimeout(c.liveDataTimeout),
+h.liveDataURL=f);w({url:f,dataType:t||"json",success:function(a){h&&h.series&&k(a);n()},error:function(a,c){3>++b&&n();return d.error&&d.error(c,a)}});return!0}f(k.csvURL,function(a){h.update({data:{csv:a}})},"text")||f(k.rowsURL,function(a){h.update({data:{rows:a}})})||f(k.columnsURL,function(a){h.update({data:{columns:a}})})}var c=this,h=this.chart,d=this.options,b=0,e=d.enablePolling,m=1E3*(d.dataRefreshRate||2),k=B(d);if(!this.hasURLOption(d))return!1;1E3>m&&(m=1E3);delete d.csvURL;delete d.rowsURL;
+delete d.columnsURL;a(!0);return this.hasURLOption(d)};b.prototype.parseGoogleSpreadsheet=function(){function a(c){var b=["https://sheets.googleapis.com/v4/spreadsheets",d,"values",m(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+h.googleAPIKey].join("/");w({url:b,dataType:"json",success:function(d){c(d);h.enablePolling&&setTimeout(function(){a(c)},e)},error:function(a,c){return h.error&&h.error(c,a)}})}var c=this,h=this.options,
+d=h.googleSpreadsheetKey,b=this.chart,e=Math.max(1E3*(h.dataRefreshRate||2),4E3),m=function(){if(h.googleSpreadsheetRange)return h.googleSpreadsheetRange;var a=("ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(h.startColumn||0)||"A")+((h.startRow||0)+1),c="ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(F(h.endColumn,-1))||"ZZ";l(h.endRow)&&(c+=h.endRow+1);return a+":"+c};d&&(delete h.googleSpreadsheetKey,a(function(a){a=a.values;if(!a||0===a.length)return!1;var d=a.reduce(function(a,c){return Math.max(a,c.length)},0);a.forEach(function(a){for(var c=
+0;ca[g+1])):(q&&q.length&&
+(k=this.parseDate(r)),m&&A(k)&&"float"!==p?(f[g]=r,a[g]=k,a.isDatetime=!0,"undefined"!==typeof a[g+1]&&(r=k>a[g+1],r!==n&&"undefined"!==typeof n&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,g=a.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):a.unsorted=!0),n=r)):(a[g]=""===q?null:q,0!==g&&(a.isDatetime||a.isNumeric)&&(a.mixed=!0)))}m&&a.mixed&&(d[c]=b[c]);if(m&&n&&this.options.sort)for(c=0;cthis.angle||this.angle>Math.PI,e=a.start||0,p=a.end||0;this.dataLabelPath||(this.dataLabelPath=c.arc({open:!0,longArc:Math.abs(Math.abs(e)-Math.abs(p))a.index){g=g.slice(0,d).reverse().concat(g.slice(d).reverse());var e=!0;break}e||g.reverse();for(d=0;dMath.PI&&(e=2*Math.PI-e);e*=h;el?l=0:l>=e.len&&(l=e.len);0>q?q=0:q>=e.len&&(q=e.len);if(0>a.plotX||a.plotX>d.len)g=0;a.upperGraphic&&(d={y:a.y,zone:a.zone},a.y=a.high,a.zone=a.zone?a.getZone():void 0,h=p(f.connectorColor,c.connectorColor,f.color,a.zone?a.zone.color:void 0,a.color),r(a,d));a={d:n.prototype.crispLine([["M",a.plotX,l],["L",a.plotX,q]],g,"ceil")};b.styledMode||(a.stroke=h,a["stroke-width"]=
+g,m&&(a.dashstyle=m));return a};c.prototype.drawConnector=function(a){var b=p(this.options.animationLimit,250);b=a.connector&&this.chart.pointCountb.userAgent.indexOf("Chrome"),d=g.URL||g.webkitURL||g;try{if(b.msSaveOrOpenBlob&&g.MSBlobBuilder){var t=new g.MSBlobBuilder;t.append(a);return t.getBlob("image/svg+xml")}if(!c)return d.createObjectURL(new g.Blob(["\ufeff"+
+a],{type:m}))}catch(N){}}var I=p.doc,c=p.seriesTypes,g=p.win;p=l.getOptions;l=l.setOptions;var E=r.addEvent,J=r.defined,F=r.extend,K=r.find,C=r.fireEvent,L=r.isNumber,v=r.pick,G=n.downloadURL;l({exporting:{csv:{annotations:{itemDelimiter:"; ",join:!1},columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",exportData:{annotationHeader:"Annotations",
+categoryHeader:"Category",categoryDatetimeHeader:"DateTime"},viewData:"View data table",hideData:"Hide data table"}});E(f,"render",function(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&!this.dataTableDiv&&this.viewData()});f.prototype.setUpKeyToAxis=function(){c.arearange&&(c.arearange.prototype.keyToAxis={low:"y",high:"y"});c.gantt&&(c.gantt.prototype.keyToAxis={start:"x",end:"x"})};f.prototype.getDataRows=function(b){var m=this.hasParallelCoordinates,
+y=this.time,c=this.options.exporting&&this.options.exporting.csv||{},d=this.xAxis,t={},f=[],n=[],p=[],z;var g=this.options.lang.exportData;var l=g.categoryHeader,M=g.categoryDatetimeHeader,w=function(q,e,m){if(c.columnHeaderFormatter){var d=c.columnHeaderFormatter(q,e,m);if(!1!==d)return d}return q?q instanceof a?q.options.title&&q.options.title.text||(q.dateTime?M:l):b?{columnTitle:1";d+=a.textContent||"";(a.children||
+[]).forEach(function(a){d+=b(a)});return d+=""+a.tagName+">"};a=this.getTableAST(a);return b(a)};f.prototype.getTableAST=function(a){var b=0,c=[],d=this.options,f=a?(1.1).toLocaleString()[1]:".",l=v(d.exporting.useMultiLevelHeaders,!0);a=this.getDataRows(l);var g=l?a.shift():null,k=a.shift(),n=function(a,b,c,d){var h=v(d,"");b="text"+(b?" "+b:"");"number"===typeof h?(h=h.toString(),","===f&&(h=h.replace(".",f)),b="number"):d||(b="empty");c=F({"class":b},c);return{tagName:a,attributes:c,textContent:h}};
+!1!==d.exporting.tableCaption&&c.push({tagName:"caption",attributes:{"class":"highcharts-table-caption"},textContent:v(d.exporting.tableCaption,d.title.text?d.title.text:"Chart")});for(var p=0,r=a.length;pb&&(b=a[p].length);c.push(function(a,b,c){var f=[],h=0;c=c||b&&b.length;var m=0,e;if(e=l&&a&&b){a:if(e=a.length,b.length===e){for(;e--;)if(a[e]!==b[e]){e=!1;break a}e=!0}else e=!1;e=!e}if(e){for(e=[];h