highcharts 9.3.3 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +3 -4
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  10. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  12. package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
  13. package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
  14. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  16. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  19. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
  20. package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
  21. package/es-modules/Accessibility/FocusBorder.js +6 -5
  22. package/es-modules/Accessibility/HighContrastMode.js +3 -3
  23. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  24. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
  25. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  26. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  27. package/es-modules/Accessibility/ProxyElement.js +14 -6
  28. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  29. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  30. package/es-modules/Core/Animation/Fx.js +1 -1
  31. package/es-modules/Core/Axis/Axis.js +197 -91
  32. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  33. package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
  34. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  35. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  36. package/es-modules/Core/Axis/GridAxis.js +821 -821
  37. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  38. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  39. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  40. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGridTick.js +13 -2
  43. package/es-modules/Core/Axis/ZAxis.js +3 -1
  44. package/es-modules/Core/Chart/Chart.js +27 -8
  45. package/es-modules/Core/Chart/Chart3D.js +1 -11
  46. package/es-modules/Core/Chart/ChartDefaults.js +46 -14
  47. package/es-modules/Core/Chart/GanttChart.js +3 -1
  48. package/es-modules/Core/Chart/MapChart.js +4 -7
  49. package/es-modules/Core/Chart/StockChart.js +7 -5
  50. package/es-modules/Core/Color/Color.js +1 -1
  51. package/es-modules/Core/DefaultOptions.js +19 -15
  52. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  53. package/es-modules/Core/Globals.js +4 -18
  54. package/es-modules/Core/HttpUtilities.js +46 -39
  55. package/es-modules/Core/Legend/Legend.js +14 -12
  56. package/es-modules/Core/MSPointer.js +3 -1
  57. package/es-modules/Core/Navigator.js +16 -13
  58. package/es-modules/Core/Pointer.js +16 -12
  59. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  60. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  61. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  62. package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
  63. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  64. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
  66. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
  67. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  68. package/es-modules/Core/Scrollbar.js +9 -5
  69. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  70. package/es-modules/Core/Series/DataLabel.js +67 -38
  71. package/es-modules/Core/Series/Point.js +11 -2
  72. package/es-modules/Core/Series/Series.js +57 -27
  73. package/es-modules/Core/Series/Series3D.js +3 -1
  74. package/es-modules/Core/Series/SeriesDefaults.js +7 -4
  75. package/es-modules/Core/Time.js +6 -7
  76. package/es-modules/Core/Tooltip.js +17 -34
  77. package/es-modules/Core/Utilities.js +33 -33
  78. package/es-modules/Data/DataConverter.js +1 -1
  79. package/es-modules/Data/DataTable.js +12 -10
  80. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  81. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  82. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  83. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  85. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  86. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  87. package/es-modules/Data/Parsers/DataParser.js +1 -1
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  90. package/es-modules/Data/Stores/CSVStore.js +8 -5
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
  94. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  97. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
  99. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  102. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  103. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  104. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  105. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  106. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  108. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  109. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  110. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  111. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  112. package/es-modules/Extensions/Boost/BoostInit.js +9 -3
  113. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  114. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  115. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  116. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  117. package/es-modules/Extensions/BoostCanvas.js +11 -5
  118. package/es-modules/Extensions/Breadcrumbs.js +898 -0
  119. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  120. package/es-modules/Extensions/Data.js +661 -613
  121. package/es-modules/Extensions/DataGrouping.js +8 -3
  122. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  123. package/es-modules/Extensions/DownloadURL.js +3 -3
  124. package/es-modules/Extensions/DragPanes.js +1 -1
  125. package/es-modules/Extensions/DraggablePoints.js +9 -7
  126. package/es-modules/Extensions/Drilldown.js +152 -97
  127. package/es-modules/Extensions/ExportData.js +58 -9
  128. package/es-modules/Extensions/Exporting/Exporting.js +34 -23
  129. package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
  130. package/es-modules/Extensions/FullScreen.js +121 -54
  131. package/es-modules/Extensions/GeoJSON.js +149 -125
  132. package/es-modules/Extensions/MarkerClusters.js +36 -22
  133. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  134. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  135. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  136. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  137. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  138. package/es-modules/Extensions/Pane.js +3 -3
  139. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  140. package/es-modules/Extensions/PatternFill.js +14 -2
  141. package/es-modules/Extensions/RangeSelector.js +29 -18
  142. package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
  143. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  144. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  145. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  146. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  147. package/es-modules/Extensions/Stacking.js +5 -4
  148. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  149. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  150. package/es-modules/Maps/MapNavigation.js +49 -12
  151. package/es-modules/Maps/MapPointer.js +16 -0
  152. package/es-modules/Maps/MapUtilities.js +56 -0
  153. package/es-modules/Maps/MapView.js +619 -137
  154. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  155. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  156. package/es-modules/Maps/Projection.js +182 -88
  157. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  158. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  159. package/es-modules/Maps/Projections/Miller.js +23 -10
  160. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  161. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  162. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
  163. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
  164. package/es-modules/Series/Area/AreaSeries.js +21 -14
  165. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  166. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  167. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  168. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  169. package/es-modules/Series/Bar/BarSeries.js +3 -1
  170. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  171. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  172. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  173. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  174. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  175. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  176. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  177. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  178. package/es-modules/Series/CenteredUtilities.js +8 -2
  179. package/es-modules/Series/ColorMapComposition.js +111 -0
  180. package/es-modules/Series/Column/ColumnSeries.js +10 -7
  181. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  182. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  183. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  184. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  185. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  186. package/es-modules/Series/DataModifyComposition.js +1 -0
  187. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  188. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
  189. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  190. package/es-modules/Series/DrawPointUtilities.js +87 -0
  191. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  192. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  193. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  194. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  195. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  196. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  197. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  198. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  199. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  200. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  201. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  202. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  203. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  204. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  205. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  206. package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
  207. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  208. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  209. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  210. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  211. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  212. package/es-modules/Series/Item/ItemPoint.js +3 -1
  213. package/es-modules/Series/Item/ItemSeries.js +3 -1
  214. package/es-modules/Series/Line/LineSeries.js +4 -2
  215. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
  217. package/es-modules/Series/Map/MapPoint.js +32 -7
  218. package/es-modules/Series/Map/MapSeries.js +298 -189
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
  221. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
  224. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  225. package/es-modules/Series/NodesComposition.js +101 -49
  226. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  227. package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
  228. package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
  229. package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
  230. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  231. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  232. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  233. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  234. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  235. package/es-modules/Series/Pie/PiePoint.js +15 -6
  236. package/es-modules/Series/Pie/PieSeries.js +51 -37
  237. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  238. package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
  239. package/es-modules/Series/PolarComposition.js +819 -0
  240. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  241. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  242. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  243. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  244. package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
  245. package/es-modules/Series/Sankey/SankeySeries.js +35 -136
  246. package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
  247. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  248. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  249. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  250. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  251. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  252. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  253. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
  255. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  257. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  258. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  259. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  260. package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
  261. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  262. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  263. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  264. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  265. package/es-modules/Series/Venn/VennPoint.js +5 -5
  266. package/es-modules/Series/Venn/VennSeries.js +9 -6
  267. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  268. package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
  269. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  271. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  272. package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
  273. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  274. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  275. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  278. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  283. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  284. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  285. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  286. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  287. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  288. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  289. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  290. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  291. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  292. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  293. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  294. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  295. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  296. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  297. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  298. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  299. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  300. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  301. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  302. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  303. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  304. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  305. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  306. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  307. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  308. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  309. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  310. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  311. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  312. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  313. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
  314. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  315. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  316. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  317. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  318. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  319. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  320. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  321. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  322. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  323. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  324. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  325. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  326. package/es-modules/Stock/StockToolsBindings.js +51 -43
  327. package/es-modules/Stock/StockToolsGui.js +1 -1
  328. package/es-modules/masters/highcharts-3d.src.js +1 -1
  329. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  330. package/es-modules/masters/highcharts-more.src.js +4 -4
  331. package/es-modules/masters/highcharts.src.js +1 -1
  332. package/es-modules/masters/highmaps.src.js +1 -1
  333. package/es-modules/masters/highstock.src.js +1 -1
  334. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  335. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  336. package/es-modules/masters/indicators/ao.src.js +1 -1
  337. package/es-modules/masters/indicators/apo.src.js +1 -1
  338. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  339. package/es-modules/masters/indicators/aroon.src.js +1 -1
  340. package/es-modules/masters/indicators/atr.src.js +1 -1
  341. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  342. package/es-modules/masters/indicators/cci.src.js +1 -1
  343. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  344. package/es-modules/masters/indicators/cmf.src.js +1 -1
  345. package/es-modules/masters/indicators/cmo.src.js +1 -1
  346. package/es-modules/masters/indicators/dema.src.js +1 -1
  347. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  348. package/es-modules/masters/indicators/dmi.src.js +1 -1
  349. package/es-modules/masters/indicators/dpo.src.js +1 -1
  350. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  351. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  352. package/es-modules/masters/indicators/indicators.src.js +1 -1
  353. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  354. package/es-modules/masters/indicators/klinger.src.js +1 -1
  355. package/es-modules/masters/indicators/macd.src.js +1 -1
  356. package/es-modules/masters/indicators/mfi.src.js +1 -1
  357. package/es-modules/masters/indicators/momentum.src.js +1 -1
  358. package/es-modules/masters/indicators/natr.src.js +1 -1
  359. package/es-modules/masters/indicators/obv.src.js +1 -1
  360. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  361. package/es-modules/masters/indicators/ppo.src.js +1 -1
  362. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  363. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  364. package/es-modules/masters/indicators/psar.src.js +1 -1
  365. package/es-modules/masters/indicators/regressions.src.js +1 -1
  366. package/es-modules/masters/indicators/roc.src.js +1 -1
  367. package/es-modules/masters/indicators/rsi.src.js +1 -1
  368. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  369. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  370. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  371. package/es-modules/masters/indicators/tema.src.js +1 -1
  372. package/es-modules/masters/indicators/trendline.src.js +1 -1
  373. package/es-modules/masters/indicators/trix.src.js +1 -1
  374. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  375. package/es-modules/masters/indicators/vwap.src.js +1 -1
  376. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  377. package/es-modules/masters/indicators/wma.src.js +1 -1
  378. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  379. package/es-modules/masters/modules/accessibility.src.js +1 -1
  380. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  381. package/es-modules/masters/modules/annotations.src.js +2 -2
  382. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  383. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  384. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  385. package/es-modules/masters/modules/boost.src.js +1 -1
  386. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  387. package/es-modules/masters/modules/bullet.src.js +1 -1
  388. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  389. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  390. package/es-modules/masters/modules/cylinder.src.js +1 -1
  391. package/es-modules/masters/modules/data.src.js +2 -1
  392. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  393. package/es-modules/masters/modules/debugger.src.js +1 -1
  394. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  395. package/es-modules/masters/modules/dotplot.src.js +1 -1
  396. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  397. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  398. package/es-modules/masters/modules/drilldown.src.js +2 -1
  399. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  400. package/es-modules/masters/modules/export-data.src.js +1 -1
  401. package/es-modules/masters/modules/exporting.src.js +1 -1
  402. package/es-modules/masters/modules/full-screen.src.js +1 -1
  403. package/es-modules/masters/modules/funnel.src.js +1 -1
  404. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  405. package/es-modules/masters/modules/gantt.src.js +1 -1
  406. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  407. package/es-modules/masters/modules/heatmap.src.js +1 -1
  408. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  409. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  410. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  411. package/es-modules/masters/modules/item-series.src.js +1 -1
  412. package/es-modules/masters/modules/lollipop.src.js +1 -1
  413. package/es-modules/masters/modules/map.src.js +5 -1
  414. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  415. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  416. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  417. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  418. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  419. package/es-modules/masters/modules/oldie.src.js +1 -1
  420. package/es-modules/masters/modules/organization.src.js +1 -1
  421. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  422. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  423. package/es-modules/masters/modules/pareto.src.js +1 -1
  424. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  425. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  426. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  427. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  428. package/es-modules/masters/modules/sankey.src.js +1 -1
  429. package/es-modules/masters/modules/series-label.src.js +5 -2
  430. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  431. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  432. package/es-modules/masters/modules/sonification.src.js +2 -6
  433. package/es-modules/masters/modules/static-scale.src.js +1 -1
  434. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  435. package/es-modules/masters/modules/stock.src.js +1 -1
  436. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  437. package/es-modules/masters/modules/sunburst.src.js +1 -1
  438. package/es-modules/masters/modules/tilemap.src.js +1 -1
  439. package/es-modules/masters/modules/timeline.src.js +1 -1
  440. package/es-modules/masters/modules/treegrid.src.js +1 -1
  441. package/es-modules/masters/modules/treemap.src.js +5 -1
  442. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  443. package/es-modules/masters/modules/variwide.src.js +1 -1
  444. package/es-modules/masters/modules/vector.src.js +1 -1
  445. package/es-modules/masters/modules/venn.src.js +1 -1
  446. package/es-modules/masters/modules/windbarb.src.js +1 -1
  447. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  448. package/es-modules/masters/modules/xrange.src.js +1 -1
  449. package/es-modules/masters/themes/avocado.src.js +1 -1
  450. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  451. package/es-modules/masters/themes/brand-light.src.js +1 -1
  452. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  453. package/es-modules/masters/themes/dark-green.src.js +1 -1
  454. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  455. package/es-modules/masters/themes/gray.src.js +1 -1
  456. package/es-modules/masters/themes/grid-light.src.js +1 -1
  457. package/es-modules/masters/themes/grid.src.js +1 -1
  458. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  459. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  460. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  461. package/es-modules/masters/themes/skies.src.js +1 -1
  462. package/es-modules/masters/themes/sunset.src.js +1 -1
  463. package/highcharts-3d.js +99 -98
  464. package/highcharts-3d.js.map +1 -1
  465. package/highcharts-3d.src.js +51 -21
  466. package/highcharts-gantt.js +811 -801
  467. package/highcharts-gantt.js.map +1 -1
  468. package/highcharts-gantt.src.js +2020 -1607
  469. package/highcharts-more.d.ts +10 -0
  470. package/highcharts-more.js +194 -194
  471. package/highcharts-more.js.map +1 -1
  472. package/highcharts-more.src.d.ts +10 -0
  473. package/highcharts-more.src.js +3512 -3364
  474. package/highcharts.d.ts +12336 -965
  475. package/highcharts.js +595 -586
  476. package/highcharts.js.map +1 -1
  477. package/highcharts.src.d.ts +12336 -965
  478. package/highcharts.src.js +1047 -665
  479. package/highmaps.js +763 -728
  480. package/highmaps.js.map +1 -1
  481. package/highmaps.src.js +4482 -2639
  482. package/highstock.js +798 -788
  483. package/highstock.js.map +1 -1
  484. package/highstock.src.js +1177 -739
  485. package/indicators/acceleration-bands.d.ts +1 -17
  486. package/indicators/acceleration-bands.js +11 -11
  487. package/indicators/acceleration-bands.js.map +1 -1
  488. package/indicators/acceleration-bands.src.d.ts +1 -17
  489. package/indicators/acceleration-bands.src.js +99 -100
  490. package/indicators/accumulation-distribution.js +5 -5
  491. package/indicators/accumulation-distribution.js.map +1 -1
  492. package/indicators/accumulation-distribution.src.js +11 -2
  493. package/indicators/ao.js +6 -6
  494. package/indicators/ao.js.map +1 -1
  495. package/indicators/ao.src.js +13 -4
  496. package/indicators/apo.js +5 -5
  497. package/indicators/apo.js.map +1 -1
  498. package/indicators/apo.src.js +11 -2
  499. package/indicators/aroon-oscillator.d.ts +1 -17
  500. package/indicators/aroon-oscillator.js +10 -10
  501. package/indicators/aroon-oscillator.js.map +1 -1
  502. package/indicators/aroon-oscillator.src.d.ts +1 -17
  503. package/indicators/aroon-oscillator.src.js +99 -100
  504. package/indicators/aroon.d.ts +1 -17
  505. package/indicators/aroon.js +11 -11
  506. package/indicators/aroon.js.map +1 -1
  507. package/indicators/aroon.src.d.ts +1 -17
  508. package/indicators/aroon.src.js +99 -100
  509. package/indicators/atr.js +5 -5
  510. package/indicators/atr.js.map +1 -1
  511. package/indicators/atr.src.js +11 -2
  512. package/indicators/bollinger-bands.d.ts +1 -17
  513. package/indicators/bollinger-bands.js +11 -12
  514. package/indicators/bollinger-bands.js.map +1 -1
  515. package/indicators/bollinger-bands.src.d.ts +1 -17
  516. package/indicators/bollinger-bands.src.js +102 -103
  517. package/indicators/cci.js +5 -5
  518. package/indicators/cci.js.map +1 -1
  519. package/indicators/cci.src.js +11 -2
  520. package/indicators/chaikin.js +8 -8
  521. package/indicators/chaikin.js.map +1 -1
  522. package/indicators/chaikin.src.js +11 -2
  523. package/indicators/cmf.js +6 -6
  524. package/indicators/cmf.js.map +1 -1
  525. package/indicators/cmf.src.js +11 -2
  526. package/indicators/cmo.js +5 -5
  527. package/indicators/cmo.js.map +1 -1
  528. package/indicators/cmo.src.js +11 -2
  529. package/indicators/dema.js +5 -5
  530. package/indicators/dema.js.map +1 -1
  531. package/indicators/dema.src.js +11 -2
  532. package/indicators/disparity-index.js +6 -6
  533. package/indicators/disparity-index.js.map +1 -1
  534. package/indicators/disparity-index.src.js +11 -2
  535. package/indicators/dmi.js +12 -12
  536. package/indicators/dmi.js.map +1 -1
  537. package/indicators/dmi.src.js +109 -106
  538. package/indicators/dpo.js +5 -5
  539. package/indicators/dpo.js.map +1 -1
  540. package/indicators/dpo.src.js +11 -2
  541. package/indicators/ema.js +2 -1
  542. package/indicators/ema.js.map +1 -1
  543. package/indicators/ema.src.js +10 -1
  544. package/indicators/ichimoku-kinko-hyo.js +16 -16
  545. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  546. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  547. package/indicators/indicators-all.d.ts +1 -17
  548. package/indicators/indicators-all.js +198 -196
  549. package/indicators/indicators-all.js.map +1 -1
  550. package/indicators/indicators-all.src.d.ts +1 -17
  551. package/indicators/indicators-all.src.js +151 -129
  552. package/indicators/indicators.js +13 -12
  553. package/indicators/indicators.js.map +1 -1
  554. package/indicators/indicators.src.js +21 -5
  555. package/indicators/keltner-channels.d.ts +1 -17
  556. package/indicators/keltner-channels.js +11 -11
  557. package/indicators/keltner-channels.js.map +1 -1
  558. package/indicators/keltner-channels.src.d.ts +1 -17
  559. package/indicators/keltner-channels.src.js +99 -100
  560. package/indicators/klinger.js +14 -14
  561. package/indicators/klinger.js.map +1 -1
  562. package/indicators/klinger.src.js +99 -100
  563. package/indicators/macd.js +13 -11
  564. package/indicators/macd.js.map +1 -1
  565. package/indicators/macd.src.js +35 -14
  566. package/indicators/mfi.js +6 -6
  567. package/indicators/mfi.js.map +1 -1
  568. package/indicators/mfi.src.js +11 -2
  569. package/indicators/momentum.js +5 -5
  570. package/indicators/momentum.js.map +1 -1
  571. package/indicators/momentum.src.js +11 -2
  572. package/indicators/natr.js +5 -4
  573. package/indicators/natr.js.map +1 -1
  574. package/indicators/natr.src.js +11 -2
  575. package/indicators/obv.js +5 -5
  576. package/indicators/obv.js.map +1 -1
  577. package/indicators/obv.src.js +11 -2
  578. package/indicators/pivot-points.js +11 -11
  579. package/indicators/pivot-points.js.map +1 -1
  580. package/indicators/pivot-points.src.js +11 -2
  581. package/indicators/ppo.js +5 -5
  582. package/indicators/ppo.js.map +1 -1
  583. package/indicators/ppo.src.js +11 -2
  584. package/indicators/price-channel.d.ts +1 -17
  585. package/indicators/price-channel.js +11 -11
  586. package/indicators/price-channel.js.map +1 -1
  587. package/indicators/price-channel.src.d.ts +1 -17
  588. package/indicators/price-channel.src.js +99 -100
  589. package/indicators/price-envelopes.js +8 -8
  590. package/indicators/price-envelopes.js.map +1 -1
  591. package/indicators/price-envelopes.src.js +11 -2
  592. package/indicators/psar.js +7 -6
  593. package/indicators/psar.js.map +1 -1
  594. package/indicators/psar.src.js +11 -2
  595. package/indicators/regressions.js +12 -12
  596. package/indicators/regressions.js.map +1 -1
  597. package/indicators/regressions.src.js +11 -2
  598. package/indicators/roc.js +5 -5
  599. package/indicators/roc.js.map +1 -1
  600. package/indicators/roc.src.js +11 -2
  601. package/indicators/rsi.js +6 -5
  602. package/indicators/rsi.js.map +1 -1
  603. package/indicators/rsi.src.js +11 -2
  604. package/indicators/slow-stochastic.js +5 -5
  605. package/indicators/slow-stochastic.js.map +1 -1
  606. package/indicators/slow-stochastic.src.js +11 -2
  607. package/indicators/stochastic.d.ts +1 -17
  608. package/indicators/stochastic.js +12 -12
  609. package/indicators/stochastic.js.map +1 -1
  610. package/indicators/stochastic.src.d.ts +1 -17
  611. package/indicators/stochastic.src.js +99 -100
  612. package/indicators/supertrend.js +10 -10
  613. package/indicators/supertrend.js.map +1 -1
  614. package/indicators/supertrend.src.js +14 -5
  615. package/indicators/tema.js +6 -6
  616. package/indicators/tema.js.map +1 -1
  617. package/indicators/tema.src.js +11 -2
  618. package/indicators/trendline.js +5 -5
  619. package/indicators/trendline.js.map +1 -1
  620. package/indicators/trendline.src.js +11 -2
  621. package/indicators/trix.js +4 -4
  622. package/indicators/trix.js.map +1 -1
  623. package/indicators/trix.src.js +11 -2
  624. package/indicators/volume-by-price.js +17 -17
  625. package/indicators/volume-by-price.js.map +1 -1
  626. package/indicators/volume-by-price.src.js +11 -2
  627. package/indicators/vwap.js +5 -5
  628. package/indicators/vwap.js.map +1 -1
  629. package/indicators/vwap.src.js +11 -2
  630. package/indicators/williams-r.js +6 -5
  631. package/indicators/williams-r.js.map +1 -1
  632. package/indicators/williams-r.src.js +11 -2
  633. package/indicators/wma.js +5 -5
  634. package/indicators/wma.js.map +1 -1
  635. package/indicators/wma.src.js +11 -2
  636. package/indicators/zigzag.js +6 -6
  637. package/indicators/zigzag.js.map +1 -1
  638. package/indicators/zigzag.src.js +11 -2
  639. package/lib/jspdf.js +299 -184
  640. package/lib/jspdf.src.js +25266 -18067
  641. package/lib/svg2pdf.js +35 -31
  642. package/lib/svg2pdf.src.js +5721 -4179
  643. package/modules/accessibility.js +242 -237
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.js +599 -390
  646. package/modules/annotations-advanced.js +192 -192
  647. package/modules/annotations-advanced.js.map +1 -1
  648. package/modules/annotations-advanced.src.js +96 -47
  649. package/modules/annotations.js +126 -126
  650. package/modules/annotations.js.map +1 -1
  651. package/modules/annotations.src.js +67 -25
  652. package/modules/arc-diagram.js +25 -0
  653. package/modules/arc-diagram.js.map +1 -0
  654. package/modules/arc-diagram.src.js +778 -0
  655. package/modules/arrow-symbols.js +4 -3
  656. package/modules/arrow-symbols.js.map +1 -1
  657. package/modules/arrow-symbols.src.js +11 -2
  658. package/modules/boost-canvas.js +16 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +22 -7
  661. package/modules/boost.js +81 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +90 -51
  664. package/modules/broken-axis.js +13 -13
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +11 -2
  667. package/modules/bullet.js +9 -9
  668. package/modules/bullet.js.map +1 -1
  669. package/modules/bullet.src.js +12 -6
  670. package/modules/coloraxis.js +24 -24
  671. package/modules/coloraxis.js.map +1 -1
  672. package/modules/coloraxis.src.js +37 -11
  673. package/modules/current-date-indicator.js +5 -4
  674. package/modules/current-date-indicator.js.map +1 -1
  675. package/modules/current-date-indicator.src.js +12 -3
  676. package/modules/cylinder.js +11 -11
  677. package/modules/cylinder.js.map +1 -1
  678. package/modules/cylinder.src.js +11 -2
  679. package/modules/data.d.ts +12 -12
  680. package/modules/data.js +33 -33
  681. package/modules/data.js.map +1 -1
  682. package/modules/data.src.d.ts +12 -12
  683. package/modules/data.src.js +906 -846
  684. package/modules/datagrouping.js +21 -20
  685. package/modules/datagrouping.js.map +1 -1
  686. package/modules/datagrouping.src.js +19 -5
  687. package/modules/debugger.js +8 -7
  688. package/modules/debugger.js.map +1 -1
  689. package/modules/debugger.src.js +15 -2
  690. package/modules/dependency-wheel.js +12 -11
  691. package/modules/dependency-wheel.js.map +1 -1
  692. package/modules/dependency-wheel.src.js +14 -5
  693. package/modules/dotplot.js +6 -6
  694. package/modules/dotplot.js.map +1 -1
  695. package/modules/dotplot.src.js +11 -2
  696. package/modules/drag-panes.js +10 -10
  697. package/modules/drag-panes.js.map +1 -1
  698. package/modules/drag-panes.src.js +12 -3
  699. package/modules/draggable-points.js +35 -34
  700. package/modules/draggable-points.js.map +1 -1
  701. package/modules/draggable-points.src.js +20 -9
  702. package/modules/drilldown.d.ts +19 -0
  703. package/modules/drilldown.js +37 -25
  704. package/modules/drilldown.js.map +1 -1
  705. package/modules/drilldown.src.d.ts +19 -0
  706. package/modules/drilldown.src.js +1124 -108
  707. package/modules/dumbbell.d.ts +4 -0
  708. package/modules/dumbbell.js +17 -17
  709. package/modules/dumbbell.js.map +1 -1
  710. package/modules/dumbbell.src.d.ts +4 -0
  711. package/modules/dumbbell.src.js +34 -13
  712. package/modules/export-data.js +24 -21
  713. package/modules/export-data.js.map +1 -1
  714. package/modules/export-data.src.js +87 -14
  715. package/modules/exporting.d.ts +8 -8
  716. package/modules/exporting.js +39 -39
  717. package/modules/exporting.js.map +1 -1
  718. package/modules/exporting.src.d.ts +8 -8
  719. package/modules/exporting.src.js +270 -135
  720. package/modules/full-screen.js +8 -7
  721. package/modules/full-screen.js.map +1 -1
  722. package/modules/full-screen.src.js +135 -58
  723. package/modules/funnel.js +12 -12
  724. package/modules/funnel.js.map +1 -1
  725. package/modules/funnel.src.js +13 -4
  726. package/modules/funnel3d.js +21 -21
  727. package/modules/funnel3d.js.map +1 -1
  728. package/modules/funnel3d.src.js +11 -2
  729. package/modules/gantt.js +218 -217
  730. package/modules/gantt.js.map +1 -1
  731. package/modules/gantt.src.js +983 -943
  732. package/modules/grid-axis.js +23 -23
  733. package/modules/grid-axis.js.map +1 -1
  734. package/modules/grid-axis.src.js +900 -890
  735. package/modules/heatmap.js +40 -39
  736. package/modules/heatmap.js.map +1 -1
  737. package/modules/heatmap.src.js +160 -113
  738. package/modules/heikinashi.js +8 -8
  739. package/modules/heikinashi.js.map +1 -1
  740. package/modules/heikinashi.src.js +11 -2
  741. package/modules/histogram-bellcurve.js +13 -13
  742. package/modules/histogram-bellcurve.js.map +1 -1
  743. package/modules/histogram-bellcurve.src.js +11 -2
  744. package/modules/hollowcandlestick.js +9 -9
  745. package/modules/hollowcandlestick.js.map +1 -1
  746. package/modules/hollowcandlestick.src.js +19 -10
  747. package/modules/item-series.js +12 -12
  748. package/modules/item-series.js.map +1 -1
  749. package/modules/item-series.src.js +11 -2
  750. package/modules/lollipop.js +7 -7
  751. package/modules/lollipop.js.map +1 -1
  752. package/modules/lollipop.src.js +12 -3
  753. package/modules/map.d.ts +80 -43
  754. package/modules/map.js +171 -144
  755. package/modules/map.js.map +1 -1
  756. package/modules/map.src.d.ts +80 -43
  757. package/modules/map.src.js +8292 -6822
  758. package/modules/marker-clusters.js +36 -36
  759. package/modules/marker-clusters.js.map +1 -1
  760. package/modules/marker-clusters.src.js +48 -28
  761. package/modules/networkgraph.d.ts +1 -12
  762. package/modules/networkgraph.js +46 -45
  763. package/modules/networkgraph.js.map +1 -1
  764. package/modules/networkgraph.src.d.ts +1 -12
  765. package/modules/networkgraph.src.js +127 -55
  766. package/modules/no-data-to-display.js +5 -5
  767. package/modules/no-data-to-display.js.map +1 -1
  768. package/modules/no-data-to-display.src.js +12 -3
  769. package/modules/offline-exporting.js +20 -18
  770. package/modules/offline-exporting.js.map +1 -1
  771. package/modules/offline-exporting.src.js +129 -28
  772. package/modules/oldie-polyfills.js +7 -7
  773. package/modules/oldie-polyfills.js.map +1 -1
  774. package/modules/oldie-polyfills.src.js +11 -2
  775. package/modules/oldie.js +30 -30
  776. package/modules/oldie.js.map +1 -1
  777. package/modules/oldie.src.js +13 -4
  778. package/modules/organization.js +16 -14
  779. package/modules/organization.js.map +1 -1
  780. package/modules/organization.src.js +168 -34
  781. package/modules/overlapping-datalabels.js +3 -2
  782. package/modules/overlapping-datalabels.js.map +1 -1
  783. package/modules/overlapping-datalabels.src.js +11 -2
  784. package/modules/parallel-coordinates.js +11 -11
  785. package/modules/parallel-coordinates.js.map +1 -1
  786. package/modules/parallel-coordinates.src.js +12 -3
  787. package/modules/pareto.js +7 -7
  788. package/modules/pareto.js.map +1 -1
  789. package/modules/pareto.src.js +11 -2
  790. package/modules/pathfinder.js +31 -31
  791. package/modules/pathfinder.js.map +1 -1
  792. package/modules/pathfinder.src.js +11 -2
  793. package/modules/pattern-fill.js +15 -14
  794. package/modules/pattern-fill.js.map +1 -1
  795. package/modules/pattern-fill.src.js +25 -3
  796. package/modules/price-indicator.js +5 -5
  797. package/modules/price-indicator.js.map +1 -1
  798. package/modules/price-indicator.src.js +11 -2
  799. package/modules/pyramid3d.js +4 -4
  800. package/modules/pyramid3d.js.map +1 -1
  801. package/modules/pyramid3d.src.js +11 -2
  802. package/modules/sankey.d.ts +1 -12
  803. package/modules/sankey.js +32 -29
  804. package/modules/sankey.js.map +1 -1
  805. package/modules/sankey.src.d.ts +1 -12
  806. package/modules/sankey.src.js +422 -207
  807. package/modules/series-label.js +18 -17
  808. package/modules/series-label.js.map +1 -1
  809. package/modules/series-label.src.js +482 -386
  810. package/modules/series-on-point.js +18 -0
  811. package/modules/series-on-point.js.map +1 -0
  812. package/modules/series-on-point.src.js +464 -0
  813. package/modules/solid-gauge.js +10 -10
  814. package/modules/solid-gauge.js.map +1 -1
  815. package/modules/solid-gauge.src.js +15 -6
  816. package/modules/sonification.js +59 -59
  817. package/modules/sonification.js.map +1 -1
  818. package/modules/sonification.src.js +13 -8
  819. package/modules/static-scale.js +5 -4
  820. package/modules/static-scale.js.map +1 -1
  821. package/modules/static-scale.src.js +11 -2
  822. package/modules/stock-tools.js +167 -167
  823. package/modules/stock-tools.js.map +1 -1
  824. package/modules/stock-tools.src.js +118 -67
  825. package/modules/stock.js +205 -204
  826. package/modules/stock.js.map +1 -1
  827. package/modules/stock.src.js +141 -76
  828. package/modules/streamgraph.js +5 -4
  829. package/modules/streamgraph.js.map +1 -1
  830. package/modules/streamgraph.src.js +11 -2
  831. package/modules/sunburst.d.ts +3 -0
  832. package/modules/sunburst.js +73 -60
  833. package/modules/sunburst.js.map +1 -1
  834. package/modules/sunburst.src.d.ts +3 -0
  835. package/modules/sunburst.src.js +1391 -406
  836. package/modules/tilemap.js +17 -17
  837. package/modules/tilemap.js.map +1 -1
  838. package/modules/tilemap.src.js +11 -2
  839. package/modules/timeline.js +18 -18
  840. package/modules/timeline.js.map +1 -1
  841. package/modules/timeline.src.js +14 -5
  842. package/modules/treegrid.js +57 -56
  843. package/modules/treegrid.js.map +1 -1
  844. package/modules/treegrid.src.js +913 -892
  845. package/modules/treemap.d.ts +3 -0
  846. package/modules/treemap.js +54 -41
  847. package/modules/treemap.js.map +1 -1
  848. package/modules/treemap.src.d.ts +3 -0
  849. package/modules/treemap.src.js +1229 -255
  850. package/modules/variable-pie.js +9 -9
  851. package/modules/variable-pie.js.map +1 -1
  852. package/modules/variable-pie.src.js +11 -2
  853. package/modules/variwide.js +12 -12
  854. package/modules/variwide.js.map +1 -1
  855. package/modules/variwide.src.js +11 -2
  856. package/modules/vector.js +8 -7
  857. package/modules/vector.js.map +1 -1
  858. package/modules/vector.src.js +11 -2
  859. package/modules/venn.js +31 -31
  860. package/modules/venn.js.map +1 -1
  861. package/modules/venn.src.js +88 -105
  862. package/modules/windbarb.js +15 -15
  863. package/modules/windbarb.js.map +1 -1
  864. package/modules/windbarb.src.js +11 -2
  865. package/modules/wordcloud.js +23 -23
  866. package/modules/wordcloud.js.map +1 -1
  867. package/modules/wordcloud.src.js +92 -109
  868. package/modules/xrange.js +16 -16
  869. package/modules/xrange.js.map +1 -1
  870. package/modules/xrange.src.js +11 -2
  871. package/package.json +1 -1
  872. package/themes/avocado.js +4 -3
  873. package/themes/avocado.js.map +1 -1
  874. package/themes/avocado.src.js +11 -2
  875. package/themes/brand-dark.js +9 -8
  876. package/themes/brand-dark.js.map +1 -1
  877. package/themes/brand-dark.src.js +11 -2
  878. package/themes/brand-light.js +8 -8
  879. package/themes/brand-light.js.map +1 -1
  880. package/themes/brand-light.src.js +11 -2
  881. package/themes/dark-blue.js +9 -8
  882. package/themes/dark-blue.js.map +1 -1
  883. package/themes/dark-blue.src.js +11 -2
  884. package/themes/dark-green.js +9 -8
  885. package/themes/dark-green.js.map +1 -1
  886. package/themes/dark-green.src.js +11 -2
  887. package/themes/dark-unica.js +8 -7
  888. package/themes/dark-unica.js.map +1 -1
  889. package/themes/dark-unica.src.js +11 -2
  890. package/themes/gray.js +9 -8
  891. package/themes/gray.js.map +1 -1
  892. package/themes/gray.src.js +11 -2
  893. package/themes/grid-light.js +5 -4
  894. package/themes/grid-light.js.map +1 -1
  895. package/themes/grid-light.src.js +11 -2
  896. package/themes/grid.js +5 -5
  897. package/themes/grid.js.map +1 -1
  898. package/themes/grid.src.js +11 -2
  899. package/themes/high-contrast-dark.js +7 -7
  900. package/themes/high-contrast-dark.js.map +1 -1
  901. package/themes/high-contrast-dark.src.js +21 -12
  902. package/themes/high-contrast-light.js +3 -3
  903. package/themes/high-contrast-light.js.map +1 -1
  904. package/themes/high-contrast-light.src.js +21 -12
  905. package/themes/sand-signika.js +5 -5
  906. package/themes/sand-signika.js.map +1 -1
  907. package/themes/sand-signika.src.js +11 -2
  908. package/themes/skies.js +5 -5
  909. package/themes/skies.js.map +1 -1
  910. package/themes/skies.src.js +11 -2
  911. package/themes/sunset.js +3 -3
  912. package/themes/sunset.js.map +1 -1
  913. package/themes/sunset.src.js +11 -2
  914. package/es-modules/Extensions/Polar.js +0 -740
  915. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  916. package/es-modules/Series/ColorMapMixin.js +0 -84
  917. package/es-modules/Series/DrawPointComposition.js +0 -111
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highstock JS v9.3.3 (2022-02-01)
2
+ Highstock JS v10.2.0 (2022-07-05)
3
3
 
4
4
  Advanced Highcharts Stock tools
5
5
 
@@ -8,182 +8,182 @@
8
8
 
9
9
  License: www.highcharts.com/license
10
10
  */
11
- 'use strict';(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))}a=a?a._modules:{};w(a,"Extensions/Annotations/Mixins/EventEmitterMixin.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],
12
- 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||
13
- []).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=
14
- 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);
15
- 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);
16
- "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-
17
- 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,
18
- 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=
19
- 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=
20
- 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};
21
- 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}};
22
- 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,
23
- 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;
24
- b=b.yAxis;var e=this.getOptions();c?(this.x=e.x,this.plotX=c.toPixels(e.x,!0)):(this.x=null,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=
25
- 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"],
26
- 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=
27
- 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)})}},
28
- 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;f<a;f++){var u=this.point(b[f],c[f]);if(!u){c.length=0;return}u.mock&&u.refresh();c[f]=u}return c},addControlPoints:function(){var e=this.options.controlPoints;(e||[]).forEach(function(a,t){a=
29
- b(this.options.controlPointOptions,a);a.index||(a.index=t);e[t]=a;this.controlPoints.push(new c(this.chart,this,a))},this)},shouldBeDrawn:function(){return!!this.points.length},render:function(b){this.controlPoints.forEach(function(b){b.render()})},redraw:function(b){this.controlPoints.forEach(function(c){c.redraw(b)})},transform:function(b,c,a,f,u){if(this.chart.inverted){var e=c;c=a;a=e}this.points.forEach(function(e,d){this.transformPoint(b,c,a,f,u,d)},this)},transformPoint:function(b,c,t,f,u,
30
- x){var e=this.points[x];e.mock||(e=this.points[x]=a.fromPoint(e));e[b](c,t,f,u)},translate:function(b,c){this.transform("translate",null,null,b,c)},translatePoint:function(b,c,a){this.transformPoint("translate",null,null,b,c,a)},translateShape:function(b,c,a){var e=this.annotation.chart,g=this.annotation.userOptions,t=e.annotations.indexOf(this.annotation);e=e.options.annotations[t];this.translatePoint(b,c,0);a&&this.translatePoint(b,c,1);e[this.collection][this.index].point=this.options.point;g[this.collection][this.index].point=
31
- this.options.point},rotate:function(b,c,a){this.transform("rotate",b,c,a)},scale:function(b,c,a,f){this.transform("scale",b,c,a,f)},setControlPointsVisibility:function(b){this.controlPoints.forEach(function(c){c.setVisibility(b)})},destroy:function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(b){b.destroy()});this.options=this.controlPoints=this.points=this.chart=null;this.annotation&&(this.annotation=
32
- null)},update:function(c){var a=this.annotation;c=b(!0,this.options,c);var e=this.graphic.parentGroup;this.destroy();this.constructor(a,c,this.index);this.render(e);this.redraw()}}});w(a,"Extensions/Annotations/Mixins/MarkerMixin.js",[a["Core/Chart/Chart.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(c,a,r){function n(b){return function(c){this.attr(b,"url(#"+c+")")}}var l=r.addEvent,p=r.defined,b=r.merge,E=r.uniqueKey,e={arrow:{tagName:"marker",attributes:{id:"arrow",
33
- refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}};a.prototype.addMarker=function(c,a){var e={attributes:{id:c}},u={stroke:a.color||"none",fill:a.color||"rgba(0, 0, 0, 0.75)"};e.children=a.children&&a.children.map(function(c){return b(u,
34
- c)});a=b(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},a,e);a=this.definition(a);a.id=c;return a};a={markerEndSetter:n("marker-end"),markerStartSetter:n("marker-start"),setItemMarkers:function(c){var a=c.options,e=c.chart,u=e.options.defs,g=a.fill,k=p(g)&&"none"!==g?g:a.stroke;["markerStart","markerEnd"].forEach(function(d){var h=a[d],m;if(h){for(m in u){var q=u[m];if((h===(q.attributes&&q.attributes.id)||h===q.id)&&"marker"===q.tagName){var f=q;break}}f&&(h=c[d]=e.renderer.addMarker((a.id||
35
- E())+"-"+h,b(f,{color:k})),c.attr(d,h.getAttribute("id")))}})}};l(c,"afterGetContainer",function(){this.options.defs=b(e,this.options.defs||{})});return a});w(a,"Extensions/Annotations/Controllables/ControllablePath.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Core/Globals.js"],a["Extensions/Annotations/Mixins/MarkerMixin.js"],a["Core/Utilities.js"]],function(c,a,r,v){var l=v.extend,p="rgba(192,192,192,"+(a.svg?.0001:.002)+")";return function(){function b(b,a,g){this.addControlPoints=
36
- c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.setMarkers=r.setItemMarkers;this.transform=c.transform;this.transformPoint=c.transformPoint;this.translate=c.translate;this.translatePoint=c.translatePoint;this.translateShape=
37
- c.translateShape;this.update=c.update;this.type="path";this.init(b,a,g);this.collection="shapes"}b.prototype.toD=function(){var b=this.options.d;if(b)return"function"===typeof b?b.call(this):b;b=this.points;var c=b.length,a=c,p=b[0],f=a&&this.anchor(p).absolutePosition,u=0,x=[];if(f)for(x.push(["M",f.x,f.y]);++u<c&&a;)p=b[u],a=p.command||"L",f=this.anchor(p).absolutePosition,"M"===a?x.push([a,f.x,f.y]):"L"===a?x.push([a,f.x,f.y]):"Z"===a&&x.push([a]),a=p.series.visible;return a?this.chart.renderer.crispLine(x,
38
- this.graphic.strokeWidth()):null};b.prototype.shouldBeDrawn=function(){return c.shouldBeDrawn.call(this)||!!this.options.d};b.prototype.render=function(b){var a=this.options,g=this.attrsFromOptions(a);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(g).add(b);a.className&&this.graphic.addClass(a.className);this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(b);this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",
39
- stroke:p,fill:p,"stroke-width":this.graphic.strokeWidth()+2*a.snap});c.render.call(this);l(this.graphic,{markerStartSetter:r.markerStartSetter,markerEndSetter:r.markerEndSetter});this.setMarkers(this)};b.prototype.redraw=function(b){var a=this.toD(),g=b?"animate":"attr";a?(this.graphic[g]({d:a}),this.tracker[g]({d:a})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!a;c.redraw.call(this,b)};b.attrsMap={dashStyle:"dashstyle",
40
- strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return b}()});w(a,"Extensions/Annotations/Controllables/ControllableRect.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Core/Utilities.js"]],function(c,a,r){var n=r.merge;return function(){function l(a,b,l){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;
41
- this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;this.transformPoint=c.transformPoint;this.translatePoint=c.translatePoint;this.translateShape=c.translateShape;this.update=c.update;this.type="rect";this.translate=c.translateShape;this.init(a,b,l);this.collection="shapes"}l.prototype.render=
42
- function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(b).add(a);c.render.call(this)};l.prototype.redraw=function(a){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,width:this.options.width,height:this.options.height});else this.attr({x:0,y:-9E9});this.graphic.placed=!!b;c.redraw.call(this,a)};l.attrsMap=n(a.attrsMap,{width:"width",height:"height"});return l}()});w(a,"Extensions/Annotations/Controllables/ControllableCircle.js",
43
- [a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Core/Utilities.js"]],function(c,a,r){var n=r.merge;return function(){function l(a,b,l){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=
44
- c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;this.transformPoint=c.transformPoint;this.translatePoint=c.translatePoint;this.translateShape=c.translateShape;this.update=c.update;this.type="circle";this.translate=c.translateShape;this.init(a,b,l);this.collection="shapes"}l.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(b).add(a);c.render.call(this)};l.prototype.redraw=
45
- function(a){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b;c.redraw.call(this,a)};l.prototype.setRadius=function(c){this.options.r=c};l.attrsMap=n(a.attrsMap,{r:"r"});return l}()});w(a,"Extensions/Annotations/Controllables/ControllableEllipse.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],
46
- a["Core/Utilities.js"]],function(c,a,r){var n=r.merge,l=r.defined;return function(){function p(b,a,e){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.linkPoints=c.linkPoints;this.point=c.point;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;this.translatePoint=c.translatePoint;
47
- this.transformPoint=c.transformPoint;this.type="ellipse";this.init(b,a,e);this.collection="shapes"}p.prototype.init=function(b,a,e){l(a.yAxis)&&a.points.forEach(function(b){b.yAxis=a.yAxis});l(a.xAxis)&&a.points.forEach(function(b){b.xAxis=a.xAxis});c.init.call(this,b,a,e)};p.prototype.render=function(b){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(b);c.render.call(this)};p.prototype.translate=function(b,a){c.translateShape.call(this,
48
- b,a,!0)};p.prototype.getDistanceFromLine=function(b,c,a,g){return Math.abs((c.y-b.y)*a-(c.x-b.x)*g+c.x*b.y-c.y*b.x)/Math.sqrt((c.y-b.y)*(c.y-b.y)+(c.x-b.x)*(c.x-b.x))};p.prototype.getAttrs=function(b,c){var a=b.x,g=b.y,l=c.x,f=c.y;c=(a+l)/2;b=(g+f)/2;var u=Math.sqrt((a-l)*(a-l)/4+(g-f)*(g-f)/4);g=180*Math.atan((f-g)/(l-a))/Math.PI;c<a&&(g+=180);a=this.getRY();return{cx:c,cy:b,rx:u,ry:a,angle:g}};p.prototype.getRY=function(){var b=this.getYAxis();return l(b)?Math.abs(b.toPixels(this.options.ry)-b.toPixels(0)):
49
- this.options.ry};p.prototype.getYAxis=function(){return this.chart.yAxis[this.options.yAxis]};p.prototype.getAbsolutePosition=function(b){return this.anchor(b).absolutePosition};p.prototype.redraw=function(b){var a=this.getAbsolutePosition(this.points[0]),e=this.getAbsolutePosition(this.points[1]);e=this.getAttrs(a,e);if(a)this.graphic[b?"animate":"attr"]({cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,rotation:e.angle,rotationOriginX:e.cx,rotationOriginY:e.cy});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=
50
- !!a;c.redraw.call(this,b)};p.prototype.setYRadius=function(b){this.options.ry=b;this.annotation.userOptions.shapes[0].ry=b;this.annotation.options.shapes[0].ry=b};p.attrsMap=n(a.attrsMap,{ry:"ry"});return p}()});w(a,"Extensions/Annotations/Controllables/ControllableLabel.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Core/FormatUtilities.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Tooltip.js"],a["Core/Utilities.js"]],function(c,a,r,
51
- v,l,p){var b=a.format;a=v.prototype.symbols;var n=p.extend,e=p.isNumber,g=p.pick;p=function(){function a(b,a,e){this.addControlPoints=c.addControlPoints;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;
52
- this.transformPoint=c.transformPoint;this.translateShape=c.translateShape;this.update=c.update;this.init(b,a,e);this.collection="labels"}a.alignedPosition=function(b,a){var c=b.align,e=b.verticalAlign,d=(a.x||0)+(b.x||0),h=(a.y||0)+(b.y||0),m,q;"right"===c?m=1:"center"===c&&(m=2);m&&(d+=(a.width-(b.width||0))/m);"bottom"===e?q=1:"middle"===e&&(q=2);q&&(h+=(a.height-(b.height||0))/q);return{x:Math.round(d),y:Math.round(h)}};a.justifiedOptions=function(b,a,c,e){var d=c.align,h=c.verticalAlign,m=a.box?
53
- 0:a.padding||0,q=a.getBBox();a={align:d,verticalAlign:h,x:c.x,y:c.y,width:a.width,height:a.height};c=(e.x||0)-b.plotLeft;e=(e.y||0)-b.plotTop;var f=c+m;0>f&&("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,
54
- 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),
55
- 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(-1<a.shapesWithoutBackground.indexOf(e.shape)?"#FFFFFF":e.backgroundColor)),this.graphic.css(e.style).shadow(e.shadow));e.className&&this.graphic.addClass(e.className);this.graphic.labelrank=e.labelrank;c.render.call(this)};a.prototype.redraw=function(a){var e=
56
- this.options,f=this.text||e.format||e.text,k=this.graphic,d=this.points[0];k.attr({text:f?b(f,d.getLabelConfig(),this.annotation.chart):e.formatter.call(d,this)});e=this.anchor(d);(f=this.position(e))?(k.alignAttr=f,f.anchorX=e.absolutePosition.x,f.anchorY=e.absolutePosition.y,k[a?"animate":"attr"](f)):k.attr({x:0,y:-9999});k.placed=!!f;c.redraw.call(this,a)};a.prototype.anchor=function(b){var a=c.anchor.apply(this,arguments),e=this.options.x||0,f=this.options.y||0;a.absolutePosition.x-=e;a.absolutePosition.y-=
57
- f;a.relativePosition.x-=e;a.relativePosition.y-=f;return a};a.prototype.position=function(b){var c=this.graphic,e=this.annotation.chart,f=this.points[0],d=this.options,h=b.absolutePosition,m=b.relativePosition,q=f.series.visible&&r.prototype.isInsidePlot.call(f);b=c.width;b=void 0===b?0:b;var z=c.height;z=void 0===z?0:z;if(q){if(d.distance)var A=l.prototype.getPosition.call({chart:e,distance:g(d.distance,16)},b,z,{plotX:m.x,plotY:m.y,negative:f.negative,ttBelow:f.ttBelow,h:m.height||m.width});else d.positioner?
58
- A=d.positioner.call(this):(f={x:h.x,y:h.y,width:0,height:0},A=a.alignedPosition(n(d,{width:b,height:z}),f),"justify"===this.options.overflow&&(A=a.alignedPosition(a.justifiedOptions(e,c,d,A),f)));d.crop&&(c=A.x-e.plotLeft,d=A.y-e.plotTop,q=e.isInsidePlot(c,d)&&e.isInsidePlot(c+b,d+z))}return q?A:null};a.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};a.shapesWithoutBackground=["connector"];return a}();a.connector=
59
- function(b,a,c,g,k){var d=k&&k.anchorX;k=k&&k.anchorY;var h=c/2;if(e(d)&&e(k)){var m=[["M",d,k]];var q=a-k;0>q&&(q=-g-q);q<c&&(h=d<b+c/2?q:c-q);k>a+g?m.push(["L",b+h,a+g]):k<a?m.push(["L",b+h,a]):d<b?m.push(["L",b,a+g/2]):d>b+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,
60
- 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=
61
- 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?
62
- "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"],
63
- 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,
64
- 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,
65
- 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(d,a){var b={};["labels","shapes"].forEach(function(c){d[c]&&(b[c]=a[c]?G(a[c]).map(function(a,b){return B(d[c][b],a)}):d[c])});return b};a.prototype.addShapes=function(){(this.options.shapes||
66
- []).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||
67
- []).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||
68
- 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=
69
- 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);
70
- 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)};
71
- 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,
72
- 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,
73
- {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():
74
- 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)",
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",
76
- 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=
77
- 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=
78
- [])});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=
79
- (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&&
80
- 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;f<a;++f)y[f]="";y.push(b);y.xValues=[];y.xValues[h]=c;d.dataRows.push(y);m=!0}m||d.dataRows.forEach(function(a){!m&&a.xValues&&
81
- void 0!==h&&c===a.xValues[h]&&(B&&a.length>e?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<a;++f)y[f]="";y[0]=c;y.push(b);y.xValues=[];void 0!==h&&(y.xValues[h]=c);d.dataRows.push(y)}})}})});var y=0;d.dataRows.forEach(function(a){y=Math.max(y,a.length)});for(var G=y-d.dataRows[0].length,f=0;f<G;f++){var C=m(f+1);c?(d.dataRows[0].push(C.topLevelColumnTitle),d.dataRows[1].push(C.columnTitle)):d.dataRows[0].push(C)}})});k(x.prototype,"onContainerMouseDown",function(a){this.chart.hasDraggedAnnotation||
82
- a.apply(this,Array.prototype.slice.call(arguments,1))});f.Annotation=C;"";return C});w(a,"Core/Chart/ChartNavigationComposition.js",[],function(){var a;(function(a){a.compose=function(a){a.navigation||(a.navigation=new c(a));return a};var c=function(){function a(a){this.updates=[];this.chart=a}a.prototype.addUpdate=function(a){this.chart.navigation.updates.push(a)};a.prototype.update=function(a,c){var b=this;this.updates.forEach(function(l){l.call(b.chart,a,c)})};return a}();a.Additions=c})(a||(a=
83
- {}));return a});w(a,"Extensions/Annotations/NavigationBindings.js",[a["Extensions/Annotations/Annotations.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/FormatUtilities.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,n,r,v,l,p,b){function c(a,d){var b=F.Element.prototype,c=b.matches||b.msMatchesSelector||b.webkitMatchesSelector,h=null;if(b.closest)h=b.closest.call(a,d);else{do{if(c.call(a,d))return a;a=a.parentElement||
84
- a.parentNode}while(null!==a&&1===a.nodeType)}return h}function e(a){var d=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;m(!0,a.prototype.defaultOptions.events,{click:function(a){var b=this,c=b.chart.navigationBindings,h=c.activeAnnotation;d&&d.call(b,a);h!==b?(c.deselectAnnotation(),c.activeAnnotation=b,b.setControlPointsVisibility(!0),u(c,"showPopup",{annotation:b,formType:"annotation-toolbar",options:c.annotationToFields(b),onSubmit:function(a){var d={};"remove"===a.actionType?
85
- (c.activeAnnotation=!1,c.chart.removeAnnotation(b)):(c.fieldsToOptions(a.fields,d),c.deselectAnnotation(),a=d.typeOptions,"measure"===b.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth),b.update(d))}})):u(c,"closePopup");a.activeAnnotation=!0}})}var g=v.format;v=p.setOptions;var t=b.addEvent,f=b.attr,u=b.fireEvent,x=b.isArray,k=b.isFunction,d=b.isNumber,h=b.isObject,m=b.merge,q=b.objectEach,z=b.pick,A=l.doc,F=l.win,D=function(){function a(a,
86
- d){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=d;this.eventsToUnbind=[];this.container=A.getElementsByClassName(this.options.bindingsClassName||"")}a.prototype.initEvents=function(){var a=this,d=a.chart,b=a.container,c=a.options;a.boundClassNames={};q(c.bindings||{},function(d){a.boundClassNames[d.className]=d});[].forEach.call(b,function(d){a.eventsToUnbind.push(t(d,"click",function(b){var c=a.getButtonEvents(d,b);c&&-1===c.button.className.indexOf("highcharts-disabled-btn")&&
87
- a.bindingsButtonClick(c.button,c.events,b)}))});q(c.events||{},function(d,b){k(d)&&a.eventsToUnbind.push(t(a,b,d,{passive:!1}))});a.eventsToUnbind.push(t(d.container,"click",function(b){!d.cancelClick&&d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop,{visiblePlotOnly:!0})&&a.bindingsChartClick(this,b)}));a.eventsToUnbind.push(t(d.container,l.isTouchDevice?"touchmove":"mousemove",function(d){a.bindingsContainerMouseMove(this,d)},l.isTouchDevice?{passive:!1}:void 0))};a.prototype.initUpdate=function(){var a=
88
- this;r.compose(this.chart).navigation.addUpdate(function(d){a.update(d)})};a.prototype.bindingsButtonClick=function(a,d,b){var c=this.chart,h=c.renderer.boxWrapper,m=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(m=!1),u(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&c.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));m?(this.selectedButton=
89
- d,this.selectedButtonElement=a,u(this,"selectButton",{button:a}),d.init&&d.init.call(this,a,b),(d.start||d.steps)&&c.renderer.boxWrapper.addClass("highcharts-draw-mode")):(c.stockTools&&c.stockTools.toggleButtonAciveClass(a),h.removeClass("highcharts-draw-mode"),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null)};a.prototype.bindingsChartClick=function(a,d){a=this.chart;var b=this.activeAnnotation,h=this.selectedButton;a=a.renderer.boxWrapper;b&&(b.cancelClick||d.activeAnnotation||!d.target.parentNode||
90
- c(d.target,".highcharts-popup")?b.cancelClick&&setTimeout(function(){b.cancelClick=!1},0):u(this,"closePopup"));h&&h.start&&(this.nextEvent?(this.nextEvent(d,this.currentUserDetails),this.steps&&(this.stepIndex++,h.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=h.steps[this.stepIndex]:(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),h.end&&h.end.call(this,d,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=
91
- null))):(this.currentUserDetails=h.start.call(this,d))&&h.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=h.steps[this.stepIndex]):(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,h.end&&h.end.call(this,d,this.currentUserDetails)))};a.prototype.bindingsContainerMouseMove=function(a,d){this.mouseMoveEvent&&this.mouseMoveEvent(d,this.currentUserDetails)};a.prototype.fieldsToOptions=function(a,
92
- b){q(a,function(a,c){var h=parseFloat(a),m=c.split("."),e=b,q=m.length-1;!d(h)||a.match(/px/g)||c.match(/format/g)||(a=h);""!==a&&"undefined"!==a&&m.forEach(function(d,b){var c=z(m[b+1],"");q===b?e[d]=a:(e[d]||(e[d]=c.match(/\d/g)?[]:{}),e=e[d])})});return b};a.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};a.prototype.annotationToFields=function(d){function b(a,c,m,f){if(m&&a&&-1===y.indexOf(c)&&(0<=
93
- (m.indexOf&&m.indexOf(c))||m[c]||!0===m))if(x(a))f[c]=[],a.forEach(function(a,d){h(a)?(f[c][d]={},q(a,function(a,h){b(a,h,e[c],f[c][d])})):b(a,0,e[c],f[c])});else if(h(a)){var z={};x(f)?(f.push(z),z[c]={},z=z[c]):f[c]=z;q(a,function(a,d){b(a,d,0===c?m:e[c],z)})}else"format"===c?f[c]=[g(a,d.labels[0].points[0]).toString(),"text"]:x(f)?f.push([a,B(a)]):f[c]=[a,B(a)]}var c=d.options,m=a.annotationsEditable,e=m.nestedOptions,B=this.utils.getFieldType,f=z(c.type,c.shapes&&c.shapes[0]&&c.shapes[0].type,
94
- c.labels&&c.labels[0]&&c.labels[0].itemType,"label"),y=a.annotationsNonEditable[c.langKey]||[],k={langKey:c.langKey,type:f};q(c,function(a,d){"typeOptions"===d?(k[d]={},q(c[d],function(a,c){b(a,c,e,k[d],!0)})):b(a,d,m[f],k)});return k};a.prototype.getClickedClassNames=function(a,d){var b=d.target;d=[];for(var c;b&&((c=f(b,"class"))&&(d=d.concat(c.split(" ").map(function(a){return[a,b]}))),b=b.parentNode,b!==a););return d};a.prototype.getButtonEvents=function(a,d){var b=this,c;this.getClickedClassNames(a,
95
- d).forEach(function(a){b.boundClassNames[a[0]]&&!c&&(c={events:b.boundClassNames[a[0]],button:a[1]})});return c};a.prototype.update=function(a){this.options=m(!0,this.options,a);this.removeEvents();this.initEvents()};a.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(a){a()})};a.prototype.destroy=function(){this.removeEvents()};a.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill",
96
- "strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],
97
- tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]};a.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return a}();D.prototype.utils={getFieldType:function(a){return{string:"text",number:"number","boolean":"checkbox"}[typeof a]},updateRectSize:function(a,b){var c=b.chart,h=b.options.typeOptions,m=d(h.xAxis)&&c.xAxis[h.xAxis],
98
- e=d(h.yAxis)&&c.yAxis[h.yAxis];m&&e&&(m=m.toValue(a[m.horiz?"chartX":"chartY"]),a=e.toValue(a[e.horiz?"chartX":"chartY"]),e=m-h.point.x,h=h.point.y-a,b.update({typeOptions:{background:{width:c.inverted?h:e,height:c.inverted?e:h}}}))},getAssignedAxis:function(a){return a.filter(function(a){var b=a.axis.getExtremes(),c=b.min;b=b.max;var h=z(a.axis.minPointOffset,0);return d(c)&&d(b)&&a.value>=c-h&&a.value<=b+h&&!a.axis.options.isInternal})[0]}};n.prototype.initNavigationBindings=function(){var a=this.options;
99
- 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,
100
- 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",
101
- 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",
102
- 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",
103
- 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];
104
- 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),
105
- 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,
106
- 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",
107
- 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&&
108
- a.navigationBindings.container&&a.navigationBindings.container[0]&&(c=a.navigationBindings.container[0].querySelectorAll("."+c)))for(var h=0;h<c.length;h++){var m=c[h],e=m.className;"normal"===d.noDataState?-1!==e.indexOf("highcharts-disabled-btn")&&m.classList.remove("highcharts-disabled-btn"):b?-1!==e.indexOf("highcharts-disabled-btn")&&m.classList.remove("highcharts-disabled-btn"):-1===e.indexOf("highcharts-disabled-btn")&&(m.className+=" highcharts-disabled-btn")}})}});t(D,"closePopup",function(){this.deselectAnnotation()});
109
- return D});w(a,"Stock/StockToolsBindings.js",[a["Core/DefaultOptions.js"],a["Core/Globals.js"],a["Extensions/Annotations/NavigationBindings.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,n,r,v,l){var c=a.getOptions;a=a.setOptions;var b=l.correctFloat,w=l.defined,e=l.extend,g=l.fireEvent,t=l.isNumber,f=l.merge,u=l.pick,x=l.uniqueKey,k=r.prototype.utils;k.addFlagFromForm=function(a){return function(d){var b=this,c=b.chart,h=c.stockTools,e=k.getFieldType;d=k.attractToPoint(d,c);if(d){var f=
110
- {type:"flags",onSeries:d.series.id,shape:a,data:[{x:d.x,y:d.y}],xAxis:d.xAxis,yAxis:d.yAxis,point:{events:{click:function(){var a=this,d=a.options;g(b,"showPopup",{point:a,formType:"annotation-toolbar",options:{langKey:"flags",type:"flags",title:[d.title,e(d.title)],name:[d.name,e(d.name)]},onSubmit:function(d){"remove"===d.actionType?a.remove():a.update(b.fieldsToOptions(d.fields,{}))}})}}}};h&&h.guiEnabled||c.addSeries(f);g(b,"showPopup",{formType:"flag",options:{langKey:"flags",type:"flags",title:["A",
111
- e("A")],name:["Flag A",e("Flag A")]},onSubmit:function(a){b.fieldsToOptions(a.fields,f.data[0]);c.addSeries(f)}})}}};k.indicatorsWithAxes="apo ad aroon aroonoscillator atr ao cci chaikin cmf cmo disparityindex dmi dpo linearRegressionAngle linearRegressionIntercept linearRegressionSlope klinger macd mfi momentum natr obv ppo roc rsi slowstochastic stochastic trix williamsr".split(" ");k.manageIndicators=function(a){var d=this.chart,b={linkedTo:a.linkedTo,type:a.type},e="ad cmf klinger mfi obv vbp vwap".split(" "),
112
- f=k.indicatorsWithAxes;if("edit"===a.actionType)this.fieldsToOptions(a.fields,b),(a=d.get(a.seriesId))&&a.update(b,!1);else if("remove"===a.actionType){if(a=d.get(a.seriesId)){var A=a.yAxis;a.linkedSeries&&a.linkedSeries.forEach(function(a){a.remove(!1)});a.remove(!1);0<=f.indexOf(a.type)&&(b=A.options.height,A.remove(!1),this.resizeYAxes(b))}}else{b.id=x();this.fieldsToOptions(a.fields,b);A=d.get(b.linkedTo);var l=c().plotOptions;"undefined"!==typeof A&&A instanceof v&&"sum"===A.getDGApproximation()&&
113
- !w(l&&l[b.type]&&l.dataGrouping&&l.dataGrouping.approximation)&&(b.dataGrouping={approximation:"sum"});0<=f.indexOf(a.type)?(A=d.addAxis({id:x(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),b.yAxis=A.options.id,this.resizeYAxes()):b.yAxis=d.get(a.linkedTo).options.yAxis;0<=e.indexOf(a.type)&&(b.params.volumeSeriesID=d.series.filter(function(a){return"column"===a.options.type})[0].options.id);d.addSeries(b,!1)}g(this,"deselectButton",
114
- {button:this.selectedButtonElement});d.redraw()};k.updateHeight=function(a,b){var d=b.options.typeOptions,c=t(d.yAxis)&&this.chart.yAxis[d.yAxis];c&&d.points&&b.update({typeOptions:{height:c.toValue(a[c.horiz?"chartX":"chartY"])-(d.points[1].y||0)}})};k.attractToPoint=function(a,b){a=b.pointer.getCoordinates(a);var d=Number.MAX_VALUE,c;if(b.navigationBindings){var h=b.navigationBindings.utils.getAssignedAxis(a.xAxis);var e=b.navigationBindings.utils.getAssignedAxis(a.yAxis)}if(h&&e){var f=h.value;
115
- b=e.value;e.axis.series.forEach(function(a){a.points&&a.points.forEach(function(a){a&&d>Math.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<c.y,series:c.series,xAxis:c.series.xAxis.options.index||0,yAxis:c.series.yAxis.options.index||0}}};k.isNotNavigatorYAxis=function(a){return"highcharts-navigator-yaxis"!==a.userOptions.className};k.isPriceIndicatorEnabled=function(a){return a.some(function(a){return a.lastVisiblePrice||a.lastPrice})};k.updateNthPoint=function(a){return function(d,
116
- b){var c=b.options.typeOptions,h=t(c.xAxis)&&this.chart.xAxis[c.xAxis],e=t(c.yAxis)&&this.chart.yAxis[c.yAxis];h&&e&&(c.points.forEach(function(b,c){c>=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)/
117
- 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=
118
- 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=
119
- 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)},
120
- 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),
121
- 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),
122
- 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,
123
- 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,
124
- 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,
125
- 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",
126
- 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",
127
- 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",
128
- 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=
129
- 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);
130
- 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);
131
- 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),
132
- 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,
133
- 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",
134
- 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=
135
- 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,
136
- 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"}}},
137
- 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,
138
- 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,
139
- 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=
140
- 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",
141
- 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=
142
- 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",
143
- 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",
144
- 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&&
145
- 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")},
146
- 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",
147
- 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",
148
- 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",
149
- 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=
150
- 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("'+
151
- 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,
152
- 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",
153
- 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",
154
- 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",
155
- 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",
156
- 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",
157
- 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",
158
- 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",
159
- 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"],
160
- 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"],
161
- 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"],
162
- 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"},
163
- 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(" "),
11
+ (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(y){a(y);a.Highcharts=y;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function y(c,a,r,x){c.hasOwnProperty(a)||(c[a]=x.apply(null,r),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:a,module:c[a]}})))}
12
+ a=a?a._modules:{};y(a,"Extensions/Annotations/Mixins/EventEmitterMixin.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(c,a){var n=a.addEvent,x=a.fireEvent,m=a.objectEach,q=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)});m(b.options.events,function(e,
13
+ h){var c=function(c){"click"===h&&b.cancelClick||e.call(b,b.chart.pointer.normalize(c),b.target)};if(-1===(b.nonDOMEvents||[]).indexOf(h))b.graphic.on(h,c);else n(b,h,c,{passive:!1})});if(b.options.draggable&&(n(b,"drag",b.onDrag),!b.graphic.renderer.styledMode)){var h={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[b.options.draggable]};b.graphic.css(h);(b.labels||[]).forEach(function(b){b.options.useHTML&&b.graphic.text&&b.graphic.text.css(h)})}b.isUpdating||x(b,"add")},removeDocEvents:function(){this.removeDrag&&
14
+ (this.removeDrag=this.removeDrag());this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())},onMouseDown:function(b){var e=this,h=e.chart.pointer;b.preventDefault&&b.preventDefault();if(2!==b.button){b=h.normalize(b);var D=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=h.normalize(b);b.prevChartX=D;b.prevChartY=f;x(e,"drag",b);D=b.chartX;f=b.chartY},c.isTouchDevice?{passive:!1}:
15
+ void 0);e.removeMouseUp=n(c.doc,c.isTouchDevice?"touchend":"mouseup",function(b){var h=q(e.target&&e.target.annotation,e.target);h&&(h.cancelClick=e.hasDragged);e.cancelClick=e.hasDragged;e.hasDragged=!1;e.chart.hasDraggedAnnotation=!1;x(q(h,e),"afterUpdate");e.onMouseUp(b)},c.isTouchDevice?{passive:!1}:void 0)}},onMouseUp:function(b){var e=this.chart;b=this.target||this;var h=e.options.annotations;e=e.annotations.indexOf(b);this.removeDocEvents();h[e]=b.options},onDrag:function(b){if(this.chart.isInsidePlot(b.chartX-
16
+ 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,h){var c=b.prevChartY-h,f=b.prevChartX-e;h=b.chartY-h;b=b.chartX-e;this.chart.inverted&&(e=f,f=c,c=e,e=b,b=h,h=e);
17
+ return Math.atan2(h,b)-Math.atan2(c,f)},mouseMoveToTranslation:function(b){var e=b.chartX-b.prevChartX;b=b.chartY-b.prevChartY;if(this.chart.inverted){var h=b;b=e;e=h}return{x:e,y:b}},mouseMoveToScale:function(b,e,h){e=(b.chartX-e||1)/(b.prevChartX-e||1);b=(b.chartY-h||1)/(b.prevChartY-h||1);this.chart.inverted&&(h=b,b=e,e=h);return{x:e,y:b}},destroy:function(){this.removeDocEvents();b(this);this.hcEvents=null}}});y(a,"Extensions/Annotations/ControlPoint.js",[a["Core/Utilities.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"]],
18
+ function(c,a){var n=c.merge,x=c.pick;return function(){function c(c,b,D,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=D;this.index=x(D.index,e)}c.prototype.setVisibility=function(c){this.graphic[c?
19
+ "show":"hide"]();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=
20
+ 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}()});y(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,m=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=
21
+ !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,h=e.chart,a=b.plotX,f=b.plotY;h.inverted&&(b.mock?(a=b.plotY,f=b.plotX):(a=h.plotWidth-b.plotY,f=h.plotHeight-b.plotX));e&&!c&&(b=e.getPlotBox(),a+=b.translateX,f+=b.translateY);return{x:a,y:f}};a.pointToOptions=
22
+ 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):
23
+ 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,h=this.series.yAxis,a={x:b,y:c,isInsidePlot:!0};e&&(a.isInsidePlot=n(b)&&0<=b&&b<=e.len);h&&(a.isInsidePlot=a.isInsidePlot&&n(c)&&0<=c&&c<=h.len);m(this.series.chart,"afterIsInsidePlot",a);return a.isInsidePlot};
24
+ 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,h){this.hasDynamicOptions()||(this.plotX+=e,this.plotY+=h,this.refreshOptions())};a.prototype.scale=function(b,c,e,h){if(!this.hasDynamicOptions()){var a=this.plotY*h;this.plotX=(1-e)*b+
25
+ this.plotX*e;this.plotY=(1-h)*c+a;this.refreshOptions()}};a.prototype.rotate=function(b,c,e){if(!this.hasDynamicOptions()){var h=Math.cos(e);e=Math.sin(e);var a=this.plotX,f=this.plotY;a-=b;f-=c;this.plotX=a*h-f*e+b;this.plotY=a*e+f*h+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}()});y(a,"Extensions/Annotations/Mixins/ControllableMixin.js",
26
+ [a["Extensions/Annotations/ControlPoint.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Tooltip.js"],a["Core/Utilities.js"]],function(c,a,r,x){var m=x.isObject,q=x.isString,b=x.merge,D=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||
27
+ b.point&&D(b.point)},attrsFromOptions:function(b){var c=this.constructor.attrsMap,e={},a,u=this.chart.styledMode;for(a in b){var z=c[a];!z||u&&-1!==["fill","stroke","stroke-width"].indexOf(z)||(e[z]=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?
28
+ 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||(m(b)?c=new a(this.chart,this,b):q(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;f<a;f++){var u=this.point(b[f],c[f]);if(!u){c.length=0;return}u.mock&&u.refresh();c[f]=u}return c},addControlPoints:function(){var e=
29
+ this.options.controlPoints;(e||[]).forEach(function(a,t){a=b(this.options.controlPointOptions,a);a.index||(a.index=t);e[t]=a;this.controlPoints.push(new c(this.chart,this,a))},this)},shouldBeDrawn:function(){return!!this.points.length},render:function(b){this.controlPoints.forEach(function(b){b.render()})},redraw:function(b){this.controlPoints.forEach(function(c){c.redraw(b)})},transform:function(b,c,a,f,u){if(this.chart.inverted){var e=c;c=a;a=e}this.points.forEach(function(e,d){this.transformPoint(b,
30
+ c,a,f,u,d)},this)},transformPoint:function(b,c,t,f,u,z){var e=this.points[z];e.mock||(e=this.points[z]=a.fromPoint(e));e[b](c,t,f,u)},translate:function(b,c){this.transform("translate",null,null,b,c)},translatePoint:function(b,c,a){this.transformPoint("translate",null,null,b,c,a)},translateShape:function(b,c,a){var e=this.annotation.chart,h=this.annotation.userOptions,t=e.annotations.indexOf(this.annotation);e=e.options.annotations[t];this.translatePoint(b,c,0);a&&this.translatePoint(b,c,1);e[this.collection][this.index].point=
31
+ this.options.point;h[this.collection][this.index].point=this.options.point},rotate:function(b,c,a){this.transform("rotate",b,c,a)},scale:function(b,c,a,f){this.transform("scale",b,c,a,f)},setControlPointsVisibility:function(b){this.controlPoints.forEach(function(c){c.setVisibility(b)})},destroy:function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(b){b.destroy()});this.options=this.controlPoints=this.points=
32
+ this.chart=null;this.annotation&&(this.annotation=null)},update:function(c){var a=this.annotation;c=b(!0,this.options,c);var e=this.graphic.parentGroup;this.destroy();this.constructor(a,c,this.index);this.render(e);this.redraw()}}});y(a,"Extensions/Annotations/Mixins/MarkerMixin.js",[a["Core/Chart/Chart.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(c,a,r){function n(b){return function(c){this.attr(b,"url(#"+c+")")}}var m=r.addEvent,q=r.defined,b=r.merge,D=r.uniqueKey,
33
+ e={arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}};a.prototype.addMarker=function(c,a){var e={attributes:{id:c}},u={stroke:a.color||"none",fill:a.color||"rgba(0, 0, 0, 0.75)"};
34
+ e.children=a.children&&a.children.map(function(c){return b(u,c)});a=b(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},a,e);a=this.definition(a);a.id=c;return a};a={markerEndSetter:n("marker-end"),markerStartSetter:n("marker-start"),setItemMarkers:function(c){var a=c.options,e=c.chart,u=e.options.defs,h=a.fill,g=q(h)&&"none"!==h?h:a.stroke;["markerStart","markerEnd"].forEach(function(d){var k=a[d],l;if(k){for(l in u){var p=u[l];if((k===(p.attributes&&p.attributes.id)||
35
+ k===p.id)&&"marker"===p.tagName){var f=p;break}}f&&(k=c[d]=e.renderer.addMarker((a.id||D())+"-"+k,b(f,{color:g})),c.attr(d,k.getAttribute("id")))}})}};m(c,"afterGetContainer",function(){this.options.defs=b(e,this.options.defs||{})});return a});y(a,"Extensions/Annotations/Controllables/ControllablePath.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Core/Globals.js"],a["Extensions/Annotations/Mixins/MarkerMixin.js"],a["Core/Utilities.js"]],function(c,a,r,x){var m=x.extend,q="rgba(192,192,192,"+
36
+ (a.svg?.0001:.002)+")";return function(){function b(b,a,h){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.setMarkers=r.setItemMarkers;this.transform=c.transform;this.transformPoint=c.transformPoint;
37
+ this.translate=c.translate;this.translatePoint=c.translatePoint;this.translateShape=c.translateShape;this.update=c.update;this.type="path";this.init(b,a,h);this.collection="shapes"}b.prototype.toD=function(){var b=this.options.d;if(b)return"function"===typeof b?b.call(this):b;b=this.points;var c=b.length,a=c,q=b[0],f=a&&this.anchor(q).absolutePosition,u=0,z=[];if(f)for(z.push(["M",f.x,f.y]);++u<c&&a;)q=b[u],a=q.command||"L",f=this.anchor(q).absolutePosition,"M"===a?z.push([a,f.x,f.y]):"L"===a?z.push([a,
38
+ f.x,f.y]):"Z"===a&&z.push([a]),a=q.series.visible;return a?this.chart.renderer.crispLine(z,this.graphic.strokeWidth()):null};b.prototype.shouldBeDrawn=function(){return c.shouldBeDrawn.call(this)||!!this.options.d};b.prototype.render=function(b){var a=this.options,h=this.attrsFromOptions(a);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(h).add(b);a.className&&this.graphic.addClass(a.className);this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(b);
39
+ this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:q,fill:q,"stroke-width":this.graphic.strokeWidth()+2*a.snap});c.render.call(this);m(this.graphic,{markerStartSetter:r.markerStartSetter,markerEndSetter:r.markerEndSetter});this.setMarkers(this)};b.prototype.redraw=function(b){var a=this.toD(),h=b?"animate":"attr";a?(this.graphic[h]({d:a}),this.tracker[h]({d:a})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=
40
+ this.tracker.placed=!!a;c.redraw.call(this,b)};b.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};return b}()});y(a,"Extensions/Annotations/Controllables/ControllableRect.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Core/Utilities.js"]],function(c,a,r){var n=r.merge;return function(){function m(a,b,m){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;
41
+ this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;this.transformPoint=c.transformPoint;this.translatePoint=c.translatePoint;this.translateShape=c.translateShape;this.update=c.update;this.type="rect";this.translate=
42
+ c.translateShape;this.init(a,b,m);this.collection="shapes"}m.prototype.render=function(a){var b=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9E9,0,0).attr(b).add(a);c.render.call(this)};m.prototype.redraw=function(a){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,width:this.options.width,height:this.options.height});else this.attr({x:0,y:-9E9});this.graphic.placed=!!b;c.redraw.call(this,a)};m.attrsMap=
43
+ n(a.attrsMap,{width:"width",height:"height"});return m}()});y(a,"Extensions/Annotations/Controllables/ControllableCircle.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Core/Utilities.js"]],function(c,a,r){var n=r.merge;return function(){function m(a,b,m){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;
44
+ this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;this.transform=c.transform;this.transformPoint=c.transformPoint;this.translatePoint=c.translatePoint;this.translateShape=c.translateShape;this.update=c.update;this.type="circle";this.translate=c.translateShape;this.init(a,b,m);this.collection="shapes"}m.prototype.render=function(a){var b=this.attrsFromOptions(this.options);
45
+ this.graphic=this.annotation.chart.renderer.circle(0,-9E9,0).attr(b).add(a);c.render.call(this)};m.prototype.redraw=function(a){var b=this.anchor(this.points[0]).absolutePosition;if(b)this.graphic[a?"animate":"attr"]({x:b.x,y:b.y,r:this.options.r});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!b;c.redraw.call(this,a)};m.prototype.setRadius=function(c){this.options.r=c};m.attrsMap=n(a.attrsMap,{r:"r"});return m}()});y(a,"Extensions/Annotations/Controllables/ControllableEllipse.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],
46
+ a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Core/Utilities.js"]],function(c,a,r){var n=r.merge,m=r.defined;return function(){function q(b,a,e){this.addControlPoints=c.addControlPoints;this.anchor=c.anchor;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.linkPoints=c.linkPoints;this.point=c.point;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;
47
+ this.transform=c.transform;this.translatePoint=c.translatePoint;this.transformPoint=c.transformPoint;this.type="ellipse";this.init(b,a,e);this.collection="shapes"}q.prototype.init=function(b,a,e){m(a.yAxis)&&a.points.forEach(function(b){b.yAxis=a.yAxis});m(a.xAxis)&&a.points.forEach(function(b){b.xAxis=a.xAxis});c.init.call(this,b,a,e)};q.prototype.render=function(b){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(b);c.render.call(this)};
48
+ q.prototype.translate=function(b,a){c.translateShape.call(this,b,a,!0)};q.prototype.getDistanceFromLine=function(b,c,a,h){return Math.abs((c.y-b.y)*a-(c.x-b.x)*h+c.x*b.y-c.y*b.x)/Math.sqrt((c.y-b.y)*(c.y-b.y)+(c.x-b.x)*(c.x-b.x))};q.prototype.getAttrs=function(b,c){var a=b.x,h=b.y,m=c.x,f=c.y;c=(a+m)/2;b=(h+f)/2;var u=Math.sqrt((a-m)*(a-m)/4+(h-f)*(h-f)/4);h=180*Math.atan((f-h)/(m-a))/Math.PI;c<a&&(h+=180);a=this.getRY();return{cx:c,cy:b,rx:u,ry:a,angle:h}};q.prototype.getRY=function(){var b=this.getYAxis();
49
+ return m(b)?Math.abs(b.toPixels(this.options.ry)-b.toPixels(0)):this.options.ry};q.prototype.getYAxis=function(){return this.chart.yAxis[this.options.yAxis]};q.prototype.getAbsolutePosition=function(b){return this.anchor(b).absolutePosition};q.prototype.redraw=function(b){var a=this.getAbsolutePosition(this.points[0]),e=this.getAbsolutePosition(this.points[1]);e=this.getAttrs(a,e);if(a)this.graphic[b?"animate":"attr"]({cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,rotation:e.angle,rotationOriginX:e.cx,rotationOriginY:e.cy});
50
+ else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!a;c.redraw.call(this,b)};q.prototype.setYRadius=function(b){var c=this.annotation.userOptions.shapes;this.options.ry=b;c&&c[0]&&(c[0].ry=b,c[0].ry=b)};q.attrsMap=n(a.attrsMap,{ry:"ry"});return q}()});y(a,"Extensions/Annotations/Controllables/ControllableLabel.js",[a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Core/FormatUtilities.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Tooltip.js"],
51
+ a["Core/Utilities.js"]],function(c,a,r,x,m,q){var b=a.format;a=x.prototype.symbols;var n=q.extend,e=q.isNumber,h=q.pick;q=function(){function a(b,a,e){this.addControlPoints=c.addControlPoints;this.attr=c.attr;this.attrsFromOptions=c.attrsFromOptions;this.destroy=c.destroy;this.getPointsOptions=c.getPointsOptions;this.init=c.init;this.linkPoints=c.linkPoints;this.point=c.point;this.rotate=c.rotate;this.scale=c.scale;this.setControlPointsVisibility=c.setControlPointsVisibility;this.shouldBeDrawn=c.shouldBeDrawn;
52
+ this.transform=c.transform;this.transformPoint=c.transformPoint;this.translateShape=c.translateShape;this.update=c.update;this.init(b,a,e);this.collection="labels"}a.alignedPosition=function(b,a){var c=b.align,e=b.verticalAlign,d=(a.x||0)+(b.x||0),k=(a.y||0)+(b.y||0),l,p;"right"===c?l=1:"center"===c&&(l=2);l&&(d+=(a.width-(b.width||0))/l);"bottom"===e?p=1:"middle"===e&&(p=2);p&&(k+=(a.height-(b.height||0))/p);return{x:Math.round(d),y:Math.round(k)}};a.justifiedOptions=function(b,a,c,e){var d=c.align,
53
+ k=c.verticalAlign,l=a.box?0:a.padding||0,p=a.getBBox();a={align:d,verticalAlign:k,x:c.x,y:c.y,width:a.width,height:a.height};c=(e.x||0)-b.plotLeft;e=(e.y||0)-b.plotTop;var f=c+l;0>f&&("right"===d?a.align="left":a.x=(a.x||0)-f);f=c+p.width-l;f>b.plotWidth&&("left"===d?a.align="right":a.x=(a.x||0)+b.plotWidth-f);f=e+l;0>f&&("bottom"===k?a.verticalAlign="top":a.y=(a.y||0)-f);f=e+p.height-l;f>b.plotHeight&&("top"===k?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-f);return a};a.prototype.translatePoint=
54
+ 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=
55
+ this.options,f=this.attrsFromOptions(e),g=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"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1<a.shapesWithoutBackground.indexOf(e.shape)?"#FFFFFF":e.backgroundColor)),this.graphic.css(e.style).shadow(e.shadow));e.className&&this.graphic.addClass(e.className);this.graphic.labelrank=e.labelrank;c.render.call(this)};
56
+ a.prototype.redraw=function(a){var e=this.options,f=this.text||e.format||e.text,g=this.graphic,d=this.points[0];g.attr({text:f?b(f,d.getLabelConfig(),this.annotation.chart):e.formatter.call(d,this)});e=this.anchor(d);(f=this.position(e))?(g.alignAttr=f,f.anchorX=e.absolutePosition.x,f.anchorY=e.absolutePosition.y,g[a?"animate":"attr"](f)):g.attr({x:0,y:-9999});g.placed=!!f;c.redraw.call(this,a)};a.prototype.anchor=function(b){var a=c.anchor.apply(this,arguments),e=this.options.x||0,f=this.options.y||
57
+ 0;a.absolutePosition.x-=e;a.absolutePosition.y-=f;a.relativePosition.x-=e;a.relativePosition.y-=f;return a};a.prototype.position=function(b){var c=this.graphic,e=this.annotation.chart,f=this.points[0],d=this.options,k=b.absolutePosition,l=b.relativePosition,p=f.series.visible&&r.prototype.isInsidePlot.call(f);b=c.width;b=void 0===b?0:b;var w=c.height;w=void 0===w?0:w;if(p){if(d.distance)var A=m.prototype.getPosition.call({chart:e,distance:h(d.distance,16)},b,w,{plotX:l.x,plotY:l.y,negative:f.negative,
58
+ ttBelow:f.ttBelow,h:l.height||l.width});else d.positioner?A=d.positioner.call(this):(f={x:k.x,y:k.y,width:0,height:0},A=a.alignedPosition(n(d,{width:b,height:w}),f),"justify"===this.options.overflow&&(A=a.alignedPosition(a.justifiedOptions(e,c,d,A),f)));d.crop&&(c=A.x-e.plotLeft,d=A.y-e.plotTop,p=e.isInsidePlot(c,d)&&e.isInsidePlot(c+b,d+w))}return p?A:null};a.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};a.shapesWithoutBackground=
59
+ ["connector"];return a}();a.connector=function(b,a,c,h,g){var d=g&&g.anchorX;g=g&&g.anchorY;var k=c/2;if(e(d)&&e(g)){var l=[["M",d,g]];var p=a-g;0>p&&(p=-h-p);p<c&&(k=d<b+c/2?p:c-p);g>a+h?l.push(["L",b+k,a+h]):g<a?l.push(["L",b+k,a]):d<b?l.push(["L",b,a+h/2]):d>b+c&&l.push(["L",b+c,a+h/2])}return l||[]};return q});y(a,"Extensions/Annotations/Controllables/ControllableImage.js",[a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"]],
60
+ function(a,n){return function(){function c(a,c,q){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=
61
+ n.translatePoint;this.translateShape=n.translateShape;this.update=n.update;this.type="image";this.translate=n.translateShape;this.init(a,c,q);this.collection="shapes"}c.prototype.render=function(a){var c=this.attrsFromOptions(this.options),q=this.options;this.graphic=this.annotation.chart.renderer.image(q.src,0,-9E9,q.width,q.height).attr(c).add(a);this.graphic.width=q.width;this.graphic.height=q.height;n.render.call(this)};c.prototype.redraw=function(c){var m=this.anchor(this.points[0]);if(m=a.prototype.position.call(this,
62
+ m))this.graphic[c?"animate":"attr"]({x:m.x,y:m.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!m;n.redraw.call(this,c)};c.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return c}()});y(a,"Extensions/Annotations/Annotation.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"],
63
+ 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,x,m,q,b,y,e,h,t,f,u,z,g){var d=
64
+ a.getDeferredAnimation;a=n.prototype;var c=g.addEvent,l=g.defined,p=g.destroyObjectProperties,w=g.erase,A=g.extend,G=g.find,E=g.fireEvent,v=g.merge,F=g.pick,B=g.splat;g=g.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=v(this.defaultOptions,
65
+ 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){var k=a[c];k&&(b[c]=d[c]?B(d[c]).map(function(a,
66
+ d){return v(k[d],a)}):a[c])});return b};a.prototype.addShapes=function(){var a=this.options.shapes||[];a.forEach(function(d,b){d=this.initShape(d,b);v(!0,a[b],d.options)},this)};a.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,d){a=this.initLabel(a,d);v(!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=
67
+ 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=
68
+ 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=v(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],
69
+ 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?"inherit":"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();
70
+ 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=F(a,!d.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),b.activeAnnotation===this&&b.popup&&"annotation-toolbar"===b.popup.formType&&E(b,"closePopup"));d.visible=a};a.prototype.setControlPointsVisibility=function(a){var d=
71
+ 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;w(a.labelCollectors,this.labelCollector);t.destroy.call(this);r.destroy.call(this);p(this,a)};a.prototype.remove=function(){return this.chart.removeAnnotation(this)};a.prototype.update=function(a,d){var b=this.chart,
72
+ c=this.getLabelsAndShapesOptions(this.userOptions,a),k=b.annotations.indexOf(this);a=v(!0,this.userOptions,a);a.labels=c.labels;a.shapes=c.shapes;this.destroy();this.constructor(b,a);b.options.annotations[k]=a;this.isUpdating=!0;F(d,!0)&&b.redraw();E(this,"afterUpdate");this.isUpdating=!1};a.prototype.initShape=function(d,b){d=v(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=
73
+ function(a,d){a=v(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(F(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=
74
+ !0)});d?"hidden"===b.visibility&&b.show():b.hide()};a.prototype.destroyItem=function(a){w(this[a.itemType+"s"],a);a.destroy()};a.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};a.ControlPoint=h;a.MockPoint=u;a.shapesMap={rect:x,circle:m,ellipse:q,path:b,image:y};a.types={};return a}();v(!0,C.prototype,r,t,v(C.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center",
75
+ allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return l(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",
76
+ 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,v(d.prototype,b));a.prototype.defaultOptions=v(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);F(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1}));
77
+ return a},removeAnnotation:function(a){var d=this.annotations,b="annotations"===a.coll?a:G(d,function(d){return d.options.id===a});b&&(E(b,"remove"),w(this.options.annotations,b.options),w(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=
78
+ [];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();
79
+ a.controlPointsGroup.destroy()});c(a,"exportData",function(d){var b=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,c=!d.dataRows[1].xValues,k=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,l=function(a){if(b){var d=b(a);if(!1!==d)return d}d=k+" "+a;return c?{columnTitle:d,topLevelColumnTitle:d}:d},e=d.dataRows[0].length,p=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter,
80
+ 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&&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,k=a.series.xAxis?a.series.xAxis.options.index:-1,l=!1;if(-1===k){a=d.dataRows[0].length;for(var v=Array(a),B=0;B<a;++B)v[B]="";v.push(b);v.xValues=[];v.xValues[k]=c;
81
+ d.dataRows.push(v);l=!0}l||d.dataRows.forEach(function(a){!l&&a.xValues&&void 0!==k&&c===a.xValues[k]&&(F&&a.length>e?a[a.length-1]+=p+b:a.push(b),l=!0)});if(!l){a=d.dataRows[0].length;v=Array(a);for(B=0;B<a;++B)v[B]="";v[0]=c;v.push(b);v.xValues=[];void 0!==k&&(v.xValues[k]=c);d.dataRows.push(v)}})}})});var v=0;d.dataRows.forEach(function(a){v=Math.max(v,a.length)});for(var B=v-d.dataRows[0].length,f=0;f<B;f++){var C=l(f+1);c?(d.dataRows[0].push(C.topLevelColumnTitle),d.dataRows[1].push(C.columnTitle)):
82
+ d.dataRows[0].push(C)}})});g(z.prototype,"onContainerMouseDown",function(a){this.chart.hasDraggedAnnotation||a.apply(this,Array.prototype.slice.call(arguments,1))});f.Annotation=C;"";return C});y(a,"Core/Chart/ChartNavigationComposition.js",[],function(){var a;(function(a){a.compose=function(a){a.navigation||(a.navigation=new c(a));return a};var c=function(){function a(a){this.updates=[];this.chart=a}a.prototype.addUpdate=function(a){this.chart.navigation.updates.push(a)};a.prototype.update=function(a,
83
+ c){var b=this;this.updates.forEach(function(m){m.call(b.chart,a,c)})};return a}();a.Additions=c})(a||(a={}));return a});y(a,"Extensions/Annotations/NavigationBindings.js",[a["Extensions/Annotations/Annotation.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/FormatUtilities.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,n,r,x,m,q,b){function c(a,d){var b=G.Element.prototype,c=b.matches||b.msMatchesSelector||b.webkitMatchesSelector,
84
+ k=null;if(b.closest)k=b.closest.call(a,d);else{do{if(c.call(a,d))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return k}function e(a){var d=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;l(!0,a.prototype.defaultOptions.events,{click:function(a){var b=this,c=b.chart.navigationBindings,k=c.activeAnnotation;d&&d.call(b,a);k!==b?(c.deselectAnnotation(),c.activeAnnotation=b,b.setControlPointsVisibility(!0),u(c,"showPopup",{annotation:b,formType:"annotation-toolbar",
85
+ options:c.annotationToFields(b),onSubmit:function(a){var d={};"remove"===a.actionType?(c.activeAnnotation=!1,c.chart.removeAnnotation(b)):(c.fieldsToOptions(a.fields,d),c.deselectAnnotation(),a=d.typeOptions,"measure"===b.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth),b.update(d))}})):u(c,"closePopup");a.activeAnnotation=!0}})}var h=x.format;x=q.setOptions;var t=b.addEvent,f=b.attr,u=b.fireEvent,z=b.isArray,g=b.isFunction,d=b.isNumber,
86
+ k=b.isObject,l=b.merge,p=b.objectEach,w=b.pick,A=m.doc,G=m.win,E=function(){function a(a,d){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=d;this.eventsToUnbind=[];this.container=A.getElementsByClassName(this.options.bindingsClassName||"")}a.prototype.initEvents=function(){var a=this,d=a.chart,b=a.container,c=a.options;a.boundClassNames={};p(c.bindings||{},function(d){a.boundClassNames[d.className]=d});[].forEach.call(b,function(d){a.eventsToUnbind.push(t(d,"click",function(b){var c=
87
+ a.getButtonEvents(d,b);c&&-1===c.button.className.indexOf("highcharts-disabled-btn")&&a.bindingsButtonClick(c.button,c.events,b)}))});p(c.events||{},function(d,b){g(d)&&a.eventsToUnbind.push(t(a,b,d,{passive:!1}))});a.eventsToUnbind.push(t(d.container,"click",function(b){!d.cancelClick&&d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop,{visiblePlotOnly:!0})&&a.bindingsChartClick(this,b)}));a.eventsToUnbind.push(t(d.container,m.isTouchDevice?"touchmove":"mousemove",function(d){a.bindingsContainerMouseMove(this,
88
+ d)},m.isTouchDevice?{passive:!1}:void 0))};a.prototype.initUpdate=function(){var a=this;r.compose(this.chart).navigation.addUpdate(function(d){a.update(d)})};a.prototype.bindingsButtonClick=function(a,d,b){var c=this.chart,k=c.renderer.boxWrapper,l=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(l=!1),u(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&c.removeAnnotation(this.currentUserDetails),
89
+ this.mouseMoveEvent=this.nextEvent=!1));l?(this.selectedButton=d,this.selectedButtonElement=a,u(this,"selectButton",{button:a}),d.init&&d.init.call(this,a,b),(d.start||d.steps)&&c.renderer.boxWrapper.addClass("highcharts-draw-mode")):(c.stockTools&&c.stockTools.toggleButtonAciveClass(a),k.removeClass("highcharts-draw-mode"),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null)};a.prototype.bindingsChartClick=function(a,d){a=this.chart;var b=this.activeAnnotation,k=this.selectedButton;a=
90
+ a.renderer.boxWrapper;b&&(b.cancelClick||d.activeAnnotation||!d.target.parentNode||c(d.target,".highcharts-popup")?b.cancelClick&&setTimeout(function(){b.cancelClick=!1},0):u(this,"closePopup"));k&&k.start&&(this.nextEvent?(this.nextEvent(d,this.currentUserDetails),this.steps&&(this.stepIndex++,k.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=k.steps[this.stepIndex]:(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),k.end&&k.end.call(this,
91
+ d,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=k.start.call(this,d))&&k.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=k.steps[this.stepIndex]):(u(this,"deselectButton",{button:this.selectedButtonElement}),a.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,k.end&&k.end.call(this,d,this.currentUserDetails)))};a.prototype.bindingsContainerMouseMove=function(a,d){this.mouseMoveEvent&&
92
+ this.mouseMoveEvent(d,this.currentUserDetails)};a.prototype.fieldsToOptions=function(a,b){p(a,function(a,c){var k=parseFloat(a),l=c.split("."),e=b,p=l.length-1;!d(k)||a.match(/px/g)||c.match(/format/g)||(a=k);""!==a&&"undefined"!==a&&l.forEach(function(d,b){var c=w(l[b+1],"");p===b?e[d]=a:(e[d]||(e[d]=c.match(/\d/g)?[]:{}),e=e[d])})});return b};a.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};a.prototype.annotationToFields=
93
+ function(d){function b(a,c,l,f){if(l&&a&&-1===F.indexOf(c)&&(0<=(l.indexOf&&l.indexOf(c))||l[c]||!0===l))if(z(a))f[c]=[],a.forEach(function(a,d){k(a)?(f[c][d]={},p(a,function(a,k){b(a,k,e[c],f[c][d])})):b(a,0,e[c],f[c])});else if(k(a)){var w={};z(f)?(f.push(w),w[c]={},w=w[c]):f[c]=w;p(a,function(a,d){b(a,d,0===c?l:e[c],w)})}else"format"===c?f[c]=[h(a,d.labels[0].points[0]).toString(),"text"]:z(f)?f.push([a,v(a)]):f[c]=[a,v(a)]}var c=d.options,l=a.annotationsEditable,e=l.nestedOptions,v=this.utils.getFieldType,
94
+ f=w(c.type,c.shapes&&c.shapes[0]&&c.shapes[0].type,c.labels&&c.labels[0]&&c.labels[0].itemType,"label"),F=a.annotationsNonEditable[c.langKey]||[],g={langKey:c.langKey,type:f};p(c,function(a,d){"typeOptions"===d?(g[d]={},p(c[d],function(a,c){b(a,c,e,g[d],!0)})):b(a,d,l[f],g)});return g};a.prototype.getClickedClassNames=function(a,d){var b=d.target;d=[];for(var c;b&&((c=f(b,"class"))&&(d=d.concat(c.split(" ").map(function(a){return[a,b]}))),b=b.parentNode,b!==a););return d};a.prototype.getButtonEvents=
95
+ function(a,d){var b=this,c;this.getClickedClassNames(a,d).forEach(function(a){b.boundClassNames[a[0]]&&!c&&(c={events:b.boundClassNames[a[0]],button:a[1]})});return c};a.prototype.update=function(a){this.options=l(!0,this.options,a);this.removeEvents();this.initEvents()};a.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(a){a()})};a.prototype.destroy=function(){this.removeEvents()};a.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],
96
+ label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],
97
+ measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]};a.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};return a}();E.prototype.utils={getFieldType:function(a){return{string:"text",number:"number","boolean":"checkbox"}[typeof a]},updateRectSize:function(a,
98
+ b){var c=b.chart,k=b.options.typeOptions,l=d(k.xAxis)&&c.xAxis[k.xAxis],e=d(k.yAxis)&&c.yAxis[k.yAxis];l&&e&&(l=l.toValue(a[l.horiz?"chartX":"chartY"]),a=e.toValue(a[e.horiz?"chartX":"chartY"]),e=l-k.point.x,k=k.point.y-a,b.update({typeOptions:{background:{width:c.inverted?k:e,height:c.inverted?e:k}}}))},getAssignedAxis:function(a){return a.filter(function(a){var b=a.axis.getExtremes(),c=b.min;b=b.max;var k=w(a.axis.minPointOffset,0);return d(c)&&d(b)&&a.value>=c-k&&a.value<=b+k&&!a.axis.options.isInternal})[0]}};
99
+ n.prototype.initNavigationBindings=function(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new E(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(E,"deselectButton",function(){this.selectedButtonElement=null});t(a,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()});
100
+ m.Annotation&&(e(a),p(a.types,function(a){e(a)}));x({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",
101
+ 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(l({langKey:"circle",type:"basicAnnotation",
102
+ 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;c=c&&c[0]&&c[0].point||{};if(d(c.xAxis)&&d(c.yAxis)){var k=this.chart.inverted;var l=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);k=Math.max(Math.sqrt(Math.pow(k?c-a.chartX:l-a.chartX,2)+Math.pow(k?l-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:k}]})}]},
103
+ 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(l({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))},
104
+ 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=
105
+ 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 k=this.chart.options.navigation;return this.chart.addAnnotation(l({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"}]}]},k.annotationsOptions,k.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a,
106
+ d){var b=d.options.shapes;b=b&&b[0]&&b[0].points||[];var 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;
107
+ if(a&&d)return this.chart.addAnnotation(l({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)});
108
+ p(d.boundClassNames,function(d,c){if(a.navigationBindings&&a.navigationBindings.container&&a.navigationBindings.container[0]&&(c=a.navigationBindings.container[0].querySelectorAll("."+c)))for(var k=0;k<c.length;k++){var l=c[k],e=l.className;"normal"===d.noDataState?-1!==e.indexOf("highcharts-disabled-btn")&&l.classList.remove("highcharts-disabled-btn"):b?-1!==e.indexOf("highcharts-disabled-btn")&&l.classList.remove("highcharts-disabled-btn"):-1===e.indexOf("highcharts-disabled-btn")&&(l.className+=
109
+ " highcharts-disabled-btn")}})}});t(E,"closePopup",function(){this.deselectAnnotation()});return E});y(a,"Stock/StockToolsBindings.js",[a["Core/DefaultOptions.js"],a["Core/Globals.js"],a["Extensions/Annotations/NavigationBindings.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,n,r,x,m){var c=a.getOptions;a=a.setOptions;var b=m.correctFloat,y=m.defined,e=m.extend,h=m.fireEvent,t=m.isNumber,f=m.merge,u=m.pick,z=m.uniqueKey,g=r.prototype.utils;g.addFlagFromForm=function(a){return function(d){var b=
110
+ this,c=b.chart,k=c.stockTools,e=g.getFieldType;d=g.attractToPoint(d,c);if(d){var f={type:"flags",onSeries:d.series.id,shape:a,data:[{x:d.x,y:d.y}],xAxis:d.xAxis,yAxis:d.yAxis,point:{events:{click:function(){var a=this,d=a.options;h(b,"showPopup",{point:a,formType:"annotation-toolbar",options:{langKey:"flags",type:"flags",title:[d.title,e(d.title)],name:[d.name,e(d.name)]},onSubmit:function(d){"remove"===d.actionType?a.remove():a.update(b.fieldsToOptions(d.fields,{}))}})}}}};k&&k.guiEnabled||c.addSeries(f);
111
+ h(b,"showPopup",{formType:"flag",options:{langKey:"flags",type:"flags",title:["A",e("A")],name:["Flag A",e("Flag A")]},onSubmit:function(a){b.fieldsToOptions(a.fields,f.data[0]);c.addSeries(f)}})}}};g.indicatorsWithAxes="apo ad aroon aroonoscillator atr ao cci chaikin cmf cmo disparityindex dmi dpo linearRegressionAngle linearRegressionIntercept linearRegressionSlope klinger macd mfi momentum natr obv ppo roc rsi slowstochastic stochastic trix williamsr".split(" ");g.manageIndicators=function(a){var d=
112
+ this.chart,b={linkedTo:a.linkedTo,type:a.type},e="ad cmf klinger mfi obv vbp vwap".split(" "),f=g.indicatorsWithAxes;if("edit"===a.actionType)this.fieldsToOptions(a.fields,b),(a=d.get(a.seriesId))&&a.update(b,!1);else if("remove"===a.actionType){if(a=d.get(a.seriesId)){var A=a.yAxis;a.linkedSeries&&a.linkedSeries.forEach(function(a){a.remove(!1)});a.remove(!1);0<=f.indexOf(a.type)&&(b={height:A.options.height,top:A.options.top},A.remove(!1),this.resizeYAxes(b))}}else{b.id=z();this.fieldsToOptions(a.fields,
113
+ b);A=d.get(b.linkedTo);var m=c().plotOptions;"undefined"!==typeof A&&A instanceof x&&"sum"===A.getDGApproximation()&&!y(m&&m[b.type]&&m.dataGrouping&&m.dataGrouping.approximation)&&(b.dataGrouping={approximation:"sum"});0<=f.indexOf(a.type)?(A=d.addAxis({id:z(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),b.yAxis=A.options.id,this.resizeYAxes()):b.yAxis=d.get(a.linkedTo).options.yAxis;0<=e.indexOf(a.type)&&(b.params.volumeSeriesID=d.series.filter(function(a){return"column"===
114
+ a.options.type})[0].options.id);d.addSeries(b,!1)}h(this,"deselectButton",{button:this.selectedButtonElement});d.redraw()};g.updateHeight=function(a,b){var d=b.options.typeOptions,c=t(d.yAxis)&&this.chart.yAxis[d.yAxis];c&&d.points&&b.update({typeOptions:{height:c.toValue(a[c.horiz?"chartX":"chartY"])-(d.points[1].y||0)}})};g.attractToPoint=function(a,b){a=b.pointer.getCoordinates(a);var d=Number.MAX_VALUE,c;if(b.navigationBindings){var k=b.navigationBindings.utils.getAssignedAxis(a.xAxis);var e=
115
+ b.navigationBindings.utils.getAssignedAxis(a.yAxis)}if(k&&e){var f=k.value;b=e.value;e.axis.series.forEach(function(a){a.points&&a.points.forEach(function(a){a&&d>Math.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<c.y,series:c.series,xAxis:c.series.xAxis.options.index||0,yAxis:c.series.yAxis.options.index||0}}};g.isNotNavigatorYAxis=function(a){return"highcharts-navigator-yaxis"!==a.userOptions.className};g.isPriceIndicatorEnabled=function(a){return a.some(function(a){return a.lastVisiblePrice||
116
+ a.lastPrice})};g.updateNthPoint=function(a){return function(d,b){var c=b.options.typeOptions,k=t(c.xAxis)&&this.chart.xAxis[c.xAxis],e=t(c.yAxis)&&this.chart.yAxis[c.yAxis];k&&e&&(c.points.forEach(function(b,c){c>=a&&(b.x=k.toValue(d[k.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,p){function d(a){return y(a)&&!t(a)&&a.match("%")}var k=0,l;if(p){var f=b(parseFloat(p.top)/100);var h=
117
+ b(parseFloat(p.height)/100)}return{positions:a.map(function(p,g){var w=b(d(p.options.height)?parseFloat(p.options.height)/100:p.height/c);p=b(d(p.options.top)?parseFloat(p.options.top)/100:(p.top-p.chart.plotTop)/c);h?(p>f&&(p-=h),k=Math.max(k,(p||0)+(w||0))):(t(w)||(w=a[g-1].series.every(function(a){return a.is("sma")})?l:e/100),t(p)||(p=k),l=w,k=b(Math.max(k,(p||0)+(w||0))));return{height:100*w,top:100*p}}),allAxesHeight:k}},getYAxisResizers:function(a){var d=[];a.forEach(function(b,c){b=a[c+1];
118
+ 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(g.isNotNavigatorYAxis);d=this.getYAxisPositions(c,d.plotHeight,20,a);var e=d.positions,f=d.allAxesHeight,h=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:h[d],
119
+ offset:0},!1)})},recalculateYAxisPositions:function(a,c,e,p){a.forEach(function(d,k){k=a[k-1];d.top=k?b(k.height+k.top):0;e&&(d.height=b(d.height+p*c))});return a}});m={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,
120
+ points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.segment.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.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,
121
+ 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:[g.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,
122
+ 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:[g.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"},
123
+ 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:[g.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",
124
+ 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:[g.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=
125
+ 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:[g.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);
126
+ 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);
127
+ 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&&
128
+ 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:[g.updateNthPoint(1),g.updateNthPoint(2)]},crooked5:{className:"highcharts-crooked5",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);
129
+ if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"crooked5",type:"crookedLine",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}]}},e.annotationsOptions,e.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3),g.updateNthPoint(4)]},elliott3:{className:"highcharts-elliott3",start:function(a){var b=this.chart.pointer.getCoordinates(a);
130
+ 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:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3)]},
131
+ 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);
132
+ return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3),g.updateNthPoint(4),g.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,
133
+ 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:[g.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);
134
+ 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:[g.updateRectSize]},
135
+ 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"}},
136
+ labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.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,
137
+ 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:[g.updateNthPoint(1),g.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",
138
+ 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:[g.updateNthPoint(1),g.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;
139
+ 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:[g.updateNthPoint(1),g.updateNthPoint(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(a){a=
140
+ g.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),
141
+ this.verticalCounter++,a.options.events.click.call(a,{}))}},timeCycles:{className:"highcharts-time-cycles",start:function(a){a=g.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,
142
+ {}),a},steps:[g.updateNthPoint(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(a){a=g.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),
143
+ a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}))}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(a){a=g.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,
144
+ 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}]}},
145
+ 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:g.addFlagFromForm("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",
146
+ start:g.addFlagFromForm("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:g.addFlagFromForm("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:g.addFlagFromForm("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(a){this.chart.update({chart:{zoomType:"x"}});h(this,"deselectButton",{button:a})}},zoomY:{className:"highcharts-zoom-y",init:function(a){this.chart.update({chart:{zoomType:"y"}});h(this,"deselectButton",{button:a})}},zoomXY:{className:"highcharts-zoom-xy",
147
+ init:function(a){this.chart.update({chart:{zoomType:"xy"}});h(this,"deselectButton",{button:a})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(a){this.chart.series[0].update({type:"line",useOhlcData:!0});h(this,"deselectButton",{button:a})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(a){this.chart.series[0].update({type:"ohlc"});h(this,"deselectButton",{button:a})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(a){this.chart.series[0].update({type:"candlestick"});
148
+ h(this,"deselectButton",{button:a})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(a){this.chart.series[0].update({type:"heikinashi"});h(this,"deselectButton",{button:a})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(a){this.chart.series[0].update({type:"hlc",useOhlcData:!0});h(this,"deselectButton",{button:a})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(a){this.chart.series[0].update({type:"hollowcandlestick"});
149
+ h(this,"deselectButton",{button:a})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(a){this.chart.fullscreen.toggle();h(this,"deselectButton",{button:a})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(a){var b=this.chart,c=b.series,d=b.stockTools,e=g.isPriceIndicatorEnabled(b.series);d&&d.guiEnabled&&(c.forEach(function(a){a.update({lastPrice:{enabled:!e},lastVisiblePrice:{enabled:!e,label:{enabled:!0}}},!1)}),b.redraw());
150
+ h(this,"deselectButton",{button:a})}},indicators:{className:"highcharts-indicators",init:function(){var a=this;h(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&&
151
+ (a.firstChild.style["background-image"]=this.toggledAnnotations?'url("'+d+'annotations-hidden.svg")':'url("'+d+'annotations-visible.svg")');h(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){g.isNotNavigatorYAxis(a)&&
152
+ f.push(a.options)});n.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:c,indicators:d,flags:e,yAxes:f}));h(this,"deselectButton",{button:a})}}};a({navigation:{bindings:m}});r.prototype.utils=f(g,r.prototype.utils)});y(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,x,m){x=x.setOptions;var c=m.addEvent,b=m.createElement,y=m.css,e=m.extend,
153
+ h=m.fireEvent,t=m.getStyle,f=m.isArray,u=m.merge,z=m.pick;x({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",
154
+ 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",
155
+ 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",
156
+ 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",
157
+ 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",
158
+ 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",
159
+ 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"],
160
+ 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"],
161
+ 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"],
162
+ 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(" "),
163
+ 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(" "),
164
164
  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",
165
165
  "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",
166
166
  "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(" "),
167
167
  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+
168
- t(a,"padding-left")+t(a,"padding-right")||a.offsetWidth))&&a<this.plotWidth&&(this.plotLeft+=a,this.spacing[3]+=a)},{order:0});["beforeRender","beforeRedraw"].forEach(function(b){c(a,b,function(){if(this.stockTools){var a=this.options.chart,b=this.stockTools.listWrapper;b=b&&(b.startWidth+t(b,"padding-left")+t(b,"padding-right")||b.offsetWidth);var c=!1;b&&b<this.plotWidth?(a=x(a.spacingLeft,a.spacing&&a.spacing[3],0)+b,c=a-this.spacingBox.x,this.spacingBox.x=a,this.spacingBox.width-=c,c=!0):0===
169
- b&&(c=!0);b!==this.stockTools.prevOffsetWidth&&(this.stockTools.prevOffsetWidth=b,c&&(this.isDirtyLegend=!0))}})});c(a,"destroy",function(){this.stockTools&&this.stockTools.destroy()});c(a,"redraw",function(){this.stockTools&&this.stockTools.guiEnabled&&this.stockTools.redraw()});var k=function(){function a(a,b,c){this.wrapper=this.toolbar=this.submenu=this.showhideBtn=this.listWrapper=this.arrowWrapper=this.arrowUp=this.arrowDown=void 0;this.chart=c;this.options=a;this.lang=b;this.iconsURL=this.getIconsURL();
170
- this.guiEnabled=a.enabled;this.visible=x(a.visible,!0);this.placed=x(a.placed,!1);this.eventsToUnbind=[];this.guiEnabled&&(this.createHTML(),this.init(),this.showHideNavigatorion());g(this,"afterInit")}a.prototype.init=function(){var a=this,b=this.lang,d=this.options,e=this.toolbar,k=a.addSubmenu,g=d.definitions,l=e.childNodes,n;d.buttons.forEach(function(d){n=a.addButton(e,g,d,b);a.eventsToUnbind.push(c(n.buttonWrapper,"click",function(){a.eraseActiveButtons(l,n.buttonWrapper)}));f(g[d].items)&&
171
- k.call(a,n,g[d])})};a.prototype.addSubmenu=function(a,d){var e=this,f=a.submenuArrow,h=a.buttonWrapper,m=t(h,"width"),k=this.wrapper,g=this.listWrapper,l=this.toolbar.childNodes,n=0,p;this.submenu=p=b("ul",{className:"highcharts-submenu-wrapper"},void 0,h);this.addSubmenuItems(h,d);e.eventsToUnbind.push(c(f,"click",function(a){a.stopPropagation();e.eraseActiveButtons(l,h);0<=h.className.indexOf("highcharts-current")?(g.style.width=g.startWidth+"px",h.classList.remove("highcharts-current"),p.style.display=
172
- "none"):(p.style.display="block",n=p.offsetHeight-h.offsetHeight-3,p.offsetHeight+h.offsetTop>k.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,
173
- 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<c.length&&(c[0].style.display="none"))})};a.prototype.addButton=function(c,d,e,f){void 0===f&&(f={});d=d[e];var h=d.items,g=d.className||
174
- "";e=b("li",{className:x(a.prototype.classMapping[e],"")+" "+g,title:f[e]||e},void 0,c);c=b("span",{className:"highcharts-menu-item-btn"},void 0,e);if(h&&h.length){var k=b("span",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,e);k.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)"}else c.style.backgroundImage="url("+this.iconsURL+d.symbol+")";return{buttonWrapper:e,mainButton:c,submenuArrow:k}};a.prototype.addNavigation=function(){var a=this.wrapper;this.arrowWrapper=
168
+ t(a,"padding-left")+t(a,"padding-right")||a.offsetWidth))&&a<this.plotWidth&&(this.plotLeft+=a,this.spacing[3]+=a)},{order:0});["beforeRender","beforeRedraw"].forEach(function(b){c(a,b,function(){if(this.stockTools){var a=this.options.chart,b=this.stockTools.listWrapper;b=b&&(b.startWidth+t(b,"padding-left")+t(b,"padding-right")||b.offsetWidth);var c=!1;b&&b<this.plotWidth?(a=z(a.spacingLeft,a.spacing&&a.spacing[3],0)+b,c=a-this.spacingBox.x,this.spacingBox.x=a,this.spacingBox.width-=c,c=!0):0===
169
+ b&&(c=!0);b!==this.stockTools.prevOffsetWidth&&(this.stockTools.prevOffsetWidth=b,c&&(this.isDirtyLegend=!0))}})});c(a,"destroy",function(){this.stockTools&&this.stockTools.destroy()});c(a,"redraw",function(){this.stockTools&&this.stockTools.guiEnabled&&this.stockTools.redraw()});var g=function(){function a(a,b,c){this.wrapper=this.toolbar=this.submenu=this.showhideBtn=this.listWrapper=this.arrowWrapper=this.arrowUp=this.arrowDown=void 0;this.chart=c;this.options=a;this.lang=b;this.iconsURL=this.getIconsURL();
170
+ this.guiEnabled=a.enabled;this.visible=z(a.visible,!0);this.placed=z(a.placed,!1);this.eventsToUnbind=[];this.guiEnabled&&(this.createHTML(),this.init(),this.showHideNavigatorion());h(this,"afterInit")}a.prototype.init=function(){var a=this,b=this.lang,d=this.options,e=this.toolbar,h=a.addSubmenu,g=d.definitions,m=e.childNodes,n;d.buttons.forEach(function(d){n=a.addButton(e,g,d,b);a.eventsToUnbind.push(c(n.buttonWrapper,"click",function(){a.eraseActiveButtons(m,n.buttonWrapper)}));f(g[d].items)&&
171
+ h.call(a,n,g[d])})};a.prototype.addSubmenu=function(a,d){var e=this,k=a.submenuArrow,f=a.buttonWrapper,l=t(f,"width"),h=this.wrapper,g=this.listWrapper,m=this.toolbar.childNodes,n=0,q;this.submenu=q=b("ul",{className:"highcharts-submenu-wrapper"},void 0,f);this.addSubmenuItems(f,d);e.eventsToUnbind.push(c(k,"click",function(a){a.stopPropagation();e.eraseActiveButtons(m,f);0<=f.className.indexOf("highcharts-current")?(g.style.width=g.startWidth+"px",f.classList.remove("highcharts-current"),q.style.display=
172
+ "none"):(q.style.display="block",n=q.offsetHeight-f.offsetHeight-3,q.offsetHeight+f.offsetTop>h.offsetHeight&&f.offsetTop>n||(n=0),y(q,{top:-n+"px",left:l+3+"px"}),f.className+=" highcharts-current",g.startWidth=h.offsetWidth,g.style.width=g.startWidth+t(g,"padding-left")+q.offsetWidth+3+"px")}))};a.prototype.addSubmenuItems=function(a,b){var d=this,e=this.submenu,f=this.lang,k=this.listWrapper,l;b.items.forEach(function(g){l=d.addButton(e,b,g,f);d.eventsToUnbind.push(c(l.mainButton,"click",function(){d.switchSymbol(this,
173
+ a,!0);k.style.width=k.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<c.length&&(c[0].style.display="none"))})};a.prototype.addButton=function(c,d,e,f){void 0===f&&(f={});d=d[e];var k=d.items,g=d.className||
174
+ "";e=b("li",{className:z(a.prototype.classMapping[e],"")+" "+g,title:f[e]||e},void 0,c);c=b("span",{className:"highcharts-menu-item-btn"},void 0,e);if(k&&k.length){var l=b("span",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,e);l.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)"}else c.style.backgroundImage="url("+this.iconsURL+d.symbol+")";return{buttonWrapper:e,mainButton:c,submenuArrow:l}};a.prototype.addNavigation=function(){var a=this.wrapper;this.arrowWrapper=
175
175
  b("div",{className:"highcharts-arrow-wrapper"});this.arrowUp=b("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper);this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)";this.arrowDown=b("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper);this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)";a.insertBefore(this.arrowWrapper,a.childNodes[0]);this.scrollButtons()};a.prototype.scrollButtons=function(){var a=0,b=this.wrapper,d=this.toolbar,
176
176
  e=.1*b.offsetHeight;this.eventsToUnbind.push(c(this.arrowUp,"click",function(){0<a&&(a-=e,d.style.marginTop=-a+"px")}));this.eventsToUnbind.push(c(this.arrowDown,"click",function(){b.offsetHeight+a<=d.offsetHeight+e&&(a+=e,d.style.marginTop=-a+"px")}))};a.prototype.createHTML=function(){var a=this.chart,d=this.options,e=a.container,f=a.options.navigation,g=this.wrapper=b("div",{className:"highcharts-stocktools-wrapper "+d.className+" "+(f&&f.bindingsClassName)});e.appendChild(g);["mousedown","mousemove",
177
177
  "click","touchstart"].forEach(function(a){c(g,a,function(a){return a.stopPropagation()})});c(g,"mouseover",function(b){return a.pointer.onContainerMouseLeave(b)});this.toolbar=e=b("ul",{className:"highcharts-stocktools-toolbar "+d.toolbarClassName});this.listWrapper=d=b("div",{className:"highcharts-menu-wrapper"});g.insertBefore(d,g.childNodes[0]);d.insertBefore(e,d.childNodes[0]);this.showHideToolbar();this.addNavigation()};a.prototype.showHideNavigatorion=function(){this.visible&&this.toolbar.offsetHeight>
178
- 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=
179
- 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<d.indexOf("highcharts-disabled-btn")||(c.className="",d&&c.classList.add(d.trim()),
178
+ 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,h;this.showhideBtn=h=b("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,d);h.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)";g?(d.style.height="100%",h.style.top=t(e,"padding-top")+"px",h.style.left=
179
+ d.offsetWidth+t(e,"padding-left")+"px"):(f&&(f.style.display="none"),h.style.left="0px",this.visible=g=!1,e.classList.add("highcharts-hide"),h.classList.toggle("highcharts-arrow-right"),d.style.height=h.offsetHeight+"px");this.eventsToUnbind.push(c(h,"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<d.indexOf("highcharts-disabled-btn")||(c.className="",d&&c.classList.add(d.trim()),
180
180
  c.querySelectorAll(".highcharts-menu-item-btn")[0].style.backgroundImage=a.style.backgroundImage,b&&this.toggleButtonAciveClass(c))};a.prototype.toggleButtonAciveClass=function(a){0<=a.className.indexOf("highcharts-active")?a.classList.remove("highcharts-active"):a.classList.add("highcharts-active")};a.prototype.unselectAllButtons=function(a){var b=a.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(b,function(b){b!==a&&b.classList.remove("highcharts-active")})};a.prototype.update=
181
- function(a,b){u(!0,this.chart.options.stockTools,a);this.destroy();this.chart.setStockTools(a);this.chart.navigationBindings&&this.chart.navigationBindings.update();this.chart.isDirtyBox=!0;x(b,!0)&&this.chart.redraw()};a.prototype.destroy=function(){var a=this.wrapper,b=a&&a.parentNode;this.eventsToUnbind.forEach(function(a){a()});b&&b.removeChild(a)};a.prototype.redraw=function(){this.showHideNavigatorion()};a.prototype.getIconsURL=function(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||
182
- "https://code.highcharts.com/9.3.3/gfx/stock-icons/"};return a}();k.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",
181
+ function(a,b){u(!0,this.chart.options.stockTools,a);this.destroy();this.chart.setStockTools(a);this.chart.navigationBindings&&this.chart.navigationBindings.update();this.chart.isDirtyBox=!0;z(b,!0)&&this.chart.redraw()};a.prototype.destroy=function(){var a=this.wrapper,b=a&&a.parentNode;this.eventsToUnbind.forEach(function(a){a()});b&&b.removeChild(a)};a.prototype.redraw=function(){this.showHideNavigatorion()};a.prototype.getIconsURL=function(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||
182
+ "https://code.highcharts.com/10.2.0/gfx/stock-icons/"};return a}();g.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",
183
183
  crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",
184
184
  verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",
185
- typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"};e(a.prototype,{setStockTools:function(a){var b=this.options,c=b.lang;a=u(b.stockTools&&b.stockTools.gui,a&&a.gui);this.stockTools=new k(a,c&&c.stockTools&&c.stockTools.gui,this);
185
+ typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"};e(a.prototype,{setStockTools:function(a){var b=this.options,c=b.lang;a=u(b.stockTools&&b.stockTools.gui,a&&a.gui);this.stockTools=new g(a,c&&c.stockTools&&c.stockTools.gui,this);
186
186
  this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}});c(r,"selectButton",function(a){var b=a.button,c=this.chart.stockTools;c&&c.guiEnabled&&(c.unselectAllButtons(a.button),0<=b.parentNode.className.indexOf("highcharts-submenu-wrapper")&&(b=b.parentNode.parentNode),c.toggleButtonAciveClass(b))});c(r,"deselectButton",function(a){a=a.button;var b=this.chart.stockTools;b&&b.guiEnabled&&(0<=a.parentNode.className.indexOf("highcharts-submenu-wrapper")&&(a=a.parentNode.parentNode),b.toggleButtonAciveClass(a))});
187
- c(a,"render",function(){var a=this.stockTools,b=a&&a.toolbar&&a.toolbar.querySelector(".highcharts-current-price-indicator");a&&this.navigationBindings&&this.options.series&&b&&(this.navigationBindings.constructor.prototype.utils.isPriceIndicatorEnabled(this.series)?b.firstChild.style["background-image"]='url("'+a.getIconsURL()+'current-price-hide.svg")':b.firstChild.style["background-image"]='url("'+a.getIconsURL()+'current-price-show.svg")')});n.Toolbar=k;return n.Toolbar});w(a,"masters/modules/stock-tools.src.js",
187
+ c(a,"render",function(){var a=this.stockTools,b=a&&a.toolbar&&a.toolbar.querySelector(".highcharts-current-price-indicator");a&&this.navigationBindings&&this.options.series&&b&&(this.navigationBindings.constructor.prototype.utils.isPriceIndicatorEnabled(this.series)?b.firstChild.style["background-image"]='url("'+a.getIconsURL()+'current-price-hide.svg")':b.firstChild.style["background-image"]='url("'+a.getIconsURL()+'current-price-show.svg")')});n.Toolbar=g;return n.Toolbar});y(a,"masters/modules/stock-tools.src.js",
188
188
  [],function(){})});
189
189
  //# sourceMappingURL=stock-tools.js.map