highcharts 6.1.4 → 6.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 (695) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +17 -0
  3. package/css/highcharts.scss +14 -0
  4. package/css/themes/dark-unica.css +17 -0
  5. package/css/themes/grid-light.css +17 -0
  6. package/css/themes/sand-signika.css +17 -0
  7. package/es-modules/indicators/momentum.src.js +1 -1
  8. package/es-modules/indicators/pivot-points.src.js +6 -1
  9. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  10. package/es-modules/masters/modules/annotations.src.js +1 -1
  11. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  12. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  13. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  14. package/es-modules/masters/modules/data.src.js +1 -1
  15. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  16. package/es-modules/masters/modules/export-data.src.js +1 -1
  17. package/es-modules/masters/modules/exporting.src.js +1 -1
  18. package/es-modules/masters/modules/funnel.src.js +1 -1
  19. package/es-modules/masters/modules/gantt.src.js +2 -1
  20. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  21. package/es-modules/masters/modules/heatmap.src.js +1 -1
  22. package/es-modules/masters/modules/item-series.src.js +1 -1
  23. package/es-modules/masters/modules/map.src.js +1 -1
  24. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  25. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  26. package/es-modules/masters/modules/sankey.src.js +1 -1
  27. package/es-modules/masters/modules/series-label.src.js +1 -1
  28. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  29. package/es-modules/masters/modules/stock.src.js +1 -1
  30. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  31. package/es-modules/masters/modules/treegrid.src.js +12 -0
  32. package/es-modules/masters/modules/variwide.src.js +1 -1
  33. package/es-modules/masters/modules/vector.src.js +1 -1
  34. package/es-modules/masters/modules/windbarb.src.js +1 -1
  35. package/es-modules/masters/modules/xrange.src.js +1 -1
  36. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  37. package/es-modules/masters/themes/dark-green.src.js +1 -1
  38. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  39. package/es-modules/masters/themes/gray.src.js +1 -1
  40. package/es-modules/masters/themes/grid-light.src.js +1 -1
  41. package/es-modules/masters/themes/grid.src.js +1 -1
  42. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  43. package/es-modules/masters/themes/skies.src.js +1 -1
  44. package/es-modules/mixins/centered-series.js +1 -1
  45. package/es-modules/mixins/on-series.js +1 -1
  46. package/es-modules/modules/boost.src.js +22 -14
  47. package/es-modules/modules/broken-axis.src.js +169 -134
  48. package/es-modules/modules/data.src.js +2 -2
  49. package/es-modules/modules/draggable-points.src.js +2257 -0
  50. package/es-modules/modules/drilldown.src.js +1 -0
  51. package/es-modules/modules/export-data.src.js +1 -1
  52. package/es-modules/modules/exporting.src.js +1 -1
  53. package/es-modules/modules/funnel.src.js +1 -1
  54. package/es-modules/modules/item-series.src.js +1 -1
  55. package/es-modules/modules/no-data-to-display.src.js +5 -5
  56. package/es-modules/modules/oldie.src.js +1 -1
  57. package/es-modules/modules/overlapping-datalabels.src.js +38 -22
  58. package/es-modules/modules/parallel-coordinates.src.js +3 -2
  59. package/es-modules/modules/sankey.src.js +1 -1
  60. package/es-modules/modules/series-label.src.js +2 -2
  61. package/es-modules/modules/solid-gauge.src.js +1 -1
  62. package/es-modules/modules/static-scale.src.js +67 -28
  63. package/es-modules/modules/streamgraph.src.js +1 -1
  64. package/es-modules/modules/tilemap.src.js +231 -134
  65. package/es-modules/modules/variwide.src.js +1 -1
  66. package/es-modules/modules/vector.src.js +92 -22
  67. package/es-modules/modules/windbarb.src.js +1 -1
  68. package/es-modules/modules/xrange.src.js +257 -77
  69. package/es-modules/parts/AreaSeries.js +77 -77
  70. package/es-modules/parts/AreaSplineSeries.js +64 -27
  71. package/es-modules/parts/Axis.js +160 -67
  72. package/es-modules/parts/BarSeries.js +68 -51
  73. package/es-modules/parts/CandlestickSeries.js +1 -1
  74. package/es-modules/parts/Chart.js +31 -55
  75. package/es-modules/parts/Color.js +29 -18
  76. package/es-modules/parts/ColumnSeries.js +264 -142
  77. package/es-modules/parts/DataGrouping.js +9 -6
  78. package/es-modules/parts/DataLabels.js +261 -210
  79. package/es-modules/parts/DateTimeAxis.js +26 -7
  80. package/es-modules/parts/Dynamics.js +5 -2
  81. package/es-modules/parts/FlagsSeries.js +1 -1
  82. package/es-modules/parts/Globals.js +1 -1
  83. package/es-modules/parts/Html.js +64 -12
  84. package/es-modules/parts/Interaction.js +187 -63
  85. package/es-modules/parts/Legend.js +7 -3
  86. package/es-modules/parts/LogarithmicAxis.js +35 -4
  87. package/es-modules/parts/MSPointer.js +1 -1
  88. package/es-modules/parts/Navigator.js +27 -5
  89. package/es-modules/parts/OHLCSeries.js +1 -1
  90. package/es-modules/parts/Options.js +15 -13
  91. package/es-modules/parts/OrdinalAxis.js +1 -1
  92. package/es-modules/parts/PieSeries.js +256 -140
  93. package/es-modules/parts/PlotBandSeries.experimental.js +1 -1
  94. package/es-modules/parts/PlotLineOrBand.js +7 -40
  95. package/es-modules/parts/Point.js +28 -4
  96. package/es-modules/parts/Pointer.js +8 -6
  97. package/es-modules/parts/RangeSelector.js +1 -1
  98. package/es-modules/parts/Responsive.js +82 -36
  99. package/es-modules/parts/ScatterSeries.js +57 -25
  100. package/es-modules/parts/ScrollablePlotArea.js +17 -7
  101. package/es-modules/parts/Scrollbar.js +9 -2
  102. package/es-modules/parts/Series.js +22 -9
  103. package/es-modules/parts/SplineSeries.js +51 -29
  104. package/es-modules/parts/Stacking.js +100 -6
  105. package/es-modules/parts/StockChart.js +9 -3
  106. package/es-modules/parts/SvgRenderer.js +15 -10
  107. package/es-modules/parts/Tick.js +150 -30
  108. package/es-modules/parts/Time.js +23 -5
  109. package/es-modules/parts/Tooltip.js +2 -2
  110. package/es-modules/parts/TouchPointer.js +1 -1
  111. package/es-modules/parts/Utilities.js +16 -1
  112. package/es-modules/parts-3d/Axis.js +1 -1
  113. package/es-modules/parts-3d/Chart.js +1 -1
  114. package/es-modules/parts-3d/Column.js +1 -1
  115. package/es-modules/parts-3d/Math.js +1 -1
  116. package/es-modules/parts-3d/Pie.js +1 -1
  117. package/es-modules/parts-3d/SVGRenderer.js +1 -1
  118. package/es-modules/parts-3d/Scatter.js +1 -1
  119. package/es-modules/parts-3d/Series.js +1 -1
  120. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  121. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  122. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  123. package/es-modules/parts-gantt/GanttChart.js +111 -0
  124. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  125. package/es-modules/parts-gantt/GridAxis.js +965 -0
  126. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  127. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  128. package/es-modules/parts-gantt/Tree.js +146 -0
  129. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  130. package/es-modules/parts-map/ColorAxis.js +1 -1
  131. package/es-modules/parts-map/ColorSeriesMixin.js +1 -1
  132. package/es-modules/parts-map/GeoJSON.js +1 -1
  133. package/es-modules/parts-map/HeatmapSeries.js +124 -53
  134. package/es-modules/parts-map/Map.js +1 -1
  135. package/es-modules/parts-map/MapAxis.js +1 -1
  136. package/es-modules/parts-map/MapBubbleSeries.js +1 -1
  137. package/es-modules/parts-map/MapLineSeries.js +1 -1
  138. package/es-modules/parts-map/MapNavigation.js +1 -1
  139. package/es-modules/parts-map/MapPointSeries.js +1 -1
  140. package/es-modules/parts-map/MapPointer.js +1 -1
  141. package/es-modules/parts-map/MapSeries.js +2 -2
  142. package/es-modules/parts-more/AreaRangeSeries.js +80 -38
  143. package/es-modules/parts-more/AreaSplineRangeSeries.js +1 -1
  144. package/es-modules/parts-more/BoxPlotSeries.js +1 -1
  145. package/es-modules/parts-more/BubbleSeries.js +1 -1
  146. package/es-modules/parts-more/ColumnRangeSeries.js +1 -1
  147. package/es-modules/parts-more/ErrorBarSeries.js +1 -1
  148. package/es-modules/parts-more/GaugeSeries.js +1 -1
  149. package/es-modules/parts-more/Pane.js +2 -1
  150. package/es-modules/parts-more/Polar.js +1 -1
  151. package/es-modules/parts-more/PolygonSeries.js +1 -1
  152. package/es-modules/parts-more/RadialAxis.js +5 -4
  153. package/es-modules/parts-more/WaterfallSeries.js +1 -1
  154. package/es-modules/supplemental.docs.js +0 -1955
  155. package/es-modules/themes/dark-blue.js +1 -1
  156. package/es-modules/themes/dark-green.js +1 -1
  157. package/es-modules/themes/dark-unica.js +1 -1
  158. package/es-modules/themes/gray.js +1 -1
  159. package/es-modules/themes/grid-light.js +1 -1
  160. package/es-modules/themes/grid.js +1 -1
  161. package/es-modules/themes/sand-signika.js +1 -1
  162. package/es-modules/themes/skies.js +1 -1
  163. package/highcharts-3d.js +1 -1
  164. package/highcharts-3d.src.js +10 -10
  165. package/highcharts-gantt.js +503 -0
  166. package/highcharts-gantt.js.map +1 -0
  167. package/highcharts-gantt.src.js +49289 -0
  168. package/highcharts-more.js +65 -64
  169. package/highcharts-more.js.map +1 -1
  170. package/highcharts-more.src.js +97 -53
  171. package/highcharts.js +415 -410
  172. package/highcharts.js.map +1 -1
  173. package/highcharts.src.js +2170 -1128
  174. package/highmaps.js +443 -438
  175. package/highmaps.js.map +1 -1
  176. package/highmaps.src.js +1647 -849
  177. package/highstock.js +553 -548
  178. package/highstock.js.map +1 -1
  179. package/highstock.src.js +2398 -1283
  180. package/indicators/accumulation-distribution.js +1 -1
  181. package/indicators/accumulation-distribution.src.js +1 -1
  182. package/indicators/atr.js +1 -1
  183. package/indicators/atr.src.js +1 -1
  184. package/indicators/bollinger-bands.js +1 -1
  185. package/indicators/bollinger-bands.src.js +1 -1
  186. package/indicators/cci.js +1 -1
  187. package/indicators/cci.src.js +1 -1
  188. package/indicators/cmf.js +1 -1
  189. package/indicators/cmf.src.js +1 -1
  190. package/indicators/ema.js +1 -1
  191. package/indicators/ema.src.js +1 -1
  192. package/indicators/ichimoku-kinko-hyo.js +1 -1
  193. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  194. package/indicators/indicators.js +1 -1
  195. package/indicators/indicators.src.js +1 -1
  196. package/indicators/macd.js +1 -1
  197. package/indicators/macd.src.js +1 -1
  198. package/indicators/mfi.js +1 -1
  199. package/indicators/mfi.src.js +1 -1
  200. package/indicators/momentum.js +1 -1
  201. package/indicators/momentum.src.js +2 -2
  202. package/indicators/pivot-points.js +4 -4
  203. package/indicators/pivot-points.js.map +1 -1
  204. package/indicators/pivot-points.src.js +7 -2
  205. package/indicators/price-envelopes.js +1 -1
  206. package/indicators/price-envelopes.src.js +1 -1
  207. package/indicators/psar.js +1 -1
  208. package/indicators/psar.src.js +1 -1
  209. package/indicators/roc.js +1 -1
  210. package/indicators/roc.src.js +1 -1
  211. package/indicators/rsi.js +1 -1
  212. package/indicators/rsi.src.js +1 -1
  213. package/indicators/stochastic.js +1 -1
  214. package/indicators/stochastic.src.js +1 -1
  215. package/indicators/volume-by-price.js +1 -1
  216. package/indicators/volume-by-price.src.js +1 -1
  217. package/indicators/vwap.js +1 -1
  218. package/indicators/vwap.src.js +1 -1
  219. package/indicators/wma.js +1 -1
  220. package/indicators/wma.src.js +1 -1
  221. package/indicators/zigzag.js +1 -1
  222. package/indicators/zigzag.src.js +1 -1
  223. package/js/es-modules/indicators/momentum.src.js +1 -1
  224. package/js/es-modules/indicators/pivot-points.src.js +6 -1
  225. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  226. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  227. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  228. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  229. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  230. package/js/es-modules/masters/modules/data.src.js +1 -1
  231. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  232. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  233. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  234. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  235. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  236. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  237. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  238. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  239. package/js/es-modules/masters/modules/map.src.js +1 -1
  240. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  241. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  242. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  243. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  244. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  245. package/js/es-modules/masters/modules/stock.src.js +1 -1
  246. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  247. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  248. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  249. package/js/es-modules/masters/modules/vector.src.js +1 -1
  250. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  251. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  252. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  253. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  254. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  255. package/js/es-modules/masters/themes/gray.src.js +1 -1
  256. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  257. package/js/es-modules/masters/themes/grid.src.js +1 -1
  258. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  259. package/js/es-modules/masters/themes/skies.src.js +1 -1
  260. package/js/es-modules/mixins/centered-series.js +1 -1
  261. package/js/es-modules/mixins/on-series.js +1 -1
  262. package/js/es-modules/modules/boost.src.js +22 -14
  263. package/js/es-modules/modules/broken-axis.src.js +169 -134
  264. package/js/es-modules/modules/data.src.js +2 -2
  265. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  266. package/js/es-modules/modules/drilldown.src.js +1 -0
  267. package/js/es-modules/modules/export-data.src.js +1 -1
  268. package/js/es-modules/modules/exporting.src.js +1 -1
  269. package/js/es-modules/modules/funnel.src.js +1 -1
  270. package/js/es-modules/modules/item-series.src.js +1 -1
  271. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  272. package/js/es-modules/modules/oldie.src.js +1 -1
  273. package/js/es-modules/modules/overlapping-datalabels.src.js +38 -22
  274. package/js/es-modules/modules/parallel-coordinates.src.js +3 -2
  275. package/js/es-modules/modules/sankey.src.js +1 -1
  276. package/js/es-modules/modules/series-label.src.js +2 -2
  277. package/js/es-modules/modules/solid-gauge.src.js +1 -1
  278. package/js/es-modules/modules/static-scale.src.js +67 -28
  279. package/js/es-modules/modules/streamgraph.src.js +1 -1
  280. package/js/es-modules/modules/tilemap.src.js +231 -134
  281. package/js/es-modules/modules/variwide.src.js +1 -1
  282. package/js/es-modules/modules/vector.src.js +92 -22
  283. package/js/es-modules/modules/windbarb.src.js +1 -1
  284. package/js/es-modules/modules/xrange.src.js +255 -68
  285. package/js/es-modules/parts/AreaSeries.js +77 -77
  286. package/js/es-modules/parts/AreaSplineSeries.js +64 -27
  287. package/js/es-modules/parts/Axis.js +160 -67
  288. package/js/es-modules/parts/BarSeries.js +68 -51
  289. package/js/es-modules/parts/CandlestickSeries.js +1 -1
  290. package/js/es-modules/parts/Chart.js +31 -55
  291. package/js/es-modules/parts/Color.js +29 -18
  292. package/js/es-modules/parts/ColumnSeries.js +231 -123
  293. package/js/es-modules/parts/DataGrouping.js +9 -6
  294. package/js/es-modules/parts/DataLabels.js +230 -182
  295. package/js/es-modules/parts/DateTimeAxis.js +26 -7
  296. package/js/es-modules/parts/Dynamics.js +5 -2
  297. package/js/es-modules/parts/FlagsSeries.js +1 -1
  298. package/js/es-modules/parts/Globals.js +1 -1
  299. package/js/es-modules/parts/Html.js +64 -12
  300. package/js/es-modules/parts/Interaction.js +178 -61
  301. package/js/es-modules/parts/Legend.js +7 -3
  302. package/js/es-modules/parts/LogarithmicAxis.js +35 -4
  303. package/js/es-modules/parts/MSPointer.js +1 -1
  304. package/js/es-modules/parts/Navigator.js +27 -5
  305. package/js/es-modules/parts/OHLCSeries.js +1 -1
  306. package/js/es-modules/parts/Options.js +13 -12
  307. package/js/es-modules/parts/OrdinalAxis.js +1 -1
  308. package/js/es-modules/parts/PieSeries.js +245 -132
  309. package/js/es-modules/parts/PlotBandSeries.experimental.js +1 -1
  310. package/js/es-modules/parts/PlotLineOrBand.js +7 -40
  311. package/js/es-modules/parts/Point.js +28 -4
  312. package/js/es-modules/parts/Pointer.js +8 -6
  313. package/js/es-modules/parts/RangeSelector.js +1 -1
  314. package/js/es-modules/parts/Responsive.js +82 -36
  315. package/js/es-modules/parts/ScatterSeries.js +56 -25
  316. package/js/es-modules/parts/ScrollablePlotArea.js +17 -7
  317. package/js/es-modules/parts/Scrollbar.js +9 -2
  318. package/js/es-modules/parts/Series.js +22 -9
  319. package/js/es-modules/parts/SplineSeries.js +51 -29
  320. package/js/es-modules/parts/Stacking.js +100 -6
  321. package/js/es-modules/parts/StockChart.js +9 -3
  322. package/js/es-modules/parts/SvgRenderer.js +15 -10
  323. package/js/es-modules/parts/Tick.js +150 -30
  324. package/js/es-modules/parts/Time.js +23 -5
  325. package/js/es-modules/parts/Tooltip.js +2 -2
  326. package/js/es-modules/parts/TouchPointer.js +1 -1
  327. package/js/es-modules/parts/Utilities.js +16 -1
  328. package/js/es-modules/parts-3d/Axis.js +1 -1
  329. package/js/es-modules/parts-3d/Chart.js +1 -1
  330. package/js/es-modules/parts-3d/Column.js +1 -1
  331. package/js/es-modules/parts-3d/Math.js +1 -1
  332. package/js/es-modules/parts-3d/Pie.js +1 -1
  333. package/js/es-modules/parts-3d/SVGRenderer.js +1 -1
  334. package/js/es-modules/parts-3d/Scatter.js +1 -1
  335. package/js/es-modules/parts-3d/Series.js +1 -1
  336. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  337. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  338. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  339. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  340. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  341. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  342. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  343. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  344. package/js/es-modules/parts-gantt/Tree.js +146 -0
  345. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  346. package/js/es-modules/parts-map/ColorAxis.js +1 -1
  347. package/js/es-modules/parts-map/ColorSeriesMixin.js +1 -1
  348. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  349. package/js/es-modules/parts-map/HeatmapSeries.js +122 -52
  350. package/js/es-modules/parts-map/Map.js +1 -1
  351. package/js/es-modules/parts-map/MapAxis.js +1 -1
  352. package/js/es-modules/parts-map/MapBubbleSeries.js +1 -1
  353. package/js/es-modules/parts-map/MapLineSeries.js +1 -1
  354. package/js/es-modules/parts-map/MapNavigation.js +1 -1
  355. package/js/es-modules/parts-map/MapPointSeries.js +1 -1
  356. package/js/es-modules/parts-map/MapPointer.js +1 -1
  357. package/js/es-modules/parts-map/MapSeries.js +2 -2
  358. package/js/es-modules/parts-more/AreaRangeSeries.js +80 -38
  359. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +1 -1
  360. package/js/es-modules/parts-more/BoxPlotSeries.js +1 -1
  361. package/js/es-modules/parts-more/BubbleSeries.js +1 -1
  362. package/js/es-modules/parts-more/ColumnRangeSeries.js +1 -1
  363. package/js/es-modules/parts-more/ErrorBarSeries.js +1 -1
  364. package/js/es-modules/parts-more/GaugeSeries.js +1 -1
  365. package/js/es-modules/parts-more/Pane.js +2 -1
  366. package/js/es-modules/parts-more/Polar.js +1 -1
  367. package/js/es-modules/parts-more/PolygonSeries.js +1 -1
  368. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  369. package/js/es-modules/parts-more/WaterfallSeries.js +1 -1
  370. package/js/es-modules/supplemental.docs.js +0 -1955
  371. package/js/es-modules/themes/dark-blue.js +1 -1
  372. package/js/es-modules/themes/dark-green.js +1 -1
  373. package/js/es-modules/themes/dark-unica.js +1 -1
  374. package/js/es-modules/themes/gray.js +1 -1
  375. package/js/es-modules/themes/grid-light.js +1 -1
  376. package/js/es-modules/themes/grid.js +1 -1
  377. package/js/es-modules/themes/sand-signika.js +1 -1
  378. package/js/es-modules/themes/skies.js +1 -1
  379. package/js/highcharts-3d.js +1 -1
  380. package/js/highcharts-3d.src.js +10 -10
  381. package/js/highcharts-gantt.js +480 -0
  382. package/js/highcharts-gantt.js.map +1 -0
  383. package/js/highcharts-gantt.src.js +47011 -0
  384. package/js/highcharts-more.js +62 -61
  385. package/js/highcharts-more.js.map +1 -1
  386. package/js/highcharts-more.src.js +97 -53
  387. package/js/highcharts.js +394 -390
  388. package/js/highcharts.js.map +1 -1
  389. package/js/highcharts.src.js +2083 -1070
  390. package/js/highmaps.js +420 -416
  391. package/js/highmaps.js.map +1 -1
  392. package/js/highmaps.src.js +1569 -798
  393. package/js/highstock.js +526 -520
  394. package/js/highstock.js.map +1 -1
  395. package/js/highstock.src.js +2311 -1225
  396. package/js/indicators/accumulation-distribution.js +1 -1
  397. package/js/indicators/accumulation-distribution.src.js +1 -1
  398. package/js/indicators/atr.js +1 -1
  399. package/js/indicators/atr.src.js +1 -1
  400. package/js/indicators/bollinger-bands.js +1 -1
  401. package/js/indicators/bollinger-bands.src.js +1 -1
  402. package/js/indicators/cci.js +1 -1
  403. package/js/indicators/cci.src.js +1 -1
  404. package/js/indicators/cmf.js +1 -1
  405. package/js/indicators/cmf.src.js +1 -1
  406. package/js/indicators/ema.js +1 -1
  407. package/js/indicators/ema.src.js +1 -1
  408. package/js/indicators/ichimoku-kinko-hyo.js +1 -1
  409. package/js/indicators/ichimoku-kinko-hyo.src.js +1 -1
  410. package/js/indicators/indicators.js +1 -1
  411. package/js/indicators/indicators.src.js +1 -1
  412. package/js/indicators/macd.js +1 -1
  413. package/js/indicators/macd.src.js +1 -1
  414. package/js/indicators/mfi.js +1 -1
  415. package/js/indicators/mfi.src.js +1 -1
  416. package/js/indicators/momentum.js +1 -1
  417. package/js/indicators/momentum.src.js +2 -2
  418. package/js/indicators/pivot-points.js +4 -4
  419. package/js/indicators/pivot-points.js.map +1 -1
  420. package/js/indicators/pivot-points.src.js +7 -2
  421. package/js/indicators/price-envelopes.js +1 -1
  422. package/js/indicators/price-envelopes.src.js +1 -1
  423. package/js/indicators/psar.js +1 -1
  424. package/js/indicators/psar.src.js +1 -1
  425. package/js/indicators/roc.js +1 -1
  426. package/js/indicators/roc.src.js +1 -1
  427. package/js/indicators/rsi.js +1 -1
  428. package/js/indicators/rsi.src.js +1 -1
  429. package/js/indicators/stochastic.js +1 -1
  430. package/js/indicators/stochastic.src.js +1 -1
  431. package/js/indicators/volume-by-price.js +1 -1
  432. package/js/indicators/volume-by-price.src.js +1 -1
  433. package/js/indicators/vwap.js +1 -1
  434. package/js/indicators/vwap.src.js +1 -1
  435. package/js/indicators/wma.js +1 -1
  436. package/js/indicators/wma.src.js +1 -1
  437. package/js/indicators/zigzag.js +1 -1
  438. package/js/indicators/zigzag.src.js +1 -1
  439. package/js/modules/accessibility.js +1 -1
  440. package/js/modules/accessibility.src.js +1 -1
  441. package/js/modules/annotations.js +2 -2
  442. package/js/modules/annotations.src.js +2 -2
  443. package/js/modules/arrow-symbols.js +13 -0
  444. package/js/modules/arrow-symbols.js.map +1 -0
  445. package/js/modules/arrow-symbols.src.js +138 -0
  446. package/js/modules/boost-canvas.js +1 -1
  447. package/js/modules/boost-canvas.src.js +1 -1
  448. package/js/modules/boost.js +43 -43
  449. package/js/modules/boost.js.map +1 -1
  450. package/js/modules/boost.src.js +23 -15
  451. package/js/modules/broken-axis.js +11 -10
  452. package/js/modules/broken-axis.js.map +1 -1
  453. package/js/modules/broken-axis.src.js +171 -136
  454. package/js/modules/bullet.js +1 -1
  455. package/js/modules/bullet.src.js +1 -1
  456. package/js/modules/current-date-indicator.js +13 -0
  457. package/js/modules/current-date-indicator.js.map +1 -0
  458. package/js/modules/current-date-indicator.src.js +120 -0
  459. package/js/modules/data.js +2 -2
  460. package/js/modules/data.src.js +4 -4
  461. package/js/modules/drag-panes.js +1 -1
  462. package/js/modules/drag-panes.src.js +1 -1
  463. package/js/modules/draggable-points.js +38 -0
  464. package/js/modules/draggable-points.js.map +1 -0
  465. package/js/modules/draggable-points.src.js +2281 -0
  466. package/js/modules/drilldown.js +1 -1
  467. package/js/modules/drilldown.js.map +1 -1
  468. package/js/modules/drilldown.src.js +2 -1
  469. package/js/modules/export-data.js +2 -2
  470. package/js/modules/export-data.src.js +3 -3
  471. package/js/modules/exporting.js +2 -2
  472. package/js/modules/exporting.src.js +3 -3
  473. package/js/modules/funnel.js +2 -2
  474. package/js/modules/funnel.src.js +3 -3
  475. package/js/modules/gantt.js +80 -18
  476. package/js/modules/gantt.js.map +1 -1
  477. package/js/modules/gantt.src.js +5490 -372
  478. package/js/modules/grid-axis.js +15 -11
  479. package/js/modules/grid-axis.js.map +1 -1
  480. package/js/modules/grid-axis.src.js +731 -293
  481. package/js/modules/heatmap.js +2 -2
  482. package/js/modules/heatmap.js.map +1 -1
  483. package/js/modules/heatmap.src.js +126 -56
  484. package/js/modules/histogram-bellcurve.js +1 -1
  485. package/js/modules/histogram-bellcurve.src.js +1 -1
  486. package/js/modules/item-series.js +2 -2
  487. package/js/modules/item-series.src.js +3 -3
  488. package/js/modules/map.js +2 -2
  489. package/js/modules/map.js.map +1 -1
  490. package/js/modules/map.src.js +137 -67
  491. package/js/modules/no-data-to-display.js +1 -1
  492. package/js/modules/no-data-to-display.src.js +6 -6
  493. package/js/modules/offline-exporting.js +2 -2
  494. package/js/modules/offline-exporting.src.js +2 -2
  495. package/js/modules/oldie.js +2 -2
  496. package/js/modules/oldie.src.js +3 -3
  497. package/js/modules/overlapping-datalabels.js +2 -2
  498. package/js/modules/overlapping-datalabels.src.js +2 -2
  499. package/js/modules/parallel-coordinates.js +9 -9
  500. package/js/modules/parallel-coordinates.js.map +1 -1
  501. package/js/modules/parallel-coordinates.src.js +4 -3
  502. package/js/modules/pareto.js +1 -1
  503. package/js/modules/pareto.src.js +1 -1
  504. package/js/modules/pathfinder.js +34 -0
  505. package/js/modules/pathfinder.js.map +1 -0
  506. package/js/modules/pathfinder.src.js +2106 -0
  507. package/js/modules/pattern-fill.js +1 -1
  508. package/js/modules/pattern-fill.src.js +1 -1
  509. package/js/modules/sankey.js +2 -2
  510. package/js/modules/sankey.src.js +3 -3
  511. package/js/modules/series-label.js +2 -2
  512. package/js/modules/series-label.src.js +4 -4
  513. package/js/modules/solid-gauge.js +2 -2
  514. package/js/modules/solid-gauge.src.js +3 -3
  515. package/js/modules/static-scale.js +3 -3
  516. package/js/modules/static-scale.js.map +1 -1
  517. package/js/modules/static-scale.src.js +65 -26
  518. package/js/modules/stock.js +135 -134
  519. package/js/modules/stock.js.map +1 -1
  520. package/js/modules/stock.src.js +230 -157
  521. package/js/modules/streamgraph.js +2 -2
  522. package/js/modules/streamgraph.src.js +3 -3
  523. package/js/modules/sunburst.js +1 -1
  524. package/js/modules/sunburst.src.js +1 -1
  525. package/js/modules/tilemap.js +1 -1
  526. package/js/modules/tilemap.js.map +1 -1
  527. package/js/modules/tilemap.src.js +355 -188
  528. package/js/modules/treegrid.js +51 -0
  529. package/js/modules/treegrid.js.map +1 -0
  530. package/js/modules/treegrid.src.js +2759 -0
  531. package/js/modules/treemap.js +1 -1
  532. package/js/modules/treemap.src.js +1 -1
  533. package/js/modules/variable-pie.js +1 -1
  534. package/js/modules/variable-pie.src.js +1 -1
  535. package/js/modules/variwide.js +2 -2
  536. package/js/modules/variwide.src.js +3 -3
  537. package/js/modules/vector.js +2 -2
  538. package/js/modules/vector.js.map +1 -1
  539. package/js/modules/vector.src.js +94 -24
  540. package/js/modules/windbarb.js +2 -2
  541. package/js/modules/windbarb.src.js +4 -4
  542. package/js/modules/wordcloud.js +1 -1
  543. package/js/modules/wordcloud.src.js +1 -1
  544. package/js/modules/xrange.js +11 -10
  545. package/js/modules/xrange.js.map +1 -1
  546. package/js/modules/xrange.src.js +257 -70
  547. package/js/themes/avocado.js +1 -1
  548. package/js/themes/avocado.src.js +1 -1
  549. package/js/themes/dark-blue.js +2 -2
  550. package/js/themes/dark-blue.src.js +3 -3
  551. package/js/themes/dark-green.js +2 -2
  552. package/js/themes/dark-green.src.js +3 -3
  553. package/js/themes/dark-unica.js +2 -2
  554. package/js/themes/dark-unica.src.js +3 -3
  555. package/js/themes/gray.js +2 -2
  556. package/js/themes/gray.src.js +3 -3
  557. package/js/themes/grid-light.js +2 -2
  558. package/js/themes/grid-light.src.js +3 -3
  559. package/js/themes/grid.js +2 -2
  560. package/js/themes/grid.src.js +3 -3
  561. package/js/themes/sand-signika.js +2 -2
  562. package/js/themes/sand-signika.src.js +3 -3
  563. package/js/themes/skies.js +2 -2
  564. package/js/themes/skies.src.js +3 -3
  565. package/js/themes/sunset.js +1 -1
  566. package/js/themes/sunset.src.js +1 -1
  567. package/modules/accessibility.js +1 -1
  568. package/modules/accessibility.src.js +1 -1
  569. package/modules/annotations.js +2 -2
  570. package/modules/annotations.src.js +2 -2
  571. package/modules/arrow-symbols.js +13 -0
  572. package/modules/arrow-symbols.js.map +1 -0
  573. package/modules/arrow-symbols.src.js +138 -0
  574. package/modules/boost-canvas.js +1 -1
  575. package/modules/boost-canvas.src.js +1 -1
  576. package/modules/boost.js +36 -36
  577. package/modules/boost.js.map +1 -1
  578. package/modules/boost.src.js +23 -15
  579. package/modules/broken-axis.js +11 -10
  580. package/modules/broken-axis.js.map +1 -1
  581. package/modules/broken-axis.src.js +171 -136
  582. package/modules/bullet.js +1 -1
  583. package/modules/bullet.src.js +1 -1
  584. package/modules/current-date-indicator.js +13 -0
  585. package/modules/current-date-indicator.js.map +1 -0
  586. package/modules/current-date-indicator.src.js +120 -0
  587. package/modules/data.js +2 -2
  588. package/modules/data.src.js +4 -4
  589. package/modules/drag-panes.js +1 -1
  590. package/modules/drag-panes.src.js +1 -1
  591. package/modules/draggable-points.js +38 -0
  592. package/modules/draggable-points.js.map +1 -0
  593. package/modules/draggable-points.src.js +2281 -0
  594. package/modules/drilldown.js +1 -1
  595. package/modules/drilldown.js.map +1 -1
  596. package/modules/drilldown.src.js +2 -1
  597. package/modules/export-data.js +2 -2
  598. package/modules/export-data.src.js +3 -3
  599. package/modules/exporting.js +2 -2
  600. package/modules/exporting.src.js +3 -3
  601. package/modules/funnel.js +2 -2
  602. package/modules/funnel.src.js +3 -3
  603. package/modules/gantt.js +83 -19
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +5553 -379
  606. package/modules/grid-axis.js +16 -11
  607. package/modules/grid-axis.js.map +1 -1
  608. package/modules/grid-axis.src.js +732 -293
  609. package/modules/heatmap.js +2 -2
  610. package/modules/heatmap.js.map +1 -1
  611. package/modules/heatmap.src.js +128 -57
  612. package/modules/histogram-bellcurve.js +1 -1
  613. package/modules/histogram-bellcurve.src.js +1 -1
  614. package/modules/item-series.js +2 -2
  615. package/modules/item-series.src.js +3 -3
  616. package/modules/map.js +2 -2
  617. package/modules/map.js.map +1 -1
  618. package/modules/map.src.js +139 -68
  619. package/modules/no-data-to-display.js +1 -1
  620. package/modules/no-data-to-display.src.js +6 -6
  621. package/modules/offline-exporting.js +2 -2
  622. package/modules/offline-exporting.src.js +2 -2
  623. package/modules/oldie.js +2 -2
  624. package/modules/oldie.src.js +3 -3
  625. package/modules/overlapping-datalabels.js +2 -2
  626. package/modules/overlapping-datalabels.src.js +2 -2
  627. package/modules/parallel-coordinates.js +8 -8
  628. package/modules/parallel-coordinates.js.map +1 -1
  629. package/modules/parallel-coordinates.src.js +4 -3
  630. package/modules/pareto.js +1 -1
  631. package/modules/pareto.src.js +1 -1
  632. package/modules/pathfinder.js +35 -0
  633. package/modules/pathfinder.js.map +1 -0
  634. package/modules/pathfinder.src.js +2128 -0
  635. package/modules/pattern-fill.js +1 -1
  636. package/modules/pattern-fill.src.js +1 -1
  637. package/modules/sankey.js +2 -2
  638. package/modules/sankey.src.js +3 -3
  639. package/modules/series-label.js +2 -2
  640. package/modules/series-label.src.js +4 -4
  641. package/modules/solid-gauge.js +2 -2
  642. package/modules/solid-gauge.src.js +3 -3
  643. package/modules/static-scale.js +3 -3
  644. package/modules/static-scale.js.map +1 -1
  645. package/modules/static-scale.src.js +65 -26
  646. package/modules/stock.js +142 -142
  647. package/modules/stock.js.map +1 -1
  648. package/modules/stock.src.js +230 -157
  649. package/modules/streamgraph.js +2 -2
  650. package/modules/streamgraph.src.js +3 -3
  651. package/modules/sunburst.js +1 -1
  652. package/modules/sunburst.src.js +1 -1
  653. package/modules/tilemap.js +1 -1
  654. package/modules/tilemap.js.map +1 -1
  655. package/modules/tilemap.src.js +357 -189
  656. package/modules/treegrid.js +52 -0
  657. package/modules/treegrid.js.map +1 -0
  658. package/modules/treegrid.src.js +2797 -0
  659. package/modules/treemap.js +1 -1
  660. package/modules/treemap.src.js +1 -1
  661. package/modules/variable-pie.js +1 -1
  662. package/modules/variable-pie.src.js +1 -1
  663. package/modules/variwide.js +2 -2
  664. package/modules/variwide.src.js +3 -3
  665. package/modules/vector.js +2 -2
  666. package/modules/vector.js.map +1 -1
  667. package/modules/vector.src.js +94 -24
  668. package/modules/windbarb.js +2 -2
  669. package/modules/windbarb.src.js +4 -4
  670. package/modules/wordcloud.js +1 -1
  671. package/modules/wordcloud.src.js +1 -1
  672. package/modules/xrange.js +12 -11
  673. package/modules/xrange.js.map +1 -1
  674. package/modules/xrange.src.js +259 -79
  675. package/package.json +1 -1
  676. package/themes/avocado.js +1 -1
  677. package/themes/avocado.src.js +1 -1
  678. package/themes/dark-blue.js +2 -2
  679. package/themes/dark-blue.src.js +3 -3
  680. package/themes/dark-green.js +2 -2
  681. package/themes/dark-green.src.js +3 -3
  682. package/themes/dark-unica.js +2 -2
  683. package/themes/dark-unica.src.js +3 -3
  684. package/themes/gray.js +2 -2
  685. package/themes/gray.src.js +3 -3
  686. package/themes/grid-light.js +2 -2
  687. package/themes/grid-light.src.js +3 -3
  688. package/themes/grid.js +2 -2
  689. package/themes/grid.src.js +3 -3
  690. package/themes/sand-signika.js +2 -2
  691. package/themes/sand-signika.src.js +3 -3
  692. package/themes/skies.js +2 -2
  693. package/themes/skies.src.js +3 -3
  694. package/themes/sunset.js +1 -1
  695. package/themes/sunset.src.js +1 -1
package/modules/stock.js CHANGED
@@ -1,149 +1,149 @@
1
1
  /*
2
- Highcharts JS v6.1.4 (2018-09-25)
2
+ Highcharts JS v6.2.0 (2018-10-17)
3
3
  Highstock as a plugin for Highcharts
4
4
 
5
- (c) 2017 Torstein Honsi
5
+ (c) 2018 Torstein Honsi
6
6
 
7
7
  License: www.highcharts.com/license
8
8
  */
9
- (function(I){"object"===typeof module&&module.exports?module.exports=I:"function"===typeof define&&define.amd?define(function(){return I}):I(Highcharts)})(function(I){(function(a){var A=a.addEvent,p=a.Axis,D=a.Chart,q=a.css,C=a.defined,E=a.each,z=a.extend,F=a.noop,n=a.pick,B=a.timeUnits,x=a.wrap;x(a.Series.prototype,"init",function(a){var t;a.apply(this,Array.prototype.slice.call(arguments,1));(t=this.xAxis)&&t.options.ordinal&&A(this,"updatedData",function(){delete t.ordinalIndex})});x(p.prototype,
10
- "getTimeTicks",function(a,d,c,m,b,e,r,h){var f=0,g,w,k={},v,t,K,G=[],l=-Number.MAX_VALUE,u=this.options.tickPixelInterval,y=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!e||3>e.length||void 0===c)return a.call(this,d,c,m,b);t=e.length;for(g=0;g<t;g++){K=g&&e[g-1]>m;e[g]<c&&(f=g);if(g===t-1||e[g+1]-e[g]>5*r||K){if(e[g]>l){for(w=a.call(this,d,e[f],e[g],b);w.length&&w[0]<=l;)w.shift();w.length&&(l=w[w.length-1]);G=G.concat(w)}f=g+1}if(K)break}a=w.info;if(h&&a.unitRange<=B.hour){g=
11
- G.length-1;for(f=1;f<g;f++)y.dateFormat("%d",G[f])!==y.dateFormat("%d",G[f-1])&&(k[G[f]]="day",v=!0);v&&(k[G[0]]="day");a.higherRanks=k}G.info=a;if(h&&C(u)){h=y=G.length;g=[];var J;for(v=[];h--;)f=this.translate(G[h]),J&&(v[h]=J-f),g[h]=J=f;v.sort();v=v[Math.floor(v.length/2)];v<.6*u&&(v=null);h=G[y-1]>m?y-1:y;for(J=void 0;h--;)f=g[h],m=Math.abs(J-f),J&&m<.8*u&&(null===v||m<.8*v)?(k[G[h]]&&!k[G[h+1]]?(m=h+1,J=f):m=h,G.splice(m,1)):J=f}return G});z(p.prototype,{beforeSetTickPositions:function(){var a,
12
- d=[],c,m=!1,b,e=this.getExtremes(),r=e.min,h=e.max,f,g=this.isXAxis&&!!this.options.breaks,e=this.options.ordinal,w=Number.MAX_VALUE,k=this.chart.options.chart.ignoreHiddenSeries;b="highcharts-navigator-xaxis"===this.options.className;var v;!this.options.overscroll||this.max!==this.dataMax||this.chart.mouseIsDown&&!b||this.eventArgs&&(!this.eventArgs||"navigator"===this.eventArgs.trigger)||(this.max+=this.options.overscroll,!b&&C(this.userMin)&&(this.min+=this.options.overscroll));if(e||g){E(this.series,
13
- function(b,f){c=[];if(!(k&&!1===b.visible||!1===b.takeOrdinalPosition&&!g)&&(d=d.concat(b.processedXData),a=d.length,d.sort(function(b,l){return b-l}),w=Math.min(w,n(b.closestPointRange,w)),a)){for(f=0;f<a-1;)d[f]!==d[f+1]&&c.push(d[f+1]),f++;c[0]!==d[0]&&c.unshift(d[0]);d=c}b.isSeriesBoosting&&(v=!0)});v&&(d.length=0);a=d.length;if(2<a){b=d[1]-d[0];for(f=a-1;f--&&!m;)d[f+1]-d[f]!==b&&(m=!0);!this.options.keepOrdinalPadding&&(d[0]-r>b||h-d[d.length-1]>b)&&(m=!0)}else this.options.overscroll&&(2===
14
- a?w=d[1]-d[0]:1===a?(w=this.options.overscroll,d=[d[0],d[0]+w]):w=this.overscrollPointsRange);m?(this.options.overscroll&&(this.overscrollPointsRange=w,d=d.concat(this.getOverscrollPositions())),this.ordinalPositions=d,b=this.ordinal2lin(Math.max(r,d[0]),!0),f=Math.max(this.ordinal2lin(Math.min(h,d[d.length-1]),!0),1),this.ordinalSlope=h=(h-r)/(f-b),this.ordinalOffset=r-b*h):(this.overscrollPointsRange=n(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=
15
- void 0)}this.isOrdinal=e&&m;this.groupIntervalFactor=null},val2lin:function(a,d){var c=this.ordinalPositions;if(c){var t=c.length,b,e;for(b=t;b--;)if(c[b]===a){e=b;break}for(b=t-1;b--;)if(a>c[b]||0===b){a=(a-c[b])/(c[b+1]-c[b]);e=b+a;break}d=d?e:this.ordinalSlope*(e||0)+this.ordinalOffset}else d=a;return d},lin2val:function(a,d){var c=this.ordinalPositions;if(c){var m=this.ordinalSlope,b=this.ordinalOffset,e=c.length-1,r;if(d)0>a?a=c[0]:a>e?a=c[e]:(e=Math.floor(a),r=a-e);else for(;e--;)if(d=m*e+b,
16
- a>=d){m=m*(e+1)+b;r=(a-d)/(m-d);break}return void 0!==r&&void 0!==c[e]?c[e]+(r?r*(c[e+1]-c[e]):0):a}return a},getExtendedPositions:function(){var a=this,d=a.chart,c=a.series[0].currentDataGrouping,m=a.ordinalIndex,b=c?c.count+c.unitName:"raw",e=a.options.overscroll,r=a.getExtremes(),h,f;m||(m=a.ordinalIndex={});m[b]||(h={series:[],chart:d,getExtremes:function(){return{min:r.dataMin,max:r.dataMax+e}},options:{ordinal:!0},val2lin:p.prototype.val2lin,ordinal2lin:p.prototype.ordinal2lin},E(a.series,function(b){f=
17
- {xAxis:h,xData:b.xData.slice(),chart:d,destroyGroupedData:F};f.xData=f.xData.concat(a.getOverscrollPositions());f.options={dataGrouping:c?{enabled:!0,forced:!0,approximation:"open",units:[[c.unitName,[c.count]]]}:{enabled:!1}};b.processData.apply(f);h.series.push(f)}),a.beforeSetTickPositions.apply(h),m[b]=h.ordinalPositions);return m[b]},getOverscrollPositions:function(){var t=this.options.overscroll,d=this.overscrollPointsRange,c=[],m=this.dataMax;if(a.defined(d))for(c.push(m);m<=this.dataMax+t;)m+=
18
- d,c.push(m);return c},getGroupIntervalFactor:function(a,d,c){var m;c=c.processedXData;var b=c.length,e=[];m=this.groupIntervalFactor;if(!m){for(m=0;m<b-1;m++)e[m]=c[m+1]-c[m];e.sort(function(b,a){return b-a});e=e[Math.floor(b/2)];a=Math.max(a,c[0]);d=Math.min(d,c[b-1]);this.groupIntervalFactor=m=b*e/(d-a)}return m},postProcessTickInterval:function(a){var d=this.ordinalSlope;return d?this.options.breaks?this.closestPointRange||a:a/(d/this.closestPointRange):a}});p.prototype.ordinal2lin=p.prototype.val2lin;
19
- x(D.prototype,"pan",function(a,d){var c=this.xAxis[0],m=c.options.overscroll,b=d.chartX,e=!1;if(c.options.ordinal&&c.series.length){var r=this.mouseDownX,h=c.getExtremes(),f=h.dataMax,g=h.min,w=h.max,k=this.hoverPoints,v=c.closestPointRange||c.overscrollPointsRange,r=(r-b)/(c.translationSlope*(c.ordinalSlope||v)),H={ordinalPositions:c.getExtendedPositions()},v=c.lin2val,t=c.val2lin,G;H.ordinalPositions?1<Math.abs(r)&&(k&&E(k,function(l){l.setState()}),0>r?(k=H,G=c.ordinalPositions?c:H):(k=c.ordinalPositions?
20
- c:H,G=H),H=G.ordinalPositions,f>H[H.length-1]&&H.push(f),this.fixedRange=w-g,r=c.toFixedRange(null,null,v.apply(k,[t.apply(k,[g,!0])+r,!0]),v.apply(G,[t.apply(G,[w,!0])+r,!0])),r.min>=Math.min(h.dataMin,g)&&r.max<=Math.max(f,w)+m&&c.setExtremes(r.min,r.max,!0,!1,{trigger:"pan"}),this.mouseDownX=b,q(this.container,{cursor:"move"})):e=!0}else e=!0;e&&(m&&(c.max=c.dataMax+m),a.apply(this,Array.prototype.slice.call(arguments,1)))})})(I);(function(a){function A(){return Array.prototype.slice.call(arguments,
21
- 1)}function p(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,q(this.pointArrayMap,["y"]))}var D=a.addEvent,q=a.pick,C=a.wrap,E=a.each,z=a.extend,F=a.isArray,n=a.fireEvent,B=a.Axis,x=a.Series;z(B.prototype,{isInBreak:function(a,d){var c=a.repeat||Infinity,m=a.from,b=a.to-a.from;d=d>=m?(d-m)%c:c-(m-d)%c;return a.inclusive?d<=b:d<b&&0!==d},isInAnyBreak:function(a,d){var c=this.options.breaks,m=c&&c.length,b,e,r;if(m){for(;m--;)this.isInBreak(c[m],a)&&(b=!0,e||(e=q(c[m].showPoints,
22
- this.isXAxis?!1:!0)));r=b&&d?b&&!e:b}return r}});D(B,"afterSetTickPositions",function(){if(this.options.breaks){var a=this.tickPositions,d=this.tickPositions.info,c=[],m;for(m=0;m<a.length;m++)this.isInAnyBreak(a[m])||c.push(a[m]);this.tickPositions=c;this.tickPositions.info=d}});D(B,"afterSetOptions",function(){this.options.breaks&&this.options.breaks.length&&(this.options.ordinal=!1)});D(B,"afterInit",function(){var a=this,d;d=this.options.breaks;a.isBroken=F(d)&&!!d.length;a.isBroken&&(a.val2lin=
23
- function(c){var d=c,b,e;for(e=0;e<a.breakArray.length;e++)if(b=a.breakArray[e],b.to<=c)d-=b.len;else if(b.from>=c)break;else if(a.isInBreak(b,c)){d-=c-b.from;break}return d},a.lin2val=function(c){var d,b;for(b=0;b<a.breakArray.length&&!(d=a.breakArray[b],d.from>=c);b++)d.to<c?c+=d.len:a.isInBreak(d,c)&&(c+=d.len);return c},a.setExtremes=function(a,d,b,e,r){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(d);)d-=this.closestPointRange;B.prototype.setExtremes.call(this,a,
24
- d,b,e,r)},a.setAxisTranslation=function(c){B.prototype.setAxisTranslation.call(this,c);c=a.options.breaks;var d=[],b=[],e=0,r,h,f=a.userMin||a.min,g=a.userMax||a.max,w=q(a.pointRangePadding,0),k,v;E(c,function(b){h=b.repeat||Infinity;a.isInBreak(b,f)&&(f+=b.to%h-f%h);a.isInBreak(b,g)&&(g-=g%h-b.from%h)});E(c,function(b){k=b.from;for(h=b.repeat||Infinity;k-h>f;)k-=h;for(;k<f;)k+=h;for(v=k;v<g;v+=h)d.push({value:v,move:"in"}),d.push({value:v+(b.to-b.from),move:"out",size:b.breakSize})});d.sort(function(b,
25
- a){return b.value===a.value?("in"===b.move?0:1)-("in"===a.move?0:1):b.value-a.value});r=0;k=f;E(d,function(a){r+="in"===a.move?1:-1;1===r&&"in"===a.move&&(k=a.value);0===r&&(b.push({from:k,to:a.value,len:a.value-k-(a.size||0)}),e+=a.value-k-(a.size||0))});a.breakArray=b;a.unitLength=g-f-e+w;n(a,"afterBreaks");a.options.staticScale?a.transA=a.options.staticScale:a.unitLength&&(a.transA*=(g-a.min+w)/a.unitLength);w&&(a.minPixelPadding=a.transA*a.minPointOffset);a.min=f;a.max=g})});C(x.prototype,"generatePoints",
26
- function(a){a.apply(this,A(arguments));var d=this.xAxis,c=this.yAxis,m=this.points,b,e=m.length,r=this.options.connectNulls,h;if(d&&c&&(d.options.breaks||c.options.breaks))for(;e--;)b=m[e],h=null===b.y&&!1===r,h||!d.isInAnyBreak(b.x,!0)&&!c.isInAnyBreak(b.y,!0)||(m.splice(e,1),this.data[e]&&this.data[e].destroyElements())});a.Series.prototype.drawBreaks=function(a,d){var c=this,m=c.points,b,e,r,h;a&&E(d,function(f){b=a.breakArray||[];e=a.isXAxis?a.min:q(c.options.threshold,a.min);E(m,function(g){h=
27
- q(g["stack"+f.toUpperCase()],g[f]);E(b,function(b){r=!1;if(e<b.from&&h>b.to||e>b.from&&h<b.from)r="pointBreak";else if(e<b.from&&h>b.from&&h<b.to||e>b.from&&h>b.to&&h<b.from)r="pointInBreak";r&&n(a,r,{point:g,brk:b})})})})};a.Series.prototype.gappedPath=function(){var n=this.currentDataGrouping,d=n&&n.totalRange,n=this.options.gapSize,c=this.points.slice(),m=c.length-1,b=this.yAxis;if(n&&0<m)for("value"!==this.options.gapUnit&&(n*=this.closestPointRange),d&&d>n&&(n=d);m--;)c[m+1].x-c[m].x>n&&(d=(c[m].x+
28
- c[m+1].x)/2,c.splice(m+1,0,{isNull:!0,x:d}),this.options.stacking&&(d=b.stacks[this.stackKey][d]=new a.StackItem(b,b.options.stackLabels,!1,d,this.stack),d.total=0));return this.getGraphPath(c)};C(a.seriesTypes.column.prototype,"drawPoints",p);C(a.Series.prototype,"drawPoints",p)})(I);(function(a){var A=a.addEvent,p=a.arrayMax,D=a.arrayMin,q=a.Axis,C=a.defaultPlotOptions,E=a.defined,z=a.each,F=a.extend,n=a.format,B=a.isNumber,x=a.merge,t=a.pick,d=a.Point,c=a.Series,m=a.Tooltip,b=a.wrap,e=c.prototype,
29
- r=e.processData,h=e.generatePoints,f={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y",
30
- "%Y","-%Y"]}},g={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},w=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",
31
- [1]],["week",[1]],["month",[1,3,6]],["year",null]],k=a.approximations={sum:function(b){var a=b.length,f;if(!a&&b.hasNulls)f=null;else if(a)for(f=0;a--;)f+=b[a];return f},average:function(b){var a=b.length;b=k.sum(b);B(b)&&a&&(b/=a);return b},averages:function(){var b=[];z(arguments,function(a){b.push(k.average(a))});return void 0===b[0]?void 0:b},open:function(b){return b.length?b[0]:b.hasNulls?null:void 0},high:function(b){return b.length?p(b):b.hasNulls?null:void 0},low:function(b){return b.length?
32
- D(b):b.hasNulls?null:void 0},close:function(b){return b.length?b[b.length-1]:b.hasNulls?null:void 0},ohlc:function(b,a,f,e){b=k.open(b);a=k.high(a);f=k.low(f);e=k.close(e);if(B(b)||B(a)||B(f)||B(e))return[b,a,f,e]},range:function(b,a){b=k.low(b);a=k.high(a);if(B(b)||B(a))return[b,a];if(null===b&&null===a)return null}};e.groupData=function(b,a,e,c){var l=this,u=l.data,y=l.options.data,d=[],v=[],w=[],L=b.length,h,r,m=!!a,H=[];c="function"===typeof c?c:k[c]||g[l.type]&&k[g[l.type].approximation]||k[f.approximation];
33
- var n=l.pointArrayMap,K=n&&n.length,G=["x"].concat(n||["y"]),x=0,p=0,C,t;K?z(n,function(){H.push([])}):H.push([]);C=K||1;for(t=0;t<=L&&!(b[t]>=e[0]);t++);for(t;t<=L;t++){for(;void 0!==e[x+1]&&b[t]>=e[x+1]||t===L;){h=e[x];l.dataGroupInfo={start:p,length:H[0].length};r=c.apply(l,H);E(l.dataGroupInfo.options)||(l.dataGroupInfo.options=l.pointClass.prototype.optionsToObject.call({series:l},l.options.data[p]),z(G,function(b){delete l.dataGroupInfo.options[b]}));void 0!==r&&(d.push(h),v.push(r),w.push(l.dataGroupInfo));
34
- p=t;for(h=0;h<C;h++)H[h].length=0,H[h].hasNulls=!1;x+=1;if(t===L)break}if(t===L)break;if(n){h=l.cropStart+t;r=u&&u[h]||l.pointClass.prototype.applyOptions.apply({series:l},[y[h]]);var q;for(h=0;h<K;h++)q=r[n[h]],B(q)?H[h].push(q):null===q&&(H[h].hasNulls=!0)}else h=m?a[t]:null,B(h)?H[0].push(h):null===h&&(H[0].hasNulls=!0)}return[d,v,w]};e.processData=function(){var b=this.chart,a=this.options.dataGrouping,f=!1!==this.allowDG&&a&&t(a.enabled,b.options.isStock),k=this.visible||!b.options.chart.ignoreHiddenSeries,
35
- l,u=this.currentDataGrouping,y;this.forceCrop=f;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==r.apply(this,arguments)&&f){this.destroyGroupedData();var c,g=a.groupAll?this.xData:this.processedXData,d=a.groupAll?this.yData:this.processedYData,h=b.plotSizeX,b=this.xAxis,M=b.options.ordinal,m=this.groupPixelWidth=b.getGroupPixelWidth&&b.getGroupPixelWidth();if(m){this.isDirty=l=!0;this.points=null;f=b.getExtremes();y=f.min;f=f.max;M=M&&b.getGroupIntervalFactor(y,f,this)||1;m=m*(f-y)/h*M;h=b.getTimeTicks(b.normalizeTimeTickInterval(m,
36
- a.units||w),Math.min(y,g[0]),Math.max(f,g[g.length-1]),b.options.startOfWeek,g,this.closestPointRange);d=e.groupData.apply(this,[g,d,h,a.approximation]);g=d[0];M=d[1];if(a.smoothed&&g.length){c=g.length-1;for(g[c]=Math.min(g[c],f);c--&&0<c;)g[c]+=m/2;g[0]=Math.max(g[0],y)}y=h.info;this.closestPointRange=h.info.totalRange;this.groupMap=d[2];if(E(g[0])&&g[0]<b.dataMin&&k){if(!E(b.options.min)&&b.min<=b.dataMin||b.min===b.dataMin)b.min=g[0];b.dataMin=g[0]}a.groupAll&&(a=this.cropData(g,M,b.min,b.max,
37
- 1),g=a.xData,M=a.yData);this.processedXData=g;this.processedYData=M}else this.groupMap=null;this.hasGroupedData=l;this.currentDataGrouping=y;this.preventGraphAnimation=(u&&u.totalRange)!==(y&&y.totalRange)}};e.destroyGroupedData=function(){var b=this.groupedData;z(b||[],function(a,f){a&&(b[f]=a.destroy?a.destroy():null)});this.groupedData=null};e.generatePoints=function(){h.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};A(d,"update",function(){if(this.dataGroup)return a.error(24),
38
- !1});b(m.prototype,"tooltipFooterHeaderFormatter",function(b,a,f){var e=this.chart.time,l=a.series,u=l.tooltipOptions,y=l.options.dataGrouping,g=u.xDateFormat,k,c=l.xAxis;return c&&"datetime"===c.options.type&&y&&B(a.key)?(b=l.currentDataGrouping,y=y.dateTimeLabelFormats,b?(c=y[b.unitName],1===b.count?g=c[0]:(g=c[1],k=c[2])):!g&&y&&(g=this.getXDateFormat(a,u,c)),g=e.dateFormat(g,a.key),k&&(g+=e.dateFormat(k,a.key+b.totalRange-1)),n(u[(f?"footer":"header")+"Format"],{point:F(a.point,{key:g}),series:l},
39
- e)):b.call(this,a,f)});A(c,"destroy",e.destroyGroupedData);A(c,"afterSetOptions",function(b){b=b.options;var a=this.type,e=this.chart.options.plotOptions,k=C[a].dataGrouping,l=this.useCommonDataGrouping&&f;if(g[a]||l)k||(k=x(f,g[a])),b.dataGrouping=x(l,k,e.series&&e.series.dataGrouping,e[a].dataGrouping,this.userOptions.dataGrouping);this.chart.options.isStock&&(this.requireSorting=!0)});A(q,"afterSetScale",function(){z(this.series,function(b){b.hasProcessed=!1})});q.prototype.getGroupPixelWidth=
40
- function(){var b=this.series,a=b.length,f,e=0,l=!1,u;for(f=a;f--;)(u=b[f].options.dataGrouping)&&(e=Math.max(e,u.groupPixelWidth));for(f=a;f--;)(u=b[f].options.dataGrouping)&&b[f].hasProcessed&&(a=(b[f].processedXData||b[f].data).length,b[f].groupPixelWidth||a>this.chart.plotSizeX/e||a&&u.forced)&&(l=!0);return l?e:0};q.prototype.setDataGrouping=function(b,a){var f;a=t(a,!0);b||(b={forced:!1,units:null});if(this instanceof q)for(f=this.series.length;f--;)this.series[f].update({dataGrouping:b},!1);
41
- else z(this.chart.options.series,function(a){a.dataGrouping=b},!1);this.ordinalSlope=null;a&&this.chart.redraw()}})(I);(function(a){var A=a.each,p=a.Point,D=a.seriesType,q=a.seriesTypes;D("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}},
42
- stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){q.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,p){p=q.column.prototype.pointAttribs.call(this,a,p);var z=this.options;delete p.fill;!a.options.color&&z.upColor&&a.open<a.close&&(p.stroke=z.upColor);return p},translate:function(){var a=
43
- this,p=a.yAxis,z=!!a.modifyValue,F=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];q.column.prototype.translate.apply(a);A(a.points,function(n){A([n.open,n.high,n.low,n.close,n.low],function(q,x){null!==q&&(z&&(q=a.modifyValue(q)),n[F[x]]=p.toPixels(q,!0))});n.tooltipPos[1]=n.plotHigh+p.pos-a.chart.plotTop})},drawPoints:function(){var a=this,p=a.chart;A(a.points,function(z){var q,n,E,x,t=z.graphic,d,c=!t;void 0!==z.plotY&&(t||(z.graphic=t=p.renderer.path().add(a.group)),t.attr(a.pointAttribs(z,
44
- z.selected&&"select")),n=t.strokeWidth()%2/2,d=Math.round(z.plotX)-n,E=Math.round(z.shapeArgs.width/2),x=["M",d,Math.round(z.yBottom),"L",d,Math.round(z.plotHigh)],null!==z.open&&(q=Math.round(z.plotOpen)+n,x.push("M",d,q,"L",d-E,q)),null!==z.close&&(q=Math.round(z.plotClose)+n,x.push("M",d,q,"L",d+E,q)),t[c?"attr":"animate"]({d:x}).addClass(z.getClassName(),!0))})},animate:null},{getClassName:function(){return p.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(I);
45
- (function(a){var A=a.defaultPlotOptions,p=a.each,D=a.merge,q=a.seriesType,C=a.seriesTypes;q("candlestick","ohlc",D(A.column,{states:{hover:{lineWidth:2}},tooltip:A.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,p){var q=C.column.prototype.pointAttribs.call(this,a,p),n=this.options,z=a.open<a.close,x=n.lineColor||this.color;q["stroke-width"]=n.lineWidth;q.fill=a.options.color||(z?n.upColor||this.color:this.color);q.stroke=
46
- a.lineColor||(z?n.upLineColor||x:x);p&&(a=n.states[p],q.fill=a.color||q.fill,q.stroke=a.lineColor||q.stroke,q["stroke-width"]=a.lineWidth||q["stroke-width"]);return q},drawPoints:function(){var a=this,q=a.chart,C=a.yAxis.reversed;p(a.points,function(n){var p=n.graphic,x,t,d,c,m,b,e,r=!p;void 0!==n.plotY&&(p||(n.graphic=p=q.renderer.path().add(a.group)),p.attr(a.pointAttribs(n,n.selected&&"select")).shadow(a.options.shadow),m=p.strokeWidth()%2/2,b=Math.round(n.plotX)-m,x=n.plotOpen,t=n.plotClose,d=
47
- Math.min(x,t),x=Math.max(x,t),e=Math.round(n.shapeArgs.width/2),t=C?x!==n.yBottom:Math.round(d)!==Math.round(n.plotHigh),c=C?Math.round(d)!==Math.round(n.plotHigh):x!==n.yBottom,d=Math.round(d)+m,x=Math.round(x)+m,m=[],m.push("M",b-e,x,"L",b-e,d,"L",b+e,d,"L",b+e,x,"Z","M",b,d,"L",b,t?Math.round(C?n.yBottom:n.plotHigh):d,"M",b,x,"L",b,c?Math.round(C?n.plotHigh:n.yBottom):x),p[r?"attr":"animate"]({d:m}).addClass(n.getClassName(),!0))})}})})(I);var Y=function(a){var A=a.each,p=a.defined,D=a.seriesTypes,
48
- q=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){D.column.prototype.translate.apply(this);var a=this.options,E=this.chart,z=this.points,F=z.length-1,n,B,x=a.onSeries,x=x&&E.get(x),a=a.onKey||"y",t=x&&x.options.step,d=x&&x.points,c=d&&d.length,m=E.inverted,b=this.xAxis,e=this.yAxis,r=0,h,f,g,w;if(x&&x.visible&&c)for(r=(x.pointXOffset||0)+(x.barW||0)/2,n=x.currentDataGrouping,
49
- f=d[c-1].x+(n?n.totalRange:0),q(z,function(b,a){return b.x-a.x}),a="plot"+a[0].toUpperCase()+a.substr(1);c--&&z[F]&&!(h=d[c],n=z[F],n.y=h.y,h.x<=n.x&&void 0!==h[a]&&(n.x<=f&&(n.plotY=h[a],h.x<n.x&&!t&&(g=d[c+1])&&void 0!==g[a]&&(w=(n.x-h.x)/(g.x-h.x),n.plotY+=w*(g[a]-h[a]),n.y+=w*(g.y-h.y))),F--,c++,0>F)););A(z,function(a,f){var g;a.plotX+=r;if(void 0===a.plotY||m)0<=a.plotX&&a.plotX<=b.len?m?(a.plotY=b.translate(a.x,0,1,0,1),a.plotX=p(a.y)?e.translate(a.y,0,0,0,1):0):a.plotY=E.chartHeight-b.bottom-
50
- (b.opposite?b.height:0)+b.offset-e.top:a.shapeArgs={};(B=z[f-1])&&B.plotX===a.plotX&&(void 0===B.stackIndex&&(B.stackIndex=0),g=B.stackIndex+1);a.stackIndex=g});this.onSeries=x}}}(I);(function(a,A){function p(a){t[a+"pin"]=function(c,d,b,e,r){var h=r&&r.anchorX;r=r&&r.anchorY;"circle"===a&&e>b&&(c-=Math.round((e-b)/2),b=e);c=t[a](c,d,b,e);h&&r&&(c.push("M","circle"===a?c[1]-c[4]:c[1]+c[4]/2,d>r?d:d+e,"L",h,r),c=c.concat(t.circle(h-1,r-1,2,2)));return c}}var D=a.addEvent,q=a.each,C=a.merge,E=a.noop,
51
- z=a.Renderer,F=a.Series,n=a.seriesType,B=a.TrackerMixin,x=a.VMLRenderer,t=a.SVGRenderer.prototype.symbols;n("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,
52
- init:F.prototype.init,pointAttribs:function(a,c){var d=this.options,b=a&&a.color||this.color,e=d.lineColor,r=a&&a.lineWidth;a=a&&a.fillColor||d.fillColor;c&&(a=d.states[c].fillColor,e=d.states[c].lineColor,r=d.states[c].lineWidth);return{fill:a||b,stroke:e||b,"stroke-width":r||d.lineWidth||0}},translate:A.translate,getPlotBox:A.getPlotBox,drawPoints:function(){var d=this.points,c=this.chart,m=c.renderer,b,e,r=c.inverted,h=this.options,f=h.y,g,w,k,v,n,p,t=this.yAxis,l={},u=[];for(w=d.length;w--;)k=
53
- d[w],p=(r?k.plotY:k.plotX)>this.xAxis.len,b=k.plotX,v=k.stackIndex,g=k.options.shape||h.shape,e=k.plotY,void 0!==e&&(e=k.plotY+f-(void 0!==v&&v*h.stackDistance)),k.anchorX=v?void 0:k.plotX,n=v?void 0:k.plotY,v=k.graphic,void 0!==e&&0<=b&&!p?(v||(v=k.graphic=m.label("",null,null,g,null,null,h.useHTML).attr(this.pointAttribs(k)).css(C(h.style,k.style)).attr({align:"flag"===g?"left":"center",width:h.width,height:h.height,"text-align":h.textAlign}).addClass("highcharts-point").add(this.markerGroup),k.graphic.div&&
54
- (k.graphic.div.point=k),v.shadow(h.shadow),v.isNew=!0),0<b&&(b-=v.strokeWidth()%2),g={y:e,anchorY:n},h.allowOverlapX&&(g.x=b,g.anchorX=k.anchorX),v.attr({text:k.options.title||h.title||"A"})[v.isNew?"attr":"animate"](g),h.allowOverlapX||(l[k.plotX]?l[k.plotX].size=Math.max(l[k.plotX].size,v.width):l[k.plotX]={align:0,size:v.width,target:b,anchorX:b}),k.tooltipPos=[b,e+t.pos-c.plotTop]):v&&(k.graphic=v.destroy());h.allowOverlapX||(a.objectEach(l,function(b){b.plotX=b.anchorX;u.push(b)}),a.distribute(u,
55
- r?t.len:this.xAxis.len,100),q(d,function(b){var a=b.graphic&&l[b.plotX];a&&(b.graphic[b.graphic.isNew?"attr":"animate"]({x:a.pos,anchorX:b.anchorX}),a.pos?b.graphic.isNew=!1:(b.graphic.attr({x:-9999,anchorX:-9999}),b.graphic.isNew=!0))}));h.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;B.drawTrackerPoint.apply(this);q(a,function(c){var d=c.graphic;
56
- d&&D(d.element,"mouseover",function(){0<c.stackIndex&&!c.raised&&(c._y=d.y,d.attr({y:c._y-8}),c.raised=!0);q(a,function(b){b!==c&&b.raised&&b.graphic&&(b.graphic.attr({y:b._y}),b.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){F.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:E,invertGroups:E});t.flag=function(a,c,m,b,e){var d=e&&e.anchorX||a;e=e&&e.anchorY||
57
- c;return t.circle(d-1,e-1,2,2).concat(["M",d,e,"L",a,c+b,a,c,a+m,c,a+m,c+b,a,c+b,"Z"])};p("circle");p("square");z===x&&q(["flag","circlepin","squarepin"],function(a){x.prototype.symbols[a]=t[a]})})(I,Y);(function(a){function A(b,a,c){this.init(b,a,c)}var p=a.addEvent,D=a.Axis,q=a.correctFloat,C=a.defaultOptions,E=a.defined,z=a.destroyObjectProperties,F=a.each,n=a.fireEvent,B=a.hasTouch,x=a.merge,t=a.pick,d=a.removeEvent,c,m={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,
58
- margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};C.scrollbar=x(!0,m,C.scrollbar);a.swapXY=c=function(a,e){var b=a.length,c;if(e)for(e=0;e<b;e+=3)c=a[e+1],a[e+1]=a[e+2],a[e+2]=c;return a};A.prototype={init:function(a,e,c){this.scrollbarButtons=
59
- [];this.renderer=a;this.userOptions=e;this.options=x(m,e);this.chart=c;this.size=t(this.options.size,this.options.height);e.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,e=this.options,d=this.size,h;this.group=h=a.g("scrollbar").attr({zIndex:e.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:e.trackBorderRadius||0,height:d,width:d}).add(h);this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,
60
- "stroke-width":e.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(h);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:e.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(c(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:e.barBackgroundColor,
61
- stroke:e.barBorderColor,"stroke-width":e.barBorderWidth});this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,e,c,d){var b=this.options.vertical,g=0,h=this.rendered?"animate":"attr";this.x=a;this.y=e+this.trackBorderWidth;this.width=c;this.xOffset=this.height=d;
62
- this.yOffset=g;b?(this.width=this.yOffset=c=g=this.size,this.xOffset=e=0,this.barWidth=d-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=d=e=this.size,this.barWidth=c-2*d,this.y+=this.options.margin);this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:c,height:d});this.scrollbarButtons[1][h]({translateX:b?0:c-e,translateY:b?d-g:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,h=this.options,f=this.size,g;g=b.g().add(this.group);d.push(g);
63
- g=b.rect().addClass("highcharts-scrollbar-button").add(g);g.attr({stroke:h.buttonBorderColor,"stroke-width":h.buttonBorderWidth,fill:h.buttonBackgroundColor});g.attr(g.crisp({x:-.5,y:-.5,width:f+1,height:f+1,r:h.buttonBorderRadius},g.strokeWidth()));g=b.path(c(["M",f/2+(a?-1:1),f/2-3,"L",f/2+(a?-1:1),f/2+3,"L",f/2+(a?2:-2),f/2],h.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);g.attr({fill:h.buttonArrowColor})},setRange:function(a,e){var b=this.options,c=b.vertical,f=b.minWidth,g=this.barWidth,
64
- d,k,v=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";E(g)&&(a=Math.max(a,0),d=Math.ceil(g*a),this.calculatedWidth=k=q(g*Math.min(e,1)-d),k<f&&(d=(g-f+k)*a,k=f),f=Math.floor(d+this.xOffset+this.yOffset),g=k/2-.5,this.from=a,this.to=e,c?(this.scrollbarGroup[v]({translateY:f}),this.scrollbar[v]({height:k}),this.scrollbarRifles[v]({translateY:g}),this.scrollbarTop=f,this.scrollbarLeft=0):(this.scrollbarGroup[v]({translateX:f}),this.scrollbar[v]({width:k}),
65
- this.scrollbarRifles[v]({translateX:g}),this.scrollbarLeft=f,this.scrollbarTop=0),12>=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=e?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var e=a.chart.pointer.normalize(b),c=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(e=a.cursorToScrollbarPosition(e)[c],c=a[c],c=e-c,a.hasDragged=!0,
66
- a.updatePosition(f[0]+c,f[1]+c),a.hasDragged&&n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=
67
- function(b){var c=q(a.to-a.from)*a.options.step;a.updatePosition(q(a.from-c),q(a.to-c));n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),e=a.to-a.from,f=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>f||!a.options.vertical&&c.chartX>
68
- g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,c){1<c&&(a=q(1-q(c-a)),c=1);0>a&&(c=q(c-a),a=0);this.from=a;this.to=c},update:function(a){this.destroy();this.init(this.chart.renderer,
69
- x(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],c=this.scrollbarButtons,d=this.scrollbarGroup.element,h=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[c[a[0]].element,"click",this.buttonToMinClick],[c[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",h],[d.ownerDocument,"mousemove",f],[d.ownerDocument,"mouseup",g]];B&&a.push([d,"touchstart",h],[d.ownerDocument,"touchmove",
70
- f],[d.ownerDocument,"touchend",g]);F(a,function(a){p.apply(null,a)});this._events=a},removeEvents:function(){F(this._events,function(a){d.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();F(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,z(a.scrollbarButtons))}};p(D,"afterInit",function(){var a=this;a.options.scrollbar&&
71
- a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new A(a.chart.renderer,a.options.scrollbar,a.chart),p(a.scrollbar,"changed",function(b){var c=Math.min(t(a.options.min,a.min),a.min,a.dataMin),d=Math.max(t(a.options.max,a.max),a.max,a.dataMax)-c,f;a.horiz&&!a.reversed||!a.horiz&&a.reversed?(f=c+d*this.to,c+=d*this.from):(f=c+d*(1-this.from),c+=d*(1-this.to));a.setExtremes(c,f,!0,!1,b)}))});p(D,"afterRender",function(){var a=
72
- Math.min(t(this.options.min,this.min),this.min,t(this.dataMin,this.min)),c=Math.max(t(this.options.max,this.max),this.max,t(this.dataMax,this.max)),d=this.scrollbar,h=this.titleOffset||0;if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:h+this.axisTitleMargin+this.offset),this.width,this.height),h=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?h+this.axisTitleMargin+this.offset:0),this.top,this.width,
73
- this.height),h=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[h]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)||isNaN(c)||!E(this.min)||!E(this.max)?d.setRange(0,0):(h=(this.min-a)/(c-a),a=(this.max-a)/(c-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(h,a):d.setRange(1-a,1-h))}});p(D,"afterGetOffset",function(){var a=this.horiz?2:1,c=this.scrollbar;c&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=c.size+
74
- c.options.margin)});a.Scrollbar=A})(I);(function(a){function A(a){this.init(a)}var p=a.addEvent,D=a.Axis,q=a.Chart,C=a.color,E=a.defaultOptions,z=a.defined,F=a.destroyObjectProperties,n=a.each,B=a.erase,x=a.error,t=a.extend,d=a.grep,c=a.hasTouch,m=a.isArray,b=a.isNumber,e=a.isObject,r=a.isTouchDevice,h=a.merge,f=a.pick,g=a.removeEvent,w=a.Scrollbar,k=a.Series,v=a.seriesTypes,H=a.wrap,K=[].concat(a.defaultDataGroupingUnits),G=function(a){var l=d(arguments,b);if(l.length)return Math[a].apply(0,l)};
75
- K[4]=["day",[1,2,3,4]];K[5]=["week",[1,2,3]];v=void 0===v.areaspline?"line":"areaspline";t(E,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:C("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:v,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
76
- units:K},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,
77
- labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,f,c,d){a=d.width/2;b=Math.round(a/3)+.5;d=d.height;return["M",-a-1,.5,"L",a,.5,"L",a,d+.5,"L",-a-1,d+.5,"L",-a-1,.5,"M",-b,4,"L",-b,d-3,"M",b-1,4,"L",b-1,d-3]};A.prototype={drawHandle:function(a,b,f,c){var l=this.navigatorOptions.handles.height;this.handles[b][c](f?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+
78
- .5-l)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-l/2-1)})},drawOutline:function(a,b,f,c){var l=this.navigatorOptions.maskInside,u=this.outline.strokeWidth(),d=u/2,u=u%2/2,g=this.outlineHeight,y=this.scrollbarHeight,k=this.size,e=this.left-y,w=this.top;f?(e-=d,f=w+b+u,b=w+a+u,a=["M",e+g,w-y-u,"L",e+g,f,"L",e,f,"L",e,b,"L",e+g,b,"L",e+g,w+k+y].concat(l?["M",e+g,f-d,"L",e+g,b+d]:[])):(a+=e+y-u,b+=e+y-u,w+=d,a=["M",e,w,"L",a,w,"L",a,w+g,"L",b,w+g,"L",
79
- b,w,"L",e+k+2*y,w].concat(l?["M",a-d,w,"L",b+d,w]:[]));this.outline[c]({d:a})},drawMasks:function(a,b,f,c){var l=this.left,u=this.top,d=this.height,g,y,e,k;f?(e=[l,l,l],k=[u,u+a,u+b],y=[d,d,d],g=[a,b-a,this.size-b]):(e=[l,l+a,l+b],k=[u,u,u],y=[a,b-a,this.size-b],g=[d,d,d]);n(this.shades,function(a,b){a[c]({x:e[b],y:k[b],width:y[b],height:g[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,f=b.maskInside,c=a.chart,d=c.inverted,g=c.renderer,e;a.navigatorGroup=e=g.g("navigator").attr({zIndex:8,
80
- visibility:"hidden"}).add();var k={cursor:d?"ns-resize":"ew-resize"};n([!f,f,!f],function(l,f){a.shades[f]=g.rect().addClass("highcharts-navigator-mask"+(1===f?"-inside":"-outside")).attr({fill:l?b.maskFill:"rgba(0,0,0,0)"}).css(1===f&&k).add(e)});a.outline=g.path().addClass("highcharts-navigator-outline").attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor}).add(e);b.handles.enabled&&n([0,1],function(l){b.handles.inverted=c.inverted;a.handles[l]=g.symbol(b.handles.symbols[l],-b.handles.width/
81
- 2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[l].attr({zIndex:7-l}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][l]).add(e);var f=b.handles;a.handles[l].attr({fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.lineWidth}).css(k)})},update:function(a){n(this.series||[],function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();h(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(l,
82
- c,d,g){var u=this.chart,e,k,y=this.scrollbarHeight,w,h=this.xAxis;e=h.fake?u.xAxis[0]:h;var J=this.navigatorEnabled,v,m=this.rendered;k=u.inverted;var n,p=u.xAxis[0].minRange,q=u.xAxis[0].options.maxRange;if(!this.hasDragged||z(d)){if(!b(l)||!b(c))if(m)d=0,g=f(h.width,e.width);else return;this.left=f(h.left,u.plotLeft+y+(k?u.plotWidth:0));this.size=v=w=f(h.len,(k?u.plotHeight:u.plotWidth)-2*y);u=k?y:w+2*y;d=f(d,h.toPixels(l,!0));g=f(g,h.toPixels(c,!0));b(d)&&Infinity!==Math.abs(d)||(d=0,g=u);l=h.toValue(d,
83
- !0);c=h.toValue(g,!0);n=Math.abs(a.correctFloat(c-l));n<p?this.grabbedLeft?d=h.toPixels(c-p,!0):this.grabbedRight&&(g=h.toPixels(l+p,!0)):z(q)&&n>q&&(this.grabbedLeft?d=h.toPixels(c-q,!0):this.grabbedRight&&(g=h.toPixels(l+q,!0)));this.zoomedMax=Math.min(Math.max(d,g,0),v);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,g),0),v);this.range=this.zoomedMax-this.zoomedMin;v=Math.round(this.zoomedMax);d=Math.round(this.zoomedMin);J&&(this.navigatorGroup.attr({visibility:"visible"}),
84
- m=m&&!this.hasDragged?"animate":"attr",this.drawMasks(d,v,k,m),this.drawOutline(d,v,k,m),this.navigatorOptions.handles.enabled&&(this.drawHandle(d,0,k,m),this.drawHandle(v,1,k,m)));this.scrollbar&&(k?(k=this.top-y,e=this.left-y+(J||!e.opposite?0:(e.titleOffset||0)+e.axisTitleMargin),y=w+2*y):(k=this.top+(J?this.height:-y),e=this.left-y),this.scrollbar.position(e,k,u,y),this.scrollbar.setRange(this.zoomedMin/(w||1),this.zoomedMax/(w||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
85
- f=b.container,d=[],g,e;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=e=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(p(f,"mousemove",g),p(f.ownerDocument,"mouseup",e));c&&(d.push(p(f,"touchmove",g),p(f.ownerDocument,"touchend",e)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(p(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,l=[];
86
- n(["shades","handles"],function(f){n(b[f],function(c,d){l.push(p(c.element,a,function(a){b[f+"Mousedown"](a,d)}))})});return l},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var f=this.chart,l=this.xAxis,c=this.zoomedMin,d=this.left,u=this.size,g=this.range,e=a.chartX,k,w;f.inverted&&(e=a.chartY,d=this.top);1===b?(this.grabbedCenter=e,this.fixedWidth=g,this.dragOffset=e-c):(a=e-d-g/2,0===b?a=Math.max(0,a):2===b&&a+g>=u&&(a=u-g,this.reversedExtremes?(a-=g,w=this.getUnionExtremes().dataMin):
87
- k=this.getUnionExtremes().dataMax),a!==c&&(this.fixedWidth=g,b=l.toFixedRange(a,a+g,w,k),z(b.min)&&f.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var f=a.xAxis[0],l=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=l?f.min:f.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=l?f.max:f.min);
88
- a.fixedRange=null},onMouseMove:function(b){var l=this,c=l.chart,d=l.left,g=l.navigatorSize,e=l.range,k=l.dragOffset,w=c.inverted;b.touches&&0===b.touches[0].pageX||(b=c.pointer.normalize(b),c=b.chartX,w&&(d=l.top,c=b.chartY),l.grabbedLeft?(l.hasDragged=!0,l.render(0,0,c-d,l.otherHandlePos)):l.grabbedRight?(l.hasDragged=!0,l.render(0,0,l.otherHandlePos,c-d)):l.grabbedCenter&&(l.hasDragged=!0,c<k?c=k:c>g+k-e&&(c=g+k-e),l.render(0,0,c-k,c-k+e)),l.hasDragged&&l.scrollbar&&f(l.scrollbar.options.liveRedraw,
89
- a.svg&&!r&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){l.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,f=this.xAxis,l=this.scrollbar,c,d,g=a.DOMEvent||a;(!this.hasDragged||l&&l.hasDragged)&&"scrollbar"!==a.trigger||(l=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?c=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(d=this.fixedExtreme),this.zoomedMax===this.size&&(d=this.reversedExtremes?l.dataMin:l.dataMax),0===this.zoomedMin&&(c=this.reversedExtremes?
90
- l.dataMax:l.dataMin),f=f.toFixedRange(this.zoomedMin,this.zoomedMax,c,d),z(f.min)&&b.xAxis[0].setExtremes(Math.min(f.min,f.max),Math.max(f.min,f.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(n(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=
91
- void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&n(a,function(a){g(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&g(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,c=b.navigator,l=c.enabled,d=b.scrollbar,g=d.enabled,b=l?c.height:0,e=g?d.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=
92
- b;this.scrollbarHeight=e;this.scrollbarEnabled=g;this.navigatorEnabled=l;this.navigatorOptions=c;this.scrollbarOptions=d;this.outlineHeight=b+e;this.opposite=f(c.opposite,!l&&a.inverted);var k=this,l=k.baseSeries,d=a.xAxis.length,g=a.yAxis.length,v=l&&l[0]&&l[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;k.navigatorEnabled?(k.xAxis=new D(a,h({breaks:v.options.breaks,ordinal:v.options.ordinal},c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:d,isInternal:!0,
93
- offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[e,0,-e,0],width:b}:{offsets:[0,-e,0,e],height:b})),k.yAxis=new D(a,h(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:g,isInternal:!0,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),l||c.series.data?k.updateNavigatorSeries(!1):0===a.series.length&&(k.unbindRedraw=p(a,"beforeRedraw",function(){0<a.series.length&&!k.series&&(k.setBaseSeries(),k.unbindRedraw())})),k.reversedExtremes=
94
- a.inverted&&!k.xAxis.reversed||!a.inverted&&k.xAxis.reversed,k.renderElements(),k.addMouseEvents()):k.xAxis={translate:function(b,f){var c=a.xAxis[0],l=c.getExtremes(),d=c.len-2*e,g=G("min",c.options.min,l.dataMin),c=G("max",c.options.max,l.dataMax)-g;return f?b*c/d+g:d*(b-g)/c},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:D.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=k.scrollbar=new w(a.renderer,h(a.options.scrollbar,
95
- {margin:k.navigatorEnabled?0:10,vertical:a.inverted}),a),p(k.scrollbar,"changed",function(b){var f=k.size,c=f*this.to,f=f*this.from;k.hasDragged=k.scrollbar.hasDragged;k.render(0,0,f,c);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){k.onMouseUp(b)})}));k.addBaseSeriesEvents();k.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,l=c.options,d=b.options,g;a&&null===b.dataMin||(g={dataMin:f(l&&l.min,G("min",
96
- d.min,b.dataMin,c.dataMin,c.min)),dataMax:f(l&&l.max,G("max",d.max,b.dataMax,c.dataMax,c.max))});return g},setBaseSeries:function(a,b){var f=this.chart,c=this.baseSeries=[];a=a||f.options&&f.options.navigator.baseSeries||0;n(f.series||[],function(b,f){b.options.isInternal||!b.options.showInNavigator&&(f!==a&&b.options.id!==a||!1===b.options.showInNavigator)||c.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,b)},updateNavigatorSeries:function(b,f){var c=this,l=c.chart,d=c.baseSeries,
97
- k,e,u=c.navigatorOptions.series,w,v={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0},p=c.series=a.grep(c.series||[],function(b){var f=b.baseSeries;return 0>a.inArray(f,d)?(f&&(g(f,"updatedData",c.updatedDataHandler),delete f.navigatorSeries),b.chart&&b.destroy(),!1):!0});d&&d.length&&n(d,function(a){var b=a.navigatorSeries,g=t({color:a.color,visible:a.visible},m(u)?E.navigator.series:
98
- u);b&&!1===c.navigatorOptions.adaptToUpdatedData||(v.name="Navigator "+d.length,k=a.options||{},w=k.navigatorOptions||{},e=h(k,v,g,w),g=w.data||g.data,c.hasNavigatorData=c.hasNavigatorData||!!g,e.data=g||k.data&&k.data.slice(0),b&&b.options?b.update(e,f):(a.navigatorSeries=l.initSeries(e),a.navigatorSeries.baseSeries=a,p.push(a.navigatorSeries)))});if(u.data&&(!d||!d.length)||m(u))c.hasNavigatorData=!1,u=a.splat(u),n(u,function(a,b){v.name="Navigator "+(p.length+1);e=h(E.navigator.series,{color:l.series[b]&&
99
- !l.series[b].options.isInternal&&l.series[b].color||l.options.colors[b]||l.options.colors[0]},v,a);e.data=a.data;e.data&&(c.hasNavigatorData=!0,p.push(l.initSeries(e)))});b&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&p(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);n(b,function(b){p(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});p(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
100
- !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&p(b,"updatedData",this.updatedDataHandler);p(b,"remove",function(){this.navigatorSeries&&(B(a.series,this.navigatorSeries),z(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=
101
- this.chart.navigator,c=this.getExtremes(),d=c.dataMin,g=c.dataMax,c=c.max-c.min,k=a.stickToMin,e=a.stickToMax,w=f(this.options.overscroll,0),h,v,m=a.series&&a.series[0],n=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(k&&(v=d,h=v+c),e&&(h=g+w,k||(v=Math.max(h-c,m&&m.xData?m.xData[0]:-Number.MAX_VALUE))),n&&(k||e)&&b(v)&&(this.min=this.userMin=v,this.max=this.userMax=h));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,f=
102
- this.navigatorSeries;a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=b(this.xAxis.min)&&this.xAxis.min<=this.xData[0]&&(!this.chart.fixedRange||!a.stickToMax);f&&!a.hasNavigatorData&&(f.options.pointStart=this.xData[0],f.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(p(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&
103
- a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),p(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(B(this.chart.xAxis,this.xAxis),B(this.chart.axes,this.xAxis));this.yAxis&&(B(this.chart.yAxis,this.yAxis),
104
- B(this.chart.axes,this.yAxis));n(this.series||[],function(a){a.destroy&&a.destroy()});n("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);n([this.handles],function(a){F(a)},this)}};a.Navigator=A;H(D.prototype,"zoom",function(a,b,f){var c=this.chart,d=c.options,g=d.chart.zoomType,k=d.chart.pinchType,l=d.navigator,d=d.rangeSelector,e;this.isXAxis&&
105
- (l&&l.enabled||d&&d.enabled)&&(!r&&"x"===g||r&&"x"===k?c.resetZoomButton="blocked":"y"===g?e=!1:(!r&&"xy"===g||r&&"xy"===k)&&this.options.range&&(c=this.previousZoom,z(b)?this.previousZoom=[this.min,this.max]:c&&(b=c[0],f=c[1],delete this.previousZoom)));return void 0!==e?e:a.call(this,b,f)});p(q,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new A(this)});p(q,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,
106
- d,g,k;b&&(d=a&&a.options,g=b.xAxis,k=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&&"bottom"===d.verticalAlign&&d.enabled&&!d.floating?a.legendHeight+f(d.margin,10):0)),g&&k&&(this.inverted?g.options.left=k.options.left=b.left:g.options.top=
107
- k.options.top=b.top,g.setAxisSize(),k.setAxisSize()))});p(q,"update",function(a){var b=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(h(!0,this.options.navigator,b),h(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)});p(q,"afterUpdate",function(){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new A(this))});H(k.prototype,"addPoint",
108
- function(a,b,c,f,d){var g=this.options.turboThreshold;g&&this.xData.length>g&&e(b,!0)&&this.chart.navigator&&x(20,!0);a.call(this,b,c,f,d)});p(q,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)});p(k,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});q.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(I);(function(a){function A(a){this.init(a)}
109
- var p=a.addEvent,D=a.Axis,q=a.Chart,C=a.css,E=a.createElement,z=a.defaultOptions,F=a.defined,n=a.destroyObjectProperties,B=a.discardElement,x=a.each,t=a.extend,d=a.fireEvent,c=a.isNumber,m=a.merge,b=a.pick,e=a.pInt,r=a.splat,h=a.wrap;t(z,{rangeSelector:{verticalAlign:"top",buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});z.lang=m(z.lang,
110
- {rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});A.prototype={clickButton:function(a,d){var f=this,g=f.chart,e=f.buttonOptions[a],h=g.xAxis[0],m=g.scroller&&g.scroller.getUnionExtremes()||h||{},n=m.dataMin,l=m.dataMax,u,y=h&&Math.round(Math.min(h.max,b(l,h.max))),q=e.type,t,m=e._range,z,L,M,E=e.dataGrouping;if(null!==n&&null!==l){g.fixedRange=m;E&&(this.forcedDataGrouping=!0,D.prototype.setDataGrouping.call(h||{chart:this.chart},E,!1),this.frozenStates=e.preserveDataGrouping);
111
- if("month"===q||"year"===q)h?(q={range:e,max:y,chart:g,dataMin:n,dataMax:l},u=h.minFromRange.call(q),c(q.newMax)&&(y=q.newMax)):m=e;else if(m)u=Math.max(y-m,n),y=Math.min(u+m,l);else if("ytd"===q)if(h)void 0===l&&(n=Number.MAX_VALUE,l=Number.MIN_VALUE,x(g.series,function(a){a=a.xData;n=Math.min(a[0],n);l=Math.max(a[a.length-1],l)}),d=!1),y=f.getYTDExtremes(l,n,g.time.useUTC),u=z=y.min,y=y.max;else{p(g,"beforeRender",function(){f.clickButton(a)});return}else"all"===q&&h&&(u=n,y=l);u+=e._offsetMin;
112
- y+=e._offsetMax;f.setSelected(a);h?h.setExtremes(u,y,b(d,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(t=r(g.options.xAxis)[0],M=t.range,t.range=m,L=t.min,t.min=z,p(g,"load",function(){t.range=M;t.min=L}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=
113
- this,c=a.options.rangeSelector,f=c.buttons||[].concat(b.defaultButtons),e=c.selected,h=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&d(a,"blur");c&&c.blur&&d(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=f;this.unMouseDown=p(a.container,"mousedown",h);this.unResize=p(a,"resize",h);x(f,b.computeButtonRange);void 0!==e&&f[e]&&this.clickButton(e,!1);p(a,"load",function(){a.xAxis&&a.xAxis[0]&&p(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&
114
- "rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,d=b.xAxis[0],e=Math.round(d.max-d.min),h=!d.hasVisibleSeries,m=b.scroller&&b.scroller.getUnionExtremes()||d,n=m.dataMin,p=m.dataMax,b=a.getYTDExtremes(p,n,b.time.useUTC),l=b.min,u=b.max,y=a.selected,q=c(y),t=a.options.allButtonsEnabled,r=a.buttons;x(a.buttonOptions,function(b,c){var f=b._range,g=b.type,k=b.count||
115
- 1,w=r[c],m=0;b=b._offsetMax-b._offsetMin;c=c===y;var v=f>p-n,L=f<d.minRange,x=!1,z=!1,f=f===e;("month"===g||"year"===g)&&e+36E5>=864E5*{month:28,year:365}[g]*k-b&&e-36E5<=864E5*{month:31,year:366}[g]*k+b?f=!0:"ytd"===g?(f=u-l+b===e,x=!c):"all"===g&&(f=d.max-d.min>=p-n,z=!c&&q&&f);g=!t&&(v||L||z||h);k=c&&f||f&&!q&&!x||c&&a.frozenStates;g?m=3:k&&(q=!0,m=2);w.state!==m&&w.setState(m)})},computeButtonRange:function(a){var c=a.type,f=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,
116
- week:6048E5};if(d[c])a._range=d[c]*f;else if("month"===c||"year"===c)a._range=864E5*{month:30,year:365}[c]*f;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,f=this.chart.time,d=this[a+"Input"];F(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=f.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:f.dateFormat(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},
117
- showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];C(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){C(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=u.value,b=(p.inputDateParser||Date.parse)(a),g=f.xAxis[0],k=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:g,h=k.dataMin,k=k.dataMax;b!==u.previousValue&&(u.previousValue=
118
- b,c(b)||(b=a.split("-"),b=Date.UTC(e(b[0]),e(b[1])-1,e(b[2]))),c(b)&&(f.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),l?b>d.maxInput.HCTime?b=void 0:b<h&&(b=h):b<d.minInput.HCTime?b=void 0:b>k&&(b=k),void 0!==b&&g.setExtremes(l?b:g.min,l?g.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var d=this,f=d.chart,h=f.renderer.style||{},n=f.renderer,p=f.options.rangeSelector,q=d.div,l="min"===a,u,y,r=this.inputGroup;this[a+"Label"]=y=n.label(z.lang[l?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(r);
119
- r.offset+=y.width+5;this[a+"DateBox"]=n=n.label("",r.offset).addClass("highcharts-range-input").attr({padding:2,width:p.inputBoxWidth||90,height:p.inputBoxHeight||17,"text-align":"center",stroke:p.inputBoxBorderColor||"#cccccc","stroke-width":1}).on("click",function(){d.showInput(a);d[a+"Input"].focus()}).add(r);r.offset+=n.width+(l?10:0);this[a+"Input"]=u=E("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},q);y.css(m(h,p.labelStyle));n.css(m({color:"#333333"},
120
- h,p.inputStyle));C(u,t({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},p.inputStyle));u.onfocus=function(){d.showInput(a)};u.onblur=function(){d.hideInput(a)};u.onchange=b;u.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-
121
- 10}},getYTDExtremes:function(a,b,c){var d=this.chart.time,f=new d.Date(a),g=d.get("FullYear",f);c=c?d.Date.UTC(g,0,1):+new d.Date(g,0,1);b=Math.max(b||0,c);f=f.getTime();return{max:Math.min(a||f,f),min:b}},render:function(a,c){var d=this,f=d.chart,e=f.renderer,g=f.container,h=f.options,m=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,l=z.lang,u=d.div,n=h.rangeSelector,p=b(h.chart.style&&h.chart.style.zIndex,0)+1,h=n.floating,q=d.buttons,u=d.inputGroup,r=n.buttonTheme,
122
- t=n.buttonPosition,A=n.inputPosition,B=n.inputEnabled,C=r&&r.states,D=f.plotLeft,F,N=d.buttonGroup,R;R=d.rendered;var S=d.options.verticalAlign,I=f.legend,U=I&&I.options,V=t.y,T=A.y,W=R||!1,X=W?"animate":"attr",Q=0,O=0,P;if(!1!==n.enabled){R||(d.group=R=e.g("range-selector-group").attr({zIndex:7}).add(),d.buttonGroup=N=e.g("range-selector-buttons").add(R),d.zoomText=e.text(l.rangeSelectorZoom,0,15).css(n.labelStyle).add(N),x(d.buttonOptions,function(a,b){q[b]=e.button(a.text,0,0,function(){var c=
123
- a.events&&a.events.click,f;c&&(f=c.call(a));!1!==f&&d.clickButton(b);d.isActive=!0},r,C&&C.hover,C&&C.select,C&&C.disabled).attr({"text-align":"center"}).add(N)}),!1!==B&&(d.div=u=E("div",null,{position:"relative",height:0,zIndex:p}),g.parentNode.insertBefore(u,g),d.inputGroup=u=e.g("input-group").add(R),u.offset=0,d.drawInput("min"),d.drawInput("max")));d.zoomText[X]({x:b(D+t.x,D)});F=b(D+t.x,D)+d.zoomText.getBBox().width+5;x(d.buttonOptions,function(a,c){q[c][X]({x:F});F+=q[c].width+b(n.buttonSpacing,
124
- 5)});D=f.plotLeft-f.spacing[3];d.updateButtonStates();m&&this.titleCollision(f)&&"top"===S&&"right"===t.align&&t.y+N.getBBox().height-12<(m.y||0)+m.height&&(Q=-40);"left"===t.align?P=t.x-f.spacing[3]:"right"===t.align&&(P=t.x+Q-f.spacing[1]);N.align({y:t.y,width:N.getBBox().width,align:t.align,x:P},!0,f.spacingBox);d.group.placed=W;d.buttonGroup.placed=W;!1!==B&&(Q=m&&this.titleCollision(f)&&"top"===S&&"right"===A.align&&A.y-u.getBBox().height-12<(m.y||0)+m.height+f.spacing[0]?-40:0,"left"===A.align?
125
- P=D:"right"===A.align&&(P=-Math.max(f.axisOffset[1],-Q)),u.align({y:A.y,width:u.getBBox().width,align:A.align,x:A.x+P-2},!0,f.spacingBox),g=u.alignAttr.translateX+u.alignOptions.x-Q+u.getBBox().x+2,m=u.alignOptions.width,l=N.alignAttr.translateX+N.getBBox().x,P=N.getBBox().width+20,(A.align===t.align||l+P>g&&g+m>l&&V<T+u.getBBox().height)&&u.attr({translateX:u.alignAttr.translateX+(f.axisOffset[1]>=-Q?0:-Q),translateY:u.alignAttr.translateY+N.getBBox().height+10}),d.setInputValue("min",a),d.setInputValue("max",
126
- c),d.inputGroup.placed=W);d.group.align({verticalAlign:S},!0,f.spacingBox);a=d.group.getBBox().height+20;c=d.group.alignAttr.translateY;"bottom"===S&&(I=U&&"bottom"===U.verticalAlign&&U.enabled&&!U.floating?I.legendHeight+b(U.margin,10):0,a=a+I-20,O=c-a-(h?0:n.y)-10);if("top"===S)h&&(O=0),f.titleOffset&&(O=f.titleOffset+f.options.title.margin),O+=f.margin[0]-f.spacing[0]||0;else if("middle"===S)if(T===V)O=0>T?c+void 0:c;else if(T||V)O=0>T||0>V?O-Math.min(T,V):c-a+NaN;d.group.translate(n.x,n.y+Math.floor(O));
127
- !1!==B&&(d.minInput.style.marginTop=d.group.translateY+"px",d.maxInput.style.marginTop=d.group.translateY+"px");d.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,a=a.inputPosition.y,b=b?b.getBBox(!0).height+13+c:0,c=Math.min(a,d);if(0>a&&0>d||0<a&&0<d)b+=Math.abs(c);return b},titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;m(!0,b.options.rangeSelector,a);this.destroy();this.init(b);
128
- b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();n(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&B(this[c]));a!==A.prototype[c]&&(b[c]=null)},this)}};D.prototype.toFixedRange=function(a,d,e,k){var f=this.chart&&this.chart.fixedRange;a=b(e,this.translate(a,!0,!this.horiz));d=b(k,this.translate(d,!0,!this.horiz));e=
129
- f&&(d-a)/f;.7<e&&1.3>e&&(k?a=d-f:d=a+f);c(a)&&c(d)||(a=d=void 0);return{min:a,max:d}};D.prototype.minFromRange=function(){var a=this.range,d={month:"Month",year:"FullYear"}[a.type],e,k=this.max,h,m,n=function(a,b){var c=new Date(a),f=c["get"+d]();c["set"+d](f+b);f===c["get"+d]()&&c.setDate(0);return c.getTime()-a};c(a)?(e=k-a,m=a):(e=k+n(k,-a.count),this.chart&&(this.chart.fixedRange=k-e));h=b(this.dataMin,Number.MIN_VALUE);c(e)||(e=h);e<=h&&(e=h,void 0===m&&(m=n(e,a.count)),this.newMax=Math.min(e+
130
- m,this.dataMax));c(k)||(e=void 0);return e};p(q,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new A(this))});h(q.prototype,"render",function(a,b,c){var d=this.axes,f=this.rangeSelector;f&&(x(d,function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),f.render(),d=f.options.verticalAlign,f.options.floating||("bottom"===d?this.extraBottomMargin=!0:"middle"!==d&&(this.extraTopMargin=!0)));a.call(this,b,c)});p(q,"update",function(a){var b=a.options.rangeSelector;
131
- a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!F(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new A(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=!0)});h(q.prototype,"redraw",function(a,b,c){var d=
132
- this.rangeSelector;d&&!d.options.floating&&(d.render(),d=d.options.verticalAlign,"bottom"===d?this.extraBottomMargin=!0:"middle"!==d&&(this.extraTopMargin=!0));a.call(this,b,c)});p(q,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))});q.prototype.callbacks.push(function(a){function b(){d=a.xAxis[0].getExtremes();c(d.min)&&f.render(d.min,d.max)}var d,f=a.rangeSelector,e,h;f&&(h=p(a.xAxis[0],"afterSetExtremes",
133
- function(a){f.render(a.min,a.max)}),e=p(a,"redraw",b),b());p(a,"destroy",function(){f&&(e(),h())})});a.RangeSelector=A})(I);(function(a){var A=a.addEvent,p=a.arrayMax,D=a.arrayMin,q=a.Axis,C=a.Chart,E=a.defined,z=a.each,F=a.extend,n=a.format,B=a.grep,x=a.inArray,t=a.isNumber,d=a.isString,c=a.map,m=a.merge,b=a.pick,e=a.Point,r=a.Renderer,h=a.Series,f=a.splat,g=a.SVGRenderer,w=a.VMLRenderer,k=a.wrap,v=h.prototype,H=v.init,I=v.processData,G=e.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(e,
134
- g,h){var l=d(e)||e.nodeName,k=arguments[l?1:0],u=k.series,n=a.getOptions(),p,y=b(k.navigator&&k.navigator.enabled,n.navigator.enabled,!0),q=y?{startOnTick:!1,endOnTick:!1}:null,t={marker:{enabled:!1,radius:2}},r={shadow:!1,borderWidth:0};k.xAxis=c(f(k.xAxis||{}),function(a,b){return m({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,n.xAxis&&n.xAxis[b],a,{type:"datetime",categories:null},q)});k.yAxis=c(f(k.yAxis||{}),function(a,
135
- c){p=b(a.opposite,!0);return m({labels:{y:-2},opposite:p,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},n.yAxis,n.yAxis&&n.yAxis[c],a)});k.series=null;k=m({chart:{panning:!0,pinchType:"x"},navigator:{enabled:y},scrollbar:{enabled:b(n.scrollbar.enabled,!0)},rangeSelector:{enabled:b(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:b(n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:t,spline:t,area:t,areaspline:t,arearange:t,areasplinerange:t,
136
- column:r,columnrange:r,candlestick:r,ohlc:r}},k,{isStock:!0});k.series=u;return l?new C(e,k,h):new C(k,g)};k(q.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.apply(this,[].slice.call(arguments,1))});A(q,"destroy",function(){var a=this.chart,b=this.options&&
137
- this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});k(q.prototype,"getPlotLinePath",function(f,e,g,h,k,m){var l=this,n=this.isLinked&&!this.series?this.linkedParent.series:this.series,u=l.chart,p=u.renderer,q=l.left,y=l.top,r,v,w,A,B=[],C=[],D,F;if("xAxis"!==l.coll&&"yAxis"!==l.coll)return f.apply(this,[].slice.call(arguments,1));C=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=l.options[b];return t(a)?[u[b][a]]:d(a)?[u.get(a)]:c(n,function(a){return a[b]})}(l.coll);
138
- z(l.isXAxis?u.yAxis:u.xAxis,function(a){if(E(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=E(a.options[b])?u[b][a.options[b]]:u[b][0];l===b&&C.push(a)}});D=C.length?[]:[l.isXAxis?u.yAxis[0]:u.xAxis[0]];z(C,function(b){-1!==x(b,D)||a.find(D,function(a){return a.pos===b.pos&&a.len===b.len})||D.push(b)});F=b(m,l.translate(e,null,null,h));t(F)&&(l.horiz?z(D,function(a){var b;v=a.pos;A=v+a.len;r=w=Math.round(F+l.transB);if(r<q||r>q+l.width)k?r=w=Math.min(Math.max(q,
139
- r),q+l.width):b=!0;b||B.push("M",r,v,"L",w,A)}):z(D,function(a){var b;r=a.pos;w=r+a.len;v=A=Math.round(y+l.height-F);if(v<y||v>y+l.height)k?v=A=Math.min(Math.max(y,v),l.top+l.height):b=!0;b||B.push("M",r,v,"L",w,A)}));return 0<B.length?p.crispPolyLine(B,g||1):null});g.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};r===w&&(w.prototype.crispPolyLine=g.prototype.crispPolyLine);
140
- k(q.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});A(q,"afterDrawCrosshair",function(a){var c,d;if(E(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var f=this.chart,e=this.options.crosshair.label,g=this.horiz;c=this.opposite;d=this.left;var l=this.top,h=this.crossLabel,k=e.format,m="",p="inside"===this.options.tickPosition,q=!1!==this.crosshair.snap,r=0,t=a.e||this.cross&&this.cross.e,v=a.point;a=this.lin2log;var w,
141
- x;this.isLog?(w=a(this.min),x=a(this.max)):(w=this.min,x=this.max);a=g?"center":c?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";h||(h=this.crossLabel=f.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:b(e.padding,8),r:b(e.borderRadius,3),zIndex:2}).add(this.labelGroup),h.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||
142
- "#666666",stroke:e.borderColor||"","stroke-width":e.borderWidth||0}).css(F({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));g?(a=q?v.plotX+d:t.chartX,l+=c?0:this.height):(a=c?this.width+d:0,l=q?v.plotY+l:t.chartY);k||e.formatter||(this.isDatetimeAxis&&(m="%b %d, %Y"),k="{value"+(m?":"+m:"")+"}");m=q?v[this.isXAxis?"x":"y"]:this.toValue(g?t.chartX:t.chartY);h.attr({text:k?n(k,{value:m},f.time):e.formatter.call(this,m),x:a,y:l,visibility:m<w||m>x?"hidden":"visible"});
143
- e=h.getBBox();if(g){if(p&&!c||!p&&c)l=h.y-e.height}else l=h.y-e.height/2;g?(c=d-e.x,d=d+this.width-e.x):(c="left"===this.labelAlign?d:0,d="right"===this.labelAlign?d+this.width:f.chartWidth);h.translateX<c&&(r=c-h.translateX);h.translateX+e.width>=d&&(r=-(h.translateX+e.width-d));h.attr({x:a+r,y:l,anchorX:g?a:this.opposite?0:f.chartWidth,anchorY:g?this.opposite?f.chartHeight:0:l+e.height/2})}});v.init=function(){H.apply(this,arguments);this.setCompare(this.options.compare)};v.setCompare=function(a){this.modifyValue=
144
- "value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};v.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart?0:1,f,g;I.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,f=d.length,this.pointArrayMap&&(b=x("close",this.pointArrayMap),
145
- -1===b&&(b=x(this.pointValKey||"y",this.pointArrayMap))),a=0;a<f-e;a++)if(g=d[a]&&-1<b?d[a][b]:d[a],t(g)&&c[a+e]>=this.xAxis.min&&0!==g){this.compareValue=g;break}};k(v,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=D(b),this.dataMax=p(b))});q.prototype.setCompare=function(a,c){this.isXAxis||(z(this.series,function(b){b.setCompare(a)}),b(c,!0)&&this.chart.redraw())};e.prototype.tooltipFormatter=
146
- function(c){c=c.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,b(this.series.tooltipOptions.changeDecimals,2)));return G.apply(this,[c])};k(h.prototype,"render",function(a){var b;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(b=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=m(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=
147
- b):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:b}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=b));a.call(this)});k(C.prototype,"getSelectedPoints",function(a){var b=a.call(this);z(this.series,function(a){a.hasGroupedData&&(b=b.concat(B(a.points||[],function(a){return a.selected})))});return b});A(C,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(m(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},
148
- !1),delete a.scrollbar)})})(I)});
9
+ (function(K){"object"===typeof module&&module.exports?module.exports=K:"function"===typeof define&&define.amd?define(function(){return K}):K(Highcharts)})(function(K){(function(a){var B=a.addEvent,q=a.Axis,D=a.Chart,p=a.css,G=a.defined,C=a.each,z=a.extend,A=a.noop,n=a.pick,y=a.timeUnits,x=a.wrap;x(a.Series.prototype,"init",function(a){var d;a.apply(this,Array.prototype.slice.call(arguments,1));(d=this.xAxis)&&d.options.ordinal&&B(this,"updatedData",function(){delete d.ordinalIndex})});x(q.prototype,
10
+ "getTimeTicks",function(a,d,c,k,b,f,r,m){var e=0,l,u,g={},v,J,F,H=[],h=-Number.MAX_VALUE,t=this.options.tickPixelInterval,w=this.chart.time;if(!this.options.ordinal&&!this.options.breaks||!f||3>f.length||void 0===c)return a.call(this,d,c,k,b);J=f.length;for(l=0;l<J;l++){F=l&&f[l-1]>k;f[l]<c&&(e=l);if(l===J-1||f[l+1]-f[l]>5*r||F){if(f[l]>h){for(u=a.call(this,d,f[e],f[l],b);u.length&&u[0]<=h;)u.shift();u.length&&(h=u[u.length-1]);H=H.concat(u)}e=l+1}if(F)break}a=u.info;if(m&&a.unitRange<=y.hour){l=
11
+ H.length-1;for(e=1;e<l;e++)w.dateFormat("%d",H[e])!==w.dateFormat("%d",H[e-1])&&(g[H[e]]="day",v=!0);v&&(g[H[0]]="day");a.higherRanks=g}H.info=a;if(m&&G(t)){m=w=H.length;l=[];var M;for(v=[];m--;)e=this.translate(H[m]),M&&(v[m]=M-e),l[m]=M=e;v.sort();v=v[Math.floor(v.length/2)];v<.6*t&&(v=null);m=H[w-1]>k?w-1:w;for(M=void 0;m--;)e=l[m],k=Math.abs(M-e),M&&k<.8*t&&(null===v||k<.8*v)?(g[H[m]]&&!g[H[m+1]]?(k=m+1,M=e):k=m,H.splice(k,1)):M=e}return H});z(q.prototype,{beforeSetTickPositions:function(){var a,
12
+ d=[],c,k=!1,b,f=this.getExtremes(),r=f.min,m=f.max,e,l=this.isXAxis&&!!this.options.breaks,f=this.options.ordinal,u=Number.MAX_VALUE,g=this.chart.options.chart.ignoreHiddenSeries;b="highcharts-navigator-xaxis"===this.options.className;var v;!this.options.overscroll||this.max!==this.dataMax||this.chart.mouseIsDown&&!b||this.eventArgs&&(!this.eventArgs||"navigator"===this.eventArgs.trigger)||(this.max+=this.options.overscroll,!b&&G(this.userMin)&&(this.min+=this.options.overscroll));if(f||l){C(this.series,
13
+ function(b,e){c=[];if(!(g&&!1===b.visible||!1===b.takeOrdinalPosition&&!l)&&(d=d.concat(b.processedXData),a=d.length,d.sort(function(b,h){return b-h}),u=Math.min(u,n(b.closestPointRange,u)),a)){for(e=0;e<a-1;)d[e]!==d[e+1]&&c.push(d[e+1]),e++;c[0]!==d[0]&&c.unshift(d[0]);d=c}b.isSeriesBoosting&&(v=!0)});v&&(d.length=0);a=d.length;if(2<a){b=d[1]-d[0];for(e=a-1;e--&&!k;)d[e+1]-d[e]!==b&&(k=!0);!this.options.keepOrdinalPadding&&(d[0]-r>b||m-d[d.length-1]>b)&&(k=!0)}else this.options.overscroll&&(2===
14
+ a?u=d[1]-d[0]:1===a?(u=this.options.overscroll,d=[d[0],d[0]+u]):u=this.overscrollPointsRange);k?(this.options.overscroll&&(this.overscrollPointsRange=u,d=d.concat(this.getOverscrollPositions())),this.ordinalPositions=d,b=this.ordinal2lin(Math.max(r,d[0]),!0),e=Math.max(this.ordinal2lin(Math.min(m,d[d.length-1]),!0),1),this.ordinalSlope=m=(m-r)/(e-b),this.ordinalOffset=r-b*m):(this.overscrollPointsRange=n(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=
15
+ void 0)}this.isOrdinal=f&&k;this.groupIntervalFactor=null},val2lin:function(a,d){var c=this.ordinalPositions;if(c){var k=c.length,b,f;for(b=k;b--;)if(c[b]===a){f=b;break}for(b=k-1;b--;)if(a>c[b]||0===b){a=(a-c[b])/(c[b+1]-c[b]);f=b+a;break}d=d?f:this.ordinalSlope*(f||0)+this.ordinalOffset}else d=a;return d},lin2val:function(a,d){var c=this.ordinalPositions;if(c){var k=this.ordinalSlope,b=this.ordinalOffset,f=c.length-1,r;if(d)0>a?a=c[0]:a>f?a=c[f]:(f=Math.floor(a),r=a-f);else for(;f--;)if(d=k*f+b,
16
+ a>=d){k=k*(f+1)+b;r=(a-d)/(k-d);break}return void 0!==r&&void 0!==c[f]?c[f]+(r?r*(c[f+1]-c[f]):0):a}return a},getExtendedPositions:function(){var a=this,d=a.chart,c=a.series[0].currentDataGrouping,k=a.ordinalIndex,b=c?c.count+c.unitName:"raw",f=a.options.overscroll,r=a.getExtremes(),m,e;k||(k=a.ordinalIndex={});k[b]||(m={series:[],chart:d,getExtremes:function(){return{min:r.dataMin,max:r.dataMax+f}},options:{ordinal:!0},val2lin:q.prototype.val2lin,ordinal2lin:q.prototype.ordinal2lin},C(a.series,function(b){e=
17
+ {xAxis:m,xData:b.xData.slice(),chart:d,destroyGroupedData:A};e.xData=e.xData.concat(a.getOverscrollPositions());e.options={dataGrouping:c?{enabled:!0,forced:!0,approximation:"open",units:[[c.unitName,[c.count]]]}:{enabled:!1}};b.processData.apply(e);m.series.push(e)}),a.beforeSetTickPositions.apply(m),k[b]=m.ordinalPositions);return k[b]},getOverscrollPositions:function(){var F=this.options.overscroll,d=this.overscrollPointsRange,c=[],k=this.dataMax;if(a.defined(d))for(c.push(k);k<=this.dataMax+F;)k+=
18
+ d,c.push(k);return c},getGroupIntervalFactor:function(a,d,c){var k;c=c.processedXData;var b=c.length,f=[];k=this.groupIntervalFactor;if(!k){for(k=0;k<b-1;k++)f[k]=c[k+1]-c[k];f.sort(function(b,a){return b-a});f=f[Math.floor(b/2)];a=Math.max(a,c[0]);d=Math.min(d,c[b-1]);this.groupIntervalFactor=k=b*f/(d-a)}return k},postProcessTickInterval:function(a){var d=this.ordinalSlope;return d?this.options.breaks?this.closestPointRange||a:a/(d/this.closestPointRange):a}});q.prototype.ordinal2lin=q.prototype.val2lin;
19
+ x(D.prototype,"pan",function(a,d){var c=this.xAxis[0],k=c.options.overscroll,b=d.chartX,f=!1;if(c.options.ordinal&&c.series.length){var r=this.mouseDownX,m=c.getExtremes(),e=m.dataMax,l=m.min,u=m.max,g=this.hoverPoints,v=c.closestPointRange||c.overscrollPointsRange,r=(r-b)/(c.translationSlope*(c.ordinalSlope||v)),J={ordinalPositions:c.getExtendedPositions()},v=c.lin2val,O=c.val2lin,H;J.ordinalPositions?1<Math.abs(r)&&(g&&C(g,function(b){b.setState()}),0>r?(g=J,H=c.ordinalPositions?c:J):(g=c.ordinalPositions?
20
+ c:J,H=J),J=H.ordinalPositions,e>J[J.length-1]&&J.push(e),this.fixedRange=u-l,r=c.toFixedRange(null,null,v.apply(g,[O.apply(g,[l,!0])+r,!0]),v.apply(H,[O.apply(H,[u,!0])+r,!0])),r.min>=Math.min(m.dataMin,l)&&r.max<=Math.max(e,u)+k&&c.setExtremes(r.min,r.max,!0,!1,{trigger:"pan"}),this.mouseDownX=b,p(this.container,{cursor:"move"})):f=!0}else f=!0;f&&(k&&(c.max=c.dataMax+k),a.apply(this,Array.prototype.slice.call(arguments,1)))})})(K);(function(a){function B(){return Array.prototype.slice.call(arguments,
21
+ 1)}function q(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,p(this.pointArrayMap,["y"]))}var D=a.addEvent,p=a.pick,G=a.wrap,C=a.each,z=a.extend,A=a.isArray,n=a.fireEvent,y=a.Axis,x=a.Series;z(y.prototype,{isInBreak:function(a,d){var c=a.repeat||Infinity,k=a.from,b=a.to-a.from;d=d>=k?(d-k)%c:c-(k-d)%c;return a.inclusive?d<=b:d<b&&0!==d},isInAnyBreak:function(a,d){var c=this.options.breaks,k=c&&c.length,b,f,r;if(k){for(;k--;)this.isInBreak(c[k],a)&&(b=!0,f||(f=p(c[k].showPoints,
22
+ this.isXAxis?!1:!0)));r=b&&d?b&&!f:b}return r}});D(y,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});D(y,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,d=this.tickPositions.info,c=[],k;for(k=0;k<a.length;k++)this.isInAnyBreak(a[k])||c.push(a[k]);this.tickPositions=c;this.tickPositions.info=d}});D(y,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});y.prototype.setBreaks=function(a,d){function c(a){var f=
23
+ a,e,l;for(l=0;l<b.breakArray.length;l++)if(e=b.breakArray[l],e.to<=a)f-=e.len;else if(e.from>=a)break;else if(b.isInBreak(e,a)){f-=a-e.from;break}return f}function k(a){var f,e;for(e=0;e<b.breakArray.length&&!(f=b.breakArray[e],f.from>=a);e++)f.to<a?a+=f.len:b.isInBreak(f,a)&&(a+=f.len);return a}var b=this,f=A(a)&&!!a.length;b.isDirty=b.isBroken!==f;b.isBroken=f;b.options.breaks=b.userOptions.breaks=a;b.forceRedraw=!0;f||b.val2lin!==c||(delete b.val2lin,delete b.lin2val);f&&(b.userOptions.ordinal=
24
+ !1,b.val2lin=c,b.lin2val=k,b.setExtremes=function(b,a,e,f,u){if(this.isBroken){for(;this.isInAnyBreak(b);)b-=this.closestPointRange;for(;this.isInAnyBreak(a);)a-=this.closestPointRange}y.prototype.setExtremes.call(this,b,a,e,f,u)},b.setAxisTranslation=function(a){y.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=b.options.breaks;var f=[],e=[],l=0,u,g,v=b.userMin||b.min,c=b.userMax||b.max,d=p(b.pointRangePadding,0),r,h;C(a,function(h){g=h.repeat||Infinity;b.isInBreak(h,
25
+ v)&&(v+=h.to%g-v%g);b.isInBreak(h,c)&&(c-=c%g-h.from%g)});C(a,function(b){r=b.from;for(g=b.repeat||Infinity;r-g>v;)r-=g;for(;r<v;)r+=g;for(h=r;h<c;h+=g)f.push({value:h,move:"in"}),f.push({value:h+(b.to-b.from),move:"out",size:b.breakSize})});f.sort(function(b,h){return b.value===h.value?("in"===b.move?0:1)-("in"===h.move?0:1):b.value-h.value});u=0;r=v;C(f,function(b){u+="in"===b.move?1:-1;1===u&&"in"===b.move&&(r=b.value);0===u&&(e.push({from:r,to:b.value,len:b.value-r-(b.size||0)}),l+=b.value-r-
26
+ (b.size||0))});b.breakArray=e;b.unitLength=c-v-l+d;n(b,"afterBreaks");b.staticScale?b.transA=b.staticScale:b.unitLength&&(b.transA*=(c-b.min+d)/b.unitLength);d&&(b.minPixelPadding=b.transA*b.minPointOffset);b.min=v;b.max=c}});p(d,!0)&&this.chart.redraw()};G(x.prototype,"generatePoints",function(a){a.apply(this,B(arguments));var d=this.xAxis,c=this.yAxis,k=this.points,b,f=k.length,r=this.options.connectNulls,m;if(d&&c&&(d.options.breaks||c.options.breaks))for(;f--;)b=k[f],m=null===b.y&&!1===r,m||!d.isInAnyBreak(b.x,
27
+ !0)&&!c.isInAnyBreak(b.y,!0)||(k.splice(f,1),this.data[f]&&this.data[f].destroyElements())});a.Series.prototype.drawBreaks=function(a,d){var c=this,k=c.points,b,f,r,m;a&&C(d,function(e){b=a.breakArray||[];f=a.isXAxis?a.min:p(c.options.threshold,a.min);C(k,function(l){m=p(l["stack"+e.toUpperCase()],l[e]);C(b,function(b){r=!1;if(f<b.from&&m>b.to||f>b.from&&m<b.from)r="pointBreak";else if(f<b.from&&m>b.from&&m<b.to||f>b.from&&m>b.to&&m<b.from)r="pointInBreak";r&&n(a,r,{point:l,brk:b})})})})};a.Series.prototype.gappedPath=
28
+ function(){var n=this.currentDataGrouping,d=n&&n.totalRange,n=this.options.gapSize,c=this.points.slice(),k=c.length-1,b=this.yAxis;if(n&&0<k)for("value"!==this.options.gapUnit&&(n*=this.closestPointRange),d&&d>n&&(n=d);k--;)c[k+1].x-c[k].x>n&&(d=(c[k].x+c[k+1].x)/2,c.splice(k+1,0,{isNull:!0,x:d}),this.options.stacking&&(d=b.stacks[this.stackKey][d]=new a.StackItem(b,b.options.stackLabels,!1,d,this.stack),d.total=0));return this.getGraphPath(c)};G(a.seriesTypes.column.prototype,"drawPoints",q);G(a.Series.prototype,
29
+ "drawPoints",q)})(K);(function(a){var B=a.addEvent,q=a.arrayMax,D=a.arrayMin,p=a.Axis,G=a.defaultPlotOptions,C=a.defined,z=a.each,A=a.extend,n=a.format,y=a.isNumber,x=a.merge,F=a.pick,d=a.Point,c=a.Series,k=a.Tooltip,b=a.wrap,f=c.prototype,r=f.processData,m=f.generatePoints,e={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M",
30
+ "%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},l={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",
31
+ groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},u=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],g=a.approximations={sum:function(b){var a=b.length,e;if(!a&&b.hasNulls)e=null;else if(a)for(e=0;a--;)e+=b[a];return e},average:function(b){var a=b.length;b=g.sum(b);y(b)&&a&&(b/=a);return b},averages:function(){var b=
32
+ [];z(arguments,function(a){b.push(g.average(a))});return void 0===b[0]?void 0:b},open:function(b){return b.length?b[0]:b.hasNulls?null:void 0},high:function(b){return b.length?q(b):b.hasNulls?null:void 0},low:function(b){return b.length?D(b):b.hasNulls?null:void 0},close:function(b){return b.length?b[b.length-1]:b.hasNulls?null:void 0},ohlc:function(b,a,e,f){b=g.open(b);a=g.high(a);e=g.low(e);f=g.close(f);if(y(b)||y(a)||y(e)||y(f))return[b,a,e,f]},range:function(b,a){b=g.low(b);a=g.high(a);if(y(b)||
33
+ y(a))return[b,a];if(null===b&&null===a)return null}};f.groupData=function(b,a,f,c){var h=this,t=h.data,w=h.options.data,v=[],I=[],u=[],d=b.length,E,r,m=!!a,k=[];c="function"===typeof c?c:g[c]||l[h.type]&&g[l[h.type].approximation]||g[e.approximation];var J=h.pointArrayMap,n=J&&J.length,O=["x"].concat(J||["y"]),H=0,q=0,G,p;n?z(J,function(){k.push([])}):k.push([]);G=n||1;for(p=0;p<=d&&!(b[p]>=f[0]);p++);for(p;p<=d;p++){for(;void 0!==f[H+1]&&b[p]>=f[H+1]||p===d;){E=f[H];h.dataGroupInfo={start:q,length:k[0].length};
34
+ r=c.apply(h,k);C(h.dataGroupInfo.options)||(h.dataGroupInfo.options=x(h.pointClass.prototype.optionsToObject.call({series:h},h.options.data[q])),z(O,function(b){delete h.dataGroupInfo.options[b]}));void 0!==r&&(v.push(E),I.push(r),u.push(h.dataGroupInfo));q=p;for(E=0;E<G;E++)k[E].length=0,k[E].hasNulls=!1;H+=1;if(p===d)break}if(p===d)break;if(J){E=h.cropStart+p;r=t&&t[E]||h.pointClass.prototype.applyOptions.apply({series:h},[w[E]]);var A;for(E=0;E<n;E++)A=r[J[E]],y(A)?k[E].push(A):null===A&&(k[E].hasNulls=
35
+ !0)}else E=m?a[p]:null,y(E)?k[0].push(E):null===E&&(k[0].hasNulls=!0)}return[v,I,u]};f.processData=function(){var b=this.chart,a=this.options.dataGrouping,e=!1!==this.allowDG&&a&&F(a.enabled,b.options.isStock),g=this.visible||!b.options.chart.ignoreHiddenSeries,h,t=this.currentDataGrouping,w;this.forceCrop=e;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==r.apply(this,arguments)&&e){this.destroyGroupedData();var l,I=a.groupAll?this.xData:this.processedXData,c=a.groupAll?this.yData:this.processedYData,
36
+ d=b.plotSizeX,b=this.xAxis,E=b.options.ordinal,m=this.groupPixelWidth=b.getGroupPixelWidth&&b.getGroupPixelWidth();if(m){this.isDirty=h=!0;this.points=null;e=b.getExtremes();w=e.min;e=e.max;E=E&&b.getGroupIntervalFactor(w,e,this)||1;m=m*(e-w)/d*E;d=b.getTimeTicks(b.normalizeTimeTickInterval(m,a.units||u),Math.min(w,I[0]),Math.max(e,I[I.length-1]),b.options.startOfWeek,I,this.closestPointRange);c=f.groupData.apply(this,[I,c,d,a.approximation]);I=c[0];E=c[1];if(a.smoothed&&I.length){l=I.length-1;for(I[l]=
37
+ Math.min(I[l],e);l--&&0<l;)I[l]+=m/2;I[0]=Math.max(I[0],w)}w=d.info;this.closestPointRange=d.info.totalRange;this.groupMap=c[2];if(C(I[0])&&I[0]<b.dataMin&&g){if(!C(b.options.min)&&b.min<=b.dataMin||b.min===b.dataMin)b.min=I[0];b.dataMin=I[0]}a.groupAll&&(a=this.cropData(I,E,b.min,b.max,1),I=a.xData,E=a.yData);this.processedXData=I;this.processedYData=E}else this.groupMap=null;this.hasGroupedData=h;this.currentDataGrouping=w;this.preventGraphAnimation=(t&&t.totalRange)!==(w&&w.totalRange)}};f.destroyGroupedData=
38
+ function(){var b=this.groupedData;z(b||[],function(a,e){a&&(b[e]=a.destroy?a.destroy():null)});this.groupedData=null};f.generatePoints=function(){m.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};B(d,"update",function(){if(this.dataGroup)return a.error(24),!1});b(k.prototype,"tooltipFooterHeaderFormatter",function(b,a,e){var f=this.chart.time,h=a.series,t=h.tooltipOptions,w=h.options.dataGrouping,g=t.xDateFormat,l,c=h.xAxis;return c&&"datetime"===c.options.type&&
39
+ w&&y(a.key)?(b=h.currentDataGrouping,w=w.dateTimeLabelFormats,b?(c=w[b.unitName],1===b.count?g=c[0]:(g=c[1],l=c[2])):!g&&w&&(g=this.getXDateFormat(a,t,c)),g=f.dateFormat(g,a.key),l&&(g+=f.dateFormat(l,a.key+b.totalRange-1)),n(t[(e?"footer":"header")+"Format"],{point:A(a.point,{key:g}),series:h},f)):b.call(this,a,e)});B(c,"destroy",f.destroyGroupedData);B(c,"afterSetOptions",function(b){b=b.options;var a=this.type,f=this.chart.options.plotOptions,g=G[a].dataGrouping,h=this.useCommonDataGrouping&&e;
40
+ if(l[a]||h)g||(g=x(e,l[a])),b.dataGrouping=x(h,g,f.series&&f.series.dataGrouping,f[a].dataGrouping,this.userOptions.dataGrouping);this.chart.options.isStock&&(this.requireSorting=!0)});B(p,"afterSetScale",function(){z(this.series,function(b){b.hasProcessed=!1})});p.prototype.getGroupPixelWidth=function(){var b=this.series,a=b.length,e,f=0,h=!1,t;for(e=a;e--;)(t=b[e].options.dataGrouping)&&(f=Math.max(f,t.groupPixelWidth));for(e=a;e--;)(t=b[e].options.dataGrouping)&&b[e].hasProcessed&&(a=(b[e].processedXData||
41
+ b[e].data).length,b[e].groupPixelWidth||a>this.chart.plotSizeX/f||a&&t.forced)&&(h=!0);return h?f:0};p.prototype.setDataGrouping=function(b,a){var e;a=F(a,!0);b||(b={forced:!1,units:null});if(this instanceof p)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:b},!1);else z(this.chart.options.series,function(a){a.dataGrouping=b},!1);this.ordinalSlope=null;a&&this.chart.redraw()}})(K);(function(a){var B=a.each,q=a.Point,D=a.seriesType,p=a.seriesTypes;D("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},
42
+ threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){p.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,q){q=p.column.prototype.pointAttribs.call(this,a,q);var z=this.options;delete q.fill;!a.options.color&&z.upColor&&a.open<a.close&&
43
+ (q.stroke=z.upColor);return q},translate:function(){var a=this,q=a.yAxis,z=!!a.modifyValue,A=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];p.column.prototype.translate.apply(a);B(a.points,function(n){B([n.open,n.high,n.low,n.close,n.low],function(p,x){null!==p&&(z&&(p=a.modifyValue(p)),n[A[x]]=q.toPixels(p,!0))});n.tooltipPos[1]=n.plotHigh+q.pos-a.chart.plotTop})},drawPoints:function(){var a=this,q=a.chart;B(a.points,function(p){var A,n,y,x,C=p.graphic,d,c=!C;void 0!==p.plotY&&(C||(p.graphic=
44
+ C=q.renderer.path().add(a.group)),C.attr(a.pointAttribs(p,p.selected&&"select")),n=C.strokeWidth()%2/2,d=Math.round(p.plotX)-n,y=Math.round(p.shapeArgs.width/2),x=["M",d,Math.round(p.yBottom),"L",d,Math.round(p.plotHigh)],null!==p.open&&(A=Math.round(p.plotOpen)+n,x.push("M",d,A,"L",d-y,A)),null!==p.close&&(A=Math.round(p.plotClose)+n,x.push("M",d,A,"L",d+y,A)),C[c?"attr":"animate"]({d:x}).addClass(p.getClassName(),!0))})},animate:null},{getClassName:function(){return q.prototype.getClassName.call(this)+
45
+ (this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(K);(function(a){var B=a.defaultPlotOptions,q=a.each,D=a.merge,p=a.seriesType,G=a.seriesTypes;p("candlestick","ohlc",D(B.column,{states:{hover:{lineWidth:2}},tooltip:B.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,p){var q=G.column.prototype.pointAttribs.call(this,a,p),n=this.options,y=a.open<a.close,x=n.lineColor||this.color;q["stroke-width"]=n.lineWidth;
46
+ q.fill=a.options.color||(y?n.upColor||this.color:this.color);q.stroke=a.lineColor||(y?n.upLineColor||x:x);p&&(a=n.states[p],q.fill=a.color||q.fill,q.stroke=a.lineColor||q.stroke,q["stroke-width"]=a.lineWidth||q["stroke-width"]);return q},drawPoints:function(){var a=this,p=a.chart,A=a.yAxis.reversed;q(a.points,function(n){var q=n.graphic,x,z,d,c,k,b,f,r=!q;void 0!==n.plotY&&(q||(n.graphic=q=p.renderer.path().add(a.group)),q.attr(a.pointAttribs(n,n.selected&&"select")).shadow(a.options.shadow),k=q.strokeWidth()%
47
+ 2/2,b=Math.round(n.plotX)-k,x=n.plotOpen,z=n.plotClose,d=Math.min(x,z),x=Math.max(x,z),f=Math.round(n.shapeArgs.width/2),z=A?x!==n.yBottom:Math.round(d)!==Math.round(n.plotHigh),c=A?Math.round(d)!==Math.round(n.plotHigh):x!==n.yBottom,d=Math.round(d)+k,x=Math.round(x)+k,k=[],k.push("M",b-f,x,"L",b-f,d,"L",b+f,d,"L",b+f,x,"Z","M",b,d,"L",b,z?Math.round(A?n.yBottom:n.plotHigh):d,"M",b,x,"L",b,c?Math.round(A?n.plotHigh:n.yBottom):x),q[r?"attr":"animate"]({d:k}).addClass(n.getClassName(),!0))})}})})(K);
48
+ var X=function(a){var B=a.each,q=a.defined,D=a.seriesTypes,p=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){D.column.prototype.translate.apply(this);var a=this.options,C=this.chart,z=this.points,A=z.length-1,n,y,x=a.onSeries,x=x&&C.get(x),a=a.onKey||"y",F=x&&x.options.step,d=x&&x.points,c=d&&d.length,k=C.inverted,b=this.xAxis,f=this.yAxis,r=0,m,e,l,u;if(x&&x.visible&&c)for(r=
49
+ (x.pointXOffset||0)+(x.barW||0)/2,n=x.currentDataGrouping,e=d[c-1].x+(n?n.totalRange:0),p(z,function(b,a){return b.x-a.x}),a="plot"+a[0].toUpperCase()+a.substr(1);c--&&z[A]&&!(m=d[c],n=z[A],n.y=m.y,m.x<=n.x&&void 0!==m[a]&&(n.x<=e&&(n.plotY=m[a],m.x<n.x&&!F&&(l=d[c+1])&&void 0!==l[a]&&(u=(n.x-m.x)/(l.x-m.x),n.plotY+=u*(l[a]-m[a]),n.y+=u*(l.y-m.y))),A--,c++,0>A)););B(z,function(a,e){var g;a.plotX+=r;if(void 0===a.plotY||k)0<=a.plotX&&a.plotX<=b.len?k?(a.plotY=b.translate(a.x,0,1,0,1),a.plotX=q(a.y)?
50
+ f.translate(a.y,0,0,0,1):0):a.plotY=C.chartHeight-b.bottom-(b.opposite?b.height:0)+b.offset-f.top:a.shapeArgs={};(y=z[e-1])&&y.plotX===a.plotX&&(void 0===y.stackIndex&&(y.stackIndex=0),g=y.stackIndex+1);a.stackIndex=g});this.onSeries=x}}}(K);(function(a,B){function q(a){F[a+"pin"]=function(c,d,b,f,r){var m=r&&r.anchorX;r=r&&r.anchorY;"circle"===a&&f>b&&(c-=Math.round((f-b)/2),b=f);c=F[a](c,d,b,f);m&&r&&(c.push("M","circle"===a?c[1]-c[4]:c[1]+c[4]/2,d>r?d:d+f,"L",m,r),c=c.concat(F.circle(m-1,r-1,2,
51
+ 2)));return c}}var D=a.addEvent,p=a.each,G=a.merge,C=a.noop,z=a.Renderer,A=a.Series,n=a.seriesType,y=a.TrackerMixin,x=a.VMLRenderer,F=a.SVGRenderer.prototype.symbols;n("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,
52
+ takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:A.prototype.init,pointAttribs:function(a,c){var d=this.options,b=a&&a.color||this.color,f=d.lineColor,r=a&&a.lineWidth;a=a&&a.fillColor||d.fillColor;c&&(a=d.states[c].fillColor,f=d.states[c].lineColor,r=d.states[c].lineWidth);return{fill:a||b,stroke:f||b,"stroke-width":r||d.lineWidth||0}},translate:B.translate,getPlotBox:B.getPlotBox,drawPoints:function(){var d=this.points,c=this.chart,k=c.renderer,b,f,r=c.inverted,m=this.options,
53
+ e=m.y,l,u,g,v,n,q,H=this.yAxis,h={},t=[];for(u=d.length;u--;)g=d[u],q=(r?g.plotY:g.plotX)>this.xAxis.len,b=g.plotX,v=g.stackIndex,l=g.options.shape||m.shape,f=g.plotY,void 0!==f&&(f=g.plotY+e-(void 0!==v&&v*m.stackDistance)),g.anchorX=v?void 0:g.plotX,n=v?void 0:g.plotY,v=g.graphic,void 0!==f&&0<=b&&!q?(v||(v=g.graphic=k.label("",null,null,l,null,null,m.useHTML).attr(this.pointAttribs(g)).css(G(m.style,g.style)).attr({align:"flag"===l?"left":"center",width:m.width,height:m.height,"text-align":m.textAlign}).addClass("highcharts-point").add(this.markerGroup),
54
+ g.graphic.div&&(g.graphic.div.point=g),v.shadow(m.shadow),v.isNew=!0),0<b&&(b-=v.strokeWidth()%2),l={y:f,anchorY:n},m.allowOverlapX&&(l.x=b,l.anchorX=g.anchorX),v.attr({text:g.options.title||m.title||"A"})[v.isNew?"attr":"animate"](l),m.allowOverlapX||(h[g.plotX]?h[g.plotX].size=Math.max(h[g.plotX].size,v.width):h[g.plotX]={align:0,size:v.width,target:b,anchorX:b}),g.tooltipPos=[b,f+H.pos-c.plotTop]):v&&(g.graphic=v.destroy());m.allowOverlapX||(a.objectEach(h,function(b){b.plotX=b.anchorX;t.push(b)}),
55
+ a.distribute(t,r?H.len:this.xAxis.len,100),p(d,function(b){var a=b.graphic&&h[b.plotX];a&&(b.graphic[b.graphic.isNew?"attr":"animate"]({x:a.pos,anchorX:b.anchorX}),a.pos?b.graphic.isNew=!1:(b.graphic.attr({x:-9999,anchorX:-9999}),b.graphic.isNew=!0))}));m.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;y.drawTrackerPoint.apply(this);p(a,function(c){var d=
56
+ c.graphic;d&&D(d.element,"mouseover",function(){0<c.stackIndex&&!c.raised&&(c._y=d.y,d.attr({y:c._y-8}),c.raised=!0);p(a,function(b){b!==c&&b.raised&&b.graphic&&(b.graphic.attr({y:b._y}),b.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){A.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:C,invertGroups:C});F.flag=function(a,c,k,b,f){var d=f&&f.anchorX||
57
+ a;f=f&&f.anchorY||c;return F.circle(d-1,f-1,2,2).concat(["M",d,f,"L",a,c+b,a,c,a+k,c,a+k,c+b,a,c+b,"Z"])};q("circle");q("square");z===x&&p(["flag","circlepin","squarepin"],function(a){x.prototype.symbols[a]=F[a]})})(K,X);(function(a){function B(b,a,c){this.init(b,a,c)}var q=a.addEvent,D=a.Axis,p=a.correctFloat,G=a.defaultOptions,C=a.defined,z=a.destroyObjectProperties,A=a.each,n=a.fireEvent,y=a.hasTouch,x=a.merge,F=a.pick,d=a.removeEvent,c,k={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,
58
+ liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};G.scrollbar=x(!0,k,G.scrollbar);a.swapXY=c=function(b,a){var f=b.length,c;if(a)for(a=0;a<f;a+=3)c=b[a+1],b[a+1]=b[a+2],b[a+2]=c;return b};B.prototype={init:function(b,a,
59
+ c){this.scrollbarButtons=[];this.renderer=b;this.userOptions=a;this.options=x(k,a);this.chart=c;this.size=F(this.options.size,this.options.height);a.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var b=this.renderer,a=this.options,d=this.size,m;this.group=m=b.g("scrollbar").attr({zIndex:a.zIndex,translateY:-99999}).add();this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:a.trackBorderRadius||0,height:d,width:d}).add(m);this.track.attr({fill:a.trackBackgroundColor,
60
+ stroke:a.trackBorderColor,"stroke-width":a.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=b.g().add(m);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:a.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(c(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],a.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);
61
+ this.scrollbar.attr({fill:a.barBackgroundColor,stroke:a.barBorderColor,"stroke-width":a.barBorderWidth});this.scrollbarRifles.attr({stroke:a.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(b,a,c,d){var e=this.options.vertical,f=0,u=this.rendered?"animate":"attr";this.x=b;this.y=a+this.trackBorderWidth;
62
+ this.width=c;this.xOffset=this.height=d;this.yOffset=f;e?(this.width=this.yOffset=c=f=this.size,this.xOffset=a=0,this.barWidth=d-2*c,this.x=b+=this.options.margin):(this.height=this.xOffset=d=a=this.size,this.barWidth=c-2*d,this.y+=this.options.margin);this.group[u]({translateX:b,translateY:this.y});this.track[u]({width:c,height:d});this.scrollbarButtons[1][u]({translateX:e?0:c-a,translateY:e?d-f:0})},drawScrollbarButton:function(b){var a=this.renderer,d=this.scrollbarButtons,m=this.options,e=this.size,
63
+ l;l=a.g().add(this.group);d.push(l);l=a.rect().addClass("highcharts-scrollbar-button").add(l);l.attr({stroke:m.buttonBorderColor,"stroke-width":m.buttonBorderWidth,fill:m.buttonBackgroundColor});l.attr(l.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:m.buttonBorderRadius},l.strokeWidth()));l=a.path(c(["M",e/2+(b?-1:1),e/2-3,"L",e/2+(b?-1:1),e/2+3,"L",e/2+(b?2:-2),e/2],m.vertical)).addClass("highcharts-scrollbar-arrow").add(d[b]);l.attr({fill:m.buttonArrowColor})},setRange:function(b,a){var f=this.options,
64
+ c=f.vertical,e=f.minWidth,l=this.barWidth,d,g,v=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";C(l)&&(b=Math.max(b,0),d=Math.ceil(l*b),this.calculatedWidth=g=p(l*Math.min(a,1)-d),g<e&&(d=(l-e+g)*b,g=e),e=Math.floor(d+this.xOffset+this.yOffset),l=g/2-.5,this.from=b,this.to=a,c?(this.scrollbarGroup[v]({translateY:e}),this.scrollbar[v]({height:g}),this.scrollbarRifles[v]({translateY:l}),this.scrollbarTop=e,this.scrollbarLeft=0):(this.scrollbarGroup[v]({translateX:e}),
65
+ this.scrollbar[v]({width:g}),this.scrollbarRifles[v]({translateX:l}),this.scrollbarLeft=e,this.scrollbarTop=0),12>=g?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===f.showFull&&(0>=b&&1<=a?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var b=this;b.mouseMoveHandler=function(a){var f=b.chart.pointer.normalize(a),c=b.options.vertical?"chartY":"chartX",e=b.initPositions;!b.grabbedCenter||a.touches&&0===a.touches[0][c]||(f=b.cursorToScrollbarPosition(f)[c],
66
+ c=b[c],c=f-c,b.hasDragged=!0,b.updatePosition(e[0]+c,e[1]+c),b.hasDragged&&n(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};b.mouseUpHandler=function(a){b.hasDragged&&n(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});b.grabbedCenter=b.hasDragged=b.chartX=b.chartY=null};b.mouseDownHandler=function(a){a=b.chart.pointer.normalize(a);a=b.cursorToScrollbarPosition(a);b.chartX=a.chartX;b.chartY=a.chartY;b.initPositions=[b.from,b.to];b.grabbedCenter=
67
+ !0};b.buttonToMinClick=function(a){var c=p(b.to-b.from)*b.options.step;b.updatePosition(p(b.from-c),p(b.to-c));n(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:a})};b.buttonToMaxClick=function(a){var c=(b.to-b.from)*b.options.step;b.updatePosition(b.from+c,b.to+c);n(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:a})};b.trackClick=function(a){var c=b.chart.pointer.normalize(a),f=b.to-b.from,e=b.y+b.scrollbarTop,d=b.x+b.scrollbarLeft;b.options.vertical&&c.chartY>e||!b.options.vertical&&
68
+ c.chartX>d?b.updatePosition(b.from+f,b.to+f):b.updatePosition(b.from-f,b.to-f);n(b,"changed",{from:b.from,to:b.to,trigger:"scrollbar",DOMEvent:a})}},cursorToScrollbarPosition:function(b){var a=this.options,a=a.minWidth>this.calculatedWidth?a.minWidth:0;return{chartX:(b.chartX-this.x-this.xOffset)/(this.barWidth-a),chartY:(b.chartY-this.y-this.yOffset)/(this.barWidth-a)}},updatePosition:function(a,c){1<c&&(a=p(1-p(c-a)),c=1);0>a&&(c=p(c-a),a=0);this.from=a;this.to=c},update:function(a){this.destroy();
69
+ this.init(this.chart.renderer,x(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],c=this.scrollbarButtons,d=this.scrollbarGroup.element,k=this.mouseDownHandler,e=this.mouseMoveHandler,l=this.mouseUpHandler,a=[[c[a[0]].element,"click",this.buttonToMinClick],[c[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",k],[d.ownerDocument,"mousemove",e],[d.ownerDocument,"mouseup",l]];y&&a.push([d,"touchstart",k],
70
+ [d.ownerDocument,"touchmove",e],[d.ownerDocument,"touchend",l]);A(a,function(a){q.apply(null,a)});this._events=a},removeEvents:function(){A(this._events,function(a){d.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();A(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,z(a.scrollbarButtons))}};q(D,"afterInit",function(){var a=
71
+ this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new B(a.chart.renderer,a.options.scrollbar,a.chart),q(a.scrollbar,"changed",function(b){var c=Math.min(F(a.options.min,a.min),a.min,a.dataMin),d=Math.max(F(a.options.max,a.max),a.max,a.dataMax)-c,e;a.horiz&&!a.reversed||!a.horiz&&a.reversed?(e=c+d*this.to,c+=d*this.from):(e=c+d*(1-this.from),c+=d*(1-this.to));a.setExtremes(c,e,!0,!1,b)}))});
72
+ q(D,"afterRender",function(){var a=Math.min(F(this.options.min,this.min),this.min,F(this.dataMin,this.min)),c=Math.max(F(this.options.max,this.max),this.max,F(this.dataMax,this.max)),d=this.scrollbar,k=this.titleOffset||0;if(d){this.horiz?(d.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:k+this.axisTitleMargin+this.offset),this.width,this.height),k=1):(d.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?k+this.axisTitleMargin+
73
+ this.offset:0),this.top,this.width,this.height),k=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[k]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)||isNaN(c)||!C(this.min)||!C(this.max)?d.setRange(0,0):(k=(this.min-a)/(c-a),a=(this.max-a)/(c-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(k,a):d.setRange(1-a,1-k))}});q(D,"afterGetOffset",function(){var a=this.horiz?2:1,c=this.scrollbar;c&&(this.chart.scrollbarsOffsets=[0,
74
+ 0],this.chart.axisOffset[a]+=c.size+c.options.margin)});a.Scrollbar=B})(K);(function(a){function B(a){this.init(a)}var q=a.addEvent,D=a.Axis,p=a.Chart,G=a.color,C=a.defaultOptions,z=a.defined,A=a.destroyObjectProperties,n=a.each,y=a.erase,x=a.error,F=a.extend,d=a.grep,c=a.hasTouch,k=a.isArray,b=a.isNumber,f=a.isObject,r=a.isTouchDevice,m=a.merge,e=a.pick,l=a.removeEvent,u=a.Scrollbar,g=a.Series,v=a.seriesTypes,J=a.wrap,O=[].concat(a.defaultDataGroupingUnits),H=function(a){var h=d(arguments,b);if(h.length)return Math[a].apply(0,
75
+ h)};O[4]=["day",[1,2,3,4]];O[5]=["week",[1,2,3]];v=void 0===v.areaspline?"line":"areaspline";F(C,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:G("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:v,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
76
+ units:O},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,
77
+ labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,e,c,d){a=d.width/2;b=Math.round(a/3)+.5;d=d.height;return["M",-a-1,.5,"L",a,.5,"L",a,d+.5,"L",-a-1,d+.5,"L",-a-1,.5,"M",-b,4,"L",-b,d-3,"M",b-1,4,"L",b-1,d-3]};B.prototype={drawHandle:function(a,b,e,c){var h=this.navigatorOptions.handles.height;this.handles[b][c](e?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+
78
+ .5-h)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-h/2-1)})},drawOutline:function(a,b,e,c){var h=this.navigatorOptions.maskInside,t=this.outline.strokeWidth(),d=t/2,t=t%2/2,w=this.outlineHeight,g=this.scrollbarHeight,l=this.size,f=this.left-g,u=this.top;e?(f-=d,e=u+b+t,b=u+a+t,a=["M",f+w,u-g-t,"L",f+w,e,"L",f,e,"L",f,b,"L",f+w,b,"L",f+w,u+l+g].concat(h?["M",f+w,e-d,"L",f+w,b+d]:[])):(a+=f+g-t,b+=f+g-t,u+=d,a=["M",f,u,"L",a,u,"L",a,u+w,"L",b,u+w,"L",
79
+ b,u,"L",f+l+2*g,u].concat(h?["M",a-d,u,"L",b+d,u]:[]));this.outline[c]({d:a})},drawMasks:function(a,b,e,c){var h=this.left,t=this.top,d=this.height,w,g,l,f;e?(l=[h,h,h],f=[t,t+a,t+b],g=[d,d,d],w=[a,b-a,this.size-b]):(l=[h,h+a,h+b],f=[t,t,t],g=[a,b-a,this.size-b],w=[d,d,d]);n(this.shades,function(a,b){a[c]({x:l[b],y:f[b],width:g[b],height:w[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,e=b.maskInside,c=a.chart,d=c.inverted,g=c.renderer,l;a.navigatorGroup=l=g.g("navigator").attr({zIndex:8,
80
+ visibility:"hidden"}).add();var f={cursor:d?"ns-resize":"ew-resize"};n([!e,e,!e],function(h,e){a.shades[e]=g.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).attr({fill:h?b.maskFill:"rgba(0,0,0,0)"}).css(1===e&&f).add(l)});a.outline=g.path().addClass("highcharts-navigator-outline").attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor}).add(l);b.handles.enabled&&n([0,1],function(h){b.handles.inverted=c.inverted;a.handles[h]=g.symbol(b.handles.symbols[h],-b.handles.width/
81
+ 2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[h].attr({zIndex:7-h}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][h]).add(l);var e=b.handles;a.handles[h].attr({fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.lineWidth}).css(f)})},update:function(a){n(this.series||[],function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();m(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(h,
82
+ t,c,d){var g=this.chart,w,l,f=this.scrollbarHeight,u,k=this.xAxis;w=k.fake?g.xAxis[0]:k;var v=this.navigatorEnabled,M,m=this.rendered;l=g.inverted;var n,q=g.xAxis[0].minRange,p=g.xAxis[0].options.maxRange;if(!this.hasDragged||z(c)){if(!b(h)||!b(t))if(m)c=0,d=e(k.width,w.width);else return;this.left=e(k.left,g.plotLeft+f+(l?g.plotWidth:0));this.size=M=u=e(k.len,(l?g.plotHeight:g.plotWidth)-2*f);g=l?f:u+2*f;c=e(c,k.toPixels(h,!0));d=e(d,k.toPixels(t,!0));b(c)&&Infinity!==Math.abs(c)||(c=0,d=g);h=k.toValue(c,
83
+ !0);t=k.toValue(d,!0);n=Math.abs(a.correctFloat(t-h));n<q?this.grabbedLeft?c=k.toPixels(t-q,!0):this.grabbedRight&&(d=k.toPixels(h+q,!0)):z(p)&&n>p&&(this.grabbedLeft?c=k.toPixels(t-p,!0):this.grabbedRight&&(d=k.toPixels(h+p,!0)));this.zoomedMax=Math.min(Math.max(c,d,0),M);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,d),0),M);this.range=this.zoomedMax-this.zoomedMin;M=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);v&&(this.navigatorGroup.attr({visibility:"visible"}),
84
+ m=m&&!this.hasDragged?"animate":"attr",this.drawMasks(c,M,l,m),this.drawOutline(c,M,l,m),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,l,m),this.drawHandle(M,1,l,m)));this.scrollbar&&(l?(l=this.top-f,w=this.left-f+(v||!w.opposite?0:(w.titleOffset||0)+w.axisTitleMargin),f=u+2*f):(l=this.top+(v?this.height:-f),w=this.left-f),this.scrollbar.position(w,l,g,f),this.scrollbar.setRange(this.zoomedMin/(u||1),this.zoomedMax/(u||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
85
+ e=b.container,d=[],g,l;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=l=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(q(e,"mousemove",g),q(e.ownerDocument,"mouseup",l));c&&(d.push(q(e,"touchmove",g),q(e.ownerDocument,"touchend",l)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(q(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,h=[];
86
+ n(["shades","handles"],function(e){n(b[e],function(c,t){h.push(q(c.element,a,function(a){b[e+"Mousedown"](a,t)}))})});return h},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var e=this.chart,h=this.xAxis,c=this.zoomedMin,d=this.left,t=this.size,g=this.range,l=a.chartX,f,u;e.inverted&&(l=a.chartY,d=this.top);1===b?(this.grabbedCenter=l,this.fixedWidth=g,this.dragOffset=l-c):(a=l-d-g/2,0===b?a=Math.max(0,a):2===b&&a+g>=t&&(a=t-g,this.reversedExtremes?(a-=g,u=this.getUnionExtremes().dataMin):
87
+ f=this.getUnionExtremes().dataMax),a!==c&&(this.fixedWidth=g,b=h.toFixedRange(a,a+g,u,f),z(b.min)&&e.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var e=a.xAxis[0],h=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=h?e.min:e.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=h?e.max:e.min);
88
+ a.fixedRange=null},onMouseMove:function(b){var h=this,c=h.chart,d=h.left,g=h.navigatorSize,l=h.range,f=h.dragOffset,u=c.inverted;b.touches&&0===b.touches[0].pageX||(b=c.pointer.normalize(b),c=b.chartX,u&&(d=h.top,c=b.chartY),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,c-d,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,c-d)):h.grabbedCenter&&(h.hasDragged=!0,c<f?c=f:c>g+f-l&&(c=g+f-l),h.render(0,0,c-f,c-f+l)),h.hasDragged&&h.scrollbar&&e(h.scrollbar.options.liveRedraw,
89
+ a.svg&&!r&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){h.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,e=this.xAxis,h=this.scrollbar,c,d,g=a.DOMEvent||a;(!this.hasDragged||h&&h.hasDragged)&&"scrollbar"!==a.trigger||(h=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?c=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(d=this.fixedExtreme),this.zoomedMax===this.size&&(d=this.reversedExtremes?h.dataMin:h.dataMax),0===this.zoomedMin&&(c=this.reversedExtremes?
90
+ h.dataMax:h.dataMin),e=e.toFixedRange(this.zoomedMin,this.zoomedMax,c,d),z(e.min)&&b.xAxis[0].setExtremes(Math.min(e.min,e.max),Math.max(e.min,e.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(n(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=
91
+ void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&n(a,function(a){l(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&l(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,h=b.navigator,c=h.enabled,d=b.scrollbar,g=d.enabled,b=c?h.height:0,l=g?d.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=
92
+ b;this.scrollbarHeight=l;this.scrollbarEnabled=g;this.navigatorEnabled=c;this.navigatorOptions=h;this.scrollbarOptions=d;this.outlineHeight=b+l;this.opposite=e(h.opposite,!c&&a.inverted);var f=this,c=f.baseSeries,d=a.xAxis.length,g=a.yAxis.length,k=c&&c[0]&&c[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;f.navigatorEnabled?(f.xAxis=new D(a,m({breaks:k.options.breaks,ordinal:k.options.ordinal},h.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:d,isInternal:!0,
93
+ offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[l,0,-l,0],width:b}:{offsets:[0,-l,0,l],height:b})),f.yAxis=new D(a,m(h.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:g,isInternal:!0,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),c||h.series.data?f.updateNavigatorSeries(!1):0===a.series.length&&(f.unbindRedraw=q(a,"beforeRedraw",function(){0<a.series.length&&!f.series&&(f.setBaseSeries(),f.unbindRedraw())})),f.reversedExtremes=
94
+ a.inverted&&!f.xAxis.reversed||!a.inverted&&f.xAxis.reversed,f.renderElements(),f.addMouseEvents()):f.xAxis={translate:function(b,e){var h=a.xAxis[0],c=h.getExtremes(),d=h.len-2*l,g=H("min",h.options.min,c.dataMin),h=H("max",h.options.max,c.dataMax)-g;return e?b*h/d+g:d*(b-g)/h},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:D.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=f.scrollbar=new u(a.renderer,m(a.options.scrollbar,
95
+ {margin:f.navigatorEnabled?0:10,vertical:a.inverted}),a),q(f.scrollbar,"changed",function(b){var e=f.size,h=e*this.to,e=e*this.from;f.hasDragged=f.scrollbar.hasDragged;f.render(0,0,e,h);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){f.onMouseUp(b)})}));f.addBaseSeriesEvents();f.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],h=this.xAxis,c=h.options,d=b.options,g;a&&null===b.dataMin||(g={dataMin:e(c&&c.min,H("min",
96
+ d.min,b.dataMin,h.dataMin,h.min)),dataMax:e(c&&c.max,H("max",d.max,b.dataMax,h.dataMax,h.max))});return g},setBaseSeries:function(a,b){var e=this.chart,h=this.baseSeries=[];a=a||e.options&&e.options.navigator.baseSeries||0;n(e.series||[],function(b,e){b.options.isInternal||!b.options.showInNavigator&&(e!==a&&b.options.id!==a||!1===b.options.showInNavigator)||h.push(b)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,b)},updateNavigatorSeries:function(b,e){var h=this,c=h.chart,d=h.baseSeries,
97
+ g,f,t=h.navigatorOptions.series,u,v={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0},q=h.series=a.grep(h.series||[],function(b){var e=b.baseSeries;return 0>a.inArray(e,d)?(e&&(l(e,"updatedData",h.updatedDataHandler),delete e.navigatorSeries),b.chart&&b.destroy(),!1):!0});d&&d.length&&n(d,function(a){var b=a.navigatorSeries,l=F({color:a.color,visible:a.visible},k(t)?C.navigator.series:
98
+ t);b&&!1===h.navigatorOptions.adaptToUpdatedData||(v.name="Navigator "+d.length,g=a.options||{},u=g.navigatorOptions||{},f=m(g,v,l,u),l=u.data||l.data,h.hasNavigatorData=h.hasNavigatorData||!!l,f.data=l||g.data&&g.data.slice(0),b&&b.options?b.update(f,e):(a.navigatorSeries=c.initSeries(f),a.navigatorSeries.baseSeries=a,q.push(a.navigatorSeries)))});if(t.data&&(!d||!d.length)||k(t))h.hasNavigatorData=!1,t=a.splat(t),n(t,function(a,b){v.name="Navigator "+(q.length+1);f=m(C.navigator.series,{color:c.series[b]&&
99
+ !c.series[b].options.isInternal&&c.series[b].color||c.options.colors[b]||c.options.colors[0]},v,a);f.data=a.data;f.data&&(h.hasNavigatorData=!0,q.push(c.initSeries(f)))});b&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&q(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);n(b,function(b){q(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});q(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,
100
+ !1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&q(b,"updatedData",this.updatedDataHandler);q(b,"remove",function(){this.navigatorSeries&&(y(a.series,this.navigatorSeries),z(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(b){return a.reduce(this.baseSeries,function(a,b){return Math.min(a,b.xData[0])},b)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||
101
+ b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,c=this.getExtremes(),d=c.dataMin,g=c.dataMax,c=c.max-c.min,f=a.stickToMin,l=a.stickToMax,u=e(this.options.overscroll,0),k,v,m=a.series&&a.series[0],n=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(v=d,k=v+c),l&&(k=g+u,f||(v=Math.max(k-c,a.getBaseSeriesMin(m&&m.xData?m.xData[0]:-Number.MAX_VALUE)))),n&&(f||l)&&b(v)&&(this.min=
102
+ this.userMin=v,this.max=this.userMax=k));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,e=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=b(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);e&&!a.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||
103
+ (this.eventsToUnbind=[]);this.eventsToUnbind.push(q(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),q(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();
104
+ this.xAxis&&(y(this.chart.xAxis,this.xAxis),y(this.chart.axes,this.xAxis));this.yAxis&&(y(this.chart.yAxis,this.yAxis),y(this.chart.axes,this.yAxis));n(this.series||[],function(a){a.destroy&&a.destroy()});n("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);n([this.handles],function(a){A(a)},this)}};a.Navigator=B;J(D.prototype,"zoom",function(a,b,
105
+ e){var c=this.chart,d=c.options,h=d.chart.zoomType,g=d.chart.pinchType,f=d.navigator,d=d.rangeSelector,l;this.isXAxis&&(f&&f.enabled||d&&d.enabled)&&(!r&&"x"===h||r&&"x"===g?c.resetZoomButton="blocked":"y"===h?l=!1:(!r&&"xy"===h||r&&"xy"===g)&&this.options.range&&(c=this.previousZoom,z(b)?this.previousZoom=[this.min,this.max]:c&&(b=c[0],e=c[1],delete this.previousZoom)));return void 0!==l?l:a.call(this,b,e)});q(p,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=
106
+ this.navigator=new B(this)});q(p,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,d,g,f;b&&(d=a&&a.options,g=b.xAxis,f=b.yAxis,c=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c,b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&&"bottom"===d.verticalAlign&&d.enabled&&!d.floating?a.legendHeight+
107
+ e(d.margin,10):0)),g&&f&&(this.inverted?g.options.left=f.options.left=b.left:g.options.top=f.options.top=b.top,g.setAxisSize(),f.setAxisSize()))});q(p,"update",function(a){var b=a.options.navigator||{},e=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!e.enabled||(m(!0,this.options.navigator,b),m(!0,this.options.scrollbar,e),delete a.options.navigator,delete a.options.scrollbar)});q(p,"afterUpdate",function(){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||
108
+ (this.scroller=this.navigator=new B(this))});J(g.prototype,"addPoint",function(a,b,e,c,d){var g=this.options.turboThreshold;g&&this.xData.length>g&&f(b,!0)&&this.chart.navigator&&x(20,!0);a.call(this,b,e,c,d)});q(p,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)});q(g,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)});p.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),
109
+ b.render(a.min,a.max))})})(K);(function(a){function B(a){this.init(a)}var q=a.addEvent,D=a.Axis,p=a.Chart,G=a.css,C=a.createElement,z=a.defaultOptions,A=a.defined,n=a.destroyObjectProperties,y=a.discardElement,x=a.each,F=a.extend,d=a.fireEvent,c=a.isNumber,k=a.merge,b=a.pick,f=a.pInt,r=a.splat,m=a.wrap;F(z,{rangeSelector:{verticalAlign:"top",buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",
110
+ x:0,y:0},labelStyle:{color:"#666666"}}});z.lang=k(z.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});B.prototype={clickButton:function(a,d){var e=this,g=e.chart,f=e.buttonOptions[a],l=g.xAxis[0],k=g.scroller&&g.scroller.getUnionExtremes()||l||{},m=k.dataMin,h=k.dataMax,t,w=l&&Math.round(Math.min(l.max,b(h,l.max))),n=f.type,p,k=f._range,z,L,E,y=f.dataGrouping;if(null!==m&&null!==h){g.fixedRange=k;y&&(this.forcedDataGrouping=!0,D.prototype.setDataGrouping.call(l||{chart:this.chart},
111
+ y,!1),this.frozenStates=f.preserveDataGrouping);if("month"===n||"year"===n)l?(n={range:f,max:w,chart:g,dataMin:m,dataMax:h},t=l.minFromRange.call(n),c(n.newMax)&&(w=n.newMax)):k=f;else if(k)t=Math.max(w-k,m),w=Math.min(t+k,h);else if("ytd"===n)if(l)void 0===h&&(m=Number.MAX_VALUE,h=Number.MIN_VALUE,x(g.series,function(a){a=a.xData;m=Math.min(a[0],m);h=Math.max(a[a.length-1],h)}),d=!1),w=e.getYTDExtremes(h,m,g.time.useUTC),t=z=w.min,w=w.max;else{q(g,"beforeRender",function(){e.clickButton(a)});return}else"all"===
112
+ n&&l&&(t=m,w=h);t+=f._offsetMin;w+=f._offsetMax;e.setSelected(a);l?l.setExtremes(t,w,b(d,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(p=r(g.options.xAxis)[0],E=p.range,p.range=k,L=p.min,p.min=z,q(g,"load",function(){p.range=E;p.min=L}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",
113
+ text:"All"}],init:function(a){var b=this,e=a.options.rangeSelector,c=e.buttons||[].concat(b.defaultButtons),f=e.selected,k=function(){var a=b.minInput,e=b.maxInput;a&&a.blur&&d(a,"blur");e&&e.blur&&d(e,"blur")};b.chart=a;b.options=e;b.buttons=[];a.extraTopMargin=e.height;b.buttonOptions=c;this.unMouseDown=q(a.container,"mousedown",k);this.unResize=q(a,"resize",k);x(c,b.computeButtonRange);void 0!==f&&c[f]&&this.clickButton(f,!1);q(a,"load",function(){a.xAxis&&a.xAxis[0]&&q(a.xAxis[0],"setExtremes",
114
+ function(e){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==e.trigger&&"updatedData"!==e.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,d=b.xAxis[0],f=Math.round(d.max-d.min),k=!d.hasVisibleSeries,m=b.scroller&&b.scroller.getUnionExtremes()||d,n=m.dataMin,p=m.dataMax,b=a.getYTDExtremes(p,n,b.time.useUTC),h=b.min,t=b.max,w=a.selected,q=c(w),r=a.options.allButtonsEnabled,z=a.buttons;x(a.buttonOptions,function(b,
115
+ e){var c=b._range,g=b.type,l=b.count||1,u=z[e],m=0;b=b._offsetMax-b._offsetMin;e=e===w;var v=c>p-n,I=c<d.minRange,x=!1,L=!1,c=c===f;("month"===g||"year"===g)&&f+36E5>=864E5*{month:28,year:365}[g]*l-b&&f-36E5<=864E5*{month:31,year:366}[g]*l+b?c=!0:"ytd"===g?(c=t-h+b===f,x=!e):"all"===g&&(c=d.max-d.min>=p-n,L=!e&&q&&c);g=!r&&(v||I||L||k);l=e&&c||c&&!q&&!x||e&&a.frozenStates;g?m=3:l&&(q=!0,m=2);u.state!==m&&u.setState(m)})},computeButtonRange:function(a){var c=a.type,e=a.count||1,d={millisecond:1,second:1E3,
116
+ minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[c])a._range=d[c]*e;else if("month"===c||"year"===c)a._range=864E5*{month:30,year:365}[c]*e;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,e=this.chart.time,d=this[a+"Input"];A(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=e.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(c.inputDateFormat||
117
+ "%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];G(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){G(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=t.value,b=(p.inputDateParser||Date.parse)(a),g=d.xAxis[0],l=d.scroller&&d.scroller.xAxis?d.scroller.xAxis:g,k=l.dataMin,l=l.dataMax;
118
+ b!==t.previousValue&&(t.previousValue=b,c(b)||(b=a.split("-"),b=Date.UTC(f(b[0]),f(b[1])-1,f(b[2]))),c(b)&&(d.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),h?b>e.maxInput.HCTime?b=void 0:b<k&&(b=k):b<e.minInput.HCTime?b=void 0:b>l&&(b=l),void 0!==b&&g.setExtremes(h?b:g.min,h?g.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var e=this,d=e.chart,m=d.renderer.style||{},n=d.renderer,p=d.options.rangeSelector,q=e.div,h="min"===a,t,w,r=this.inputGroup;this[a+"Label"]=w=n.label(z.lang[h?"rangeSelectorFrom":
119
+ "rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(r);r.offset+=w.width+5;this[a+"DateBox"]=n=n.label("",r.offset).addClass("highcharts-range-input").attr({padding:2,width:p.inputBoxWidth||90,height:p.inputBoxHeight||17,"text-align":"center",stroke:p.inputBoxBorderColor||"#cccccc","stroke-width":1}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(r);r.offset+=n.width+(h?10:0);this[a+"Input"]=t=C("input",{name:a,className:"highcharts-range-selector",
120
+ type:"text"},{top:d.plotTop+"px"},q);w.css(k(m,p.labelStyle));n.css(k({color:"#333333"},m,p.inputStyle));G(t,F({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:m.fontSize,fontFamily:m.fontFamily,top:"-9999em"},p.inputStyle));t.onfocus=function(){e.showInput(a)};t.onblur=function(){e.hideInput(a)};t.onchange=b;t.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-
121
+ a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var e=this.chart.time,d=new e.Date(a),f=e.get("FullYear",d);c=c?e.Date.UTC(f,0,1):+new e.Date(f,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,c){var e=this,d=e.chart,f=d.renderer,l=d.container,k=d.options,m=k.exporting&&!1!==k.exporting.enabled&&k.navigation&&k.navigation.buttonOptions,h=z.lang,t=e.div,n=k.rangeSelector,p=b(k.chart.style&&
122
+ k.chart.style.zIndex,0)+1,k=n.floating,q=e.buttons,t=e.inputGroup,r=n.buttonTheme,L=n.buttonPosition,E=n.inputPosition,y=n.inputEnabled,A=r&&r.states,B=d.plotLeft,F,N=e.buttonGroup,D;D=e.rendered;var G=e.options.verticalAlign,K=d.legend,T=K&&K.options,U=L.y,S=E.y,V=D||!1,W=V?"animate":"attr",R=0,P=0,Q;if(!1!==n.enabled){D||(e.group=D=f.g("range-selector-group").attr({zIndex:7}).add(),e.buttonGroup=N=f.g("range-selector-buttons").add(D),e.zoomText=f.text(h.rangeSelectorZoom,0,15).css(n.labelStyle).add(N),
123
+ x(e.buttonOptions,function(a,b){q[b]=f.button(a.text,0,0,function(){var c=a.events&&a.events.click,d;c&&(d=c.call(a));!1!==d&&e.clickButton(b);e.isActive=!0},r,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(N)}),!1!==y&&(e.div=t=C("div",null,{position:"relative",height:0,zIndex:p}),l.parentNode.insertBefore(t,l),e.inputGroup=t=f.g("input-group").add(D),t.offset=0,e.drawInput("min"),e.drawInput("max")));e.zoomText[W]({x:b(B+L.x,B)});F=b(B+L.x,B)+e.zoomText.getBBox().width+
124
+ 5;x(e.buttonOptions,function(a,c){q[c][W]({x:F});F+=q[c].width+b(n.buttonSpacing,5)});B=d.plotLeft-d.spacing[3];e.updateButtonStates();m&&this.titleCollision(d)&&"top"===G&&"right"===L.align&&L.y+N.getBBox().height-12<(m.y||0)+m.height&&(R=-40);"left"===L.align?Q=L.x-d.spacing[3]:"right"===L.align&&(Q=L.x+R-d.spacing[1]);N.align({y:L.y,width:N.getBBox().width,align:L.align,x:Q},!0,d.spacingBox);e.group.placed=V;e.buttonGroup.placed=V;!1!==y&&(R=m&&this.titleCollision(d)&&"top"===G&&"right"===E.align&&
125
+ E.y-t.getBBox().height-12<(m.y||0)+m.height+d.spacing[0]?-40:0,"left"===E.align?Q=B:"right"===E.align&&(Q=-Math.max(d.axisOffset[1],-R)),t.align({y:E.y,width:t.getBBox().width,align:E.align,x:E.x+Q-2},!0,d.spacingBox),l=t.alignAttr.translateX+t.alignOptions.x-R+t.getBBox().x+2,m=t.alignOptions.width,h=N.alignAttr.translateX+N.getBBox().x,Q=N.getBBox().width+20,(E.align===L.align||h+Q>l&&l+m>h&&U<S+t.getBBox().height)&&t.attr({translateX:t.alignAttr.translateX+(d.axisOffset[1]>=-R?0:-R),translateY:t.alignAttr.translateY+
126
+ N.getBBox().height+10}),e.setInputValue("min",a),e.setInputValue("max",c),e.inputGroup.placed=V);e.group.align({verticalAlign:G},!0,d.spacingBox);a=e.group.getBBox().height+20;c=e.group.alignAttr.translateY;"bottom"===G&&(K=T&&"bottom"===T.verticalAlign&&T.enabled&&!T.floating?K.legendHeight+b(T.margin,10):0,a=a+K-20,P=c-a-(k?0:n.y)-10);if("top"===G)k&&(P=0),d.titleOffset&&(P=d.titleOffset+d.options.title.margin),P+=d.margin[0]-d.spacing[0]||0;else if("middle"===G)if(S===U)P=0>S?c+void 0:c;else if(S||
127
+ U)P=0>S||0>U?P-Math.min(S,U):c-a+NaN;e.group.translate(n.x,n.y+Math.floor(P));!1!==y&&(e.minInput.style.marginTop=e.group.translateY+"px",e.maxInput.style.marginTop=e.group.translateY+"px");e.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,d=a.buttonPosition.y,a=a.inputPosition.y,b=b?b.getBBox(!0).height+13+c:0,c=Math.min(a,d);if(0>a&&0>d||0<a&&0<d)b+=Math.abs(c);return b},titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=
128
+ this.chart;k(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,d=b.maxInput;b.unMouseDown();b.unResize();n(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);d&&(d.onfocus=d.onblur=d.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&y(this[c]));a!==B.prototype[c]&&(b[c]=null)},this)}};D.prototype.toFixedRange=function(a,d,f,g){var e=this.chart&&this.chart.fixedRange;a=b(f,this.translate(a,
129
+ !0,!this.horiz));d=b(g,this.translate(d,!0,!this.horiz));f=e&&(d-a)/e;.7<f&&1.3>f&&(g?a=d-e:d=a+e);c(a)&&c(d)||(a=d=void 0);return{min:a,max:d}};D.prototype.minFromRange=function(){var a=this.range,d={month:"Month",year:"FullYear"}[a.type],f,g=this.max,k,m,n=function(a,b){var c=new Date(a),e=c["get"+d]();c["set"+d](e+b);e===c["get"+d]()&&c.setDate(0);return c.getTime()-a};c(a)?(f=g-a,m=a):(f=g+n(g,-a.count),this.chart&&(this.chart.fixedRange=g-f));k=b(this.dataMin,Number.MIN_VALUE);c(f)||(f=k);f<=
130
+ k&&(f=k,void 0===m&&(m=n(f,a.count)),this.newMax=Math.min(f+m,this.dataMax));c(g)||(f=void 0);return f};q(p,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new B(this))});m(p.prototype,"render",function(a,b,c){var d=this.axes,e=this.rangeSelector;e&&(x(d,function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),e.render(),d=e.options.verticalAlign,e.options.floating||("bottom"===d?this.extraBottomMargin=!0:"middle"!==d&&(this.extraTopMargin=!0)));a.call(this,
131
+ b,c)});q(p,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,d=this.extraTopMargin;b&&b.enabled&&!A(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new B(this));this.extraTopMargin=this.extraBottomMargin=!1;a&&(a.render(),b=b&&b.verticalAlign||a.options&&a.options.verticalAlign,a.options.floating||("bottom"===b?this.extraBottomMargin=!0:"middle"!==b&&(this.extraTopMargin=!0)),this.extraBottomMargin!==c||this.extraTopMargin!==d)&&(this.isDirtyBox=
132
+ !0)});m(p.prototype,"redraw",function(a,b,c){var d=this.rangeSelector;d&&!d.options.floating&&(d.render(),d=d.options.verticalAlign,"bottom"===d?this.extraBottomMargin=!0:"middle"!==d&&(this.extraTopMargin=!0));a.call(this,b,c)});q(p,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))});p.prototype.callbacks.push(function(a){function b(){d=a.xAxis[0].getExtremes();c(d.min)&&e.render(d.min,d.max)}
133
+ var d,e=a.rangeSelector,f,k;e&&(k=q(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=q(a,"redraw",b),b());q(a,"destroy",function(){e&&(f(),k())})});a.RangeSelector=B})(K);(function(a){var B=a.addEvent,q=a.arrayMax,D=a.arrayMin,p=a.Axis,G=a.Chart,C=a.defined,z=a.each,A=a.extend,n=a.format,y=a.grep,x=a.inArray,F=a.isNumber,d=a.isString,c=a.map,k=a.merge,b=a.pick,f=a.Point,r=a.Renderer,m=a.Series,e=a.splat,l=a.SVGRenderer,u=a.VMLRenderer,g=a.wrap,v=m.prototype,J=v.init,K=v.processData,
134
+ H=f.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(f,g,l){var h=d(f)||f.nodeName,m=arguments[h?1:0],t=m.series,n=a.getOptions(),p,q=b(m.navigator&&m.navigator.enabled,n.navigator.enabled,!0),w=q?{startOnTick:!1,endOnTick:!1}:null,r={marker:{enabled:!1,radius:2}},u={shadow:!1,borderWidth:0};m.xAxis=c(e(m.xAxis||{}),function(a,b){return k({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,n.xAxis&&n.xAxis[b],a,{type:"datetime",
135
+ categories:null},w)});m.yAxis=c(e(m.yAxis||{}),function(a,c){p=b(a.opposite,!0);return k({labels:{y:-2},opposite:p,showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},n.yAxis,n.yAxis&&n.yAxis[c],a)});m.series=null;m=k({chart:{panning:!0,pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:b(n.scrollbar.enabled,!0)},rangeSelector:{enabled:b(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:b(n.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:r,
136
+ spline:r,area:r,areaspline:r,arearange:r,areasplinerange:r,column:u,columnrange:u,candlestick:u,ohlc:u}},m,{isStock:!0});m.series=t;return h?new G(f,m,l):new G(m,g)};g(p.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.apply(this,[].slice.call(arguments,
137
+ 1))});B(p,"destroy",function(){var a=this.chart,b=this.options&&this.options.top+","+this.options.height;b&&a._labelPanes&&a._labelPanes[b]===this&&delete a._labelPanes[b]});g(p.prototype,"getPlotLinePath",function(e,f,g,k,l,m){var h=this,n=this.isLinked&&!this.series?this.linkedParent.series:this.series,t=h.chart,p=t.renderer,q=h.left,r=h.top,w,u,v,y,A=[],I=[],B,D;if("xAxis"!==h.coll&&"yAxis"!==h.coll)return e.apply(this,[].slice.call(arguments,1));I=function(a){var b="xAxis"===a?"yAxis":"xAxis";
138
+ a=h.options[b];return F(a)?[t[b][a]]:d(a)?[t.get(a)]:c(n,function(a){return a[b]})}(h.coll);z(h.isXAxis?t.yAxis:t.xAxis,function(a){if(C(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=C(a.options[b])?t[b][a.options[b]]:t[b][0];h===b&&I.push(a)}});B=I.length?[]:[h.isXAxis?t.yAxis[0]:t.xAxis[0]];z(I,function(b){-1!==x(b,B)||a.find(B,function(a){return a.pos===b.pos&&a.len===b.len})||B.push(b)});D=b(m,h.translate(f,null,null,k));F(D)&&(h.horiz?z(B,function(a){var b;
139
+ u=a.pos;y=u+a.len;w=v=Math.round(D+h.transB);"pass"!==l&&(w<q||w>q+h.width)&&(l?w=v=Math.min(Math.max(q,w),q+h.width):b=!0);b||A.push("M",w,u,"L",v,y)}):z(B,function(a){var b;w=a.pos;v=w+a.len;u=y=Math.round(r+h.height-D);"pass"!==l&&(u<r||u>r+h.height)&&(l?u=y=Math.min(Math.max(r,u),h.top+h.height):b=!0);b||A.push("M",w,u,"L",v,y)}));return 0<A.length?p.crispPolyLine(A,g||1):null});l.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+
140
+ 1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};r===u&&(u.prototype.crispPolyLine=l.prototype.crispPolyLine);g(p.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});B(p,"afterDrawCrosshair",function(a){var c,d;if(C(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var e=this.chart,f=this.options.crosshair.label,h=this.horiz;c=this.opposite;d=this.left;var g=this.top,k=this.crossLabel,l=f.format,
141
+ m="",p="inside"===this.options.tickPosition,q=!1!==this.crosshair.snap,r=0,u=a.e||this.cross&&this.cross.e,v=a.point;a=this.lin2log;var x,y;this.isLog?(x=a(this.min),y=a(this.max)):(x=this.min,y=this.max);a=h?"center":c?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=this.crossLabel=e.renderer.label(null,null,null,f.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:f.align||
142
+ a,padding:b(f.padding,8),r:b(f.borderRadius,3),zIndex:2}).add(this.labelGroup),k.attr({fill:f.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:f.borderColor||"","stroke-width":f.borderWidth||0}).css(A({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},f.style)));h?(a=q?v.plotX+d:u.chartX,g+=c?0:this.height):(a=c?this.width+d:0,g=q?v.plotY+g:u.chartY);l||f.formatter||(this.isDatetimeAxis&&(m="%b %d, %Y"),l="{value"+(m?":"+m:"")+"}");m=q?v[this.isXAxis?"x":
143
+ "y"]:this.toValue(h?u.chartX:u.chartY);k.attr({text:l?n(l,{value:m},e.time):f.formatter.call(this,m),x:a,y:g,visibility:m<x||m>y?"hidden":"visible"});f=k.getBBox();if(h){if(p&&!c||!p&&c)g=k.y-f.height}else g=k.y-f.height/2;h?(c=d-f.x,d=d+this.width-f.x):(c="left"===this.labelAlign?d:0,d="right"===this.labelAlign?d+this.width:e.chartWidth);k.translateX<c&&(r=c-k.translateX);k.translateX+f.width>=d&&(r=-(k.translateX+f.width-d));k.attr({x:a+r,y:g,anchorX:h?a:this.opposite?0:e.chartWidth,anchorY:h?this.opposite?
144
+ e.chartHeight:0:g+f.height/2})}});v.init=function(){J.apply(this,arguments);this.setCompare(this.options.compare)};v.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};v.processData=function(){var a,b=-1,c,d,e=!0===this.options.compareStart?0:1,f,g;K.apply(this,
145
+ arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,f=d.length,this.pointArrayMap&&(b=x("close",this.pointArrayMap),-1===b&&(b=x(this.pointValKey||"y",this.pointArrayMap))),a=0;a<f-e;a++)if(g=d[a]&&-1<b?d[a][b]:d[a],F(g)&&c[a+e]>=this.xAxis.min&&0!==g){this.compareValue=g;break}};g(v,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=D(b),
146
+ this.dataMax=q(b))});p.prototype.setCompare=function(a,c){this.isXAxis||(z(this.series,function(b){b.setCompare(a)}),b(c,!0)&&this.chart.redraw())};f.prototype.tooltipFormatter=function(c){c=c.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,b(this.series.tooltipOptions.changeDecimals,2)));return H.apply(this,[c])};g(m.prototype,"render",function(a){var b;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(b=this.yAxis.len-(this.xAxis.axisLine?
147
+ Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=k(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=b):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:b}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=b));a.call(this)});g(G.prototype,"getSelectedPoints",function(a){var b=a.call(this);z(this.series,function(a){a.hasGroupedData&&(b=b.concat(y(a.points||[],function(a){return a.selected})))});
148
+ return b});B(G,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(k(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})})(K)});
149
149
  //# sourceMappingURL=stock.js.map