/* Highstock JS v10.0.0 (2022-03-07) Advanced Highcharts Stock tools (c) 2010-2021 Highsoft AS Author: Torstein Honsi License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts","highcharts/modules/stock"],function(w){a(w);a.Highcharts=w;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function w(c,a,r,v){c.hasOwnProperty(a)||(c[a]=v.apply(null,r),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:a,module:c[a]}})))} a=a?a._modules:{};w(a,"Extensions/Annotations/Mixins/EventEmitterMixin.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(c,a){var n=a.addEvent,v=a.fireEvent,l=a.objectEach,p=a.pick,b=a.removeEvent;return{addEvents:function(){var b=this,e=function(e){n(e,c.isTouchDevice?"touchstart":"mousedown",function(e){b.onMouseDown(e)},{passive:!1})};e(this.graphic.element);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&e(b.graphic.text.element)});l(b.options.events,function(e, g){var c=function(c){"click"===g&&b.cancelClick||e.call(b,b.chart.pointer.normalize(c),b.target)};if(-1===(b.nonDOMEvents||[]).indexOf(g))b.graphic.on(g,c);else n(b,g,c,{passive:!1})});if(b.options.draggable&&(n(b,"drag",b.onDrag),!b.graphic.renderer.styledMode)){var g={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[b.options.draggable]};b.graphic.css(g);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&b.graphic.text.css(g)})}b.isUpdating||v(b,"add")},removeDocEvents:function(){this.removeDrag&& (this.removeDrag=this.removeDrag());this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())},onMouseDown:function(b){var e=this,g=e.chart.pointer;b.preventDefault&&b.preventDefault();if(2!==b.button){b=g.normalize(b);var t=b.chartX;var f=b.chartY;e.cancelClick=!1;e.chart.hasDraggedAnnotation=!0;e.removeDrag=n(c.doc,c.isTouchDevice?"touchmove":"mousemove",function(b){e.hasDragged=!0;b=g.normalize(b);b.prevChartX=t;b.prevChartY=f;v(e,"drag",b);t=b.chartX;f=b.chartY},c.isTouchDevice?{passive:!1}: void 0);e.removeMouseUp=n(c.doc,c.isTouchDevice?"touchend":"mouseup",function(b){var g=p(e.target&&e.target.annotation,e.target);g&&(g.cancelClick=e.hasDragged);e.cancelClick=e.hasDragged;e.hasDragged=!1;e.chart.hasDraggedAnnotation=!1;v(p(g,e),"afterUpdate");e.onMouseUp(b)},c.isTouchDevice?{passive:!1}:void 0)}},onMouseUp:function(b){var e=this.chart;b=this.target||this;var g=e.options.annotations;e=e.annotations.indexOf(b);this.removeDocEvents();g[e]=b.options},onDrag:function(b){if(this.chart.isInsidePlot(b.chartX- this.chart.plotLeft,b.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){var e=this.mouseMoveToTranslation(b);"x"===this.options.draggable&&(e.y=0);"y"===this.options.draggable&&(e.x=0);this.points.length?this.translate(e.x,e.y):(this.shapes.forEach(function(b){b.translate(e.x,e.y)}),this.labels.forEach(function(b){b.translate(e.x,e.y)}));this.redraw(!1)}},mouseMoveToRadians:function(b,e,g){var c=b.prevChartY-g,f=b.prevChartX-e;g=b.chartY-g;b=b.chartX-e;this.chart.inverted&&(e=f,f=c,c=e,e=b,b=g,g=e); return Math.atan2(g,b)-Math.atan2(c,f)},mouseMoveToTranslation:function(b){var e=b.chartX-b.prevChartX;b=b.chartY-b.prevChartY;if(this.chart.inverted){var g=b;b=e;e=g}return{x:e,y:b}},mouseMoveToScale:function(b,e,g){e=(b.chartX-e||1)/(b.prevChartX-e||1);b=(b.chartY-g||1)/(b.prevChartY-g||1);this.chart.inverted&&(g=b,b=e,e=g);return{x:e,y:b}},destroy:function(){this.removeDocEvents();b(this);this.hcEvents=null}}});w(a,"Extensions/Annotations/ControlPoint.js",[a["Core/Utilities.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"]], function(c,a){var n=c.merge,v=c.pick;return function(){function c(c,b,E,e){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=E;this.index=v(E.index,e)}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,e=this.index;c=n(!0,this.options,c);this.destroy();this.constructor(b,a,c,e);this.render(b.controlPointsGroup);this.redraw()};return c}()});w(a,"Extensions/Annotations/MockPoint.js",[a["Core/Series/Series.js"],a["Core/Utilities.js"],a["Core/Axis/Axis.js"]],function(c,a,r){var n=a.defined,l=a.fireEvent;return function(){function a(b,a,e){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=e;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 e=b.series,g=e.chart,a=b.plotX,f=b.plotY;g.inverted&&(b.mock?(a=b.plotY,f=b.plotX):(a=g.plotWidth-b.plotY,f=g.plotHeight-b.plotX));e&&!c&&(b=e.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 e=this.series.chart;this.series[c]=b instanceof r?b:n(b)?e[c][b]||e.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,e=this.series.xAxis,g=this.series.yAxis,a={x:b,y:c,isInsidePlot:!0};e&&(a.isInsidePlot=n(b)&&0<=b&&b<=e.len);g&&(a.isInsidePlot=a.isInsidePlot&&n(c)&&0<=c&&c<=g.len);l(this.series.chart,"afterIsInsidePlot",a);return a.isInsidePlot}; a.prototype.refresh=function(){var b=this.series,c=b.xAxis;b=b.yAxis;var e=this.getOptions();c?(this.x=e.x,this.plotX=c.toPixels(e.x,!0)):(this.x=void 0,this.plotX=e.x);b?(this.y=e.y,this.plotY=b.toPixels(e.y,!0)):(this.y=null,this.plotY=e.y);this.isInside=this.isInsidePlot()};a.prototype.translate=function(b,c,e,g){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=g,this.refreshOptions())};a.prototype.scale=function(b,c,e,g){if(!this.hasDynamicOptions()){var a=this.plotY*g;this.plotX=(1-e)*b+ this.plotX*e;this.plotY=(1-g)*c+a;this.refreshOptions()}};a.prototype.rotate=function(b,c,e){if(!this.hasDynamicOptions()){var g=Math.cos(e);e=Math.sin(e);var a=this.plotX,f=this.plotY;a-=b;f-=c;this.plotX=a*g-f*e+b;this.plotY=a*e+f*g+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}()});w(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,r,v){var l=v.isObject,p=v.isString,b=v.merge,E=v.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&&E(b.point)},attrsFromOptions:function(b){var c=this.constructor.attrsMap,e={},a,u=this.chart.styledMode;for(a in b){var x=c[a];!x||u&&-1!==["fill","stroke","stroke-width"].indexOf(x)||(e[x]=b[a])}return e},anchor:function(c){var e=c.series.getPlotBox(),a=c.series.chart,f=c.mock?c.toAnchor():r.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? e.translateX:a.plotLeft),y:f.y+(c.mock?e.translateY:a.plotTop)})}},point:function(b,c){if(b&&b.series)return b;c&&null!==c.series||(l(b)?c=new a(this.chart,this,b):p(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;ff&&("right"===d?a.align="left":a.x=(a.x||0)-f);f=c+q.width-m;f>b.plotWidth&&("left"===d?a.align="right":a.x=(a.x||0)+b.plotWidth-f);f=e+m;0>f&&("bottom"===h?a.verticalAlign="top":a.y=(a.y||0)-f);f=e+q.height-m;f>b.plotHeight&&("top"===h?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-f);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,e=this.annotation.userOptions,d=c.annotations.indexOf(this.annotation);d=c.options.annotations[d];c.inverted&&(c=b,b=a,a=c);this.options.x+=b;this.options.y+=a;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y;e[this.collection][this.index].x=this.options.x;e[this.collection][this.index].y=this.options.y};a.prototype.render=function(b){var e= this.options,f=this.attrsFromOptions(e),k=e.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,e.shape,null,null,e.useHTML,null,"annotation-label").attr(f).add(b);this.annotation.chart.styledMode||("contrast"===k.color&&(k.color=this.annotation.chart.renderer.getContrast(-1q&&(q=-g-q);qa+g?m.push(["L",b+h,a+g]):kb+c&&m.push(["L",b+c,a+g/2])}return m||[]};return p});w(a,"Extensions/Annotations/Controllables/ControllableImage.js",[a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"]], function(a,n){return function(){function c(a,c,p){this.addControlPoints=n.addControlPoints;this.anchor=n.anchor;this.attr=n.attr;this.attrsFromOptions=n.attrsFromOptions;this.destroy=n.destroy;this.getPointsOptions=n.getPointsOptions;this.init=n.init;this.linkPoints=n.linkPoints;this.point=n.point;this.rotate=n.rotate;this.scale=n.scale;this.setControlPointsVisibility=n.setControlPointsVisibility;this.shouldBeDrawn=n.shouldBeDrawn;this.transform=n.transform;this.transformPoint=n.transformPoint;this.translatePoint= n.translatePoint;this.translateShape=n.translateShape;this.update=n.update;this.type="image";this.translate=n.translateShape;this.init(a,c,p);this.collection="shapes"}c.prototype.render=function(a){var c=this.attrsFromOptions(this.options),p=this.options;this.graphic=this.annotation.chart.renderer.image(p.src,0,-9E9,p.width,p.height).attr(c).add(a);this.graphic.width=p.width;this.graphic.height=p.height;n.render.call(this)};c.prototype.redraw=function(c){var l=this.anchor(this.points[0]);if(l=a.prototype.position.call(this, l))this.graphic[c?"animate":"attr"]({x:l.x,y:l.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!l;n.redraw.call(this,c)};c.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return c}()});w(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,n,r,v,l,p,b,w,e,g,t,f,u,x,k){var d= a.getDeferredAnimation;a=n.prototype;var c=k.addEvent,m=k.defined,q=k.destroyObjectProperties,z=k.erase,A=k.extend,F=k.find,D=k.fireEvent,B=k.merge,y=k.pick,G=k.splat;k=k.wrap;var C=function(){function a(a,d){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=B(this.defaultOptions, d);this.userOptions=d;d=this.getLabelsAndShapesOptions(this.options,d);this.options.labels=d.labels;this.options.shapes=d.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=d(a,b)};a.prototype.getLabelsAndShapesOptions=function(a,d){var b={};["labels","shapes"].forEach(function(c){a[c]&&(b[c]=d[c]?G(d[c]).map(function(d,b){return B(a[c][b], d)}):a[c])});return b};a.prototype.addShapes=function(){(this.options.shapes||[]).forEach(function(a,d){a=this.initShape(a,d);B(!0,this.options.shapes[d],a.options)},this)};a.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,d){a=this.initLabel(a,d);B(!0,this.options.labels[d],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,d=this.chart.yAxis,b=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(b,c){c=c&&(c.point||c.points&&c.points[0]);return[a[c&&c.xAxis]||b[0],d[c&&c.yAxis]||b[1]]},[]);this.clipXAxis=b[0];this.clipYAxis=b[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,d){d.options.allowOverlap||a.push(d.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};a.prototype.setOptions=function(a){this.options=B(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);r.redraw.call(this,a)};a.prototype.redrawItems=function(a,d){for(var b=a.length;b--;)this.redrawItem(a[b], d)};a.prototype.renderItems=function(a){for(var d=a.length;d--;)this.renderItem(a[d])};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();r.render.call(this)};a.prototype.setVisibility=function(a){var d=this.options,b=this.chart.navigationBindings;a=y(a,!d.visible);this.graphic.attr("visibility",a?"visible":"hidden");a||(this.setControlPointsVisibility(!1),b.activeAnnotation===this&&b.popup&&"annotation-toolbar"===b.popup.formType&&D(b,"closePopup"));d.visible=a};a.prototype.setControlPointsVisibility=function(a){var d= function(d){d.setControlPointsVisibility(a)};r.setControlPointsVisibility.call(this,a);this.shapes.forEach(d);this.labels.forEach(d)};a.prototype.destroy=function(){var a=this.chart,d=function(a){a.destroy()};this.labels.forEach(d);this.shapes.forEach(d);this.clipYAxis=this.clipXAxis=null;z(a.labelCollectors,this.labelCollector);t.destroy.call(this);r.destroy.call(this);q(this,a)};a.prototype.remove=function(){return this.chart.removeAnnotation(this)};a.prototype.update=function(a,d){var b=this.chart, c=this.getLabelsAndShapesOptions(this.userOptions,a),h=b.annotations.indexOf(this);a=B(!0,this.userOptions,a);a.labels=c.labels;a.shapes=c.shapes;this.destroy();this.constructor(b,a);b.options.annotations[h]=a;this.isUpdating=!0;y(d,!0)&&b.redraw();D(this,"afterUpdate");this.isUpdating=!1};a.prototype.initShape=function(d,b){d=B(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},d);b=new a.shapesMap[d.type](this,d,b);b.itemType="shape";this.shapes.push(b);return b};a.prototype.initLabel= function(a,d){a=B(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);d=new e(this,a,d);d.itemType="label";this.labels.push(d);return d};a.prototype.redrawItem=function(a,d){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(y(d,!0)&&a.graphic.placed),a.points.length&&this.adjustVisibility(a)):this.destroyItem(a)};a.prototype.adjustVisibility=function(a){var d=!1,b=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(d= !0)});d?"hidden"===b.visibility&&b.show():b.hide()};a.prototype.destroyItem=function(a){z(this[a.itemType+"s"],a);a.destroy()};a.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};a.ControlPoint=g;a.MockPoint=u;a.shapesMap={rect:v,circle:l,ellipse:p,path:b,image:w};a.types={};return a}();B(!0,C.prototype,r,t,B(C.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 m(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,d,b,c){d=d||C;A(a.prototype,B(d.prototype,b));a.prototype.defaultOptions=B(a.prototype.defaultOptions,c||{})};A(a,{initAnnotation:function(a){a=new (C.types[a.type]||C)(this,a);this.annotations.push(a);return a},addAnnotation:function(a,d){a=this.initAnnotation(a);this.options.annotations.push(a.options);y(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1})); return a},removeAnnotation:function(a){var d=this.annotations,b="annotations"===a.coll?a:F(d,function(d){return d.options.id===a});b&&(D(b,"remove"),z(this.options.annotations,b.options),z(d,b),b.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];c(n,"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(d,b){if(!a.annotations.some(function(a){return a.options===d})){var c=a.initAnnotation(d);a.options.annotations[b]=c.options}});a.drawAnnotations();c(a,"redraw",a.drawAnnotations);c(a,"destroy",function(){a.plotBoxClip.destroy(); a.controlPointsGroup.destroy()});c(a,"exportData",function(d){var b=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,c=!d.dataRows[1].xValues,h=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,m=function(a){if(b){var d=b(a);if(!1!==d)return d}d=h+" "+a;return c?{columnTitle:d,topLevelColumnTitle:d}:d},e=d.dataRows[0].length,q=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter, B=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 b=a.options.text;a.points.forEach(function(a){var c=a.x,h=a.series.xAxis?a.series.xAxis.options.index:-1,m=!1;if(-1===h){a=d.dataRows[0].length;for(var y=Array(a),f=0;fe?a[a.length-1]+=q+b:a.push(b),m=!0)});if(!m){a=d.dataRows[0].length;y=Array(a);for(f=0;f=c-h&&a.value<=b+h&&!a.axis.options.isInternal})[0]}};n.prototype.initNavigationBindings=function(){var a=this.options; a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new D(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};t(n,"load",function(){this.initNavigationBindings()});t(n,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});t(D,"deselectButton",function(){this.selectedButtonElement=null});t(a,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()});l.Annotation&&(e(a),q(a.types, function(a){e(a)}));v({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 d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return this.chart.addAnnotation(m({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle", point:{x:a.value,y:d.value,xAxis:a.axis.options.index,yAxis:d.axis.options.index},r:5}]},b.annotationsOptions,b.bindings.circleAnnotation.annotationsOptions))},steps:[function(a,b){var c=b.options.shapes[0].point;if(d(c.xAxis)&&d(c.yAxis)){var h=this.chart.inverted;var m=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);h=Math.max(Math.sqrt(Math.pow(h?c-a.chartX:m-a.chartX,2)+Math.pow(h?m-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:h}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation", start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return this.chart.addAnnotation(m({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}],ry:1}]},b.annotationsOptions,b.bindings.ellipseAnnotation.annotationOptions))},steps:[function(a,d){d=d.shapes[0]; var b=d.getAbsolutePosition(d.points[1]);d.translatePoint(a.chartX-b.x,a.chartY-b.y,1);d.redraw(!1)},function(a,d){d=d.shapes[0];var b=d.getAbsolutePosition(d.points[0]),c=d.getAbsolutePosition(d.points[1]);a=d.getDistanceFromLine(b,c,a.chartX,a.chartY);b=d.getYAxis();a=Math.abs(b.toValue(0)-b.toValue(a));d.setYRadius(a);d.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(a){a=this.chart.pointer.getCoordinates(a);var d=this.utils.getAssignedAxis(a.xAxis), b=this.utils.getAssignedAxis(a.yAxis);if(d&&b){a=d.value;var c=b.value;d=d.axis.options.index;b=b.axis.options.index;var h=this.chart.options.navigation;return this.chart.addAnnotation(m({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a,d){var b=d.options.shapes[0].points, c=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(c.xAxis);c=this.utils.getAssignedAxis(c.yAxis);a&&c&&(a=a.value,c=c.value,b[1].x=a,b[2].x=a,b[2].y=c,b[3].y=c,d.update({shapes:[{points:b}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return this.chart.addAnnotation(m({langKey:"label", type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,x:a.value,y:d.value},overflow:"none",crop:!0}]},b.annotationsOptions,b.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}});t(n,"render",function(){var a=this,d=a.navigationBindings;if(a&&d){var b=!1;a.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)});q(d.boundClassNames,function(d,c){if(a.navigationBindings&& a.navigationBindings.container&&a.navigationBindings.container[0]&&(c=a.navigationBindings.container[0].querySelectorAll("."+c)))for(var h=0;hMath.abs(a.x-f)&&(d=Math.abs(a.x-f),c=a)})});if(c&&c.x&&c.y)return{x:c.x,y:c.y,below:b=a&&(b.x=h.toValue(d[h.horiz?"chartX":"chartY"]),b.y=e.toValue(d[e.horiz?"chartX":"chartY"]))}),b.update({typeOptions:{points:c.points}}))}};e(r.prototype,{getYAxisPositions:function(a,c,e,f){function d(a){return w(a)&&!t(a)&&a.match("%")}var h=0,m,q;f&&(q=b(parseFloat(f)/100));return{positions:a.map(function(f,g){var k=b(d(f.options.height)?parseFloat(f.options.height)/ 100:f.height/c);f=b(d(f.options.top)?parseFloat(f.options.top)/100:(f.top-f.chart.plotTop)/c);q?f<=h?h=b(Math.max(h,(f||0)+(k||0))):(f=b(f-q),h=b(h+k)):(t(k)||(k=a[g-1].series.every(function(a){return a.is("sma")})?m:e/100),t(f)||(f=h),m=k,h=b(Math.max(h,(f||0)+(k||0))));return{height:100*k,top:100*f}}),allAxesHeight:h}},getYAxisResizers:function(a){var d=[];a.forEach(function(b,c){b=a[c+1];d[c]=b?{enabled:!0,controlledAxis:{next:[u(b.options.id,b.options.index)]}}:{enabled:!1}});return d},resizeYAxes:function(a){var d= this.chart,c=d.yAxis.filter(k.isNotNavigatorYAxis);d=this.getYAxisPositions(c,d.plotHeight,20,a);var e=d.positions,f=d.allAxesHeight,g=this.getYAxisResizers(c);!a&&f<=b(1)?e[e.length-1]={height:20,top:b(100*f-20)}:e.forEach(function(a){a.height=a.height/(100*f)*100;a.top=a.top/(100*f)*100});e.forEach(function(a,d){c[d].update({height:a.height+"%",top:a.top+"%",resize:g[d],offset:0},!1)})},recalculateYAxisPositions:function(a,c,e,f){a.forEach(function(d,h){h=a[h-1];d.top=h?b(h.height+h.top):0;e&&(d.height= b(d.height+f*c))});return a}});l={segment:{className:"highcharts-segment",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.segment.annotationsOptions),this.chart.addAnnotation(a)}, steps:[k.updateNthPoint(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.arrowSegment.annotationsOptions), this.chart.addAnnotation(a)},steps:[k.updateNthPoint(1)]},ray:{className:"highcharts-ray",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.ray.annotationsOptions), this.chart.addAnnotation(a)},steps:[k.updateNthPoint(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions, b.bindings.arrowRay.annotationsOptions),this.chart.addAnnotation(a)},steps:[k.updateNthPoint(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value, y:d.value}]}},b.annotationsOptions,b.bindings.infinityLine.annotationsOptions),this.chart.addAnnotation(a)},steps:[k.updateNthPoint(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:a.axis.options.index, yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.arrowInfinityLine.annotationsOptions),this.chart.addAnnotation(a)},steps:[k.updateNthPoint(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;a&&d&&(a=f({langKey:"horizontalLine",type:"infinityLine",draggable:"y", typeOptions:{type:"horizontalLine",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.horizontalLine.annotationsOptions),this.chart.addAnnotation(a))}},verticalLine:{className:"highcharts-vertical-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;a&&d&&(a=f({langKey:"verticalLine",type:"infinityLine",draggable:"x", typeOptions:{type:"verticalLine",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.verticalLine.annotationsOptions),this.chart.addAnnotation(a))}},crooked3:{className:"highcharts-crooked3",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);if(a&&d){var b=a.value,c=d.value,e=this.chart.options.navigation;a=f({langKey:"crooked3",type:"crookedLine", typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:b,y:c},{x:b,y:c},{x:b,y:c}]}},e.annotationsOptions,e.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateNthPoint(2)]},crooked5:{className:"highcharts-crooked5",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);if(a&&d){var b=a.value,c=d.value,e=this.chart.options.navigation;a= f({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:b,y:c},{x:b,y:c},{x:b,y:c},{x:b,y:c},{x:b,y:c}]}},e.annotationsOptions,e.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateNthPoint(2),k.updateNthPoint(3),k.updateNthPoint(4)]},elliott3:{className:"highcharts-elliott3",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis); if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}},e.annotationsOptions,e.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateNthPoint(2),k.updateNthPoint(3)]},elliott5:{className:"highcharts-elliott5",start:function(a){var b=this.chart.pointer.getCoordinates(a); a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}},e.annotationsOptions,e.bindings.elliott5.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateNthPoint(2), k.updateNthPoint(3),k.updateNthPoint(4),k.updateNthPoint(5)]},measureX:{className:"highcharts-measure-x",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value,y:b.value},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1, strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateRectSize]},measureY:{className:"highcharts-measure-y",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure", type:"measure",typeOptions:{selectType:"y",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value,y:b.value},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateRectSize]},measureXY:{className:"highcharts-measure-xy",start:function(a){var b= this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value,y:b.value},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},d.annotationsOptions, d.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateRectSize]},fibonacci:{className:"highcharts-fibonacci",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}}, e.annotationsOptions,e.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateHeight]},parallelChannel:{className:"highcharts-parallel-channel",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index, points:[{x:d,y:c},{x:d,y:c}]}},e.annotationsOptions,e.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateHeight]},pitchfork:{className:"highcharts-pitchfork",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:a.axis.options.index, yAxis:b.axis.options.index,points:[{x:a.value,y:b.value,controlPoint:{style:{fill:"#f21313"}}},{x:d,y:c},{x:d,y:c}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},e.annotationsOptions,e.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[k.updateNthPoint(1),k.updateNthPoint(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(a){a=k.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(this.verticalCounter= this.verticalCounter||0,a=f({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions,b.bindings.verticalCounter.annotationsOptions),a=this.chart.addAnnotation(a),this.verticalCounter++,a.options.events.click.call(a,{}))}},timeCycles:{className:"highcharts-time-cycles", start:function(a){a=k.attractToPoint(a,this.chart);var b=this.chart.options.navigation;if(a)return a=f({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:a.xAxis,yAxis:a.yAxis,points:[{x:a.x},{x:a.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},b.annotationsOptions,b.bindings.timeCycles.annotationsOptions),a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}),a},steps:[k.updateNthPoint(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(a){a= k.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(a=f({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions,b.bindings.verticalLabel.annotationsOptions),a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}))}},verticalArrow:{className:"highcharts-vertical-arrow", start:function(a){a=k.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(a=f({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40,format:" "},connector:{fill:"none",stroke:a.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions,b.bindings.verticalArrow.annotationsOptions),a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}))}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones", start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var c=this.chart.options.navigation;a=f({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value}]}},c.annotationsOptions,c.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[function(a,b){var c=b.options.typeOptions.points;c=c&& c[0].x;var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);b.update({typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:c},{x:a.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:k.addFlagFromForm("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:k.addFlagFromForm("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:k.addFlagFromForm("squarepin")}, flagSimplepin:{className:"highcharts-flag-simplepin",start:k.addFlagFromForm("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(a){this.chart.update({chart:{zoomType:"x"}});g(this,"deselectButton",{button:a})}},zoomY:{className:"highcharts-zoom-y",init:function(a){this.chart.update({chart:{zoomType:"y"}});g(this,"deselectButton",{button:a})}},zoomXY:{className:"highcharts-zoom-xy",init:function(a){this.chart.update({chart:{zoomType:"xy"}});g(this,"deselectButton",{button:a})}},seriesTypeLine:{className:"highcharts-series-type-line", init:function(a){this.chart.series[0].update({type:"line",useOhlcData:!0});g(this,"deselectButton",{button:a})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(a){this.chart.series[0].update({type:"ohlc"});g(this,"deselectButton",{button:a})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(a){this.chart.series[0].update({type:"candlestick"});g(this,"deselectButton",{button:a})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi", init:function(a){this.chart.series[0].update({type:"heikinashi"});g(this,"deselectButton",{button:a})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(a){this.chart.series[0].update({type:"hlc",useOhlcData:!0});g(this,"deselectButton",{button:a})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(a){this.chart.series[0].update({type:"hollowcandlestick"});g(this,"deselectButton",{button:a})}},fullScreen:{className:"highcharts-full-screen", noDataState:"normal",init:function(a){this.chart.fullscreen.toggle();g(this,"deselectButton",{button:a})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(a){var b=this.chart,c=b.series,d=b.stockTools,e=k.isPriceIndicatorEnabled(b.series);d&&d.guiEnabled&&(c.forEach(function(a){a.update({lastPrice:{enabled:!e},lastVisiblePrice:{enabled:!e,label:{enabled:!0}}},!1)}),b.redraw());g(this,"deselectButton",{button:a})}},indicators:{className:"highcharts-indicators",init:function(){var a= this;g(a,"showPopup",{formType:"indicators",options:{},onSubmit:function(b){a.utils.manageIndicators.call(a,b)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(a){var b=this.chart,c=b.stockTools,d=c.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations;(b.annotations||[]).forEach(function(a){a.setVisibility(!this.toggledAnnotations)},this);c&&c.guiEnabled&&(a.firstChild.style["background-image"]=this.toggledAnnotations?'url("'+d+'annotations-hidden.svg")':'url("'+ d+'annotations-visible.svg")');g(this,"deselectButton",{button:a})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(a){var b=this.chart,c=[],d=[],e=[],f=[];b.annotations.forEach(function(a,b){c[b]=a.userOptions});b.series.forEach(function(a){a.is("sma")?d.push(a.userOptions):"flags"===a.type&&e.push(a.userOptions)});b.yAxis.forEach(function(a){k.isNotNavigatorYAxis(a)&&f.push(a.options)});n.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:c, indicators:d,flags:e,yAxes:f}));g(this,"deselectButton",{button:a})}}};a({navigation:{bindings:l}});r.prototype.utils=f(k,r.prototype.utils)});w(a,"Stock/StockToolsGui.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Extensions/Annotations/NavigationBindings.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,n,r,v,l){v=v.setOptions;var c=l.addEvent,b=l.createElement,w=l.css,e=l.extend,g=l.fireEvent,t=l.getStyle,f=l.isArray,u=l.merge,x=l.pick;v({lang:{stockTools:{gui:{simpleShapes:"Simple shapes", lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick", typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line", crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line", arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X", measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"add",saveButton:"save",editButton:"edit",removeButton:"remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"\u2715 clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation", periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index", deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"], sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"], disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"], rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:"indicators separator simpleShapes lines crookedLines measure advanced toggleAnnotations separator verticalLabels flags separator zoomChange fullScreen typeChange separator currentPriceIndicator saveChart".split(" "),definitions:{separator:{symbol:"separator.svg"}, simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:"segment arrowSegment ray arrowRay line arrowInfinityLine horizontalLine verticalLine".split(" "), segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter", "verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY", "measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:"typeOHLC typeLine typeCandlestick typeHollowCandlestick typeHLC typeHeikinAshi".split(" "), typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}}}}});c(a,"afterGetContainer",function(){this.setStockTools()});c(a,"getMargins",function(){var a=this.stockTools&&this.stockTools.listWrapper;(a=a&&(a.startWidth+ t(a,"padding-left")+t(a,"padding-right")||a.offsetWidth))&&ak.offsetHeight&&h.offsetTop>n||(n=0),w(p,{top:-n+"px",left:m+3+"px"}),h.className+=" highcharts-current",g.startWidth=k.offsetWidth,g.style.width=g.startWidth+t(g,"padding-left")+p.offsetWidth+3+"px")}))};a.prototype.addSubmenuItems=function(a,b){var d=this,e=this.submenu,f=this.lang,h=this.listWrapper,m;b.items.forEach(function(g){m=d.addButton(e,b,g,f);d.eventsToUnbind.push(c(m.mainButton,"click",function(){d.switchSymbol(this, a,!0);h.style.width=h.startWidth+"px";e.style.display="none"}))});var g=e.querySelectorAll("li > .highcharts-menu-item-btn")[0];d.switchSymbol(g,!1)};a.prototype.eraseActiveButtons=function(a,b,c){[].forEach.call(a,function(a){a!==b&&(a.classList.remove("highcharts-current"),a.classList.remove("highcharts-active"),c=a.querySelectorAll(".highcharts-submenu-wrapper"),0 this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")};a.prototype.showHideToolbar=function(){var a=this.chart,d=this.wrapper,e=this.listWrapper,f=this.submenu,g=this.visible,k;this.showhideBtn=k=b("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,d);k.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)";g?(d.style.height="100%",k.style.top=t(e,"padding-top")+"px",k.style.left= d.offsetWidth+t(e,"padding-left")+"px"):(f&&(f.style.display="none"),k.style.left="0px",this.visible=g=!1,e.classList.add("highcharts-hide"),k.classList.toggle("highcharts-arrow-right"),d.style.height=k.offsetHeight+"px");this.eventsToUnbind.push(c(k,"click",function(){a.update({stockTools:{gui:{visible:!g,placed:!0}}})}))};a.prototype.switchSymbol=function(a,b){var c=a.parentNode,d=c.className;c=c.parentNode.parentNode;-1