highcharts 7.1.1 → 7.1.2

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 (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
package/highstock.js CHANGED
@@ -1,601 +1,608 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  (c) 2009-2018 Torstein Honsi
5
5
 
6
6
  License: www.highcharts.com/license
7
7
  */
8
- (function(P,J){"object"===typeof module&&module.exports?(J["default"]=J,module.exports=P.document?J(P):J):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return J(P)}):(P.Highcharts&&P.Highcharts.error(16,!0),P.Highcharts=J(P))})("undefined"!==typeof window?window:this,function(P){function J(a,C,y,F){a.hasOwnProperty(C)||(a[C]=F.apply(null,y))}var H={};J(H,"parts/Globals.js",[],function(){var a="undefined"===typeof P?"undefined"!==typeof window?window:{}:P,C=a.document,
9
- y=a.navigator&&a.navigator.userAgent||"",F=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=/(edge|msie|trident)/i.test(y)&&!a.opera,h=-1!==y.indexOf("Firefox"),u=-1!==y.indexOf("Chrome"),v=h&&4>parseInt(y.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.1",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:v,hasTouch:C&&void 0!==C.documentElement.ontouchstart,isMS:p,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:h,isChrome:u,isSafari:!u&&-1!==y.indexOf("Safari"),
10
- isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});J(H,"parts/Utilities.js",[H["parts/Globals.js"]],function(a){a.timers=[];var C=a.charts,y=a.doc,F=a.win;a.error=function(p,h,u){var v=a.isNumber(p)?"Highcharts error #"+p+": www.highcharts.com/errors/"+p:p,w=function(){if(h)throw Error(v);F.console&&
11
- console.log(v)};u?a.fireEvent(u,"displayError",{code:p,message:v},w):w()};a.Fx=function(a,h,u){this.options=h;this.elem=a;this.prop=u};a.Fx.prototype={dSetter:function(){var a=this.paths[0],h=this.paths[1],u=[],v=this.now,w=a.length,x;if(1===v)u=this.toD;else if(w===h.length&&1>v)for(;w--;)x=parseFloat(a[w]),u[w]=isNaN(x)?h[w]:v*parseFloat(h[w]-x)+x;else u=h;this.elem.attr("d",u,null,!0)},update:function(){var a=this.elem,h=this.prop,u=this.now,v=this.options.step;if(this[h+"Setter"])this[h+"Setter"]();
12
- else a.attr?a.element&&a.attr(h,u,null,!0):a.style[h]=u+this.unit;v&&v.call(a,u,this)},run:function(p,h,u){var v=this,w=v.options,x=function(a){return x.stopped?!1:v.step(a)},q=F.requestAnimationFrame||function(a){setTimeout(a,13)},g=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,1);a.timers.length&&q(g)};p!==h||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=p,this.end=h,this.unit=u,this.now=this.start,this.pos=0,x.elem=this.elem,x.prop=
13
- this.prop,x()&&1===a.timers.push(x)&&q(g)):(delete w.curAnim[this.prop],w.complete&&0===Object.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(p){var h=+new Date,u,v=this.options,w=this.elem,x=v.complete,q=v.duration,g=v.curAnim;w.attr&&!w.element?p=!1:p||h>=q+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=g[this.prop]=!0,a.objectEach(g,function(a){!0!==a&&(u=!1)}),u&&x&&x.call(w),p=!1):(this.pos=v.easing((h-this.startTime)/q),this.now=this.start+(this.end-this.start)*
14
- this.pos,this.update(),p=!0);return p},initPath:function(p,h,u){function v(a){var b,c;for(m=a.length;m--;)b="M"===a[m]||"L"===a[m],c=/[a-zA-Z]/.test(a[m+3]),b&&c&&a.splice(m+1,0,a[m+1],a[m+2],a[m+1],a[m+2])}function w(a,d){for(;a.length<b;){a[0]=d[b-a.length];var c=a.slice(0,e);[].splice.apply(a,[0,0].concat(c));k&&(c=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(c)),m--)}a[0]="M"}function x(a,m){for(var c=(b-a.length)/e;0<c&&c--;)d=a.slice().splice(a.length/z-e,e*z),d[0]=m[b-e-c*e],n&&
15
- (d[e-6]=d[e-2],d[e-5]=d[e-1]),[].splice.apply(a,[a.length/z,0].concat(d)),k&&c--}h=h||"";var q,g=p.startX,f=p.endX,n=-1<h.indexOf("C"),e=n?7:3,b,d,m;h=h.split(" ");u=u.slice();var k=p.isArea,z=k?2:1,B;n&&(v(h),v(u));if(g&&f){for(m=0;m<g.length;m++)if(g[m]===f[0]){q=m;break}else if(g[0]===f[f.length-g.length+m]){q=m;B=!0;break}void 0===q&&(h=[])}h.length&&a.isNumber(q)&&(b=u.length+q*z*e,B?(w(h,u),x(u,h)):(w(u,h),x(h,u)));return[h,u]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},
16
- strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var p,h=arguments,u,v={},w=function(h,q){"object"!==typeof h&&(h={});a.objectEach(q,function(g,f){!a.isObject(g,!0)||a.isClass(g)||a.isDOMElement(g)?h[f]=q[f]:h[f]=w(h[f]||{},g)});return h};!0===h[0]&&(v=h[1],h=Array.prototype.slice.call(h,2));u=h.length;for(p=0;p<u;p++)v=w(v,h[p]);return v};a.pInt=function(a,h){return parseInt(a,h||10)};a.isString=function(a){return"string"===
17
- typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(p,h){return!!p&&"object"===typeof p&&(!h||!a.isArray(p))};a.isDOMElement=function(p){return a.isObject(p)&&"number"===typeof p.nodeType};a.isClass=function(p){var h=p&&p.constructor;return!(!a.isObject(p,!0)||a.isDOMElement(p)||!h||!h.name||"Object"===h.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=
18
- function(a,h){for(var p=a.length;p--;)if(a[p]===h){a.splice(p,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(p,h,u){var v;a.isString(h)?a.defined(u)?p.setAttribute(h,u):p&&p.getAttribute&&((v=p.getAttribute(h))||"class"!==h||(v=p.getAttribute(h+"Name"))):a.defined(h)&&a.isObject(h)&&a.objectEach(h,function(a,h){p.setAttribute(h,a)});return v};a.splat=function(p){return a.isArray(p)?p:[p]};a.syncTimeout=function(a,h,u){if(h)return setTimeout(a,h,u);a.call(0,u)};a.clearTimeout=
19
- function(p){a.defined(p)&&clearTimeout(p)};a.extend=function(a,h){var p;a||(a={});for(p in h)a[p]=h[p];return a};a.pick=function(){var a=arguments,h,u,v=a.length;for(h=0;h<v;h++)if(u=a[h],void 0!==u&&null!==u)return u};a.css=function(p,h){a.isMS&&!a.svg&&h&&void 0!==h.opacity&&(h.filter="alpha(opacity\x3d"+100*h.opacity+")");a.extend(p.style,h)};a.createElement=function(p,h,u,v,w){p=y.createElement(p);var x=a.css;h&&a.extend(p,h);w&&x(p,{padding:0,border:"none",margin:0});u&&x(p,u);v&&v.appendChild(p);
20
- return p};a.extendClass=function(p,h){var u=function(){};u.prototype=new p;a.extend(u.prototype,h);return u};a.pad=function(a,h,u){return Array((h||2)+1-String(a).replace("-","").length).join(u||0)+a};a.relativeLength=function(a,h,u){return/%$/.test(a)?h*parseFloat(a)/100+(u||0):parseFloat(a)};a.wrap=function(a,h,u){var p=a[h];a[h]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,q=this;q.proceed=function(){p.apply(q,arguments.length?arguments:h)};a.unshift(p);a=u.apply(this,a);
21
- q.proceed=null;return a}};a.datePropsToTimestamps=function(p){a.objectEach(p,function(h,u){a.isObject(h)&&"function"===typeof h.getTime?p[u]=h.getTime():(a.isObject(h)||a.isArray(h))&&a.datePropsToTimestamps(h)})};a.formatSingle=function(p,h,u){var v=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(p)?(u=(u=p.match(v))?u[1]:-1,null!==h&&(h=a.numberFormat(h,u,w.decimalPoint,-1<p.indexOf(",")?w.thousandsSep:""))):h=(u||a.time).dateFormat(p,h);return h};a.format=function(p,h,u){for(var v="{",w=!1,x,q,g,
22
- f,n=[],e;p;){v=p.indexOf(v);if(-1===v)break;x=p.slice(0,v);if(w){x=x.split(":");q=x.shift().split(".");f=q.length;e=h;for(g=0;g<f;g++)e&&(e=e[q[g]]);x.length&&(e=a.formatSingle(x.join(":"),e,u));n.push(e)}else n.push(x);p=p.slice(v+1);v=(w=!w)?"}":"{"}n.push(p);return n.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(p,h,u,v,w){var x,q=p;u=a.pick(u,1);x=p/u;h||(h=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===v&&(1===
23
- u?h=h.filter(function(a){return 0===a%1}):.1>=u&&(h=[1/u])));for(v=0;v<h.length&&!(q=h[v],w&&q*u>=p||!w&&x<=(h[v]+(h[v+1]||h[v]))/2);v++);return q=a.correctFloat(q*u,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,h){var p=a.length,v,w;for(w=0;w<p;w++)a[w].safeI=w;a.sort(function(a,q){v=h(a,q);return 0===v?a.safeI-q.safeI:v});for(w=0;w<p;w++)delete a[w].safeI};a.arrayMin=function(a){for(var h=a.length,p=a[0];h--;)a[h]<p&&(p=a[h]);return p};a.arrayMax=function(a){for(var h=a.length,
24
- p=a[0];h--;)a[h]>p&&(p=a[h]);return p};a.destroyObjectProperties=function(p,h){a.objectEach(p,function(a,v){a&&a!==h&&a.destroy&&a.destroy();delete p[v]})};a.discardElement=function(p){var h=a.garbageBin;h||(h=a.createElement("div"));p&&h.appendChild(p);h.innerHTML=""};a.correctFloat=function(a,h){return parseFloat(a.toPrecision(h||14))};a.setAnimation=function(p,h){h.renderer.globalAnimation=a.pick(p,h.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p?
25
- 500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,h,u,v){p=+p||0;h=+h;var w=a.defaultOptions.lang,x=(p.toString().split(".")[1]||"").split("e")[0].length,q,g,f=p.toString().split("e");-1===h?h=Math.min(x,20):a.isNumber(h)?h&&f[1]&&0>f[1]&&(q=h+ +f[1],0<=q?(f[0]=(+f[0]).toExponential(q).split("e")[0],h=q):(f[0]=f[0].split(".")[0]||0,p=20>h?(f[0]*Math.pow(10,f[1])).toFixed(h):0,f[1]=0)):h=2;g=(Math.abs(f[1]?
26
- f[0]:p)+Math.pow(10,-Math.max(h,x)-1)).toFixed(h);x=String(a.pInt(g));q=3<x.length?x.length%3:0;u=a.pick(u,w.decimalPoint);v=a.pick(v,w.thousandsSep);p=(0>p?"-":"")+(q?x.substr(0,q)+v:"");p+=x.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+v);h&&(p+=u+g.slice(-h));f[1]&&0!==+p&&(p+="e"+f[1]);return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,h,u){if("width"===h)return Math.max(0,Math.min(p.offsetWidth,p.scrollWidth,p.getBoundingClientRect&&"none"===a.getStyle(p,
27
- "transform",!1)?Math.floor(p.getBoundingClientRect().width):Infinity)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"));if("height"===h)return Math.max(0,Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"));F.getComputedStyle||a.error(27,!0);if(p=F.getComputedStyle(p,void 0))p=p.getPropertyValue(h),a.pick(u,"opacity"!==h)&&(p=a.pInt(p));return p};a.inArray=function(a,h,u){return h.indexOf(a,u)};a.find=Array.prototype.find?function(a,h){return a.find(h)}:
28
- function(a,h){var p,v=a.length;for(p=0;p<v;p++)if(h(a[p],p))return a[p]};a.keys=Object.keys;a.offset=function(a){var h=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(F.pageYOffset||h.scrollTop)-(h.clientTop||0),left:a.left+(F.pageXOffset||h.scrollLeft)-(h.clientLeft||0)}};a.stop=function(p,h){for(var u=a.timers.length;u--;)a.timers[u].elem!==p||h&&h!==a.timers[u].prop||(a.timers[u].stopped=!0)};a.objectEach=function(a,h,u){for(var p in a)a.hasOwnProperty(p)&&
29
- h.call(u||a[p],a[p],p,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(p,h){a[h]=function(a){return Array.prototype[p].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(p,h,u,v){var w,x=p.addEventListener||a.addEventListenerPolyfill;w="function"===typeof p&&p.prototype?p.prototype.protoEvents=p.prototype.protoEvents||{}:p.hcEvents=p.hcEvents||{};a.Point&&p instanceof a.Point&&p.series&&p.series.chart&&(p.series.chart.runTrackerClick=!0);x&&x.call(p,
30
- h,u,!1);w[h]||(w[h]=[]);w[h].push(u);v&&a.isNumber(v.order)&&(u.order=v.order,w[h].sort(function(a,g){return a.order-g.order}));return function(){a.removeEvent(p,h,u)}};a.removeEvent=function(p,h,u){function v(g,f){var n=p.removeEventListener||a.removeEventListenerPolyfill;n&&n.call(p,g,f,!1)}function w(g){var f,n;p.nodeName&&(h?(f={},f[h]=!0):f=g,a.objectEach(f,function(a,b){if(g[b])for(n=g[b].length;n--;)v(b,g[b][n])}))}var x,q;["protoEvents","hcEvents"].forEach(function(a){var f=p[a];f&&(h?(x=
31
- f[h]||[],u?(q=x.indexOf(u),-1<q&&(x.splice(q,1),f[h]=x),v(h,u)):(w(f),f[h]=[])):(w(f),p[a]={}))})};a.fireEvent=function(p,h,u,v){var w,x,q,g,f;u=u||{};y.createEvent&&(p.dispatchEvent||p.fireEvent)?(w=y.createEvent("Events"),w.initEvent(h,!0,!0),a.extend(w,u),p.dispatchEvent?p.dispatchEvent(w):p.fireEvent(h,w)):["protoEvents","hcEvents"].forEach(function(n){if(p[n])for(x=p[n][h]||[],q=x.length,u.target||a.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:p,type:h}),g=0;g<q;g++)(f=x[g])&&
32
- !1===f.call(p,u)&&u.preventDefault()});v&&!u.defaultPrevented&&v.call(p,u)};a.animate=function(p,h,u){var v,w="",x,q,g;a.isObject(u)||(g=arguments,u={duration:g[2],easing:g[3],complete:g[4]});a.isNumber(u.duration)||(u.duration=400);u.easing="function"===typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine;u.curAnim=a.merge(h);a.objectEach(h,function(f,g){a.stop(p,g);q=new a.Fx(p,u,g);x=null;"d"===g?(q.paths=q.initPath(p,p.d,h.d),q.toD=h.d,v=0,x=1):p.attr?v=p.attr(g):(v=parseFloat(a.getStyle(p,
33
- g))||0,"opacity"!==g&&(w="px"));x||(x=f);x&&x.match&&x.match("px")&&(x=x.replace(/px/g,""));q.run(v,x,w)})};a.seriesType=function(p,h,u,v,w){var x=a.getOptions(),q=a.seriesTypes;x.plotOptions[p]=a.merge(x.plotOptions[h],u);q[p]=a.extendClass(q[h]||function(){},v);q[p].prototype.type=p;w&&(q[p].prototype.pointClass=a.extendClass(a.Point,w));return q[p]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),h=0;return function(){return"highcharts-"+a+"-"+h++}}();a.isFunction=function(a){return"function"===
34
- typeof a};F.jQuery&&(F.jQuery.fn.highcharts=function(){var p=[].slice.call(arguments);if(this[0])return p[0]?(new (a[a.isString(p[0])?p.shift():"Chart"])(this[0],p[0],p[1]),this):C[a.attr(this[0],"data-highcharts-chart")]})});J(H,"parts/Color.js",[H["parts/Globals.js"]],function(a){var C=a.isNumber,y=a.merge,F=a.pInt;a.Color=function(p){if(!(this instanceof a.Color))return new a.Color(p);this.init(p)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,
35
- parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[F(a[1]),F(a[2]),F(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(p){var h,u,v,w;if((this.input=p=this.names[p&&p.toLowerCase?p.toLowerCase():""]||p)&&p.stops)this.stops=p.stops.map(function(h){return new a.Color(h[1])});else if(p&&p.charAt&&"#"===p.charAt()&&(h=p.length,p=parseInt(p.substr(1),16),7===h?u=[(p&16711680)>>
36
- 16,(p&65280)>>8,p&255,1]:4===h&&(u=[(p&3840)>>4|(p&3840)>>8,(p&240)>>4|p&240,(p&15)<<4|p&15,1])),!u)for(v=this.parsers.length;v--&&!u;)w=this.parsers[v],(h=w.regex.exec(p))&&(u=w.parse(h));this.rgba=u||[]},get:function(a){var h=this.input,p=this.rgba,v;this.stops?(v=y(h),v.stops=[].concat(v.stops),this.stops.forEach(function(h,p){v.stops[p]=[v.stops[p][0],h.get(a)]})):v=p&&C(p[0])?"rgb"===a||!a&&1===p[3]?"rgb("+p[0]+","+p[1]+","+p[2]+")":"a"===a?p[3]:"rgba("+p.join(",")+")":h;return v},brighten:function(a){var h,
37
- p=this.rgba;if(this.stops)this.stops.forEach(function(h){h.brighten(a)});else if(C(a)&&0!==a)for(h=0;3>h;h++)p[h]+=F(255*a),0>p[h]&&(p[h]=0),255<p[h]&&(p[h]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,h){var p=this.rgba,v=a.rgba;v.length&&p&&p.length?(a=1!==v[3]||1!==p[3],h=(a?"rgba(":"rgb(")+Math.round(v[0]+(p[0]-v[0])*(1-h))+","+Math.round(v[1]+(p[1]-v[1])*(1-h))+","+Math.round(v[2]+(p[2]-v[2])*(1-h))+(a?","+(v[3]+(p[3]-v[3])*(1-h)):"")+")"):h=a.input||
38
- "none";return h}};a.color=function(p){return new a.Color(p)}});J(H,"parts/SvgRenderer.js",[H["parts/Globals.js"]],function(a){var C,y,F=a.addEvent,p=a.animate,h=a.attr,u=a.charts,v=a.color,w=a.css,x=a.createElement,q=a.defined,g=a.deg2rad,f=a.destroyObjectProperties,n=a.doc,e=a.extend,b=a.erase,d=a.hasTouch,m=a.isArray,k=a.isFirefox,z=a.isMS,B=a.isObject,A=a.isString,r=a.isWebKit,c=a.merge,l=a.noop,E=a.objectEach,D=a.pick,G=a.pInt,t=a.removeEvent,I=a.splat,M=a.stop,Q=a.svg,K=a.SVG_NS,T=a.symbolSizes,
39
- O=a.win;C=a.SVGElement=function(){return this};e(C.prototype,{opacity:1,SVG_NS:K,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(c,b){this.element="span"===b?x(b):n.createElementNS(this.SVG_NS,b);this.renderer=c;a.fireEvent(this,"afterInit")},animate:function(c,b,t){var L=a.animObject(D(b,this.renderer.globalAnimation,!0));D(n.hidden,n.msHidden,n.webkitHidden,!1)&&(L.duration=0);
40
- 0!==L.duration?(t&&(L.complete=t),p(this,c,L)):(this.attr(c,null,t),a.objectEach(c,function(a,c){L.step&&L.step.call(this,a,{prop:c,pos:1})},this));return this},complexColor:function(b,t,l){var L=this.renderer,e,k,d,I,r,f,g,z,n,D,G,K=[],da;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?k="radialGradient":b.linearGradient&&(k="linearGradient");k&&(d=b[k],r=L.gradients,g=b.stops,D=l.radialReference,m(d)&&(b[k]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),
41
- "radialGradient"===k&&D&&!q(d.gradientUnits)&&(I=d,d=c(d,L.getRadialAttr(D,I),{gradientUnits:"userSpaceOnUse"})),E(d,function(a,c){"id"!==c&&K.push(c,a)}),E(g,function(a){K.push(a)}),K=K.join(","),r[K]?G=r[K].attr("id"):(d.id=G=a.uniqueKey(),r[K]=f=L.createElement(k).attr(d).add(L.defs),f.radAttr=I,f.stops=[],g.forEach(function(c){0===c[1].indexOf("rgba")?(e=a.color(c[1]),z=e.get("rgb"),n=e.get("a")):(z=c[1],n=1);c=L.createElement("stop").attr({offset:c[0],"stop-color":z,"stop-opacity":n}).add(f);
42
- f.stops.push(c)})),da="url("+L.url+"#"+G+")",l.setAttribute(t,da),l.gradient=K,b.toString=function(){return da})})},applyTextOutline:function(c){var b=this.element,t,l,L;-1!==c.indexOf("contrast")&&(c=c.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));c=c.split(" ");t=c[c.length-1];(l=c[0])&&"none"!==l&&a.svg&&(this.fakeTS=!0,c=[].slice.call(b.getElementsByTagName("tspan")),this.ySetter=this.xSetter,l=l.replace(/(^[\d\.]+)(.*?)$/g,function(a,c,b){return 2*c+b}),this.removeTextOutline(c),
43
- L=b.firstChild,c.forEach(function(a,c){0===c&&(a.setAttribute("x",b.getAttribute("x")),c=b.getAttribute("y"),a.setAttribute("y",c||0),null===c&&b.setAttribute("y",0));a=a.cloneNode(1);h(a,{"class":"highcharts-text-outline",fill:t,stroke:t,"stroke-width":l,"stroke-linejoin":"round"});b.insertBefore(a,L)}))},removeTextOutline:function(a){for(var c=a.length,t;c--;)t=a[c],"highcharts-text-outline"===t.getAttribute("class")&&b(a,this.element.removeChild(t))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),
44
- attr:function(c,b,t,l){var L,e=this.element,d,k=this,m,I,r=this.symbolCustomAttribs;"string"===typeof c&&void 0!==b&&(L=c,c={},c[L]=b);"string"===typeof c?k=(this[c+"Getter"]||this._defaultGetter).call(this,c,e):(E(c,function(b,t){m=!1;l||M(this,t);this.symbolName&&-1!==a.inArray(t,r)&&(d||(this.symbolAttr(c),d=!0),m=!0);!this.rotation||"x"!==t&&"y"!==t||(this.doTransform=!0);m||(I=this[t+"Setter"]||this._defaultSetter,I.call(this,b,t,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(t)&&
45
- this.updateShadows(t,b,I))},this),this.afterSetters());t&&t.call(this);return k},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,c,b){for(var t=this.shadows,l=t.length;l--;)b.call(t[l],"height"===a?Math.max(c-(t[l].cutHeight||0),0):"d"===a?this.d:c,a,t[l])},addClass:function(a,c){var b=this.attr("class")||"";c||(a=(a||"").split(/ /g).reduce(function(a,c){-1===b.indexOf(c)&&a.push(c);return a},b?[b]:[]).join(" "));a!==b&&this.attr("class",
46
- a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var c=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(b){c[b]=D(a[b],c[b])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},
47
- crisp:function(a,c){var b;c=c||a.strokeWidth||0;b=Math.round(c)%2/2;a.x=Math.floor(a.x||this.x||0)+b;a.y=Math.floor(a.y||this.y||0)+b;a.width=Math.floor((a.width||this.width||0)-2*b);a.height=Math.floor((a.height||this.height||0)-2*b);q(a.strokeWidth)&&(a.strokeWidth=c);return a},css:function(a){var c=this.styles,b={},t=this.element,l,d="",L,k=!c,m=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);c&&E(a,function(a,t){a!==c[t]&&(b[t]=a,k=!0)});k&&(c&&(a=e(c,b)),a&&(null===a.width||
48
- "auto"===a.width?delete this.textWidth:"text"===t.nodeName.toLowerCase()&&a.width&&(l=this.textWidth=G(a.width))),this.styles=a,l&&!Q&&this.renderer.forExport&&delete a.width,t.namespaceURI===this.SVG_NS?(L=function(a,c){return"-"+c.toLowerCase()},E(a,function(a,c){-1===m.indexOf(c)&&(d+=c.replace(/([A-Z])/g,L)+":"+a+";")}),d&&h(t,"style",d)):w(t,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return O.getComputedStyle(this.element||
49
- this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),c;a.indexOf("px")===a.length-2?a=G(a):(c=n.createElementNS(K,"rect"),h(c,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(c),a=c.getBBox().width,c.parentNode.removeChild(c));return a},on:function(a,c){var b=this,t=b.element;d&&"click"===a?(t.ontouchstart=function(a){b.touchEventFired=Date.now();a.preventDefault();c.call(t,a)},t.onclick=
50
- function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(b.touchEventFired||0))&&c.call(t,a)}):t["on"+a]=c;return this},setRadialReference:function(a){var c=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;c&&c.radAttr&&c.animate(this.renderer.getRadialAttr(a,c.radAttr));return this},translate:function(a,c){return this.attr({translateX:a,translateY:c})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=
51
- this.translateX||0,c=this.translateY||0,b=this.scaleX,t=this.scaleY,l=this.inverted,e=this.rotation,d=this.matrix,k=this.element;l&&(a+=this.width,c+=this.height);a=["translate("+a+","+c+")"];q(d)&&a.push("matrix("+d.join(",")+")");l?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+D(this.rotationOriginX,k.getAttribute("x"),0)+" "+D(this.rotationOriginY,k.getAttribute("y")||0)+")");(q(b)||q(t))&&a.push("scale("+D(b,1)+" "+D(t,1)+")");a.length&&k.setAttribute("transform",a.join(" "))},toFront:function(){var a=
52
- this.element;a.parentNode.appendChild(a);return this},align:function(a,c,t){var l,e,d,k,m={};e=this.renderer;d=e.alignedObjects;var I,L;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!t||A(t))this.alignTo=l=t||"renderer",b(d,this),d.push(this),t=null}else a=this.alignOptions,c=this.alignByTranslate,l=this.alignTo;t=D(t,e[l],e);l=a.align;e=a.verticalAlign;d=(t.x||0)+(a.x||0);k=(t.y||0)+(a.y||0);"right"===l?I=1:"center"===l&&(I=2);I&&(d+=(t.width-(a.width||0))/I);m[c?"translateX":"x"]=Math.round(d);
53
- "bottom"===e?L=1:"middle"===e&&(L=2);L&&(k+=(t.height-(a.height||0))/L);m[c?"translateY":"y"]=Math.round(k);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(a,c){var b,t=this.renderer,l,d=this.element,k=this.styles,m,I=this.textStr,L,r=t.cache,E=t.cacheKeys,f=d.namespaceURI===this.SVG_NS,z;c=D(c,this.rotation);l=c*g;m=t.styledMode?d&&C.prototype.getStyle.call(d,"font-size"):k&&k.fontSize;q(I)&&(z=I.toString(),-1===z.indexOf("\x3c")&&(z=z.replace(/[0-9]/g,
54
- "0")),z+=["",c||0,m,this.textWidth,k&&k.textOverflow].join());z&&!a&&(b=r[z]);if(!b){if(f||t.forExport){try{(L=this.fakeTS&&function(a){[].forEach.call(d.querySelectorAll(".highcharts-text-outline"),function(c){c.style.display=a})})&&L("none"),b=d.getBBox?e({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight},L&&L("")}catch(aa){}if(!b||0>b.width)b={width:0,height:0}}else b=this.htmlGetBBox();t.isSVG&&(a=b.width,t=b.height,f&&(b.height=t={"11px,17":14,"13px,20":16}[k&&k.fontSize+","+Math.round(t)]||
55
- t),c&&(b.width=Math.abs(t*Math.sin(l))+Math.abs(a*Math.cos(l)),b.height=Math.abs(t*Math.cos(l))+Math.abs(a*Math.sin(l))));if(z&&0<b.height){for(;250<E.length;)delete r[E.shift()];r[z]||E.push(z);r[z]=b}}return b},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var c=this;c.animate({opacity:0},{duration:a||150,complete:function(){c.attr({y:-9999})}})},add:function(a){var c=this.renderer,b=this.element,
56
- t;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&c.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)t=this.zIndexSetter();t||(a?a.element:c.box).appendChild(b);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var c=a.parentNode;c&&c.removeChild(a)},destroy:function(){var a=this,c=a.element||{},t=a.renderer,l=t.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,d=c.ownerSVGElement,e=a.clipPath;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=
57
- c.point=null;M(a);e&&d&&([].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1<a.getAttribute("clip-path").indexOf(e.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=e.destroy());if(a.stops){for(d=0;d<a.stops.length;d++)a.stops[d]=a.stops[d].destroy();a.stops=null}a.safeRemoveChild(c);for(t.styledMode||a.destroyShadows();l&&l.div&&0===l.div.childNodes.length;)c=l.parentGroup,a.safeRemoveChild(l.div),delete l.div,l=c;a.alignTo&&b(t.alignedObjects,a);E(a,function(c,b){delete a[b]});
58
- return null},shadow:function(a,c,b){var t=[],l,d,e=this.element,k,m,I,r;if(!a)this.destroyShadows();else if(!this.shadows){m=D(a.width,3);I=(a.opacity||.15)/m;r=this.parentInverted?"(-1,-1)":"("+D(a.offsetX,1)+", "+D(a.offsetY,1)+")";for(l=1;l<=m;l++)d=e.cloneNode(0),k=2*m+1-2*l,h(d,{stroke:a.color||"#000000","stroke-opacity":I*l,"stroke-width":k,transform:"translate"+r,fill:"none"}),d.setAttribute("class",(d.getAttribute("class")||"")+" highcharts-shadow"),b&&(h(d,"height",Math.max(h(d,"height")-
59
- k,0)),d.cutHeight=k),c?c.element.appendChild(d):e.parentNode&&e.parentNode.insertBefore(d,e),t.push(d);this.shadows=t}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=D(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));
60
- return a},dSetter:function(a,c,b){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[c]!==a&&(b.setAttribute(c,a),this[c]=a)},dashstyleSetter:function(a){var c,b=this["stroke-width"];"inherit"===b&&(b=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(c=a.length;c--;)a[c]=
61
- G(a[c])*b;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var c={left:"start",center:"middle",right:"end"};c[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",c[a]))},opacitySetter:function(a,c,b){this[c]=a;b.setAttribute(c,a)},titleSetter:function(a){var c=this.element.getElementsByTagName("title")[0];c||(c=n.createElementNS(this.SVG_NS,"title"),this.element.appendChild(c));c.firstChild&&c.removeChild(c.firstChild);c.appendChild(n.createTextNode(String(D(a),
62
- "").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(b,t){var d=this.element,e={textAnchor:"text-anchor"},k,m=!1,I,r=this.textPathWrapper,E=!r;t=c(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t);k=t.attributes;if(b&&t&&t.enabled){this.options&&this.options.padding&&(k.dx=-this.options.padding);r||(this.textPathWrapper=
63
- r=this.renderer.createElement("textPath"),m=!0);I=r.element;(t=b.element.getAttribute("id"))||b.element.setAttribute("id",t=a.uniqueKey());if(E)for(b=d.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),I.appendChild(b[0]);m&&r.add({element:this.text?this.text.element:d});I.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+t);q(k.dy)&&(I.parentNode.setAttribute("dy",k.dy),delete k.dy);q(k.dx)&&(I.parentNode.setAttribute("dx",k.dx),delete k.dx);a.objectEach(k,
64
- function(a,c){I.setAttribute(e[c]||c,a)});d.removeAttribute("transform");this.removeTextOutline.call(r,[].slice.call(d.getElementsByTagName("tspan")));this.applyTextOutline=this.updateTransform=l}else r&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(d,b));return this},destroyTextPath:function(a,c){var b;c.element.setAttribute("id","");for(b=this.textPathWrapper.element.childNodes;b.length;)a.firstChild.appendChild(b[0]);a.firstChild.removeChild(this.textPathWrapper.element);
65
- delete c.textPathWrapper},fillSetter:function(a,c,b){"string"===typeof a?b.setAttribute(c,a):a&&this.complexColor(a,c,b)},visibilitySetter:function(a,c,b){"inherit"===a?b.removeAttribute(c):this[c]!==a&&b.setAttribute(c,a);this[c]=a},zIndexSetter:function(a,c){var b=this.renderer,t=this.parentGroup,l=(t||b).element||b.box,d,e=this.element,k,m,b=l===b.box;d=this.added;var I;q(a)?(e.setAttribute("data-z-index",a),a=+a,this[c]===a&&(d=!1)):q(this[c])&&e.removeAttribute("data-z-index");this[c]=a;if(d){(a=
66
- this.zIndex)&&t&&(t.handleZ=!0);c=l.childNodes;for(I=c.length-1;0<=I&&!k;I--)if(t=c[I],d=t.getAttribute("data-z-index"),m=!q(d),t!==e)if(0>a&&m&&!b&&!I)l.insertBefore(e,c[I]),k=!0;else if(G(d)<=a||m&&(!q(a)||0<=a))l.insertBefore(e,c[I+1]||null),k=!0;k||(l.insertBefore(e,c[b?3:0]||null),k=!0)}return k},_defaultSetter:function(a,c,b){b.setAttribute(c,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=
67
- C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,c){this[c]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,c,b){this[c]=a;this.stroke&&this["stroke-width"]?(C.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===c&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),
68
- this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(y.prototype,{Element:C,SVG_NS:K,init:function(a,c,b,t,l,d,e){var m;m=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});e||m.css(this.getStyle(t));t=m.element;a.appendChild(t);h(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&h(t,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=t;this.boxWrapper=m;this.alignedObjects=[];this.url=(k||r)&&n.getElementsByTagName("base").length?O.location.href.split("#")[0].replace(/<[^>]*>/g,
69
- "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(n.createTextNode("Created with Highcharts 7.1.1"));this.defs=this.createElement("defs").add();this.allowHTML=d;this.forExport=l;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,b,!1);var I;k&&a.getBoundingClientRect&&(c=function(){w(a,{left:0,top:0});I=a.getBoundingClientRect();w(a,{left:Math.ceil(I.left)-I.left+"px",top:Math.ceil(I.top)-I.top+
70
- "px"})},c(),this.unSubPixelFix=F(O,"resize",c))},definition:function(a){function c(a,t){var l;I(a).forEach(function(a){var d=b.createElement(a.tagName),e={};E(a,function(a,c){"tagName"!==c&&"children"!==c&&"textContent"!==c&&(e[c]=a)});d.attr(e);d.add(t||b.defs);a.textContent&&d.element.appendChild(n.createTextNode(a.textContent));c(a.children||[],d);l=d});return l}var b=this;return c(a)},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
71
- fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();f(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var c=new this.Element;c.init(this,a);return c},draw:l,getRadialAttr:function(a,c){return{cx:a[0]-a[2]/
72
- 2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}},truncate:function(a,c,b,t,l,d,e){var k=this,m=a.rotation,I,r=t?1:0,E=(b||t).length,f=E,g=[],z=function(a){c.firstChild&&c.removeChild(c.firstChild);a&&c.appendChild(n.createTextNode(a))},q=function(d,m){m=m||d;if(void 0===g[m])if(c.getSubStringLength)try{g[m]=l+c.getSubStringLength(0,t?m+1:m)}catch(ea){}else k.getSpanWidth&&(z(e(b||t,d)),g[m]=l+k.getSpanWidth(a,c));return g[m]},D,K;a.rotation=0;D=q(c.textContent.length);if(K=l+D>d){for(;r<=E;)f=Math.ceil((r+
73
- E)/2),t&&(I=e(t,f)),D=q(f,I&&I.length-1),r===E?r=E+1:D>d?E=f-1:r=f;0===E?z(""):b&&E===b.length-1||z(I||e(b||t,f))}t&&t.splice(0,f);a.actualWidth=D;a.rotation=m;return K},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var c=a.element,b=this,t=b.forExport,l=D(a.textStr,"").toString(),d=-1!==l.indexOf("\x3c"),e=c.childNodes,k,m=h(c,"x"),I=a.styles,r=a.textWidth,f=I&&I.lineHeight,g=I&&I.textOutline,z=I&&"ellipsis"===I.textOverflow,q=
74
- I&&"nowrap"===I.whiteSpace,L=I&&I.fontSize,B,M,A=e.length,I=r&&!a.added&&this.box,T=function(a){var t;b.styledMode||(t=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:L||b.style.fontSize||12);return f?G(f):b.fontMetrics(t,a.getAttribute("style")?a:c).h},p=function(a,c){E(b.escapes,function(b,t){c&&-1!==c.indexOf(b)||(a=a.toString().replace(new RegExp(b,"g"),t))});return a},O=function(a,c){var b;b=a.indexOf("\x3c");a=a.substring(b,a.indexOf("\x3e")-b);b=a.indexOf(c+"\x3d");if(-1!==b&&(b=b+c.length+
75
- 1,c=a.charAt(b),'"'===c||"'"===c))return a=a.substring(b+1),a.substring(0,a.indexOf(c))};B=[l,z,q,f,g,L,r].join();if(B!==a.textCache){for(a.textCache=B;A--;)c.removeChild(e[A]);d||g||z||r||-1!==l.indexOf(" ")?(I&&I.appendChild(c),d?(l=b.styledMode?l.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):l.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
76
- l=l.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):l=[l],l=l.filter(function(a){return""!==a}),l.forEach(function(l,d){var e,I=0,E=0;l=l.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");e=l.split("|||");e.forEach(function(l){if(""!==l||1===e.length){var f={},g=n.createElementNS(b.SVG_NS,"tspan"),D,G;(D=O(l,"class"))&&h(g,"class",D);if(D=O(l,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),h(g,"style",
77
- D);(G=O(l,"href"))&&!t&&(h(g,"onclick",'location.href\x3d"'+G+'"'),h(g,"class","highcharts-anchor"),b.styledMode||w(g,{cursor:"pointer"}));l=p(l.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==l){g.appendChild(n.createTextNode(l));I?f.dx=0:d&&null!==m&&(f.x=m);h(g,f);c.appendChild(g);!I&&M&&(!Q&&t&&w(g,{display:"block"}),h(g,"dy",T(g)));if(r){var B=l.replace(/([^\^])-/g,"$1- ").split(" "),f=!q&&(1<e.length||d||1<B.length);G=0;var A=T(g);if(z)k=b.truncate(a,g,l,void 0,0,Math.max(0,r-parseInt(L||
78
- 12,10)),function(a,c){return a.substring(0,c)+"\u2026"});else if(f)for(;B.length;)B.length&&!q&&0<G&&(g=n.createElementNS(K,"tspan"),h(g,{dy:A,x:m}),D&&h(g,"style",D),g.appendChild(n.createTextNode(B.join(" ").replace(/- /g,"-"))),c.appendChild(g)),b.truncate(a,g,null,B,0===G?E:0,r,function(a,c){return B.slice(0,c).join(" ").replace(/- /g,"-")}),E=a.actualWidth,G++}I++}}});M=M||c.childNodes.length}),z&&k&&a.attr("title",p(a.textStr,["\x26lt;","\x26gt;"])),I&&I.removeChild(c),g&&a.applyTextOutline&&
79
- a.applyTextOutline(g)):c.appendChild(n.createTextNode(p(l)))}},getContrast:function(a){a=v(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,t,l,d,k,m,I,r,E){var f=this.label(a,b,t,r,null,null,E,null,"button"),g=0,n=this.styledMode;f.attr(c({padding:8,r:2},d));if(!n){var D,q,K,G;d=c({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},d);D=d.style;delete d.style;k=c(d,{fill:"#e6e6e6"},k);
80
- q=k.style;delete k.style;m=c(d,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);K=m.style;delete m.style;I=c(d,{style:{color:"#cccccc"}},I);G=I.style;delete I.style}F(f.element,z?"mouseover":"mouseenter",function(){3!==g&&f.setState(1)});F(f.element,z?"mouseout":"mouseleave",function(){3!==g&&f.setState(g)});f.setState=function(a){1!==a&&(f.state=g=a);f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
81
- 0]);n||f.attr([d,k,m,I][a||0]).css([D,q,K,G][a||0])};n||f.attr(d).css(e({cursor:"default"},D));return f.on("click",function(a){3!==g&&l.call(f,a)})},crispLine:function(a,c){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-c%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+c%2/2);return a},path:function(a){var c=this.styledMode?{}:{fill:"none"};m(a)?c.d=a:B(a)&&e(c,a);return this.createElement("path").attr(c)},circle:function(a,c,b){a=B(a)?a:void 0===a?{}:{x:a,y:c,r:b};c=this.createElement("circle");c.xSetter=
82
- c.ySetter=function(a,c,b){b.setAttribute("c"+c,a)};return c.attr(a)},arc:function(a,c,b,t,l,d){B(a)?(t=a,c=t.y,b=t.r,a=t.x):t={innerR:t,start:l,end:d};a=this.symbol("arc",a,c,b,b,t);a.r=b;return a},rect:function(a,c,b,t,l,d){l=B(a)?a.r:l;var e=this.createElement("rect");a=B(a)?a:void 0===a?{}:{x:a,y:c,width:Math.max(b,0),height:Math.max(t,0)};this.styledMode||(void 0!==d&&(a.strokeWidth=d,a=e.crisp(a)),a.fill="none");l&&(a.r=l);e.rSetter=function(a,c,b){e.r=a;h(b,{rx:a,ry:a})};e.rGetter=function(){return e.r};
83
- return e.attr(a)},setSize:function(a,c,b){var t=this.alignedObjects,l=t.length;this.width=a;this.height=c;for(this.boxWrapper.animate({width:a,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(b,!0)?void 0:0});l--;)t[l].align()},g:function(a){var c=this.createElement("g");return a?c.attr({"class":"highcharts-"+a}):c},image:function(a,c,b,t,l,d){var k={preserveAspectRatio:"none"},m,I=function(a,c){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
84
- "href",c):a.setAttribute("hc-svg-href",c)},r=function(c){I(m.element,a);d.call(m,c)};1<arguments.length&&e(k,{x:c,y:b,width:t,height:l});m=this.createElement("image").attr(k);d?(I(m.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),k=new O.Image,F(k,"load",r),k.src=a,k.complete&&r({})):I(m.element,a);return m},symbol:function(a,c,b,t,l,d){var k=this,m,I=/^url\((.*?)\)$/,r=I.test(a),E=!r&&(this.symbols[a]?a:"circle"),f=E&&this.symbols[E],g=q(c)&&f&&f.call(this.symbols,
85
- Math.round(c),Math.round(b),t,l,d),z,K;f?(m=this.path(g),k.styledMode||m.attr("fill","none"),e(m,{symbolName:E,x:c,y:b,width:t,height:l}),d&&e(m,d)):r&&(z=a.match(I)[1],m=this.image(z),m.imgwidth=D(T[z]&&T[z].width,d&&d.width),m.imgheight=D(T[z]&&T[z].height,d&&d.height),K=function(){m.attr({width:m.width,height:m.height})},["width","height"].forEach(function(a){m[a+"Setter"]=function(a,c){var b={},t=this["img"+c],l="width"===c?"translateX":"translateY";this[c]=a;q(t)&&(d&&"within"===d.backgroundSize&&
86
- this.width&&this.height&&(t=Math.round(t*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(c,t),this.alignByTranslate||(b[l]=((this[c]||0)-t)/2,this.attr(b)))}}),q(c)&&m.attr({x:c,y:b}),m.isImg=!0,q(m.imgwidth)&&q(m.imgheight)?K():(m.attr({width:0,height:0}),x("img",{onload:function(){var a=u[k.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),n.body.appendChild(this));T[z]={width:this.width,height:this.height};m.imgwidth=
87
- this.width;m.imgheight=this.height;m.element&&K();this.parentNode&&this.parentNode.removeChild(this);k.imgCount--;if(!k.imgCount&&a&&a.onload)a.onload()},src:z}),this.imgCount++));return m},symbols:{circle:function(a,c,b,t){return this.arc(a+b/2,c+t/2,b/2,t/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,c,b,t){return["M",a,c,"L",a+b,c,a+b,c+t,a,c+t,"Z"]},triangle:function(a,c,b,t){return["M",a+b/2,c,"L",a+b,c+t,a,c+t,"Z"]},"triangle-down":function(a,c,b,t){return["M",a,c,"L",a+b,
88
- c,a+b/2,c+t,"Z"]},diamond:function(a,c,b,t){return["M",a+b/2,c,"L",a+b,c+t/2,a+b/2,c+t,a,c+t/2,"Z"]},arc:function(a,c,b,t,l){var d=l.start,m=l.r||b,e=l.r||t||b,k=l.end-.001;b=l.innerR;t=D(l.open,.001>Math.abs(l.end-l.start-2*Math.PI));var I=Math.cos(d),r=Math.sin(d),E=Math.cos(k),k=Math.sin(k),d=.001>l.end-d-Math.PI?0:1;l=["M",a+m*I,c+e*r,"A",m,e,0,d,D(l.clockwise,1),a+m*E,c+e*k];q(b)&&l.push(t?"M":"L",a+b*E,c+b*k,"A",b,b,0,d,0,a+b*I,c+b*r);l.push(t?"":"Z");return l},callout:function(a,c,b,t,l){var d=
89
- Math.min(l&&l.r||0,b,t),m=d+6,e=l&&l.anchorX;l=l&&l.anchorY;var k;k=["M",a+d,c,"L",a+b-d,c,"C",a+b,c,a+b,c,a+b,c+d,"L",a+b,c+t-d,"C",a+b,c+t,a+b,c+t,a+b-d,c+t,"L",a+d,c+t,"C",a,c+t,a,c+t,a,c+t-d,"L",a,c+d,"C",a,c,a,c,a+d,c];e&&e>b?l>c+m&&l<c+t-m?k.splice(13,3,"L",a+b,l-6,a+b+6,l,a+b,l+6,a+b,c+t-d):k.splice(13,3,"L",a+b,t/2,e,l,a+b,t/2,a+b,c+t-d):e&&0>e?l>c+m&&l<c+t-m?k.splice(33,3,"L",a,l+6,a-6,l,a,l-6,a,c+d):k.splice(33,3,"L",a,t/2,e,l,a,t/2,a,c+d):l&&l>t&&e>a+m&&e<a+b-m?k.splice(23,3,"L",e+6,c+
90
- t,e,c+t+6,e-6,c+t,a+d,c+t):l&&0>l&&e>a+m&&e<a+b-m&&k.splice(3,3,"L",e-6,c,e,c-6,e+6,c,b-d,c);return k}},clipRect:function(c,b,t,l){var d=a.uniqueKey()+"-",e=this.createElement("clipPath").attr({id:d}).add(this.defs);c=this.rect(c,b,t,l,0).add(e);c.id=d;c.clipPath=e;c.count=0;return c},text:function(a,c,b,t){var l={};if(t&&(this.allowHTML||!this.forExport))return this.html(a,c,b);l.x=Math.round(c||0);b&&(l.y=Math.round(b));q(a)&&(l.text=a);a=this.createElement("text").attr(l);t||(a.xSetter=function(a,
91
- c,b){var t=b.getElementsByTagName("tspan"),l,d=b.getAttribute(c),e;for(e=0;e<t.length;e++)l=t[e],l.getAttribute(c)===d&&l.setAttribute(c,a);b.setAttribute(c,a)});return a},fontMetrics:function(a,c){a=!this.styledMode&&/px/.test(a)||!O.getComputedStyle?a||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize:c&&C.prototype.getStyle.call(c,"font-size");a=/px/.test(a)?G(a):12;c=24>a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a,c,b){var t=a;c&&b&&(t=Math.max(t*
92
- Math.cos(c*g),4));return{x:-a/3*Math.sin(c*g),y:t}},label:function(b,l,d,m,k,I,r,E,f){var g=this,z=g.styledMode,n=g.g("button"!==f&&"label"),D=n.text=g.text("",0,0,r).attr({zIndex:1}),K,G,B=0,M=3,A=0,h,Q,T,p,O,L={},x,v,u=/^url\((.*?)\)$/.test(m),w=z||u,da=function(){return z?K.strokeWidth()%2/2:(x?parseInt(x,10):0)%2/2},ca,N,y;f&&n.addClass("highcharts-"+f);ca=function(){var a=D.element.style,c={};G=(void 0===h||void 0===Q||O)&&q(D.textStr)&&D.getBBox();n.width=(h||G.width||0)+2*M+A;n.height=(Q||
93
- G.height||0)+2*M;v=M+Math.min(g.fontMetrics(a&&a.fontSize,D).b,G?G.height:Infinity);w&&(K||(n.box=K=g.symbols[m]||u?g.symbol(m):g.rect(),K.addClass(("button"===f?"":"highcharts-label-box")+(f?" highcharts-"+f+"-box":"")),K.add(n),a=da(),c.x=a,c.y=(E?-v:0)+a),c.width=Math.round(n.width),c.height=Math.round(n.height),K.attr(e(c,L)),L={})};N=function(){var a=A+M,c;c=E?0:v;q(h)&&G&&("center"===O||"right"===O)&&(a+={center:.5,right:1}[O]*(h-G.width));if(a!==D.x||c!==D.y)D.attr("x",a),D.hasBoxWidthChanged&&
94
- (G=D.getBBox(!0),ca()),void 0!==c&&D.attr("y",c);D.x=a;D.y=c};y=function(a,c){K?K.attr(a,c):L[a]=c};n.onAdd=function(){D.add(n);n.attr({text:b||0===b?b:"",x:l,y:d});K&&q(k)&&n.attr({anchorX:k,anchorY:I})};n.widthSetter=function(c){h=a.isNumber(c)?c:null};n.heightSetter=function(a){Q=a};n["text-alignSetter"]=function(a){O=a};n.paddingSetter=function(a){q(a)&&a!==M&&(M=n.padding=a,N())};n.paddingLeftSetter=function(a){q(a)&&a!==A&&(A=a,N())};n.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
95
- a!==B&&(B=a,G&&n.attr({x:T}))};n.textSetter=function(a){void 0!==a&&D.attr({text:a});ca();N()};n["stroke-widthSetter"]=function(a,c){a&&(w=!0);x=this["stroke-width"]=a;y(c,a)};z?n.rSetter=function(a,c){y(c,a)}:n.strokeSetter=n.fillSetter=n.rSetter=function(a,c){"r"!==c&&("fill"===c&&a&&(w=!0),n[c]=a);y(c,a)};n.anchorXSetter=function(a,c){k=n.anchorX=a;y(c,Math.round(a)-da()-T)};n.anchorYSetter=function(a,c){I=n.anchorY=a;y(c,a-p)};n.xSetter=function(a){n.x=a;B&&(a-=B*((h||G.width)+2*M),n["forceAnimate:x"]=
96
- !0);T=Math.round(a);n.attr("translateX",T)};n.ySetter=function(a){p=n.y=Math.round(a);n.attr("translateY",p)};var R=n.css;r={css:function(a){if(a){var b={};a=c(a);n.textProps.forEach(function(c){void 0!==a[c]&&(b[c]=a[c],delete a[c])});D.css(b);"width"in b&&ca();"fontSize"in b&&(ca(),N())}return R.call(n,a)},getBBox:function(){return{width:G.width+2*M,height:G.height+2*M,x:G.x-M,y:G.y-M}},destroy:function(){t(n.element,"mouseenter");t(n.element,"mouseleave");D&&(D=D.destroy());K&&(K=K.destroy());
97
- C.prototype.destroy.call(n);n=g=ca=N=y=null}};z||(r.shadow=function(a){a&&(ca(),K&&K.shadow(a));return n});return e(n,r)}});a.Renderer=y});J(H,"parts/Html.js",[H["parts/Globals.js"]],function(a){var C=a.attr,y=a.createElement,F=a.css,p=a.defined,h=a.extend,u=a.isFirefox,v=a.isMS,w=a.isWebKit,x=a.pick,q=a.pInt,g=a.SVGElement,f=a.SVGRenderer,n=a.win;h(g.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,d=x(b&&a.width,void 0),m;b&&(delete a.width,this.textWidth=d,m=!0);
98
- a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=h(this.styles,a);F(this.element,a);m&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,d=this.translateX||0,m=this.translateY||0,k=this.x||0,f=this.y||0,g=this.textAlign||"left",n={left:0,center:.5,right:1}[g],r=this.styles,
99
- c=r&&r.whiteSpace;F(b,{marginLeft:d,marginTop:m});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){F(a,{marginLeft:d+1,marginTop:m+1})});this.inverted&&[].forEach.call(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var r=this.rotation,l=this.textWidth&&q(this.textWidth),E=[r,g,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=l!==this.oldTextWidth)&&!(D=l>this.oldTextWidth)&&((D=this.textPxLength)||(F(b,{width:"",whiteSpace:c||"nowrap"}),D=b.offsetWidth),D=
100
- D>l);D&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(F(b,{width:l+"px",display:"block",whiteSpace:c||"normal"}),this.oldTextWidth=l,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;E!==this.cTT&&(c=a.fontMetrics(b.style.fontSize,b).b,!p(r)||r===(this.oldRotation||0)&&g===this.oldAlign||this.setSpanRotation(r,n,c),this.getSpanCorrection(!p(r)&&this.textPxLength||b.offsetWidth,c,n,r,g));F(b,{left:k+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});this.cTT=E;
101
- this.oldRotation=r;this.oldAlign=g}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,d){var m={},k=this.renderer.getTransformKey();m[k]=m.transform="rotate("+a+"deg)";m[k+(u?"Origin":"-origin")]=m.transformOrigin=100*b+"% "+d+"px";F(this.element,m)},getSpanCorrection:function(a,b,d){this.xCorr=-a*d;this.yCorr=-b}});h(f.prototype,{getTransformKey:function(){return v&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":w?"-webkit-transform":u?"MozTransform":n.opera?"-o-transform":""},html:function(e,
102
- b,d){var m=this.createElement("span"),k=m.element,f=m.renderer,n=f.isSVG,q=function(a,b){["opacity","visibility"].forEach(function(c){a[c+"Setter"]=function(l,d,t){var m=a.div?a.div.style:b;g.prototype[c+"Setter"].call(this,l,d,t);m&&(m[d]=l)}});a.addedSetters=!0},r=a.charts[f.chartIndex],r=r&&r.styledMode;m.textSetter=function(a){a!==k.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;k.innerHTML=x(a,"");m.doTransform=!0};n&&q(m,m.element.style);m.xSetter=m.ySetter=m.alignSetter=
103
- m.rotationSetter=function(a,b){"align"===b&&(b="textAlign");m[b]=a;m.doTransform=!0};m.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};m.attr({text:e,x:Math.round(b),y:Math.round(d)}).css({position:"absolute"});r||m.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});k.style.whiteSpace="nowrap";m.css=m.htmlCss;n&&(m.add=function(a){var c,b=f.box.parentNode,d=[];if(this.parentGroup=a){if(c=a.div,!c){for(;a;)d.push(a),a=a.parentGroup;d.reverse().forEach(function(a){function t(c,
104
- b){a[b]=c;"translateX"===b?l.left=c+"px":l.top=c+"px";a.doTransform=!0}var l,k=C(a.element,"class");k&&(k={className:k});c=a.div=a.div||y("div",k,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||b);l=c.style;h(a,{classSetter:function(a){return function(c){this.element.setAttribute("class",c);a.className=c}}(c),on:function(){d[0].div&&m.on.apply({element:d[0].div},arguments);return a},
105
- translateXSetter:t,translateYSetter:t});a.addedSetters||q(a)})}}else c=b;c.appendChild(k);m.added=!0;m.alignOnAdd&&m.htmlUpdateTransform();return m});return m}})});J(H,"parts/Time.js",[H["parts/Globals.js"]],function(a){var C=a.defined,y=a.extend,F=a.merge,p=a.pick,h=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var h=p(a&&a.useUTC,!0),x=this;this.options=a=F(!0,this.options||{},a);this.Date=a.Date||u.Date||Date;this.timezoneOffset=
106
- (this.useUTC=h)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(h&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,g){var f=g.getTime(),n=f-x.getTimezoneOffset(g);g.setTime(n);a=g["getUTC"+a]();g.setTime(f);return a},this.set=function(a,g,f){var n;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===g.getTimezoneOffset()%60)g["set"+a](f);else n=x.getTimezoneOffset(g),n=g.getTime()-n,g.setTime(n),g["setUTC"+a](f),a=x.getTimezoneOffset(g),
107
- n=g.getTime()+a,g.setTime(n)}):h?(this.get=function(a,g){return g["getUTC"+a]()},this.set=function(a,g,f){return g["setUTC"+a](f)}):(this.get=function(a,g){return g["get"+a]()},this.set=function(a,g,f){return g["set"+a](f)})},makeTime:function(h,u,x,q,g,f){var n,e,b;this.useUTC?(n=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(n),n+=e,b=this.getTimezoneOffset(n),e!==b?n+=b-e:e-36E5!==this.getTimezoneOffset(n-36E5)||a.isSafari||(n-=36E5)):n=(new this.Date(h,u,p(x,1),p(q,0),p(g,0),p(f,0))).getTime();
108
- return n},timezoneOffsetFunction:function(){var h=this,p=this.options,x=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(p.timezone){if(x)return function(a){return 6E4*-x.tz(a,p.timezone).utcOffset()};a.error(25)}return this.useUTC&&p.getTimezoneOffset?function(a){return 6E4*p.getTimezoneOffset(a)}:function(){return 6E4*(h.timezoneOffset||0)}},dateFormat:function(h,p,x){if(!a.defined(p)||isNaN(p))return a.defaultOptions.lang.invalidDate||"";h=a.pick(h,"%Y-%m-%d %H:%M:%S");
109
- var q=this,g=new this.Date(p),f=this.get("Hours",g),n=this.get("Day",g),e=this.get("Date",g),b=this.get("Month",g),d=this.get("FullYear",g),m=a.defaultOptions.lang,k=m.weekdays,z=m.shortWeekdays,B=a.pad,g=a.extend({a:z?z[n]:k[n].substr(0,3),A:k[n],d:B(e),e:B(e,2," "),w:n,b:m.shortMonths[b],B:m.months[b],m:B(b+1),o:b+1,y:d.toString().substr(2,2),Y:d,H:B(f),k:f,I:B(f%12||12),l:f%12||12,M:B(q.get("Minutes",g)),p:12>f?"AM":"PM",P:12>f?"am":"pm",S:B(g.getSeconds()),L:B(Math.floor(p%1E3),3)},a.dateFormats);
110
- a.objectEach(g,function(a,b){for(;-1!==h.indexOf("%"+b);)h=h.replace("%"+b,"function"===typeof a?a.call(q,p):a)});return x?h.substr(0,1).toUpperCase()+h.substr(1):h},resolveDTLFormat:function(h){return a.isObject(h,!0)?h:(h=a.splat(h),{main:h[0],from:h[1],to:h[2]})},getTimeTicks:function(a,u,x,q){var g=this,f=[],n,e={},b;n=new g.Date(u);var d=a.unitRange,m=a.count||1,k;q=p(q,1);if(C(u)){g.set("Milliseconds",n,d>=h.second?0:m*Math.floor(g.get("Milliseconds",n)/m));d>=h.second&&g.set("Seconds",n,d>=
111
- h.minute?0:m*Math.floor(g.get("Seconds",n)/m));d>=h.minute&&g.set("Minutes",n,d>=h.hour?0:m*Math.floor(g.get("Minutes",n)/m));d>=h.hour&&g.set("Hours",n,d>=h.day?0:m*Math.floor(g.get("Hours",n)/m));d>=h.day&&g.set("Date",n,d>=h.month?1:Math.max(1,m*Math.floor(g.get("Date",n)/m)));d>=h.month&&(g.set("Month",n,d>=h.year?0:m*Math.floor(g.get("Month",n)/m)),b=g.get("FullYear",n));d>=h.year&&g.set("FullYear",n,b-b%m);d===h.week&&(b=g.get("Day",n),g.set("Date",n,g.get("Date",n)-b+q+(b<q?-7:0)));b=g.get("FullYear",
112
- n);q=g.get("Month",n);var z=g.get("Date",n),B=g.get("Hours",n);u=n.getTime();g.variableTimezone&&(k=x-u>4*h.month||g.getTimezoneOffset(u)!==g.getTimezoneOffset(x));u=n.getTime();for(n=1;u<x;)f.push(u),u=d===h.year?g.makeTime(b+n*m,0):d===h.month?g.makeTime(b,q+n*m):!k||d!==h.day&&d!==h.week?k&&d===h.hour&&1<m?g.makeTime(b,q,z,B+n*m):u+d*m:g.makeTime(b,q,z+n*m*(d===h.day?1:7)),n++;f.push(u);d<=h.hour&&1E4>f.length&&f.forEach(function(a){0===a%18E5&&"000000000"===g.dateFormat("%H%M%S%L",a)&&(e[a]="day")})}f.info=
113
- y(a,{higherRanks:e,totalRange:d*m});return f}}});J(H,"parts/Options.js",[H["parts/Globals.js"]],function(a){var C=a.color,y=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
8
+ (function(Q,I){"object"===typeof module&&module.exports?(I["default"]=I,module.exports=Q.document?I(Q):I):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return I(Q)}):(Q.Highcharts&&Q.Highcharts.error(16,!0),Q.Highcharts=I(Q))})("undefined"!==typeof window?window:this,function(Q){function I(a,C,A,E){a.hasOwnProperty(C)||(a[C]=E.apply(null,A))}var H={};I(H,"parts/Globals.js",[],function(){var a="undefined"===typeof Q?"undefined"!==typeof window?window:{}:Q,C=a.document,
9
+ A=a.navigator&&a.navigator.userAgent||"",E=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,m=/(edge|msie|trident)/i.test(A)&&!a.opera,g=-1!==A.indexOf("Firefox"),v=-1!==A.indexOf("Chrome"),x=g&&4>parseInt(A.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.2",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:x,hasTouch:C&&"undefined"!==typeof C.documentElement.ontouchstart,isMS:m,isWebKit:-1!==A.indexOf("AppleWebKit"),isFirefox:g,isChrome:v,isSafari:!v&&
10
+ -1!==A.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});I(H,"parts/Utilities.js",[H["parts/Globals.js"]],function(a){a.timers=[];var C=a.charts,A=a.doc,E=a.win;a.error=function(m,g,v){var x=a.isNumber(m)?"Highcharts error #"+m+": www.highcharts.com/errors/"+m:m,y=function(){if(g)throw Error(x);
11
+ E.console&&console.log(x)};v?a.fireEvent(v,"displayError",{code:m,message:x},y):y()};a.Fx=function(a,g,v){this.options=g;this.elem=a;this.prop=v};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],v=[],x=this.now,y=a.length,z;if(1===x)v=this.toD;else if(y===g.length&&1>x)for(;y--;)z=parseFloat(a[y]),v[y]=isNaN(z)?g[y]:x*parseFloat(g[y]-z)+z;else v=g;this.elem.attr("d",v,null,!0)},update:function(){var a=this.elem,g=this.prop,v=this.now,x=this.options.step;if(this[g+"Setter"])this[g+
12
+ "Setter"]();else a.attr?a.element&&a.attr(g,v,null,!0):a.style[g]=v+this.unit;x&&x.call(a,v,this)},run:function(m,g,v){var x=this,y=x.options,z=function(a){return z.stopped?!1:x.step(a)},n=E.requestAnimationFrame||function(a){setTimeout(a,13)},f=function(){for(var h=0;h<a.timers.length;h++)a.timers[h]()||a.timers.splice(h--,1);a.timers.length&&n(f)};m!==g||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=m,this.end=g,this.unit=v,this.now=this.start,this.pos=0,z.elem=this.elem,
13
+ z.prop=this.prop,z()&&1===a.timers.push(z)&&n(f)):(delete y.curAnim[this.prop],y.complete&&0===Object.keys(y.curAnim).length&&y.complete.call(this.elem))},step:function(m){var g=+new Date,v,x=this.options,y=this.elem,z=x.complete,n=x.duration,f=x.curAnim;y.attr&&!y.element?m=!1:m||g>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),v=f[this.prop]=!0,a.objectEach(f,function(a){!0!==a&&(v=!1)}),v&&z&&z.call(y),m=!1):(this.pos=x.easing((g-this.startTime)/n),this.now=this.start+(this.end-
14
+ this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,g,v){function x(a){var b,d;for(c=a.length;c--;)b="M"===a[c]||"L"===a[c],d=/[a-zA-Z]/.test(a[c+3]),b&&d&&a.splice(c+1,0,a[c+1],a[c+2],a[c+1],a[c+2])}function y(a,l){for(;a.length<b;){a[0]=l[b-a.length];var d=a.slice(0,e);[].splice.apply(a,[0,0].concat(d));t&&(d=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(d)),c--)}a[0]="M"}function z(a,c){for(var d=(b-a.length)/e;0<d&&d--;)l=a.slice().splice(a.length/F-e,e*F),l[0]=
15
+ c[b-e-d*e],r&&(l[e-6]=l[e-2],l[e-5]=l[e-1]),[].splice.apply(a,[a.length/F,0].concat(l)),t&&d--}g=g||"";var n,f=m.startX,h=m.endX,r=-1<g.indexOf("C"),e=r?7:3,b,l,c;g=g.split(" ");v=v.slice();var t=m.isArea,F=t?2:1,w;r&&(x(g),x(v));if(f&&h){for(c=0;c<f.length;c++)if(f[c]===h[0]){n=c;break}else if(f[0]===h[h.length-f.length+c]){n=c;w=!0;break}else if(f[f.length-1]===h[h.length-f.length+c]){n=f.length-c;break}"undefined"===typeof n&&(g=[])}g.length&&a.isNumber(n)&&(b=v.length+n*F*e,w?(y(g,v),z(v,g)):
16
+ (y(v,g),z(g,v)));return[g,v]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var m,g=arguments,v,x={},y=function(g,n){"object"!==typeof g&&(g={});a.objectEach(n,function(f,h){!a.isObject(f,!0)||a.isClass(f)||a.isDOMElement(f)?g[h]=n[h]:g[h]=y(g[h]||{},f)});return g};!0===g[0]&&(x=g[1],g=Array.prototype.slice.call(g,2));v=g.length;for(m=0;m<
17
+ v;m++)x=y(x,g[m]);return x};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(m,g){return!!m&&"object"===typeof m&&(!g||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&&"number"===typeof m.nodeType};a.isClass=function(m){var g=m&&m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!g||!g.name||
18
+ "Object"===g.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,g){for(var m=a.length;m--;)if(a[m]===g){a.splice(m,1);break}};a.defined=function(a){return"undefined"!==typeof a&&null!==a};a.attr=function(m,g,v){var x;a.isString(g)?a.defined(v)?m.setAttribute(g,v):m&&m.getAttribute&&((x=m.getAttribute(g))||"class"!==g||(x=m.getAttribute(g+"Name"))):a.defined(g)&&a.isObject(g)&&a.objectEach(g,function(a,g){m.setAttribute(g,a)});return x};
19
+ a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,g,v){if(g)return setTimeout(a,g,v);a.call(0,v)};a.clearTimeout=function(m){a.defined(m)&&clearTimeout(m)};a.extend=function(a,g){var m;a||(a={});for(m in g)a[m]=g[m];return a};a.pick=function(){var a=arguments,g,v,x=a.length;for(g=0;g<x;g++)if(v=a[g],"undefined"!==typeof v&&null!==v)return v};a.css=function(m,g){a.isMS&&!a.svg&&g&&"undefined"!==typeof g.opacity&&(g.filter="alpha(opacity\x3d"+100*g.opacity+")");a.extend(m.style,
20
+ g)};a.createElement=function(m,g,v,x,y){m=A.createElement(m);var z=a.css;g&&a.extend(m,g);y&&z(m,{padding:"0",border:"none",margin:"0"});v&&z(m,v);x&&x.appendChild(m);return m};a.extendClass=function(m,g){var v=function(){};v.prototype=new m;a.extend(v.prototype,g);return v};a.pad=function(a,g,v){return Array((g||2)+1-String(a).replace("-","").length).join(v||"0")+a};a.relativeLength=function(a,g,v){return/%$/.test(a)?g*parseFloat(a)/100+(v||0):parseFloat(a)};a.wrap=function(a,g,v){var m=a[g];a[g]=
21
+ function(){var a=Array.prototype.slice.call(arguments),g=arguments,n=this;n.proceed=function(){m.apply(n,arguments.length?arguments:g)};a.unshift(m);a=v.apply(this,a);n.proceed=null;return a}};a.datePropsToTimestamps=function(m){a.objectEach(m,function(g,v){a.isObject(g)&&"function"===typeof g.getTime?m[v]=g.getTime():(a.isObject(g)||a.isArray(g))&&a.datePropsToTimestamps(g)})};a.formatSingle=function(m,g,v){var x=/\.([0-9])/,y=a.defaultOptions.lang;/f$/.test(m)?(v=(v=m.match(x))?v[1]:-1,null!==g&&
22
+ (g=a.numberFormat(g,v,y.decimalPoint,-1<m.indexOf(",")?y.thousandsSep:""))):g=(v||a.time).dateFormat(m,g);return g};a.format=function(m,g,v){for(var x="{",y=!1,z,n,f,h,r=[],e;m;){x=m.indexOf(x);if(-1===x)break;z=m.slice(0,x);if(y){z=z.split(":");n=z.shift().split(".");h=n.length;e=g;for(f=0;f<h;f++)e&&(e=e[n[f]]);z.length&&(e=a.formatSingle(z.join(":"),e,v));r.push(e)}else r.push(z);m=m.slice(x+1);x=(y=!y)?"}":"{"}r.push(m);return r.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/
23
+ Math.LN10))};a.normalizeTickInterval=function(m,g,v,x,y){var z,n=m;v=a.pick(v,1);z=m/v;g||(g=y?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===x&&(1===v?g=g.filter(function(a){return 0===a%1}):.1>=v&&(g=[1/v])));for(x=0;x<g.length&&!(n=g[x],y&&n*v>=m||!y&&z<=(g[x]+(g[x+1]||g[x]))/2);x++);return n=a.correctFloat(n*v,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var m=a.length,x,y;for(y=0;y<m;y++)a[y].safeI=y;a.sort(function(a,n){x=g(a,n);return 0===x?a.safeI-n.safeI:x});for(y=
24
+ 0;y<m;y++)delete a[y].safeI};a.arrayMin=function(a){for(var g=a.length,m=a[0];g--;)a[g]<m&&(m=a[g]);return m};a.arrayMax=function(a){for(var g=a.length,m=a[0];g--;)a[g]>m&&(m=a[g]);return m};a.destroyObjectProperties=function(m,g){a.objectEach(m,function(a,x){a&&a!==g&&a.destroy&&a.destroy();delete m[x]})};a.discardElement=function(m){var g=a.garbageBin;g||(g=a.createElement("div"));m&&g.appendChild(m);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=
25
+ function(m,g){g.renderer.globalAnimation=a.pick(m,g.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,g,v,x){m=+m||0;g=+g;var y=a.defaultOptions.lang,z=(m.toString().split(".")[1]||"").split("e")[0].length,n,f,h=m.toString().split("e");-1===g?g=Math.min(z,20):a.isNumber(g)?g&&h[1]&&0>h[1]&&(n=g+ +h[1],0<=n?(h[0]=
26
+ (+h[0]).toExponential(n).split("e")[0],g=n):(h[0]=h[0].split(".")[0]||0,m=20>g?(h[0]*Math.pow(10,h[1])).toFixed(g):0,h[1]=0)):g=2;f=(Math.abs(h[1]?h[0]:m)+Math.pow(10,-Math.max(g,z)-1)).toFixed(g);z=String(a.pInt(f));n=3<z.length?z.length%3:0;v=a.pick(v,y.decimalPoint);x=a.pick(x,y.thousandsSep);m=(0>m?"-":"")+(n?z.substr(0,n)+x:"");m+=z.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+x);g&&(m+=v+f.slice(-g));h[1]&&0!==+m&&(m+="e"+h[1]);return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*
27
+ a)-1)};a.getStyle=function(m,g,v){if("width"===g)return Math.max(0,Math.min(m.offsetWidth,m.scrollWidth,m.getBoundingClientRect&&"none"===a.getStyle(m,"transform",!1)?Math.floor(m.getBoundingClientRect().width):Infinity)-a.getStyle(m,"padding-left")-a.getStyle(m,"padding-right"));if("height"===g)return Math.max(0,Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,"padding-top")-a.getStyle(m,"padding-bottom"));E.getComputedStyle||a.error(27,!0);if(m=E.getComputedStyle(m,void 0))m=m.getPropertyValue(g),
28
+ a.pick(v,"opacity"!==g)&&(m=a.pInt(m));return m};a.inArray=function(a,g,v){return g.indexOf(a,v)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var m,x=a.length;for(m=0;m<x;m++)if(g(a[m],m))return a[m]};a.keys=Object.keys;a.offset=function(a){var g=A.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(E.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(E.pageXOffset||g.scrollLeft)-(g.clientLeft||0)}};a.stop=function(m,
29
+ g){for(var v=a.timers.length;v--;)a.timers[v].elem!==m||g&&g!==a.timers[v].prop||(a.timers[v].stopped=!0)};a.objectEach=function(a,g,v){for(var m in a)a.hasOwnProperty(m)&&g.call(v||a[m],a[m],m,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(m,g){a[g]=function(a){return Array.prototype[m].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(m,g,v,x){void 0===x&&(x={});var y,z=m.addEventListener||a.addEventListenerPolyfill;y="function"===typeof m&&
30
+ m.prototype?m.prototype.protoEvents=m.prototype.protoEvents||{}:m.hcEvents=m.hcEvents||{};a.Point&&m instanceof a.Point&&m.series&&m.series.chart&&(m.series.chart.runTrackerClick=!0);z&&z.call(m,g,v,!1);y[g]||(y[g]=[]);y[g].push({fn:v,order:"number"===typeof x.order?x.order:Infinity});y[g].sort(function(a,f){return a.order-f.order});return function(){a.removeEvent(m,g,v)}};a.removeEvent=function(m,g,v){function x(n,f){var h=m.removeEventListener||a.removeEventListenerPolyfill;h&&h.call(m,n,f,!1)}
31
+ function y(n){var f,h;m.nodeName&&(g?(f={},f[g]=!0):f=n,a.objectEach(f,function(a,e){if(n[e])for(h=n[e].length;h--;)x(e,n[e][h].fn)}))}var z;["protoEvents","hcEvents"].forEach(function(a){var f=m[a];f&&(g?(z=f[g]||[],v?(f[g]=z.filter(function(a){return v!==a.fn}),x(g,v)):(y(f),f[g]=[])):(y(f),m[a]={}))})};a.fireEvent=function(m,g,v,x){var y,z;v=v||{};A.createEvent&&(m.dispatchEvent||m.fireEvent)?(y=A.createEvent("Events"),y.initEvent(g,!0,!0),a.extend(y,v),m.dispatchEvent?m.dispatchEvent(y):m.fireEvent(g,
32
+ y)):(v.target||a.extend(v,{preventDefault:function(){v.defaultPrevented=!0},target:m,type:g}),function(a,f){void 0===a&&(a=[]);void 0===f&&(f=[]);var h=0,r=0,e=a.length+f.length;for(z=0;z<e;z++)!1===(a[h]?f[r]?a[h].order<=f[r].order?a[h++]:f[r++]:a[h++]:f[r++]).fn.call(m,v)&&v.preventDefault()}(m.protoEvents&&m.protoEvents[g],m.hcEvents&&m.hcEvents[g]));x&&!v.defaultPrevented&&x.call(m,v)};a.animate=function(m,g,v){var x,y="",z,n,f;a.isObject(v)||(f=arguments,v={duration:f[2],easing:f[3],complete:f[4]});
33
+ a.isNumber(v.duration)||(v.duration=400);v.easing="function"===typeof v.easing?v.easing:Math[v.easing]||Math.easeInOutSine;v.curAnim=a.merge(g);a.objectEach(g,function(h,f){a.stop(m,f);n=new a.Fx(m,v,f);z=null;"d"===f?(n.paths=n.initPath(m,m.d,g.d),n.toD=g.d,x=0,z=1):m.attr?x=m.attr(f):(x=parseFloat(a.getStyle(m,f))||0,"opacity"!==f&&(y="px"));z||(z=h);z&&z.match&&z.match("px")&&(z=z.replace(/px/g,""));n.run(x,z,y)})};a.seriesType=function(m,g,v,x,y){var z=a.getOptions(),n=a.seriesTypes;z.plotOptions[m]=
34
+ a.merge(z.plotOptions[g],v);n[m]=a.extendClass(n[g]||function(){},x);n[m].prototype.type=m;y&&(n[m].prototype.pointClass=a.extendClass(a.Point,y));return n[m]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();a.isFunction=function(a){return"function"===typeof a};E.jQuery&&(E.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]?(new (a[a.isString(m[0])?m.shift():"Chart"])(this[0],m[0],m[1]),
35
+ this):C[a.attr(this[0],"data-highcharts-chart")]})});I(H,"parts/Color.js",[H["parts/Globals.js"]],function(a){var C=a.isNumber,A=a.merge,E=a.pInt;a.Color=function(m){if(!(this instanceof a.Color))return new a.Color(m);this.init(m)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[E(a[1]),E(a[2]),E(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
36
+ parse:function(a){return[E(a[1]),E(a[2]),E(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(m){var g,v,x,y;if((this.input=m=this.names[m&&m.toLowerCase?m.toLowerCase():""]||m)&&m.stops)this.stops=m.stops.map(function(g){return new a.Color(g[1])});else if(m&&m.charAt&&"#"===m.charAt()&&(g=m.length,m=parseInt(m.substr(1),16),7===g?v=[(m&16711680)>>16,(m&65280)>>8,m&255,1]:4===g&&(v=[(m&3840)>>4|(m&3840)>>8,(m&240)>>4|m&240,(m&15)<<4|m&15,1])),!v)for(x=this.parsers.length;x--&&!v;)y=
37
+ this.parsers[x],(g=y.regex.exec(m))&&(v=y.parse(g));this.rgba=v||[]},get:function(a){var g=this.input,m=this.rgba,x;this.stops?(x=A(g),x.stops=[].concat(x.stops),this.stops.forEach(function(g,m){x.stops[m]=[x.stops[m][0],g.get(a)]})):x=m&&C(m[0])?"rgb"===a||!a&&1===m[3]?"rgb("+m[0]+","+m[1]+","+m[2]+")":"a"===a?m[3]:"rgba("+m.join(",")+")":g;return x},brighten:function(a){var g,m=this.rgba;if(this.stops)this.stops.forEach(function(g){g.brighten(a)});else if(C(a)&&0!==a)for(g=0;3>g;g++)m[g]+=E(255*
38
+ a),0>m[g]&&(m[g]=0),255<m[g]&&(m[g]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var m=this.rgba,x=a.rgba;x.length&&m&&m.length?(a=1!==x[3]||1!==m[3],g=(a?"rgba(":"rgb(")+Math.round(x[0]+(m[0]-x[0])*(1-g))+","+Math.round(x[1]+(m[1]-x[1])*(1-g))+","+Math.round(x[2]+(m[2]-x[2])*(1-g))+(a?","+(x[3]+(m[3]-x[3])*(1-g)):"")+")"):g=a.input||"none";return g}};a.color=function(m){return new a.Color(m)}});I(H,"parts/SvgRenderer.js",[H["parts/Globals.js"]],function(a){var C,
39
+ A,E=a.addEvent,m=a.animate,g=a.attr,v=a.charts,x=a.color,y=a.css,z=a.createElement,n=a.defined,f=a.deg2rad,h=a.destroyObjectProperties,r=a.doc,e=a.extend,b=a.erase,l=a.hasTouch,c=a.isArray,t=a.isFirefox,F=a.isMS,w=a.isObject,B=a.isString,p=a.isWebKit,d=a.merge,k=a.noop,u=a.objectEach,D=a.pick,G=a.pInt,q=a.removeEvent,K=a.splat,N=a.stop,O=a.svg,L=a.SVG_NS,R=a.symbolSizes,M=a.win;C=a.SVGElement=function(){return this};e(C.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
40
+ init:function(d,q){this.element="span"===q?z(q):r.createElementNS(this.SVG_NS,q);this.renderer=d;a.fireEvent(this,"afterInit")},animate:function(d,q,b){var J=a.animObject(D(q,this.renderer.globalAnimation,!0));D(r.hidden,r.msHidden,r.webkitHidden,!1)&&(J.duration=0);0!==J.duration?(b&&(J.complete=b),m(this,d,J)):(this.attr(d,void 0,b),a.objectEach(d,function(a,d){J.step&&J.step.call(this,a,{prop:d,pos:1})},this));return this},complexColor:function(q,b,k){var J=this.renderer,e,l,t,p,K,h,f,D,r,w,G,
41
+ L=[],O;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){q.radialGradient?l="radialGradient":q.linearGradient&&(l="linearGradient");l&&(t=q[l],K=J.gradients,f=q.stops,w=k.radialReference,c(t)&&(q[l]=t={x1:t[0],y1:t[1],x2:t[2],y2:t[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===l&&w&&!n(t.gradientUnits)&&(p=t,t=d(t,J.getRadialAttr(w,p),{gradientUnits:"userSpaceOnUse"})),u(t,function(a,d){"id"!==d&&L.push(d,a)}),u(f,function(a){L.push(a)}),L=L.join(","),K[L]?G=K[L].attr("id"):
42
+ (t.id=G=a.uniqueKey(),K[L]=h=J.createElement(l).attr(t).add(J.defs),h.radAttr=p,h.stops=[],f.forEach(function(d){0===d[1].indexOf("rgba")?(e=a.color(d[1]),D=e.get("rgb"),r=e.get("a")):(D=d[1],r=1);d=J.createElement("stop").attr({offset:d[0],"stop-color":D,"stop-opacity":r}).add(h);h.stops.push(d)})),O="url("+J.url+"#"+G+")",k.setAttribute(b,O),k.gradient=L,q.toString=function(){return O})})},applyTextOutline:function(d){var q=this.element,b,J,k;-1!==d.indexOf("contrast")&&(d=d.replace(/contrast/g,
43
+ this.renderer.getContrast(q.style.fill)));d=d.split(" ");b=d[d.length-1];(J=d[0])&&"none"!==J&&a.svg&&(this.fakeTS=!0,d=[].slice.call(q.getElementsByTagName("tspan")),this.ySetter=this.xSetter,J=J.replace(/(^[\d\.]+)(.*?)$/g,function(a,d,q){return 2*d+q}),this.removeTextOutline(d),k=q.firstChild,d.forEach(function(a,d){0===d&&(a.setAttribute("x",q.getAttribute("x")),d=q.getAttribute("y"),a.setAttribute("y",d||0),null===d&&q.setAttribute("y",0));a=a.cloneNode(1);g(a,{"class":"highcharts-text-outline",
44
+ fill:b,stroke:b,"stroke-width":J,"stroke-linejoin":"round"});q.insertBefore(a,k)}))},removeTextOutline:function(a){for(var d=a.length,q;d--;)q=a[d],"highcharts-text-outline"===q.getAttribute("class")&&b(a,this.element.removeChild(q))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(d,q,b,k){var J,e=this.element,c,l=this,t,p,K=this.symbolCustomAttribs;"string"===typeof d&&void 0!==q&&(J=d,d={},d[J]=q);"string"===typeof d?l=(this[d+"Getter"]||
45
+ this._defaultGetter).call(this,d,e):(u(d,function(q,b){t=!1;k||N(this,b);this.symbolName&&-1!==a.inArray(b,K)&&(c||(this.symbolAttr(d),c=!0),t=!0);!this.rotation||"x"!==b&&"y"!==b||(this.doTransform=!0);t||(p=this[b+"Setter"]||this._defaultSetter,p.call(this,q,b,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b)&&this.updateShadows(b,q,p))},this),this.afterSetters());b&&b.call(this);return l},afterSetters:function(){this.doTransform&&(this.updateTransform(),
46
+ this.doTransform=!1)},updateShadows:function(a,d,q){for(var b=this.shadows,J=b.length;J--;)q.call(b[J],"height"===a?Math.max(d-(b[J].cutHeight||0),0):"d"===a?this.d:d,a,b[J])},addClass:function(a,d){var q=this.attr("class")||"";d||(a=(a||"").split(/ /g).reduce(function(a,d){-1===q.indexOf(d)&&a.push(d);return a},q?[q]:[]).join(" "));a!==q&&this.attr("class",a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",
47
+ (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var d=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(q){d[q]=D(a[q],d[q])});d.attr({d:d.renderer.symbols[d.symbolName](d.x,d.y,d.width,d.height,d)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,d){var q;d=d||a.strokeWidth||0;q=Math.round(d)%2/2;a.x=Math.floor(a.x||this.x||0)+q;a.y=Math.floor(a.y||this.y||0)+q;a.width=
48
+ Math.floor((a.width||this.width||0)-2*q);a.height=Math.floor((a.height||this.height||0)-2*q);n(a.strokeWidth)&&(a.strokeWidth=d);return a},css:function(a){var d=this.styles,q={},b=this.element,k,J="",c,l=!d,t=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);d&&u(a,function(a,b){a!==d[b]&&(q[b]=a,l=!0)});l&&(d&&(a=e(d,q)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===b.nodeName.toLowerCase()&&a.width&&(k=this.textWidth=G(a.width))),this.styles=a,k&&!O&&this.renderer.forExport&&
49
+ delete a.width,b.namespaceURI===this.SVG_NS?(c=function(a,d){return"-"+d.toLowerCase()},u(a,function(a,d){-1===t.indexOf(d)&&(J+=d.replace(/([A-Z])/g,c)+":"+a+";")}),J&&g(b,"style",J)):y(b,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return M.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||
50
+ 0;var a=this.getStyle("stroke-width"),d;a.indexOf("px")===a.length-2?a=G(a):(d=r.createElementNS(L,"rect"),g(d,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(d),a=d.getBBox().width,d.parentNode.removeChild(d));return a},on:function(a,d){var q=this,b=q.element;l&&"click"===a?(b.ontouchstart=function(a){q.touchEventFired=Date.now();a.preventDefault();d.call(b,a)},b.onclick=function(a){(-1===M.navigator.userAgent.indexOf("Android")||1100<Date.now()-(q.touchEventFired||0))&&d.call(b,
51
+ a)}):b["on"+a]=d;return this},setRadialReference:function(a){var d=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;d&&d.radAttr&&d.animate(this.renderer.getRadialAttr(a,d.radAttr));return this},translate:function(a,d){return this.attr({translateX:a,translateY:d})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,d=this.translateY||0,q=this.scaleX,b=this.scaleY,k=this.inverted,e=this.rotation,c=
52
+ this.matrix,l=this.element;k&&(a+=this.width,d+=this.height);a=["translate("+a+","+d+")"];n(c)&&a.push("matrix("+c.join(",")+")");k?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+D(this.rotationOriginX,l.getAttribute("x"),0)+" "+D(this.rotationOriginY,l.getAttribute("y")||0)+")");(n(q)||n(b))&&a.push("scale("+D(q,1)+" "+D(b,1)+")");a.length&&l.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,d,q){var k,
53
+ e,l,c,t={};e=this.renderer;l=e.alignedObjects;var u,J;if(a){if(this.alignOptions=a,this.alignByTranslate=d,!q||B(q))this.alignTo=k=q||"renderer",b(l,this),l.push(this),q=null}else a=this.alignOptions,d=this.alignByTranslate,k=this.alignTo;q=D(q,e[k],e);k=a.align;e=a.verticalAlign;l=(q.x||0)+(a.x||0);c=(q.y||0)+(a.y||0);"right"===k?u=1:"center"===k&&(u=2);u&&(l+=(q.width-(a.width||0))/u);t[d?"translateX":"x"]=Math.round(l);"bottom"===e?J=1:"middle"===e&&(J=2);J&&(c+=(q.height-(a.height||0))/J);t[d?
54
+ "translateY":"y"]=Math.round(c);this[this.placed?"animate":"attr"](t);this.placed=!0;this.alignAttr=t;return this},getBBox:function(a,d){var q,b=this.renderer,k,l=this.element,c=this.styles,t,u=this.textStr,J,p=b.cache,K=b.cacheKeys,h=l.namespaceURI===this.SVG_NS,r;d=D(d,this.rotation);k=d*f;t=b.styledMode?l&&C.prototype.getStyle.call(l,"font-size"):c&&c.fontSize;n(u)&&(r=u.toString(),-1===r.indexOf("\x3c")&&(r=r.replace(/[0-9]/g,"0")),r+=["",d||0,t,this.textWidth,c&&c.textOverflow].join());r&&!a&&
55
+ (q=p[r]);if(!q){if(h||b.forExport){try{(J=this.fakeTS&&function(a){[].forEach.call(l.querySelectorAll(".highcharts-text-outline"),function(d){d.style.display=a})})&&J("none"),q=l.getBBox?e({},l.getBBox()):{width:l.offsetWidth,height:l.offsetHeight},J&&J("")}catch(Z){""}if(!q||0>q.width)q={width:0,height:0}}else q=this.htmlGetBBox();b.isSVG&&(a=q.width,b=q.height,h&&(q.height=b={"11px,17":14,"13px,20":16}[c&&c.fontSize+","+Math.round(b)]||b),d&&(q.width=Math.abs(b*Math.sin(k))+Math.abs(a*Math.cos(k)),
56
+ q.height=Math.abs(b*Math.cos(k))+Math.abs(a*Math.sin(k))));if(r&&0<q.height){for(;250<K.length;)delete p[K.shift()];p[r]||K.push(r);p[r]=q}}return q},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var d=this;d.animate({opacity:0},{duration:a||150,complete:function(){d.attr({y:-9999})}})},add:function(a){var d=this.renderer,q=this.element,b;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;
57
+ void 0!==this.textStr&&d.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)b=this.zIndexSetter();b||(a?a.element:d.box).appendChild(q);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var d=a.parentNode;d&&d.removeChild(a)},destroy:function(){var a=this,d=a.element||{},q=a.renderer,k=q.isSVG&&"SPAN"===d.nodeName&&a.parentGroup,e=d.ownerSVGElement,l=a.clipPath;d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null;N(a);l&&e&&([].forEach.call(e.querySelectorAll("[clip-path],[CLIP-PATH]"),
58
+ function(a){-1<a.getAttribute("clip-path").indexOf(l.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=l.destroy());if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(d);for(q.styledMode||a.destroyShadows();k&&k.div&&0===k.div.childNodes.length;)d=k.parentGroup,a.safeRemoveChild(k.div),delete k.div,k=d;a.alignTo&&b(q.alignedObjects,a);u(a,function(d,q){delete a[q]})},shadow:function(a,d,q){var b=[],k,e,l=this.element,c,t,u,p;if(!a)this.destroyShadows();
59
+ else if(!this.shadows){t=D(a.width,3);u=(a.opacity||.15)/t;p=this.parentInverted?"(-1,-1)":"("+D(a.offsetX,1)+", "+D(a.offsetY,1)+")";for(k=1;k<=t;k++)e=l.cloneNode(0),c=2*t+1-2*k,g(e,{stroke:a.color||"#000000","stroke-opacity":u*k,"stroke-width":c,transform:"translate"+p,fill:"none"}),e.setAttribute("class",(e.getAttribute("class")||"")+" highcharts-shadow"),q&&(g(e,"height",Math.max(g(e,"height")-c,0)),e.cutHeight=c),d?d.element.appendChild(e):l.parentNode&&l.parentNode.insertBefore(e,l),b.push(e);
60
+ this.shadows=b}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=D(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,d,q){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a=
61
+ "M 0 0");this[d]!==a&&(q.setAttribute(d,a),this[d]=a)},dashstyleSetter:function(a){var d,q=this["stroke-width"];"inherit"===q&&(q=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(d=a.length;d--;)a[d]=G(a[d])*q;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",
62
+ a)}},alignSetter:function(a){var d={left:"start",center:"middle",right:"end"};d[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",d[a]))},opacitySetter:function(a,d,q){this[d]=a;q.setAttribute(d,a)},titleSetter:function(a){var d=this.element.getElementsByTagName("title")[0];d||(d=r.createElementNS(this.SVG_NS,"title"),this.element.appendChild(d));d.firstChild&&d.removeChild(d.firstChild);d.appendChild(r.createTextNode(String(D(a,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,
63
+ "\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(q,b){var e=this.element,l={textAnchor:"text-anchor"},c,t=!1,u,p=this.textPathWrapper,K=!p;b=d(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},b);c=b.attributes;if(q&&b&&b.enabled){this.options&&this.options.padding&&(c.dx=-this.options.padding);p||(this.textPathWrapper=p=this.renderer.createElement("textPath"),
64
+ t=!0);u=p.element;(b=q.element.getAttribute("id"))||q.element.setAttribute("id",b=a.uniqueKey());if(K)for(q=e.getElementsByTagName("tspan");q.length;)q[0].setAttribute("y",0),u.appendChild(q[0]);t&&p.add({element:this.text?this.text.element:e});u.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+b);n(c.dy)&&(u.parentNode.setAttribute("dy",c.dy),delete c.dy);n(c.dx)&&(u.parentNode.setAttribute("dx",c.dx),delete c.dx);a.objectEach(c,function(a,d){u.setAttribute(l[d]||d,a)});
65
+ e.removeAttribute("transform");this.removeTextOutline.call(p,[].slice.call(e.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=k}else p&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(e,q));return this},destroyTextPath:function(a,d){var q;d.element.setAttribute("id","");for(q=this.textPathWrapper.element.childNodes;q.length;)a.firstChild.appendChild(q[0]);a.firstChild.removeChild(this.textPathWrapper.element);
66
+ delete d.textPathWrapper},fillSetter:function(a,d,q){"string"===typeof a?q.setAttribute(d,a):a&&this.complexColor(a,d,q)},visibilitySetter:function(a,d,q){"inherit"===a?q.removeAttribute(d):this[d]!==a&&q.setAttribute(d,a);this[d]=a},zIndexSetter:function(a,d){var q=this.renderer,b=this.parentGroup,k=(b||q).element||q.box,e,l=this.element,c=!1,t,q=k===q.box;e=this.added;var u;n(a)?(l.setAttribute("data-z-index",a),a=+a,this[d]===a&&(e=!1)):n(this[d])&&l.removeAttribute("data-z-index");this[d]=a;if(e){(a=
67
+ this.zIndex)&&b&&(b.handleZ=!0);d=k.childNodes;for(u=d.length-1;0<=u&&!c;u--)if(b=d[u],e=b.getAttribute("data-z-index"),t=!n(e),b!==l)if(0>a&&t&&!q&&!u)k.insertBefore(l,d[u]),c=!0;else if(G(e)<=a||t&&(!n(a)||0<=a))k.insertBefore(l,d[u+1]||null),c=!0;c||(k.insertBefore(l,d[q?3:0]||null),c=!0)}return c},_defaultSetter:function(a,d,q){q.setAttribute(d,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=
68
+ C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,d){this[d]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,d,q){this[d]=a;this.stroke&&this["stroke-width"]?(C.prototype.fillSetter.call(this,this.stroke,"stroke",q),q.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===d&&0===a&&this.hasStroke&&(q.removeAttribute("stroke"),
69
+ this.hasStroke=!1)};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(A.prototype,{Element:C,SVG_NS:L,init:function(a,d,q,b,k,e,l){var c;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});l||c.css(this.getStyle(b));b=c.element;a.appendChild(b);g(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&g(b,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=b;this.boxWrapper=c;this.alignedObjects=[];this.url=(t||p)&&r.getElementsByTagName("base").length?M.location.href.split("#")[0].replace(/<[^>]*>/g,
70
+ "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(r.createTextNode("Created with Highcharts 7.1.2"));this.defs=this.createElement("defs").add();this.allowHTML=e;this.forExport=k;this.styledMode=l;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,q,!1);var u;t&&a.getBoundingClientRect&&(d=function(){y(a,{left:0,top:0});u=a.getBoundingClientRect();y(a,{left:Math.ceil(u.left)-u.left+"px",top:Math.ceil(u.top)-u.top+
71
+ "px"})},d(),this.unSubPixelFix=E(M,"resize",d))},definition:function(a){function d(a,b){var k;K(a).forEach(function(a){var e=q.createElement(a.tagName),c={};u(a,function(a,d){"tagName"!==d&&"children"!==d&&"textContent"!==d&&(c[d]=a)});e.attr(c);e.add(b||q.defs);a.textContent&&e.element.appendChild(r.createTextNode(a.textContent));d(a.children||[],e);k=e});return k}var q=this;return d(a)},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',
72
+ fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();h(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var d=new this.Element;d.init(this,a);return d},draw:k,getRadialAttr:function(a,d){return{cx:a[0]-a[2]/
73
+ 2+d.cx*a[2],cy:a[1]-a[2]/2+d.cy*a[2],r:d.r*a[2]}},truncate:function(a,d,q,b,k,e,c){var l=this,u=a.rotation,t,p=b?1:0,K=(q||b).length,h=K,f=[],D=function(a){d.firstChild&&d.removeChild(d.firstChild);a&&d.appendChild(r.createTextNode(a))},w=function(e,u){u=u||e;if(void 0===f[u])if(d.getSubStringLength)try{f[u]=k+d.getSubStringLength(0,b?u+1:u)}catch(ea){""}else l.getSpanWidth&&(D(c(q||b,e)),f[u]=k+l.getSpanWidth(a,d));return f[u]},n,L;a.rotation=0;n=w(d.textContent.length);if(L=k+n>e){for(;p<=K;)h=
74
+ Math.ceil((p+K)/2),b&&(t=c(b,h)),n=w(h,t&&t.length-1),p===K?p=K+1:n>e?K=h-1:p=h;0===K?D(""):q&&K===q.length-1||D(t||c(q||b,h))}b&&b.splice(0,h);a.actualWidth=n;a.rotation=u;return L},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var d=a.element,q=this,b=q.forExport,k=D(a.textStr,"").toString(),e=-1!==k.indexOf("\x3c"),c=d.childNodes,l,t=g(d,"x"),p=a.styles,K=a.textWidth,h=p&&p.lineHeight,f=p&&p.textOutline,w=p&&"ellipsis"===p.textOverflow,
75
+ n=p&&"nowrap"===p.whiteSpace,J=p&&p.fontSize,F,N,R=c.length,p=K&&!a.added&&this.box,B=function(a){var b;q.styledMode||(b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:J||q.style.fontSize||12);return h?G(h):q.fontMetrics(b,a.getAttribute("style")?a:d).h},m=function(a,d){u(q.escapes,function(q,b){d&&-1!==d.indexOf(q)||(a=a.toString().replace(new RegExp(q,"g"),b))});return a},M=function(a,d){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(d+"\x3d");if(-1!==q&&(q=q+
76
+ d.length+1,d=a.charAt(q),'"'===d||"'"===d))return a=a.substring(q+1),a.substring(0,a.indexOf(d))};F=[k,w,n,h,f,J,K].join();if(F!==a.textCache){for(a.textCache=F;R--;)d.removeChild(c[R]);e||f||w||K||-1!==k.indexOf(" ")?(p&&p.appendChild(d),e?(k=q.styledMode?k.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):k.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
77
+ k=k.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):k=[k],k=k.filter(function(a){return""!==a}),k.forEach(function(k,e){var c,u=0,p=0;k=k.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");c=k.split("|||");c.forEach(function(k){if(""!==k||1===c.length){var h={},f=r.createElementNS(q.SVG_NS,"tspan"),D,G;(D=M(k,"class"))&&g(f,"class",D);if(D=M(k,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),g(f,"style",
78
+ D);(G=M(k,"href"))&&!b&&(g(f,"onclick",'location.href\x3d"'+G+'"'),g(f,"class","highcharts-anchor"),q.styledMode||y(f,{cursor:"pointer"}));k=m(k.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==k){f.appendChild(r.createTextNode(k));u?h.dx=0:e&&null!==t&&(h.x=t);g(f,h);d.appendChild(f);!u&&N&&(!O&&b&&y(f,{display:"block"}),g(f,"dy",B(f)));if(K){var F=k.replace(/([^\^])-/g,"$1- ").split(" "),h=!n&&(1<c.length||e||1<F.length);G=0;var R=B(f);if(w)l=q.truncate(a,f,k,void 0,0,Math.max(0,K-parseInt(J||
79
+ 12,10)),function(a,d){return a.substring(0,d)+"\u2026"});else if(h)for(;F.length;)F.length&&!n&&0<G&&(f=r.createElementNS(L,"tspan"),g(f,{dy:R,x:t}),D&&g(f,"style",D),f.appendChild(r.createTextNode(F.join(" ").replace(/- /g,"-"))),d.appendChild(f)),q.truncate(a,f,null,F,0===G?p:0,K,function(a,d){return F.slice(0,d).join(" ").replace(/- /g,"-")}),p=a.actualWidth,G++}u++}}});N=N||d.childNodes.length}),w&&l&&a.attr("title",m(a.textStr,["\x26lt;","\x26gt;"])),p&&p.removeChild(d),f&&a.applyTextOutline&&
80
+ a.applyTextOutline(f)):d.appendChild(r.createTextNode(m(k)))}},getContrast:function(a){a=x(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,q,b,k,c,l,u,t,p,K){var h=this.label(a,q,b,p,null,null,K,null,"button"),f=0,D=this.styledMode;h.attr(d({padding:8,r:2},c));if(!D){var r,w,n,G;c=d({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},c);r=c.style;delete c.style;l=d(c,{fill:"#e6e6e6"},l);
81
+ w=l.style;delete l.style;u=d(c,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},u);n=u.style;delete u.style;t=d(c,{style:{color:"#cccccc"}},t);G=t.style;delete t.style}E(h.element,F?"mouseover":"mouseenter",function(){3!==f&&h.setState(1)});E(h.element,F?"mouseout":"mouseleave",function(){3!==f&&h.setState(f)});h.setState=function(a){1!==a&&(h.state=f=a);h.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
82
+ 0]);D||h.attr([c,l,u,t][a||0]).css([r,w,n,G][a||0])};D||h.attr(c).css(e({cursor:"default"},r));return h.on("click",function(a){3!==f&&k.call(h,a)})},crispLine:function(a,d){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-d%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+d%2/2);return a},path:function(a){var d=this.styledMode?{}:{fill:"none"};c(a)?d.d=a:w(a)&&e(d,a);return this.createElement("path").attr(d)},circle:function(a,d,q){a=w(a)?a:void 0===a?{}:{x:a,y:d,r:q};d=this.createElement("circle");d.xSetter=
83
+ d.ySetter=function(a,d,q){q.setAttribute("c"+d,a)};return d.attr(a)},arc:function(a,d,q,b,k,e){w(a)?(b=a,d=b.y,q=b.r,a=b.x):b={innerR:b,start:k,end:e};a=this.symbol("arc",a,d,q,q,b);a.r=q;return a},rect:function(a,d,q,b,k,e){k=w(a)?a.r:k;var c=this.createElement("rect");a=w(a)?a:void 0===a?{}:{x:a,y:d,width:Math.max(q,0),height:Math.max(b,0)};this.styledMode||(void 0!==e&&(a.strokeWidth=e,a=c.crisp(a)),a.fill="none");k&&(a.r=k);c.rSetter=function(a,d,q){c.r=a;g(q,{rx:a,ry:a})};c.rGetter=function(){return c.r};
84
+ return c.attr(a)},setSize:function(a,d,q){var b=this.alignedObjects,k=b.length;this.width=a;this.height=d;for(this.boxWrapper.animate({width:a,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(q,!0)?void 0:0});k--;)b[k].align()},g:function(a){var d=this.createElement("g");return a?d.attr({"class":"highcharts-"+a}):d},image:function(a,d,q,b,k,c){var l={preserveAspectRatio:"none"},u,t=function(a,d){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
85
+ "href",d):a.setAttribute("hc-svg-href",d)},p=function(d){t(u.element,a);c.call(u,d)};1<arguments.length&&e(l,{x:d,y:q,width:b,height:k});u=this.createElement("image").attr(l);c?(t(u.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),l=new M.Image,E(l,"load",p),l.src=a,l.complete&&p({})):t(u.element,a);return u},symbol:function(a,d,q,b,k,c){var l=this,u,t=/^url\((.*?)\)$/,p=t.test(a),K=!p&&(this.symbols[a]?a:"circle"),h=K&&this.symbols[K],f=n(d)&&h&&h.call(this.symbols,
86
+ Math.round(d),Math.round(q),b,k,c),w,G;h?(u=this.path(f),l.styledMode||u.attr("fill","none"),e(u,{symbolName:K,x:d,y:q,width:b,height:k}),c&&e(u,c)):p&&(w=a.match(t)[1],u=this.image(w),u.imgwidth=D(R[w]&&R[w].width,c&&c.width),u.imgheight=D(R[w]&&R[w].height,c&&c.height),G=function(){u.attr({width:u.width,height:u.height})},["width","height"].forEach(function(a){u[a+"Setter"]=function(a,d){var q={},b=this["img"+d],k="width"===d?"translateX":"translateY";this[d]=a;n(b)&&(c&&"within"===c.backgroundSize&&
87
+ this.width&&this.height&&(b=Math.round(b*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(d,b),this.alignByTranslate||(q[k]=((this[d]||0)-b)/2,this.attr(q)))}}),n(d)&&u.attr({x:d,y:q}),u.isImg=!0,n(u.imgwidth)&&n(u.imgheight)?G():(u.attr({width:0,height:0}),z("img",{onload:function(){var a=v[l.chartIndex];0===this.width&&(y(this,{position:"absolute",top:"-999em"}),r.body.appendChild(this));R[w]={width:this.width,height:this.height};u.imgwidth=
88
+ this.width;u.imgheight=this.height;u.element&&G();this.parentNode&&this.parentNode.removeChild(this);l.imgCount--;if(!l.imgCount&&a&&a.onload)a.onload()},src:w}),this.imgCount++));return u},symbols:{circle:function(a,d,q,b){return this.arc(a+q/2,d+b/2,q/2,b/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,d,q,b){return["M",a,d,"L",a+q,d,a+q,d+b,a,d+b,"Z"]},triangle:function(a,d,q,b){return["M",a+q/2,d,"L",a+q,d+b,a,d+b,"Z"]},"triangle-down":function(a,d,q,b){return["M",a,d,"L",a+q,
89
+ d,a+q/2,d+b,"Z"]},diamond:function(a,d,q,b){return["M",a+q/2,d,"L",a+q,d+b/2,a+q/2,d+b,a,d+b/2,"Z"]},arc:function(a,d,q,b,k){var e=k.start,c=k.r||q,u=k.r||b||q,l=k.end-.001;q=k.innerR;b=D(k.open,.001>Math.abs(k.end-k.start-2*Math.PI));var t=Math.cos(e),p=Math.sin(e),K=Math.cos(l),l=Math.sin(l),e=.001>k.end-e-Math.PI?0:1;k=["M",a+c*t,d+u*p,"A",c,u,0,e,D(k.clockwise,1),a+c*K,d+u*l];n(q)&&k.push(b?"M":"L",a+q*K,d+q*l,"A",q,q,0,e,0,a+q*t,d+q*p);k.push(b?"":"Z");return k},callout:function(a,d,q,b,k){var e=
90
+ Math.min(k&&k.r||0,q,b),c=e+6,u=k&&k.anchorX;k=k&&k.anchorY;var l;l=["M",a+e,d,"L",a+q-e,d,"C",a+q,d,a+q,d,a+q,d+e,"L",a+q,d+b-e,"C",a+q,d+b,a+q,d+b,a+q-e,d+b,"L",a+e,d+b,"C",a,d+b,a,d+b,a,d+b-e,"L",a,d+e,"C",a,d,a,d,a+e,d];u&&u>q?k>d+c&&k<d+b-c?l.splice(13,3,"L",a+q,k-6,a+q+6,k,a+q,k+6,a+q,d+b-e):l.splice(13,3,"L",a+q,b/2,u,k,a+q,b/2,a+q,d+b-e):u&&0>u?k>d+c&&k<d+b-c?l.splice(33,3,"L",a,k+6,a-6,k,a,k-6,a,d+e):l.splice(33,3,"L",a,b/2,u,k,a,b/2,a,d+e):k&&k>b&&u>a+c&&u<a+q-c?l.splice(23,3,"L",u+6,d+
91
+ b,u,d+b+6,u-6,d+b,a+e,d+b):k&&0>k&&u>a+c&&u<a+q-c&&l.splice(3,3,"L",u-6,d,u,d-6,u+6,d,q-e,d);return l}},clipRect:function(d,q,b,k){var e=a.uniqueKey()+"-",c=this.createElement("clipPath").attr({id:e}).add(this.defs);d=this.rect(d,q,b,k,0).add(c);d.id=e;d.clipPath=c;d.count=0;return d},text:function(a,d,q,b){var k={};if(b&&(this.allowHTML||!this.forExport))return this.html(a,d,q);k.x=Math.round(d||0);q&&(k.y=Math.round(q));n(a)&&(k.text=a);a=this.createElement("text").attr(k);b||(a.xSetter=function(a,
92
+ d,q){var b=q.getElementsByTagName("tspan"),k,e=q.getAttribute(d),c;for(c=0;c<b.length;c++)k=b[c],k.getAttribute(d)===e&&k.setAttribute(d,a);q.setAttribute(d,a)});return a},fontMetrics:function(a,d){a=!this.styledMode&&/px/.test(a)||!M.getComputedStyle?a||d&&d.style&&d.style.fontSize||this.style&&this.style.fontSize:d&&C.prototype.getStyle.call(d,"font-size");a=/px/.test(a)?G(a):12;d=24>a?a+3:Math.round(1.2*a);return{h:d,b:Math.round(.8*d),f:a}},rotCorr:function(a,d,q){var b=a;d&&q&&(b=Math.max(b*
93
+ Math.cos(d*f),4));return{x:-a/3*Math.sin(d*f),y:b}},label:function(b,k,c,u,l,t,p,K,h){var f=this,D=f.styledMode,w=f.g("button"!==h&&"label"),r=w.text=f.text("",0,0,p).attr({zIndex:1}),G,L,O=0,F=3,g=0,N,R,B,m,J,M={},z,v,x=/^url\((.*?)\)$/.test(u),y=D||x,da=function(){return D?G.strokeWidth()%2/2:(z?parseInt(z,10):0)%2/2},ba,P,A;h&&w.addClass("highcharts-"+h);ba=function(){var a=r.element.style,d={};L=(void 0===N||void 0===R||J)&&n(r.textStr)&&r.getBBox();w.width=(N||L.width||0)+2*F+g;w.height=(R||
94
+ L.height||0)+2*F;v=F+Math.min(f.fontMetrics(a&&a.fontSize,r).b,L?L.height:Infinity);y&&(G||(w.box=G=f.symbols[u]||x?f.symbol(u):f.rect(),G.addClass(("button"===h?"":"highcharts-label-box")+(h?" highcharts-"+h+"-box":"")),G.add(w),a=da(),d.x=a,d.y=(K?-v:0)+a),d.width=Math.round(w.width),d.height=Math.round(w.height),G.attr(e(d,M)),M={})};P=function(){var a=g+F,d;d=K?0:v;n(N)&&L&&("center"===J||"right"===J)&&(a+={center:.5,right:1}[J]*(N-L.width));if(a!==r.x||d!==r.y)r.attr("x",a),r.hasBoxWidthChanged&&
95
+ (L=r.getBBox(!0),ba()),void 0!==d&&r.attr("y",d);r.x=a;r.y=d};A=function(a,d){G?G.attr(a,d):M[a]=d};w.onAdd=function(){r.add(w);w.attr({text:b||0===b?b:"",x:k,y:c});G&&n(l)&&w.attr({anchorX:l,anchorY:t})};w.widthSetter=function(d){N=a.isNumber(d)?d:null};w.heightSetter=function(a){R=a};w["text-alignSetter"]=function(a){J=a};w.paddingSetter=function(a){n(a)&&a!==F&&(F=w.padding=a,P())};w.paddingLeftSetter=function(a){n(a)&&a!==g&&(g=a,P())};w.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
96
+ a!==O&&(O=a,L&&w.attr({x:B}))};w.textSetter=function(a){void 0!==a&&r.attr({text:a});ba();P()};w["stroke-widthSetter"]=function(a,d){a&&(y=!0);z=this["stroke-width"]=a;A(d,a)};D?w.rSetter=function(a,d){A(d,a)}:w.strokeSetter=w.fillSetter=w.rSetter=function(a,d){"r"!==d&&("fill"===d&&a&&(y=!0),w[d]=a);A(d,a)};w.anchorXSetter=function(a,d){l=w.anchorX=a;A(d,Math.round(a)-da()-B)};w.anchorYSetter=function(a,d){t=w.anchorY=a;A(d,a-m)};w.xSetter=function(a){w.x=a;O&&(a-=O*((N||L.width)+2*F),w["forceAnimate:x"]=
97
+ !0);B=Math.round(a);w.attr("translateX",B)};w.ySetter=function(a){m=w.y=Math.round(a);w.attr("translateY",m)};var S=w.css;p={css:function(a){if(a){var q={};a=d(a);w.textProps.forEach(function(d){void 0!==a[d]&&(q[d]=a[d],delete a[d])});r.css(q);"width"in q&&ba();"fontSize"in q&&(ba(),P())}return S.call(w,a)},getBBox:function(){return{width:L.width+2*F,height:L.height+2*F,x:L.x-F,y:L.y-F}},destroy:function(){q(w.element,"mouseenter");q(w.element,"mouseleave");r&&(r=r.destroy());G&&(G=G.destroy());
98
+ C.prototype.destroy.call(w);w=f=ba=P=A=null}};D||(p.shadow=function(a){a&&(ba(),G&&G.shadow(a));return w});return e(w,p)}});a.Renderer=A});I(H,"parts/Html.js",[H["parts/Globals.js"]],function(a){var C=a.attr,A=a.createElement,E=a.css,m=a.defined,g=a.extend,v=a.isFirefox,x=a.isMS,y=a.isWebKit,z=a.pick,n=a.pInt,f=a.SVGElement,h=a.SVGRenderer,r=a.win;g(f.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,e=z(b&&a.width,void 0),c;b&&(delete a.width,this.textWidth=e,c=!0);
99
+ a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);E(this.element,a);c&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,l=this.translateX||0,c=this.translateY||0,t=this.x||0,h=this.y||0,f=this.textAlign||"left",r={left:0,center:.5,right:1}[f],p=this.styles,
100
+ d=p&&p.whiteSpace;E(b,{marginLeft:l,marginTop:c});!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){E(a,{marginLeft:l+1,marginTop:c+1})});this.inverted&&[].forEach.call(b.childNodes,function(d){a.invertChild(d,b)});if("SPAN"===b.tagName){var p=this.rotation,k=this.textWidth&&n(this.textWidth),u=[p,f,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=k!==this.oldTextWidth)&&!(D=k>this.oldTextWidth)&&((D=this.textPxLength)||(E(b,{width:"",whiteSpace:d||"nowrap"}),D=b.offsetWidth),D=
101
+ D>k);D&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(E(b,{width:k+"px",display:"block",whiteSpace:d||"normal"}),this.oldTextWidth=k,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;u!==this.cTT&&(d=a.fontMetrics(b.style.fontSize,b).b,!m(p)||p===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(p,r,d),this.getSpanCorrection(!m(p)&&this.textPxLength||b.offsetWidth,d,r,p,f));E(b,{left:t+(this.xCorr||0)+"px",top:h+(this.yCorr||0)+"px"});this.cTT=u;
102
+ this.oldRotation=p;this.oldAlign=f}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,l){var c={},e=this.renderer.getTransformKey();c[e]=c.transform="rotate("+a+"deg)";c[e+(v?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+l+"px";E(this.element,c)},getSpanCorrection:function(a,b,l){this.xCorr=-a*l;this.yCorr=-b}});g(h.prototype,{getTransformKey:function(){return x&&!/Edge/.test(r.navigator.userAgent)?"-ms-transform":y?"-webkit-transform":v?"MozTransform":r.opera?"-o-transform":""},html:function(e,
103
+ b,l){var c=this.createElement("span"),t=c.element,h=c.renderer,w=h.isSVG,r=function(a,b){["opacity","visibility"].forEach(function(d){a[d+"Setter"]=function(k,c,q){var e=a.div?a.div.style:b;f.prototype[d+"Setter"].call(this,k,c,q);e&&(e[c]=k)}});a.addedSetters=!0},p=a.charts[h.chartIndex],p=p&&p.styledMode;c.textSetter=function(a){a!==t.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;t.innerHTML=z(a,"");c.doTransform=!0};w&&r(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=
104
+ c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.doTransform=!0};c.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};c.attr({text:e,x:Math.round(b),y:Math.round(l)}).css({position:"absolute"});p||c.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});t.style.whiteSpace="nowrap";c.css=c.htmlCss;w&&(c.add=function(a){var d,b=h.box.parentNode,e=[];if(this.parentGroup=a){if(d=a.div,!d){for(;a;)e.push(a),a=a.parentGroup;e.reverse().forEach(function(a){function q(d,
105
+ q){a[q]=d;"translateX"===q?k.left=d+"px":k.top=d+"px";a.doTransform=!0}var k,u=C(a.element,"class");u&&(u={className:u});d=a.div=a.div||A("div",u,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},d||b);k=d.style;g(a,{classSetter:function(a){return function(d){this.element.setAttribute("class",d);a.className=d}}(d),on:function(){e[0].div&&c.on.apply({element:e[0].div},arguments);return a},
106
+ translateXSetter:q,translateYSetter:q});a.addedSetters||r(a)})}}else d=b;d.appendChild(t);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})});I(H,"parts/Time.js",[H["parts/Globals.js"]],function(a){var C=a.defined,A=a.extend,E=a.merge,m=a.pick,g=a.timeUnits,v=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var g=m(a&&a.useUTC,!0),z=this;this.options=a=E(!0,this.options||{},a);this.Date=a.Date||v.Date||Date;this.timezoneOffset=
107
+ (this.useUTC=g)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(g&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var h=f.getTime(),r=h-z.getTimezoneOffset(f);f.setTime(r);a=f["getUTC"+a]();f.setTime(h);return a},this.set=function(a,f,h){var r;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%60)f["set"+a](h);else r=z.getTimezoneOffset(f),r=f.getTime()-r,f.setTime(r),f["setUTC"+a](h),a=z.getTimezoneOffset(f),
108
+ r=f.getTime()+a,f.setTime(r)}):g?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,h){return f["setUTC"+a](h)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,h){return f["set"+a](h)})},makeTime:function(g,v,z,n,f,h){var r,e,b;this.useUTC?(r=this.Date.UTC.apply(0,arguments),e=this.getTimezoneOffset(r),r+=e,b=this.getTimezoneOffset(r),e!==b?r+=b-e:e-36E5!==this.getTimezoneOffset(r-36E5)||a.isSafari||(r-=36E5)):r=(new this.Date(g,v,m(z,1),m(n,0),m(f,0),m(h,0))).getTime();
109
+ return r},timezoneOffsetFunction:function(){var g=this,m=this.options,z=v.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(m.timezone){if(z)return function(a){return 6E4*-z.tz(a,m.timezone).utcOffset()};a.error(25)}return this.useUTC&&m.getTimezoneOffset?function(a){return 6E4*m.getTimezoneOffset(a)}:function(){return 6E4*(g.timezoneOffset||0)}},dateFormat:function(g,m,v){if(!a.defined(m)||isNaN(m))return a.defaultOptions.lang.invalidDate||"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");
110
+ var n=this,f=new this.Date(m),h=this.get("Hours",f),r=this.get("Day",f),e=this.get("Date",f),b=this.get("Month",f),l=this.get("FullYear",f),c=a.defaultOptions.lang,t=c.weekdays,F=c.shortWeekdays,w=a.pad,f=a.extend({a:F?F[r]:t[r].substr(0,3),A:t[r],d:w(e),e:w(e,2," "),w:r,b:c.shortMonths[b],B:c.months[b],m:w(b+1),o:b+1,y:l.toString().substr(2,2),Y:l,H:w(h),k:h,I:w(h%12||12),l:h%12||12,M:w(n.get("Minutes",f)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:w(f.getSeconds()),L:w(Math.floor(m%1E3),3)},a.dateFormats);
111
+ a.objectEach(f,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(n,m):a)});return v?g.substr(0,1).toUpperCase()+g.substr(1):g},resolveDTLFormat:function(g){return a.isObject(g,!0)?g:(g=a.splat(g),{main:g[0],from:g[1],to:g[2]})},getTimeTicks:function(a,v,z,n){var f=this,h=[],r,e={},b;r=new f.Date(v);var l=a.unitRange,c=a.count||1,t;n=m(n,1);if(C(v)){f.set("Milliseconds",r,l>=g.second?0:c*Math.floor(f.get("Milliseconds",r)/c));l>=g.second&&f.set("Seconds",r,l>=
112
+ g.minute?0:c*Math.floor(f.get("Seconds",r)/c));l>=g.minute&&f.set("Minutes",r,l>=g.hour?0:c*Math.floor(f.get("Minutes",r)/c));l>=g.hour&&f.set("Hours",r,l>=g.day?0:c*Math.floor(f.get("Hours",r)/c));l>=g.day&&f.set("Date",r,l>=g.month?1:Math.max(1,c*Math.floor(f.get("Date",r)/c)));l>=g.month&&(f.set("Month",r,l>=g.year?0:c*Math.floor(f.get("Month",r)/c)),b=f.get("FullYear",r));l>=g.year&&f.set("FullYear",r,b-b%c);l===g.week&&(b=f.get("Day",r),f.set("Date",r,f.get("Date",r)-b+n+(b<n?-7:0)));b=f.get("FullYear",
113
+ r);n=f.get("Month",r);var F=f.get("Date",r),w=f.get("Hours",r);v=r.getTime();f.variableTimezone&&(t=z-v>4*g.month||f.getTimezoneOffset(v)!==f.getTimezoneOffset(z));v=r.getTime();for(r=1;v<z;)h.push(v),v=l===g.year?f.makeTime(b+r*c,0):l===g.month?f.makeTime(b,n+r*c):!t||l!==g.day&&l!==g.week?t&&l===g.hour&&1<c?f.makeTime(b,n,F,w+r*c):v+l*c:f.makeTime(b,n,F+r*c*(l===g.day?1:7)),r++;h.push(v);l<=g.hour&&1E4>h.length&&h.forEach(function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(e[a]="day")})}h.info=
114
+ A(a,{higherRanks:e,totalRange:l*c});return h}}});I(H,"parts/Options.js",[H["parts/Globals.js"]],function(a){var C=a.color,A=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
114
115
  weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",
115
116
  plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",
116
117
  textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",
117
118
  second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,
118
- style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=y(!0,a.defaultOptions,C);a.time.update(y(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
119
- a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,p,h){return a.time.dateFormat(y,p,h)}});J(H,"parts/Tick.js",[H["parts/Globals.js"]],function(a){var C=a.correctFloat,y=a.defined,F=a.destroyObjectProperties,p=a.fireEvent,h=a.isNumber,u=a.merge,v=a.pick,w=a.deg2rad;a.Tick=function(a,q,g,f,n){this.axis=a;this.pos=q;this.type=g||"";this.isNewLabel=this.isNew=!0;this.parameters=n||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
120
- this.options=this.parameters.options;g||f||this.addLabel()};a.Tick.prototype={addLabel:function(){var h=this,q=h.axis,g=q.options,f=q.chart,n=q.categories,e=q.names,b=h.pos,d=v(h.options&&h.options.labels,g.labels),m=q.tickPositions,k=b===m[0],z=b===m[m.length-1],n=this.parameters.category||(n?v(n[b],e[b],b):b),B=h.label,m=m.info,A,r,c,l;q.isDatetimeAxis&&m&&(r=f.time.resolveDTLFormat(g.dateTimeLabelFormats[!g.grid&&m.higherRanks[b]||m.unitName]),A=r.main);h.isFirst=k;h.isLast=z;h.formatCtx={axis:q,
121
- chart:f,isFirst:k,isLast:z,dateTimeLabelFormat:A,tickPositionInfo:m,value:q.isLog?C(q.lin2log(n)):n,pos:b};g=q.labelFormatter.call(h.formatCtx,this.formatCtx);if(l=r&&r.list)h.shortenLabel=function(){for(c=0;c<l.length;c++)if(B.attr({text:q.labelFormatter.call(a.extend(h.formatCtx,{dateTimeLabelFormat:l[c]}))}),B.getBBox().width<q.getSlotWidth(h)-2*v(d.padding,5))return;B.attr({text:""})};if(y(B))B&&B.textStr!==g&&(!B.textWidth||d.style&&d.style.width||B.styles.width||B.css({width:null}),B.attr({text:g}));
122
- else{if(h.label=B=y(g)&&d.enabled?f.renderer.text(g,0,0,d.useHTML).add(q.labelGroup):null)f.styledMode||B.css(u(d.style)),B.textPxLength=B.getBBox().width;h.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var q=this.axis,g=q.options.labels,f=a.x,n=q.chart.chartWidth,e=q.chart.spacing,b=v(q.labelLeft,Math.min(q.pos,e[3])),e=v(q.labelRight,Math.max(q.isRadial?0:q.pos+q.len,n-e[1])),d=this.label,m=this.rotation,
123
- k={left:0,center:.5,right:1}[q.labelAlign||d.attr("align")],z=d.getBBox().width,h=q.getSlotWidth(this),A=h,r=1,c,l={};if(m||"justify"!==v(g.overflow,"justify"))0>m&&f-k*z<b?c=Math.round(f/Math.cos(m*w)-b):0<m&&f+k*z>e&&(c=Math.round((n-f)/Math.cos(m*w)));else if(n=f+(1-k)*z,f-k*z<b?A=a.x+A*(1-k)-b:n>e&&(A=e-a.x+A*k,r=-1),A=Math.min(h,A),A<h&&"center"===q.labelAlign&&(a.x+=r*(h-A-k*(h-Math.min(z,A)))),z>A||q.autoRotation&&(d.styles||{}).width)c=A;c&&(this.shortenLabel?this.shortenLabel():(l.width=
124
- Math.floor(c),(g.style||{}).textOverflow||(l.textOverflow="ellipsis"),d.css(l)))},getPosition:function(h,q,g,f){var n=this.axis,e=n.chart,b=f&&e.oldChartHeight||e.chartHeight;h={x:h?a.correctFloat(n.translate(q+g,null,null,f)+n.transB):n.left+n.offset+(n.opposite?(f&&e.oldChartWidth||e.chartWidth)-n.right-n.left:0),y:h?b-n.bottom+n.offset-(n.opposite?n.height:0):a.correctFloat(b-n.translate(q+g,null,null,f)-n.transB)};p(this,"afterGetPosition",{pos:h});return h},getLabelPosition:function(a,q,g,f,
125
- n,e,b,d){var m=this.axis,k=m.transA,z=m.reversed,h=m.staggerLines,A=m.tickRotCorr||{x:0,y:0},r=n.y,c=f||m.reserveSpaceDefault?0:-m.labelOffset*("center"===m.labelAlign?.5:1),l={};y(r)||(r=0===m.side?g.rotation?-8:-g.getBBox().height:2===m.side?A.y+8:Math.cos(g.rotation*w)*(A.y-g.getBBox(!1,0).height/2));a=a+n.x+c+A.x-(e&&f?e*k*(z?-1:1):0);q=q+r-(e&&!f?e*k*(z?1:-1):0);h&&(g=b/(d||1)%h,m.opposite&&(g=h-g-1),q+=m.labelOffset/h*g);l.x=a;l.y=Math.round(q);p(this,"afterGetLabelPosition",{pos:l,tickmarkOffset:e,
126
- index:b});return l},getMarkPath:function(a,q,g,f,n,e){return e.crispLine(["M",a,q,"L",a+(n?0:-g),q+(n?g:0)],f)},renderGridLine:function(a,q,g){var f=this.axis,n=f.options,e=this.gridLine,b={},d=this.pos,m=this.type,k=v(this.tickmarkOffset,f.tickmarkOffset),z=f.chart.renderer,h=m?m+"Grid":"grid",A=n[h+"LineWidth"],r=n[h+"LineColor"],n=n[h+"LineDashStyle"];e||(f.chart.styledMode||(b.stroke=r,b["stroke-width"]=A,n&&(b.dashstyle=n)),m||(b.zIndex=1),a&&(q=0),this.gridLine=e=z.path().attr(b).addClass("highcharts-"+
127
- (m?m+"-":"")+"grid-line").add(f.gridGroup));if(e&&(g=f.getPlotLinePath(d+k,e.strokeWidth()*g,a,"pass")))e[a||this.isNew?"attr":"animate"]({d:g,opacity:q})},renderMark:function(a,q,g){var f=this.axis,n=f.options,e=f.chart.renderer,b=this.type,d=b?b+"Tick":"tick",m=f.tickSize(d),k=this.mark,z=!k,h=a.x;a=a.y;var A=v(n[d+"Width"],!b&&f.isXAxis?1:0),n=n[d+"Color"];m&&(f.opposite&&(m[0]=-m[0]),z&&(this.mark=k=e.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||k.attr({stroke:n,
128
- "stroke-width":A})),k[z?"attr":"animate"]({d:this.getMarkPath(h,a,m[0],k.strokeWidth()*g,f.horiz,e),opacity:q}))},renderLabel:function(a,q,g,f){var n=this.axis,e=n.horiz,b=n.options,d=this.label,m=b.labels,k=m.step,n=v(this.tickmarkOffset,n.tickmarkOffset),z=!0,B=a.x;a=a.y;d&&h(B)&&(d.xy=a=this.getLabelPosition(B,a,d,e,m,n,f,k),this.isFirst&&!this.isLast&&!v(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(b.showLastLabel,1)?z=!1:!e||m.step||m.rotation||q||0===g||this.handleOverflow(a),k&&f%k&&
129
- (z=!1),z&&h(a.y)?(a.opacity=g,d[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(d.attr("y",-9999),this.isNewLabel=!0))},render:function(h,q,g){var f=this.axis,n=f.horiz,e=this.pos,b=v(this.tickmarkOffset,f.tickmarkOffset),e=this.getPosition(n,e,b,q),b=e.x,d=e.y,f=n&&b===f.pos+f.len||!n&&d===f.pos?-1:1;g=v(g,1);this.isActive=!0;this.renderGridLine(q,g,f);this.renderMark(e,g,f);this.renderLabel(e,q,g,h);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){F(this,this.axis)}}});
130
- J(H,"parts/Axis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animObject,F=a.arrayMax,p=a.arrayMin,h=a.color,u=a.correctFloat,v=a.defaultOptions,w=a.defined,x=a.deg2rad,q=a.destroyObjectProperties,g=a.extend,f=a.fireEvent,n=a.format,e=a.getMagnitude,b=a.isArray,d=a.isNumber,m=a.isString,k=a.merge,z=a.normalizeTickInterval,B=a.objectEach,A=a.pick,r=a.removeEvent,c=a.seriesTypes,l=a.splat,E=a.syncTimeout,D=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
131
- range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
132
- style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
133
- textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(a,c){var b=c.isX,t=this;t.chart=a;t.horiz=a.inverted&&!t.isZAxis?!b:b;t.isXAxis=b;t.coll=t.coll||(b?"xAxis":"yAxis");f(this,"init",{userOptions:c});
134
- t.opposite=c.opposite;t.side=c.side||(t.horiz?t.opposite?0:2:t.opposite?1:3);t.setOptions(c);var d=this.options,m=d.type;t.labelFormatter=d.labels.formatter||t.defaultLabelFormatter;t.userOptions=c;t.minPixelPadding=0;t.reversed=d.reversed;t.visible=!1!==d.visible;t.zoomEnabled=!1!==d.zoomEnabled;t.hasNames="category"===m||!0===d.categories;t.categories=d.categories||t.hasNames;t.names||(t.names=[],t.names.keys={});t.plotLinesAndBandsGroups={};t.isLog="logarithmic"===m;t.isDatetimeAxis="datetime"===
135
- m;t.positiveValuesOnly=t.isLog&&!t.allowNegativeLog;t.isLinked=w(d.linkedTo);t.ticks={};t.labelEdge=[];t.minorTicks={};t.plotLinesAndBands=[];t.alternateBands={};t.len=0;t.minRange=t.userMinRange=d.minRange||d.maxZoom;t.range=d.range;t.offset=d.offset||0;t.stacks={};t.oldStacks={};t.stacksTouched=0;t.max=null;t.min=null;t.crosshair=A(d.crosshair,l(a.options.tooltip.crosshairs)[b?0:1],!1);c=t.options.events;-1===a.axes.indexOf(t)&&(b?a.axes.splice(a.xAxis.length,0,t):a.axes.push(t),a[t.coll].push(t));
136
- t.series=t.series||[];a.inverted&&!t.isZAxis&&b&&void 0===t.reversed&&(t.reversed=!0);B(c,function(a,c){C(t,c,a)});t.lin2log=d.linearToLogConverter||t.lin2log;t.isLog&&(t.val2lin=t.log2lin,t.lin2val=t.lin2log);f(this,"afterInit")},setOptions:function(a){this.options=k(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],k(v[this.coll],a));f(this,"afterSetOptions",
137
- {userOptions:a})},defaultLabelFormatter:function(){var c=this.axis,b=this.value,l=c.chart.time,d=c.categories,m=this.dateTimeLabelFormat,k=v.lang,e=k.numericSymbols,k=k.numericSymbolMagnitude||1E3,r=e&&e.length,f,E=c.options.labels.format,c=c.isLog?Math.abs(b):c.tickInterval;if(E)f=n(E,this,l);else if(d)f=b;else if(m)f=l.dateFormat(m,b);else if(r&&1E3<=c)for(;r--&&void 0===f;)l=Math.pow(k,r+1),c>=l&&0===10*b%l&&null!==e[r]&&0!==b&&(f=a.numberFormat(b/l,-1)+e[r]);void 0===f&&(f=1E4<=Math.abs(b)?a.numberFormat(b,
138
- -1):a.numberFormat(b,-1,void 0,""));return f},getSeriesExtremes:function(){var a=this,c=a.chart,b;f(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(t){if(t.visible||!c.options.chart.ignoreHiddenSeries){var l=t.options,m=l.threshold,k,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=m&&(m=null);if(a.isXAxis)l=t.xData,l.length&&(b=t.getXExtremes(l),k=b.min,e=b.max,
139
- d(k)||k instanceof Date||(l=l.filter(d),b=t.getXExtremes(l),k=b.min,e=b.max),l.length&&(a.dataMin=Math.min(A(a.dataMin,k),k),a.dataMax=Math.max(A(a.dataMax,e),e)));else if(t.getExtremes(),e=t.dataMax,k=t.dataMin,w(k)&&w(e)&&(a.dataMin=Math.min(A(a.dataMin,k),k),a.dataMax=Math.max(A(a.dataMax,e),e)),w(m)&&(a.threshold=m),!l.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});f(this,"afterGetSeriesExtremes")},translate:function(a,c,b,l,k,m){var t=this.linkedParent||this,e=1,I=0,r=l?t.oldTransA:
140
- t.transA;l=l?t.oldMin:t.min;var f=t.minPixelPadding;k=(t.isOrdinal||t.isBroken||t.isLog&&k)&&t.lin2val;r||(r=t.transA);b&&(e*=-1,I=t.len);t.reversed&&(e*=-1,I-=e*(t.sector||t.len));c?(a=(a*e+I-f)/r+l,k&&(a=t.lin2val(a))):(k&&(a=t.val2lin(a)),a=d(l)?e*(a-l)*r+I+e*f+(d(m)?r*m:0):void 0);return a},toPixels:function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)},toValue:function(a,c){return this.translate(a-(c?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,c,b,l,
141
- k){var t=this,m=t.chart,e=t.left,I=t.top,r,E,g,n,z=b&&m.oldChartHeight||m.chartHeight,D=b&&m.oldChartWidth||m.chartWidth,G,q=t.transB,h,K=function(a,c,b){if("pass"!==l&&a<c||a>b)l?a=Math.min(Math.max(c,a),b):G=!0;return a};h={value:a,lineWidth:c,old:b,force:l,translatedValue:k};f(this,"getPlotLinePath",h,function(f){k=A(k,t.translate(a,null,null,b));k=Math.min(Math.max(-1E5,k),1E5);r=g=Math.round(k+q);E=n=Math.round(z-k-q);d(k)?t.horiz?(E=I,n=z-t.bottom,r=g=K(r,e,e+t.width)):(r=e,g=D-t.right,E=n=
142
- K(E,I,I+t.height)):(G=!0,l=!1);f.path=G&&!l?null:m.renderer.crispLine(["M",r,E,"L",g,n],c||1)});return h.path},getLinearTickPositions:function(a,c,b){var t,l=u(Math.floor(c/a)*a);b=u(Math.ceil(b/a)*a);var d=[],k;u(l+a)===l&&(k=20);if(this.single)return[c];for(c=l;c<=b;){d.push(c);c=u(c+a,k);if(c===t)break;t=c}return d},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?A(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=
143
- this,c=a.options,b=a.tickPositions,l=a.minorTickInterval,d=[],k=a.pointRangePadding||0,m=a.min-k,k=a.max+k,e=k-m;if(e&&e/l<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(c,b,t){b&&d.push.apply(d,a.getLogTickPositions(l,t[b-1],t[b],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())d=d.concat(a.getTimeTicks(a.normalizeTimeTickInterval(l),m,k,c.startOfWeek));else for(c=m+(b[0]-m)%l;c<=k&&c!==d[0];c+=l)d.push(c);0!==d.length&&a.trimTicks(d);return d},adjustForMinRange:function(){var a=
144
- this.options,c=this.min,b=this.max,l,d,k,m,e,r,f,E;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(w(a.min)||w(a.max)?this.minRange=null:(this.series.forEach(function(a){r=a.xData;for(m=f=a.xIncrement?1:r.length-1;0<m;m--)if(e=r[m]-r[m-1],void 0===k||e<k)k=e}),this.minRange=Math.min(5*k,this.dataMax-this.dataMin)));b-c<this.minRange&&(d=this.dataMax-this.dataMin>=this.minRange,E=this.minRange,l=(E-b+c)/2,l=[c-l,A(a.min,c-l)],d&&(l[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),c=F(l),
145
- b=[c+E,A(a.max,c+E)],d&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=p(b),b-c<E&&(l[0]=b-E,l[1]=A(a.min,b-E),c=F(l)));this.min=c;this.max=b},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(c){var b=c.closestPointRange,t=c.visible||!c.chart.options.chart.ignoreHiddenSeries;!c.noSharedTooltip&&w(b)&&t&&(a=w(a)?Math.min(a,b):b)});return a},nameToX:function(a){var c=b(this.categories),t=c?this.categories:this.names,l=a.options.x,d;a.series.requireSorting=!1;
146
- w(l)||(l=!1===this.options.uniqueNames?a.series.autoIncrement():c?t.indexOf(a.name):A(t.keys[a.name],-1));-1===l?c||(d=t.length):d=l;void 0!==d&&(this.names[d]=a.name,this.names.keys[a.name]=d);return d},updateNames:function(){var a=this,c=this.names;0<c.length&&(Object.keys(c.keys).forEach(function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(c){c.xIncrement=null;if(!c.points||c.isDirtyData)a.max=Math.max(a.max,c.xData.length-1),c.processData(),
147
- c.generatePoints();c.data.forEach(function(b,t){var l;b&&b.options&&void 0!==b.name&&(l=a.nameToX(b),void 0!==l&&l!==b.x&&(b.x=l,c.xData[t]=l))})}))},setAxisTranslation:function(a){var b=this,t=b.max-b.min,l=b.axisPointRange||0,d,k=0,e=0,r=b.linkedParent,E=!!b.categories,g=b.transA,n=b.isXAxis;if(n||E||l)d=b.getClosest(),r?(k=r.minPointOffset,e=r.pointRangePadding):b.series.forEach(function(a){var t=E?1:n?A(a.options.pointRange,d,0):b.axisPointRange||0,r=a.options.pointPlacement;l=Math.max(l,t);if(!b.single||
148
- E)a=c.xrange&&a instanceof c.xrange?!n:n,k=Math.max(k,a&&m(r)?0:t/2),e=Math.max(e,a&&"on"===r?0:t)}),r=b.ordinalSlope&&d?b.ordinalSlope/d:1,b.minPointOffset=k*=r,b.pointRangePadding=e*=r,b.pointRange=Math.min(l,t),n&&(b.closestPointRange=d);a&&(b.oldTransA=g);b.translationSlope=b.transA=g=b.staticScale||b.len/(t+e||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=g*k;f(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(c){var b=this,
149
- t=b.chart,l=b.options,k=b.isLog,m=b.isDatetimeAxis,r=b.isXAxis,E=b.isLinked,g=l.maxPadding,n=l.minPadding,D,G=l.tickInterval,q=l.tickPixelInterval,h=b.categories,B=d(b.threshold)?b.threshold:null,p=b.softThreshold,v,x,y;m||h||E||this.getTickAmount();x=A(b.userMin,l.min);y=A(b.userMax,l.max);E?(b.linkedParent=t[b.coll][l.linkedTo],D=b.linkedParent.getExtremes(),b.min=A(D.min,D.dataMin),b.max=A(D.max,D.dataMax),l.type!==b.linkedParent.options.type&&a.error(11,1,t)):(!p&&w(B)&&(b.dataMin>=B?(D=B,n=0):
150
- b.dataMax<=B&&(v=B,g=0)),b.min=A(x,D,b.dataMin),b.max=A(y,v,b.dataMax));k&&(b.positiveValuesOnly&&!c&&0>=Math.min(b.min,A(b.dataMin,b.min))&&a.error(10,1,t),b.min=u(b.log2lin(b.min),15),b.max=u(b.log2lin(b.max),15));b.range&&w(b.max)&&(b.userMin=b.min=x=Math.max(b.dataMin,b.minFromRange()),b.userMax=y=b.max,b.range=null);f(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(h||b.axisPointRange||b.usePercentage||E)&&w(b.min)&&w(b.max)&&(t=b.max-b.min)&&(!w(x)&&n&&(b.min-=
151
- t*n),!w(y)&&g&&(b.max+=t*g));d(l.softMin)&&!d(b.userMin)&&l.softMin<b.min&&(b.min=x=l.softMin);d(l.softMax)&&!d(b.userMax)&&l.softMax>b.max&&(b.max=y=l.softMax);d(l.floor)&&(b.min=Math.min(Math.max(b.min,l.floor),Number.MAX_VALUE));d(l.ceiling)&&(b.max=Math.max(Math.min(b.max,l.ceiling),A(b.userMax,-Number.MAX_VALUE)));p&&w(b.dataMin)&&(B=B||0,!w(x)&&b.min<B&&b.dataMin>=B?b.min=b.options.minRange?Math.min(B,b.max-b.minRange):B:!w(y)&&b.max>B&&b.dataMax<=B&&(b.max=b.options.minRange?Math.max(B,b.min+
152
- b.minRange):B));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:E&&!G&&q===b.linkedParent.options.tickPixelInterval?G=b.linkedParent.tickInterval:A(G,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,h?1:(b.max-b.min)*q/Math.max(b.len,q));r&&!c&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));
153
- b.pointRange&&!G&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));c=A(l.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!G&&b.tickInterval<c&&(b.tickInterval=c);m||k||G||(b.tickInterval=z(b.tickInterval,null,e(b.tickInterval),A(l.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var c=this.options,b,l=c.tickPositions;b=this.getMinorTickInterval();
154
- var d=c.tickPositioner,k=c.startOnTick,m=c.endOnTick;this.tickmarkOffset=this.categories&&"between"===c.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&w(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==c.allowDecimals);this.tickPositions=b=l&&l.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,
155
- !1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,c.units),this.min,this.max,c.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.paddedTicks=
156
- b.slice(0);this.trimTicks(b,k,m);this.isLinked||(this.single&&2>b.length&&!this.categories&&(this.min-=.5,this.max+=.5),l||d||this.adjustTickAmount());f(this,"afterSetTickPositions")},trimTicks:function(a,c,b){var l=a[0],t=a[a.length-1],d=this.minPointOffset||0;f(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==l)this.min=l;else for(;this.min-d>a[0];)a.shift();if(b)this.max=t;else for(;this.max+d<a[a.length-1];)a.pop();0===a.length&&w(l)&&!this.options.tickPositions&&a.push((t+l)/2)}},alignToOthers:function(){var a=
157
- {},c,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.isLog||this.chart[this.coll].forEach(function(b){var l=b.options,l=[b.horiz?l.left:l.top,l.width,l.height,l.pane].join();b.series.length&&(a[l]?c=!0:a[l]=1)});return c},getTickAmount:function(){var a=this.options,c=a.tickAmount,b=a.tickPixelInterval;!w(a.tickInterval)&&this.len<b&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(c=2);!c&&this.alignToOthers()&&(c=Math.ceil(this.len/
158
- b)+1);4>c&&(this.finalTickAmt=c,c=5);this.tickAmount=c},adjustTickAmount:function(){var a=this.options,c=this.tickInterval,b=this.tickPositions,l=this.tickAmount,d=this.finalTickAmt,k=b&&b.length,m=A(this.threshold,this.softThreshold?0:null),e;if(this.hasData()){if(k<l){for(e=this.min;b.length<l;)b.length%2||e===m?b.push(u(b[b.length-1]+c)):b.unshift(u(b[0]-c));this.transA*=(k-1)/(l-1);this.min=a.startOnTick?b[0]:Math.min(this.min,b[0]);this.max=a.endOnTick?b[b.length-1]:Math.max(this.max,b[b.length-
159
- 1])}else k>l&&(this.tickInterval*=2,this.setTickPositions());if(w(d)){for(c=a=b.length;c--;)(3===d&&1===c%2||2>=d&&0<c&&c<a-1)&&b.splice(c,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||a.isDirty||a.xAxis.isDirty}),c;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(c=this.len!==this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||
160
- this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=c||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();f(this,"afterSetScale")},setExtremes:function(a,c,b,l,d){var t=this,k=t.chart;b=A(b,!0);t.series.forEach(function(a){delete a.kdTree});d=g(d,{min:a,max:c});f(t,"setExtremes",d,function(){t.userMin=a;
161
- t.userMax=c;t.eventArgs=d;b&&k.redraw(l)})},zoom:function(a,c){var b=this.dataMin,l=this.dataMax,t=this.options,d=Math.min(b,A(t.min,b)),k=Math.max(l,A(t.max,l));a={newMin:a,newMax:c};f(this,"zoom",a,function(a){var c=a.newMin,t=a.newMax;if(c!==this.min||t!==this.max)this.allowZoomOutside||(w(b)&&(c<d&&(c=d),c>k&&(c=k)),w(l)&&(t<d&&(t=d),t>k&&(t=k))),this.displayBtn=void 0!==c||void 0!==t,this.setExtremes(c,t,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var c=
162
- this.chart,b=this.options,l=b.offsets||[0,0,0,0],d=this.horiz,k=this.width=Math.round(a.relativeLength(A(b.width,c.plotWidth-l[3]+l[1]),c.plotWidth)),m=this.height=Math.round(a.relativeLength(A(b.height,c.plotHeight-l[0]+l[2]),c.plotHeight)),e=this.top=Math.round(a.relativeLength(A(b.top,c.plotTop+l[0]),c.plotHeight,c.plotTop)),b=this.left=Math.round(a.relativeLength(A(b.left,c.plotLeft+l[3]),c.plotWidth,c.plotLeft));this.bottom=c.chartHeight-m-e;this.right=c.chartWidth-k-b;this.len=Math.max(d?k:
163
- m,0);this.pos=d?b:e},getExtremes:function(){var a=this.isLog;return{min:a?u(this.lin2log(this.min)):this.min,max:a?u(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var c=this.isLog,b=c?this.lin2log(this.min):this.min,c=c?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=c:b>a?a=b:c<a&&(a=c);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var c=(A(a,0)-90*this.side+
164
- 720)%360;a={align:"center"};f(this,"autoLabelAlign",a,function(a){15<c&&165>c?a.align="right":195<c&&345>c&&(a.align="left")});return a.align},tickSize:function(a){var c=this.options,b=c[a+"Length"],l=A(c[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),t;l&&b&&("inside"===c[a+"Position"]&&(b=-b),t=[b,l]);a={tickSize:t};f(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&
165
- this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,c=this.horiz,b=this.tickInterval,l=b,d=this.len/(((this.categories?1:0)+this.max-this.min)/b),k,m=a.rotation,e=this.labelMetrics(),r,E=Number.MAX_VALUE,f,g=this.max-this.min,n=function(a){var c=a/(d||1),c=1<c?Math.ceil(c):1;c*b>g&&Infinity!==a&&Infinity!==d&&(c=Math.ceil(g/b));return u(c*b)};c?(f=!a.staggerLines&&!a.step&&(w(m)?[m]:d<A(a.autoRotationLimit,80)&&a.autoRotation))&&f.forEach(function(a){var c;
166
- if(a===m||a&&-90<=a&&90>=a)r=n(Math.abs(e.h/Math.sin(x*a))),c=r+Math.abs(a/360),c<E&&(E=c,k=a,l=r)}):a.step||(l=n(e.h));this.autoRotation=f;this.labelRotation=A(k,m);return l},getSlotWidth:function(a){var c=this.chart,b=this.horiz,l=this.options.labels,d=Math.max(this.tickPositions.length-(this.categories?0:1),1),t=c.margin[3];return a&&a.slotWidth||b&&2>(l.step||0)&&!l.rotation&&(this.staggerLines||1)*this.len/d||!b&&(l.style&&parseInt(l.style.width,10)||t&&t-c.spacing[3]||.33*c.chartWidth)},renderUnsquish:function(){var a=
167
- this.chart,c=a.renderer,b=this.tickPositions,l=this.ticks,d=this.options.labels,k=d&&d.style||{},e=this.horiz,r=this.getSlotWidth(),E=Math.max(1,Math.round(r-2*(d.padding||5))),f={},g=this.labelMetrics(),n=d.style&&d.style.textOverflow,z,D,G=0,q;m(d.rotation)||(f.rotation=d.rotation||0);b.forEach(function(a){(a=l[a])&&a.label&&a.label.textPxLength>G&&(G=a.label.textPxLength)});this.maxLabelLength=G;if(this.autoRotation)G>E&&G>g.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(z=E,
168
- !n))for(D="clip",E=b.length;!e&&E--;)if(q=b[E],q=l[q].label)q.styles&&"ellipsis"===q.styles.textOverflow?q.css({textOverflow:"clip"}):q.textPxLength>r&&q.css({width:r+"px"}),q.getBBox().height>this.len/b.length-(g.h-g.f)&&(q.specificTextOverflow="ellipsis");f.rotation&&(z=G>.5*a.chartHeight?.33*a.chartHeight:G,n||(D="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;b.forEach(function(a){var c=(a=l[a])&&a.label,b=k.width,d={};c&&(c.attr(f),a.shortenLabel?
169
- a.shortenLabel():z&&!b&&"nowrap"!==k.whiteSpace&&(z<c.textPxLength||"SPAN"===c.element.tagName)?(d.width=z,n||(d.textOverflow=c.specificTextOverflow||D),c.css(d)):c.styles&&c.styles.width&&!d.width&&!b&&c.css({width:null}),delete c.specificTextOverflow,a.rotation=f.rotation)},this);this.tickRotCorr=c.rotCorr(g.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&w(this.min)&&w(this.max)},addTitle:function(a){var c=
170
- this.chart.renderer,b=this.horiz,l=this.opposite,d=this.options.title,t,m=this.chart.styledMode;this.axisTitle||((t=d.textAlign)||(t=(b?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[d.align]),this.axisTitle=c.text(d.text,0,0,d.useHTML).attr({zIndex:7,rotation:d.rotation||0,align:t}).addClass("highcharts-axis-title"),m||this.axisTitle.css(k(d.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);m||d.style.width||this.isRadial||
171
- this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var c=this.ticks;c[a]?c[a].addLabel():c[a]=new D(this,a)},getOffset:function(){var a=this,c=a.chart,b=c.renderer,l=a.options,d=a.tickPositions,k=a.ticks,m=a.horiz,e=a.side,r=c.inverted&&!a.isZAxis?[1,0,3,2][e]:e,E,g,n=0,z,D=0,G=l.title,q=l.labels,h=0,p=c.axisOffset,c=c.clipOffset,u=[-1,1,1,-1][e],v=l.className,x=a.axisParent;E=a.hasData();a.showAxis=g=E||A(l.showEmpty,!0);a.staggerLines=a.horiz&&q.staggerLines;
172
- a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:l.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(v||"")).add(x),a.axisGroup=b.g("axis").attr({zIndex:l.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(v||"")).add(x),a.labelGroup=b.g("axis-labels").attr({zIndex:q.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(v||"")).add(x));E||a.isLinked?(d.forEach(function(c,b){a.generateTick(c,b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===e||2===
173
- e||{1:"left",3:"right"}[e]===a.labelAlign,A(q.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&d.forEach(function(a){h=Math.max(k[a].getLabelSize(),h)}),a.staggerLines&&(h*=a.staggerLines),a.labelOffset=h*(a.opposite?-1:1)):B(k,function(a,c){a.destroy();delete k[c]});G&&G.text&&!1!==G.enabled&&(a.addTitle(g),g&&!1!==G.reserveSpace&&(a.titleOffset=n=a.axisTitle.getBBox()[m?"height":"width"],z=G.offset,D=w(z)?0:A(G.margin,m?5:10)));a.renderLine();a.offset=u*A(l.offset,p[e]?p[e]+
174
- (l.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===e?-a.labelMetrics().h:2===e?a.tickRotCorr.y:0;D=Math.abs(h)+D;h&&(D=D-b+u*(m?A(q.y,a.tickRotCorr.y+8*u):q.x));a.axisTitleMargin=A(z,D);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(k,d));m=this.tickSize("tick");p[e]=Math.max(p[e],a.axisTitleMargin+n+u*a.offset,D,d&&d.length&&m?m[0]+u*a.offset:0);l=l.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);c[r]=Math.max(c[r],l);f(this,"afterGetOffset")},getLinePath:function(a){var c=
175
- this.chart,b=this.opposite,l=this.offset,d=this.horiz,k=this.left+(b?this.width:0)+l,l=c.chartHeight-this.bottom-(b?this.height:0)+l;b&&(a*=-1);return c.renderer.crispLine(["M",d?this.left:k,d?l:this.top,"L",d?c.chartWidth-this.right:k,d?l:c.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,
176
- zIndex:7}))},getTitlePosition:function(){var a=this.horiz,c=this.left,b=this.top,l=this.len,d=this.options.title,k=a?c:b,m=this.opposite,e=this.offset,r=d.x||0,E=d.y||0,g=this.axisTitle,n=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,g),g=Math.max(g.getBBox(null,0).height-n.h-1,0),l={low:k+(a?0:l),middle:k+l/2,high:k+(a?l:0)}[d.align],c=(a?b+this.height:c)+(a?1:-1)*(m?-1:1)*this.axisTitleMargin+[-g,g,n.f,-g][this.side],a={x:a?l+r:c+(m?this.width:0)+e+r,y:a?c+E-(m?this.height:0)+e:l+E};
177
- f(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var c=this.chart.hasRendered&&d(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new D(this,a,"minor"));c&&b[a].isNew&&b[a].render(null,!0);b[a].render(null,!1,1)},renderTick:function(a,c){var b=this.isLinked,l=this.ticks,k=this.chart.hasRendered&&d(this.oldMin);if(!b||a>=this.min&&a<=this.max)l[a]||(l[a]=new D(this,a)),k&&l[a].isNew&&l[a].render(c,!0,-1),l[a].render(c)},render:function(){var c=this,b=c.chart,l=c.options,
178
- k=c.isLog,m=c.isLinked,e=c.tickPositions,r=c.axisTitle,g=c.ticks,n=c.minorTicks,z=c.alternateBands,G=l.stackLabels,q=l.alternateGridColor,h=c.tickmarkOffset,A=c.axisLine,p=c.showAxis,u=y(b.renderer.globalAnimation),v,x;c.labelEdge.length=0;c.overlap=!1;[g,n,z].forEach(function(a){B(a,function(a){a.isActive=!1})});if(c.hasData()||m)c.minorTickInterval&&!c.categories&&c.getMinorTickPositions().forEach(function(a){c.renderMinorTick(a)}),e.length&&(e.forEach(function(a,b){c.renderTick(a,b)}),h&&(0===
179
- c.min||c.single)&&(g[-1]||(g[-1]=new D(c,-1,null,!0)),g[-1].render(-1))),q&&e.forEach(function(l,d){x=void 0!==e[d+1]?e[d+1]+h:c.max-h;0===d%2&&l<c.max&&x<=c.max+(b.polar?-h:h)&&(z[l]||(z[l]=new a.PlotLineOrBand(c)),v=l+h,z[l].options={from:k?c.lin2log(v):v,to:k?c.lin2log(x):x,color:q},z[l].render(),z[l].isActive=!0)}),c._addedPlotLB||((l.plotLines||[]).concat(l.plotBands||[]).forEach(function(a){c.addPlotBandOrLine(a)}),c._addedPlotLB=!0);[g,n,z].forEach(function(a){var c,l=[],d=u.duration;B(a,function(a,
180
- c){a.isActive||(a.render(c,!1,0),a.isActive=!1,l.push(c))});E(function(){for(c=l.length;c--;)a[l[c]]&&!a[l[c]].isActive&&(a[l[c]].destroy(),delete a[l[c]])},a!==z&&b.hasRendered&&d?d:0)});A&&(A[A.isPlaced?"animate":"attr"]({d:this.getLinePath(A.strokeWidth())}),A.isPlaced=!0,A[p?"show":"hide"](!0));r&&p&&(l=c.getTitlePosition(),d(l.y)?(r[r.isNew?"attr":"animate"](l),r.isNew=!1):(r.attr("y",-9999),r.isNew=!0));G&&G.enabled&&c.renderStackTotals();c.isDirty=!1;f(this,"afterRender")},redraw:function(){this.visible&&
181
- (this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var c=this,b=c.stacks,l=c.plotLinesAndBands,d;f(this,"destroy",{keepEvents:a});a||r(c);B(b,function(a,c){q(a);b[c]=null});[c.ticks,c.minorTicks,c.alternateBands].forEach(function(a){q(a)});if(l)for(a=l.length;a--;)l[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){c[a]&&
182
- (c[a]=c[a].destroy())});for(d in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[d]=c.plotLinesAndBandsGroups[d].destroy();B(c,function(a,b){-1===c.keepProps.indexOf(b)&&delete c[b]})},drawCrosshair:function(a,c){var b,l=this.crosshair,d=A(l.snap,!0),k,m=this.cross;f(this,"drawCrosshair",{e:a,point:c});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(w(c)||!d)){d?w(c)&&(k=A(c.crosshairPos,this.isXAxis?c.plotX:this.len-c.plotY)):k=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);
183
- w(k)&&(b=this.getPlotLinePath(c&&(this.isXAxis?c.x:A(c.stackY,c.y)),null,null,null,k)||null);if(!w(b)){this.hideCrosshair();return}d=this.categories&&!this.isRadial;m||(this.cross=m=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(d?"category ":"thin ")+l.className).attr({zIndex:A(l.zIndex,2)}).add(),this.chart.styledMode||(m.attr({stroke:l.color||(d?h("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":A(l.width,1)}).css({"pointer-events":"none"}),l.dashStyle&&
184
- m.attr({dashstyle:l.dashStyle})));m.show().attr({d:b});d&&!l.width&&m.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();f(this,"afterDrawCrosshair",{e:a,point:c})},hideCrosshair:function(){this.cross&&this.cross.hide();f(this,"afterHideCrosshair")}});return a.Axis=G});J(H,"parts/DateTimeAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.getMagnitude,F=a.normalizeTickInterval,p=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,
185
- arguments)};C.prototype.normalizeTimeTickInterval=function(a,u){var h=u||[["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,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];u=h[h.length-1];var w=p[u[0]],x=u[1],q;for(q=0;q<h.length&&!(u=h[q],w=p[u[0]],x=u[1],h[q+1]&&a<=(w*x[x.length-1]+p[h[q+1][0]])/2);q++);w===p.year&&a<5*w&&(x=[1,2,5]);a=F(a/w,x,"year"===u[0]?Math.max(y(a/w),1):1);return{unitRange:w,
186
- count:a,unitName:u[0]}}});J(H,"parts/LogarithmicAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.getMagnitude,F=a.normalizeTickInterval,p=a.pick;C.prototype.getLogTickPositions=function(a,u,v,w){var h=this.options,q=this.len,g=[];w||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),g=this.getLinearTickPositions(a,u,v);else if(.08<=a)for(var q=Math.floor(u),f,n,e,b,d,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];q<v+1&&!d;q++)for(n=h.length,f=0;f<n&&!d;f++)e=this.log2lin(this.lin2log(q)*
187
- h[f]),e>u&&(!w||b<=v)&&void 0!==b&&g.push(b),b>v&&(d=!0),b=e;else u=this.lin2log(u),v=this.lin2log(v),a=w?this.getMinorTickInterval():h.tickInterval,a=p("auto"===a?null:a,this._minorAutoInterval,h.tickPixelInterval/(w?5:1)*(v-u)/((w?q/this.tickPositions.length:q)||1)),a=F(a,null,y(a)),g=this.getLinearTickPositions(a,u,v).map(this.log2lin),w||(this._minorAutoInterval=a/5);w||(this.tickInterval=a);return g};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,
188
- a)}});J(H,"parts/PlotLineOrBand.js",[H["parts/Globals.js"],H["parts/Axis.js"]],function(a,C){var y=a.arrayMax,F=a.arrayMin,p=a.defined,h=a.destroyObjectProperties,u=a.erase,v=a.merge,w=a.pick;a.PlotLineOrBand=function(a,q){this.axis=a;q&&(this.options=q,this.id=q.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var h=this,q=h.axis,g=q.horiz,f=h.options,n=f.label,e=h.label,b=f.to,d=f.from,m=f.value,k=p(d)&&p(b),z=p(m),B=h.svgElem,A=!B,r=[],c=f.color,l=w(f.zIndex,0),E=f.events,
189
- r={"class":"highcharts-plot-"+(k?"band ":"line ")+(f.className||"")},D={},G=q.chart.renderer,t=k?"bands":"lines";q.isLog&&(d=q.log2lin(d),b=q.log2lin(b),m=q.log2lin(m));q.chart.styledMode||(z?(r.stroke=c,r["stroke-width"]=f.width,f.dashStyle&&(r.dashstyle=f.dashStyle)):k&&(c&&(r.fill=c),f.borderWidth&&(r.stroke=f.borderColor,r["stroke-width"]=f.borderWidth)));D.zIndex=l;t+="-"+l;(c=q.plotLinesAndBandsGroups[t])||(q.plotLinesAndBandsGroups[t]=c=G.g("plot-"+t).attr(D).add());A&&(h.svgElem=B=G.path().attr(r).add(c));
190
- if(z)r=q.getPlotLinePath(m,B.strokeWidth());else if(k)r=q.getPlotBandPath(d,b,f);else return;(A||!B.d)&&r&&r.length?(B.attr({d:r}),E&&a.objectEach(E,function(a,c){B.on(c,function(a){E[c].apply(h,[a])})})):B&&(r?(B.show(!0),B.animate({d:r})):B.d&&(B.hide(),e&&(h.label=e=e.destroy())));n&&p(n.text)&&r&&r.length&&0<q.width&&0<q.height&&!r.isFlat?(n=v({align:g&&k&&"center",x:g?!k&&4:10,verticalAlign:!g&&k&&"middle",y:g?k?16:10:k?6:-4,rotation:g&&!k&&90},n),this.renderLabel(n,r,k,l)):e&&e.hide();return h},
191
- renderLabel:function(a,q,g,f){var n=this.label,e=this.axis.chart.renderer;n||(n={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(g?"band":"line")+"-label "+(a.className||"")},n.zIndex=f,this.label=n=e.text(a.text,0,0,a.useHTML).attr(n).add(),this.axis.chart.styledMode||n.css(a.style));f=q.xBounds||[q[1],q[4],g?q[6]:q[1]];q=q.yBounds||[q[2],q[5],g?q[7]:q[2]];g=F(f);e=F(q);n.align(a,!1,{x:g,y:e,width:y(f)-g,height:y(q)-e});n.show(!0)},destroy:function(){u(this.axis.plotLinesAndBands,
192
- this);delete this.axis;h(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,q){var g=this.getPlotLinePath(q,null,null,!0),f=this.getPlotLinePath(a,null,null,!0),n=[],e=this.horiz,b=1,d;a=a<this.min&&q<this.min||a>this.max&&q>this.max;if(f&&g)for(a&&(d=f.toString()===g.toString(),b=0),a=0;a<f.length;a+=6)e&&g[a+1]===f[a+1]?(g[a+1]+=b,g[a+4]+=b):e||g[a+2]!==f[a+2]||(g[a+2]+=b,g[a+5]+=b),n.push("M",f[a+1],f[a+2],"L",f[a+4],f[a+5],g[a+4],g[a+5],g[a+1],g[a+2],"z"),n.isFlat=d;return n},addPlotBand:function(a){return this.addPlotBandOrLine(a,
193
- "plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(h,q){var g=(new a.PlotLineOrBand(this,h)).render(),f=this.userOptions;g&&(q&&(f[q]=f[q]||[],f[q].push(h)),this.plotLinesAndBands.push(g));return g},removePlotBandOrLine:function(a){for(var q=this.plotLinesAndBands,g=this.options,f=this.userOptions,n=q.length;n--;)q[n].id===a&&q[n].destroy();[g.plotLines||[],f.plotLines||[],g.plotBands||[],f.plotBands||[]].forEach(function(e){for(n=e.length;n--;)e[n].id===
194
- a&&u(e,e[n])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})});J(H,"parts/Tooltip.js",[H["parts/Globals.js"]],function(a){var C=a.doc,y=a.extend,F=a.format,p=a.isNumber,h=a.merge,u=a.pick,v=a.splat,w=a.syncTimeout,x=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,g){this.chart=a;this.options=g;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=g.split&&!a.inverted;
195
- this.shared=g.shared||this.split;this.outside=g.outside&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(g){var f=g&&g.tt;f&&(!f.isActive||a?g.tt=f.destroy():f.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},
196
- {tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var q=this,g=this.chart.renderer,f=this.chart.styledMode,n=this.options,e,b;this.label||(this.outside&&(this.container=e=a.doc.createElement("div"),e.className="highcharts-tooltip-container",a.css(e,{position:"absolute",top:"1px",pointerEvents:n.style&&
197
- n.style.pointerEvents}),a.doc.body.appendChild(e),this.renderer=g=new a.Renderer(e,0,0)),this.split?this.label=g.g("tooltip"):(this.label=g.label("",0,0,n.shape||"callout",null,null,n.useHTML,null,"tooltip").attr({padding:n.padding,r:n.borderRadius}),f||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth}).css(n.style).shadow(n.shadow)),f&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(b={x:this.label.xSetter,y:this.label.ySetter},
198
- this.label.xSetter=function(a,m){b[m].call(this.label,q.distance);e.style.left=a+"px"},this.label.ySetter=function(a,m){b[m].call(this.label,q.distance);e.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();h(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,h(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&
199
- (this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(q,g,f,n){var e=this,b=e.now,d=!1!==e.options.animation&&!e.isHidden&&(1<Math.abs(q-b.x)||1<Math.abs(g-b.y)),m=e.followPointer||1<e.len;y(b,{x:d?(2*b.x+q)/3:q,y:d?(b.y+g)/2:g,anchorX:m?void 0:d?(2*b.anchorX+f)/3:f,anchorY:m?void 0:d?(b.anchorY+n)/2:n});e.getLabel().attr(b);d&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&
200
- e.move(q,g,f,n)},32))},hide:function(q){var g=this;a.clearTimeout(this.hideTimer);q=u(q,this.options.hideDelay,500);this.isHidden||(this.hideTimer=w(function(){g.getLabel()[q?"fadeOut":"hide"]();g.isHidden=!0},q))},getAnchor:function(a,g){var f=this.chart,n=f.pointer,e=f.inverted,b=f.plotTop,d=f.plotLeft,m=0,k=0,z,h;a=v(a);this.followPointer&&g?(void 0===g.chartX&&(g=n.normalize(g)),a=[g.chartX-f.plotLeft,g.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){z=a.series.yAxis;h=a.series.xAxis;
201
- m+=a.plotX+(!e&&h?h.left-d:0);k+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&z?z.top-b:0)}),m/=a.length,k/=a.length,a=[e?f.plotWidth-k:m,this.shared&&!e&&1<a.length&&g?g.chartY-b:e?f.plotHeight-m:k]);return a.map(Math.round)},getPosition:function(a,g,f){var n=this.chart,e=this.distance,b={},d=n.inverted&&f.h||0,m,k=this.outside,z=k?C.documentElement.clientWidth-2*e:n.chartWidth,h=k?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,
202
- C.documentElement.clientHeight):n.chartHeight,q=n.pointer.chartPosition,r=["y",h,g,(k?q.top-e:0)+f.plotY+n.plotTop,k?0:n.plotTop,k?h:n.plotTop+n.plotHeight],c=["x",z,a,(k?q.left-e:0)+f.plotX+n.plotLeft,k?0:n.plotLeft,k?z:n.plotLeft+n.plotWidth],l=!this.followPointer&&u(f.ttBelow,!n.inverted===!!f.negative),E=function(a,c,k,m,t,r){var E=k<m-e,f=m+e+k<c,g=m-e-k;m+=e;if(l&&f)b[a]=m;else if(!l&&E)b[a]=g;else if(E)b[a]=Math.min(r-k,0>g-d?g:g-d);else if(f)b[a]=Math.max(t,m+d+k>c?m:m+d);else return!1},D=
203
- function(a,c,l,d){var k;d<e||d>c-e?k=!1:b[a]=d<l/2?1:d>c-l/2?c-l-2:d-l/2;return k},G=function(a){var b=r;r=c;c=b;m=a},t=function(){!1!==E.apply(0,r)?!1!==D.apply(0,c)||m||(G(!0),t()):m?b.x=b.y=0:(G(!0),t())};(n.inverted||1<this.len)&&G();t();return b},defaultFormatter:function(a){var g=this.points||v(this),f;f=[a.tooltipFooterHeaderFormatter(g[0])];f=f.concat(a.bodyFormatter(g));f.push(a.tooltipFooterHeaderFormatter(g[0],!0));return f},refresh:function(h,g){var f=this.chart,n=this.options,e,b=h,d,
204
- m={},k,z=[];k=n.formatter||this.defaultFormatter;var m=this.shared,q=f.styledMode,A=[];n.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=v(b)[0].series.tooltipOptions.followPointer,d=this.getAnchor(b,g),g=d[0],e=d[1],!m||b.series&&b.series.noSharedTooltip?m=b.getLabelConfig():(A=f.pointer.getActiveSeries(b),f.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===A.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");z.push(a.getLabelConfig())}),
205
- m={x:b[0].category,y:b[0].y},m.points=z,b=b[0]),this.len=z.length,k=k.call(m,this),m=b.series,this.distance=u(m.tooltipOptions.distance,16),!1===k?this.hide():(f=this.getLabel(),this.isHidden&&f.attr({opacity:1}).show(),this.split?this.renderSplit(k,v(h)):(n.style.width&&!q||f.css({width:this.chart.spacingBox.width}),f.attr({text:k&&k.join?k.join(""):k}),f.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+u(b.colorIndex,m.colorIndex)),q||f.attr({stroke:n.borderColor||b.color||m.color||
206
- "#666666"}),this.updatePosition({plotX:g,plotY:e,negative:b.negative,ttBelow:b.ttBelow,h:d[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(h,g){var f=this,n=[],e=this.chart,b=e.renderer,d=!0,m=this.options,k=0,z,q=this.getLabel(),A=e.plotTop;a.isString(h)&&(h=[!1,h]);h.slice(0,g.length+1).forEach(function(a,c){if(!1!==a&&""!==a){c=g[c-1]||{isHeader:!0,plotX:g[0].plotX,plotY:e.plotHeight};var l=c.series||f,r=l.tt,D=c.series||{},G="highcharts-color-"+u(c.colorIndex,D.colorIndex,
207
- "none");r||(r={padding:m.padding,r:m.borderRadius},e.styledMode||(r.fill=m.backgroundColor,r.stroke=m.borderColor||c.color||D.color||"#333333",r["stroke-width"]=m.borderWidth),l.tt=r=b.label(null,null,null,(c.isHeader?m.headerShape:m.shape)||"callout",null,null,m.useHTML).addClass("highcharts-tooltip-box "+G).attr(r).add(q));r.isActive=!0;r.attr({text:a});e.styledMode||r.css(m.style).shadow(m.shadow);a=r.getBBox();D=a.width+r.strokeWidth();c.isHeader?(k=a.height,e.xAxis[0].opposite&&(z=!0,A-=k),D=
208
- Math.max(0,Math.min(c.plotX+e.plotLeft-D/2,e.chartWidth+(e.scrollablePixels?e.scrollablePixels-e.marginRight:0)-D))):D=c.plotX+e.plotLeft-u(m.distance,16)-D;0>D&&(d=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=A;c.isHeader&&(a=z?-k:e.plotHeight+k);n.push({target:a,rank:c.isHeader?1:0,size:l.tt.getBBox().height+1,point:c,x:D,tt:r})}});this.cleanSplit();m.positioner&&n.forEach(function(a){var c=m.positioner.call(f,a.tt.getBBox().width,a.size,a.point);a.x=c.x;a.align=0;a.target=
209
- c.y;a.rank=u(c.rank,a.rank)});a.distribute(n,e.plotHeight+k);n.forEach(function(a){var c=a.point,b=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:d||c.isHeader||m.positioner?a.x:c.plotX+e.plotLeft+f.distance,y:a.pos+A,anchorX:c.isHeader?c.plotX+e.plotLeft:c.plotX+b.xAxis.pos,anchorY:c.isHeader?e.plotTop+e.plotHeight/2:c.plotY+b.yAxis.pos})})},updatePosition:function(a){var g=this.chart,f=this.getLabel(),n=(this.options.positioner||this.getPosition).call(this,f.width,f.height,a),
210
- e=a.plotX+g.plotLeft;a=a.plotY+g.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(f.width+b,f.height+b,!1),e+=g.pointer.chartPosition.left-n.x,a+=g.pointer.chartPosition.top-n.y);this.move(Math.round(n.x),Math.round(n.y||0),e,a)},getDateFormat:function(a,g,f,n){var e=this.chart.time,b=e.dateFormat("%m-%d %H:%M:%S.%L",g),d,m,k={millisecond:15,second:12,minute:9,hour:6,day:3},z="millisecond";for(m in x){if(a===x.week&&+e.dateFormat("%w",g)===f&&"00:00:00.000"===
211
- b.substr(6)){m="week";break}if(x[m]>a){m=z;break}if(k[m]&&b.substr(k[m])!=="01-01 00:00:00.000".substr(k[m]))break;"week"!==m&&(z=m)}m&&(d=e.resolveDTLFormat(n[m]).main);return d},getXDateFormat:function(a,g,f){g=g.dateTimeLabelFormats;var n=f&&f.closestPointRange;return(n?this.getDateFormat(n,a.x,f.options.startOfWeek,g):g.day)||g.year},tooltipFooterHeaderFormatter:function(h,g){var f=g?"footer":"header",n=h.series,e=n.tooltipOptions,b=e.xDateFormat,d=n.xAxis,m=d&&"datetime"===d.options.type&&p(h.key),
212
- k=e[f+"Format"];g={isFooter:g,labelConfig:h};a.fireEvent(this,"headerFormatter",g,function(a){m&&!b&&(b=this.getXDateFormat(h,e,d));m&&b&&(h.point&&h.point.tooltipDateKeys||["key"]).forEach(function(a){k=k.replace("{point."+a+"}","{point."+a+":"+b+"}")});n.chart.styledMode&&(k=this.styledModeFormat(k));a.text=F(k,{point:h,series:n},this.chart.time)});return g.text},bodyFormatter:function(a){return a.map(function(a){var f=a.series.tooltipOptions;return(f[(a.point.formatPrefix||"point")+"Formatter"]||
213
- a.point.tooltipFormatter).call(a.point,f[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"','class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});J(H,"parts/Pointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.attr,F=a.charts,p=a.color,h=a.css,u=a.defined,v=a.extend,w=a.find,x=a.fireEvent,q=a.isNumber,g=a.isObject,f=a.offset,n=a.pick,
214
- e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,m){this.options=m;this.chart=a;this.runChartClick=m.chart.events&&!!m.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,m.tooltip),this.followTouchMove=n(m.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart,e=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=n(d.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=
215
- e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=a||e},normalize:function(a,b){var d;d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=f(this.chart.container));return v(a,{chartX:Math.round(d.pageX-b.left),chartY:Math.round(d.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},
216
- findNearestKDPoint:function(a,b,k){var d;a.forEach(function(a){var e=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(k,e);if((e=g(a,!0))&&!(e=!g(d,!0)))var e=d.distX-a.distX,m=d.dist-a.dist,c=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex),e=0<(0!==e&&b?e:0!==m?m:0!==c?c:d.series.index>a.series.index?-1:1);e&&(d=a)});return d},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,
217
- b){var d=a.series,e=d.xAxis,d=d.yAxis,m=n(a.clientX,a.plotX),f=a.shapeArgs;if(e&&d)return b?{chartX:e.len+e.pos-m,chartY:d.len+d.pos-a.plotY}:{chartX:m+e.pos,chartY:a.plotY+d.pos};if(f&&f.x&&f.y)return{chartX:f.x,chartY:f.y}},getHoverData:function(a,b,k,e,f,h){var d,c=[];e=!(!e||!a);var l=b&&!b.stickyTracking?[b]:k.filter(function(a){return a.visible&&!(!f&&a.directTouch)&&n(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(d=e?a:this.findNearestKDPoint(l,f,h))&&d.series;d&&(f&&!b.noSharedTooltip?
218
- (l=k.filter(function(a){return a.visible&&!(!f&&a.directTouch)&&n(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),l.forEach(function(a){var b=w(a.points,function(a){return a.x===d.x&&!a.isNull});g(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),c.push(b))})):c.push(d));return{hoverPoint:d,hoverSeries:b,hoverPoints:c}},runPointActions:function(b,e){var d=this.chart,m=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,f=m?m.shared:!1,g=e||d.hoverPoint,r=g&&g.series||d.hoverSeries,r=this.getHoverData(g,
219
- r,d.series,"touchmove"!==b.type&&(!!e||r&&r.directTouch&&this.isDirectTouch),f,b),c=[],l,g=r.hoverPoint;l=r.hoverPoints;e=(r=r.hoverSeries)&&r.tooltipOptions.followPointer;f=f&&r&&!r.noSharedTooltip;if(g&&(g!==d.hoverPoint||m&&m.isHidden)){(d.hoverPoints||[]).forEach(function(a){-1===l.indexOf(a)&&a.setState()});if(d.hoverSeries!==r)r.onMouseOver();c=this.getActiveSeries(l);d.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===c.indexOf(a))&&a.setState("inactive",!0)});(l||[]).forEach(function(a){a.setState("hover")});
220
- d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;g.firePointEvent("mouseOver");d.hoverPoints=l;d.hoverPoint=g;m&&m.refresh(f?l:g,b)}else e&&m&&!m.isHidden&&(g=m.getAnchor([{}],b),m.updatePosition({plotX:g[0],plotY:g[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,"mousemove",function(c){var b=F[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(c)}));d.axes.forEach(function(c){var d=n(c.crosshair.snap,!0),e=d?a.find(l,function(a){return a.series[c.coll]===
221
- c}):void 0;e||!d?c.drawCrosshair(b,e):c.hideCrosshair()})},getActiveSeries:function(a){var b=[],d;(a||[]).forEach(function(a){d=a.series;b.push(d);d.linkedParent&&b.push(d.linkedParent);d.linkedSeries&&(b=b.concat(d.linkedSeries));d.navigatorSeries&&b.push(d.navigatorSeries)});return b},reset:function(a,b){var d=this.chart,m=d.hoverSeries,f=d.hoverPoint,g=d.hoverPoints,r=d.tooltip,c=r&&r.shared?g:f;a&&c&&e(c).forEach(function(c){c.series.isCartesian&&void 0===c.plotX&&(a=!1)});if(a)r&&c&&e(c).length&&
222
- (r.refresh(c),r.shared&&g?g.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):f&&(f.setState(f.state,!0),d.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();g&&g.forEach(function(a){a.setState()});if(m)m.onMouseOut();r&&r.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());d.axes.forEach(function(a){a.hideCrosshair()});
223
- this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,b){var d=this.chart,e;d.series.forEach(function(m){e=a||m.getPlotBox();m.xAxis&&m.xAxis.zoomEnabled&&m.group&&(m.group.attr(e),m.markerGroup&&(m.markerGroup.attr(e),m.markerGroup.clip(b?d.clipRect:null)),m.dataLabelsGroup&&m.dataLabelsGroup.attr(e))});d.clipRect.attr(b||d.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},
224
- drag:function(a){var b=this.chart,d=b.options.chart,e=a.chartX,f=a.chartY,g=this.zoomHor,r=this.zoomVert,c=b.plotLeft,l=b.plotTop,E=b.plotWidth,n=b.plotHeight,h,t=this.selectionMarker,q=this.mouseDownX,u=this.mouseDownY,v=d.panKey&&a[d.panKey+"Key"];t&&t.touch||(e<c?e=c:e>c+E&&(e=c+E),f<l?f=l:f>l+n&&(f=l+n),this.hasDragged=Math.sqrt(Math.pow(q-e,2)+Math.pow(u-f,2)),10<this.hasDragged&&(h=b.isInsidePlot(q-c,u-l),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&h&&!v&&!t&&(this.selectionMarker=t=b.renderer.rect(c,
225
- l,g?1:E,r?1:n,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||t.attr({fill:d.selectionMarkerFill||p("#335cad").setOpacity(.25).get()})),t&&g&&(e-=q,t.attr({width:Math.abs(e),x:(0<e?0:e)+q})),t&&r&&(e=f-u,t.attr({height:Math.abs(e),y:(0<e?0:e)+u})),h&&!t&&d.panning&&b.pan(a,d.panning)))},drop:function(a){var b=this,d=this.chart,e=this.hasPinched;if(this.selectionMarker){var f={originalEvent:a,xAxis:[],yAxis:[]},g=this.selectionMarker,r=g.attr?g.attr("x"):g.x,c=g.attr?
226
- g.attr("y"):g.y,l=g.attr?g.attr("width"):g.width,E=g.attr?g.attr("height"):g.height,n;if(this.hasDragged||e)d.axes.forEach(function(d){if(d.zoomEnabled&&u(d.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[d.coll]])){var m=d.horiz,k="touchend"===a.type?d.minPixelPadding:0,g=d.toValue((m?r:c)+k),m=d.toValue((m?r+l:c+E)-k);f[d.coll].push({axis:d,min:Math.min(g,m),max:Math.max(g,m)});n=!0}}),n&&x(d,"selection",f,function(a){d.zoom(v(a,e?{animation:!1}:null))});q(d.index)&&(this.selectionMarker=this.selectionMarker.destroy());
227
- e&&this.scaleGroups()}d&&q(d.index)&&(h(d.container,{cursor:d._cursor}),d.cancelClick=10<this.hasDragged,d.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){F[a.hoverChartIndex]&&F[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,d=this.chartPosition;a=this.normalize(a,d);!d||
228
- this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var d=F[a.hoverChartIndex];d&&(b.relatedTarget||b.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=null)},onContainerMouseMove:function(b){var d=this.chart;u(a.hoverChartIndex)&&F[a.hoverChartIndex]&&F[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=d.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===d.mouseIsDown&&
229
- this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop)||d.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var d;a;){if(d=y(a,"class")){if(-1!==d.indexOf(b))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,
230
- "highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,d=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(d&&this.inClass(a.target,"highcharts-tracker")?(x(d.series,"click",v(a,{point:d})),b.hoverPoint&&d.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-f)&&x(b,"click",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,k=e.ownerDocument;e.onmousedown=
231
- function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=C(e,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(k,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(k,"touchend",b.onDocumentTouchEnd)))},
232
- destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,d){b[d]=null})}}});J(H,"parts/TouchPointer.js",[H["parts/Globals.js"]],function(a){var C=a.charts,y=a.extend,F=a.noop,p=a.pick;y(a.Pointer.prototype,{pinchTranslate:function(a,
233
- p,v,w,x,q){this.zoomHor&&this.pinchTranslateDirection(!0,a,p,v,w,x,q);this.zoomVert&&this.pinchTranslateDirection(!1,a,p,v,w,x,q)},pinchTranslateDirection:function(a,p,v,w,x,q,g,f){var n=this.chart,e=a?"x":"y",b=a?"X":"Y",d="chart"+b,m=a?"width":"height",k=n["plot"+(a?"Left":"Top")],h,B,A=f||1,r=n.inverted,c=n.bounds[a?"h":"v"],l=1===p.length,E=p[0][d],D=v[0][d],G=!l&&p[1][d],t=!l&&v[1][d],I;v=function(){!l&&20<Math.abs(E-G)&&(A=f||Math.abs(D-t)/Math.abs(E-G));B=(k-D)/A+E;h=n["plot"+(a?"Width":"Height")]/
234
- A};v();p=B;p<c.min?(p=c.min,I=!0):p+h>c.max&&(p=c.max-h,I=!0);I?(D-=.8*(D-g[e][0]),l||(t-=.8*(t-g[e][1])),v()):g[e]=[D,t];r||(q[e]=B-k,q[m]=h);q=r?1/A:A;x[m]=h;x[e]=p;w[r?a?"scaleY":"scaleX":"scale"+b]=A;w["translate"+b]=q*k+(D-q*E)},pinch:function(a){var h=this,v=h.chart,w=h.pinchDown,x=a.touches,q=x.length,g=h.lastValidTouch,f=h.hasZoom,n=h.selectionMarker,e={},b=1===q&&(h.inClass(a.target,"highcharts-tracker")&&v.runTrackerClick||h.runChartClick),d={};1<q&&(h.initiated=!0);f&&h.initiated&&!b&&
235
- a.preventDefault();[].map.call(x,function(a){return h.normalize(a)});"touchstart"===a.type?([].forEach.call(x,function(a,b){w[b]={chartX:a.chartX,chartY:a.chartY}}),g.x=[w[0].chartX,w[1]&&w[1].chartX],g.y=[w[0].chartY,w[1]&&w[1].chartY],v.axes.forEach(function(a){if(a.zoomEnabled){var b=v.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(p(a.options.min,a.dataMin)),m=a.toPixels(p(a.options.max,a.dataMax)),f=Math.max(e,m);b.min=Math.min(a.pos,Math.min(e,m)-d);b.max=Math.max(a.pos+a.len,f+d)}}),
236
- h.res=!0):h.followTouchMove&&1===q?this.runPointActions(h.normalize(a)):w.length&&(n||(h.selectionMarker=n=y({destroy:F,touch:!0},v.plotBox)),h.pinchTranslate(w,x,e,n,d,g),h.hasPinched=f,h.scaleGroups(e,d),h.res&&(h.res=!1,this.reset(!1,0)))},touch:function(h,u){var v=this.chart,w,x;if(v.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=v.index;1===h.touches.length?(h=this.normalize(h),(x=v.isInsidePlot(h.chartX-v.plotLeft,h.chartY-v.plotTop))&&!v.openMenu?
237
- (u&&this.runPointActions(h),"touchmove"===h.type&&(u=this.pinchDown,w=u[0]?4<=Math.sqrt(Math.pow(u[0].chartX-h.chartX,2)+Math.pow(u[0].chartY-h.chartY,2)):!1),p(w,!0)&&this.pinch(h)):u&&this.reset()):2===h.touches.length&&this.pinch(h)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(h){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(h)}})});J(H,"parts/MSPointer.js",[H["parts/Globals.js"]],function(a){var C=
238
- a.addEvent,y=a.charts,F=a.css,p=a.doc,h=a.extend,u=a.noop,v=a.Pointer,w=a.removeEvent,x=a.win,q=a.wrap;if(!a.hasTouch&&(x.PointerEvent||x.MSPointerEvent)){var g={},f=!!x.PointerEvent,n=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(g,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},e=function(b,d,e,k){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(k(b),k=y[a.hoverChartIndex].pointer,k[d]({type:e,target:b.currentTarget,
239
- preventDefault:u,touches:n()}))};h(v.prototype,{onContainerPointerDown:function(a){e(a,"onContainerTouchStart","touchstart",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){e(a,"onContainerTouchMove","touchmove",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){e(a,"onDocumentTouchEnd","touchend",function(a){delete g[a.pointerId]})},
240
- batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(p,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});q(v.prototype,"init",function(a,d,e){a.call(this,d,e);this.hasZoom&&F(d.container,{"-ms-touch-action":"none","touch-action":"none"})});q(v.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});
241
- q(v.prototype,"destroy",function(a){this.batchMSEvents(w);a.call(this)})}});J(H,"parts/Legend.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.css,F=a.discardElement,p=a.defined,h=a.fireEvent,u=a.isFirefox,v=a.marginNames,w=a.merge,x=a.pick,q=a.setAnimation,g=a.stableSort,f=a.win,n=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),
242
- this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=x(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=w(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=x(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&
243
- !this.chart.inverted},update:function(a,b){var d=this.chart;this.setOptions(w(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;x(b,!0)&&d.redraw();h(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var d=this.options,e=a.legendItem,k=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,d=b?d.itemStyle.color:g,n=b?a.color||g:g,r=a.options&&a.options.marker,c={fill:n};e&&e.css({fill:d,
244
- color:d});k&&k.attr({stroke:n});f&&(r&&f.isMarker&&(c=a.pointAttribs(),b||(c.stroke=c.fill=g)),f.attr(c))}h(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,e=a._legendItemPos,k=e[0],e=e[1],f=a.checkbox;if((a=a.legendGroup)&&a.element)a[p(a.translateY)?"animate":"attr"]({translateX:b?k:this.legendWidth-k-2*d-4,
245
- translateY:e});f&&(f.x=k,f.y=e)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&F(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,
246
- b,d=this.clipHeight||this.legendHeight,m=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(e){var k=e.checkbox,f;k&&(f=b+m+k.y+(this.scrollOffset||0)+3,y(k,{left:a.translateX+e.checkboxOffset+k.x-20+"px",top:f+"px",display:this.proximate||f>b-6&&f<b+d-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,d=a.title,m=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),
247
- this.chart.styledMode||this.title.css(d.style),this.title.add(this.group)),d.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),m=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:m}));this.titleHeight=m},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},renderItem:function(a){var b=this.chart,d=b.renderer,e=this.options,k=this.symbolWidth,f=e.symbolPadding,
248
- g=this.itemStyle,n=this.itemHiddenStyle,r="horizontal"===e.layout?x(e.itemDistance,20):0,c=!e.rtl,l=a.legendItem,E=!a.series,D=!E&&a.series.drawLegendSymbol?a.series:a,h=D.options,h=this.createCheckboxForItem&&h&&h.showCheckbox,r=k+f+r+(h?20:0),t=e.useHTML,q=a.options.className;l||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+a.colorIndex+(q?" "+q:"")+(E?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=l=d.text("",
249
- c?k+f:-f,this.baseline||0,t),b.styledMode||l.css(w(a.visible?g:n)),l.attr({align:c?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=d.fontMetrics(b.styledMode?12:g.fontSize,l),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,l.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,D.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,l,t));h&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&
250
- g.width||l.css({width:(e.itemWidth||this.widthOption||b.spacingBox.width)-r});this.setText(a);b=l.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+r;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,d=this.padding,e="horizontal"===b.layout,k=a.itemHeight,f=b.itemMarginBottom||0,g=this.itemMarginTop,
251
- n=e?x(b.itemDistance,20):0,r=this.maxLegendWidth,b=b.alignColumns&&this.totalItemWidth>r?this.maxItemWidth:a.itemWidth;e&&this.itemX-d+b>r&&(this.itemX=d,this.lastLineHeight&&(this.itemY+=g+this.lastLineHeight+f),this.lastLineHeight=0);this.lastItemY=g+this.itemY+f;this.lastLineHeight=Math.max(k,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=g+k+f,this.lastLineHeight=k);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-d-(a.checkbox?0:n):b)+d,this.offsetWidth)},
252
- getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var d=b&&b.options;b&&x(d.showInLegend,p(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?b.data:b)))});h(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var d=this.chart,e=this.options,k=this.getAlignment(),
253
- f=void 0!==d.options.title.margin?d.titleOffset+d.options.title.margin:0;k&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(m,g){m.test(k)&&!p(a[g])&&(d[v[g]]=Math.max(d[v[g]],d.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+x(e.margin,12)+b[g]+(0===g&&(0===d.titleOffset?0:f))))})},proximatePositions:function(){var e=this.chart,b=[],d="left"===this.options.align;this.allItems.forEach(function(f){var k,m;m=d;var g;f.yAxis&&f.points&&(f.xAxis.options.reversed&&
254
- (m=!m),k=a.find(m?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),m=f.legendGroup.getBBox().height,g=f.yAxis.top-e.plotTop,f.visible?(k=k?k.plotY:f.yAxis.height,k+=g-.3*m):k=g+f.yAxis.height,b.push({target:k,size:m,item:f}))},this);a.distribute(b,e.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var e=this.chart,b=e.renderer,d=this.group,f,k,n,q=this.box,p=this.options,r=this.padding;this.itemX=r;this.itemY=
255
- this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(p.width,e.spacingBox.width-r);f=e.spacingBox.width-2*r-p.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(f/=2);this.maxLegendWidth=this.widthOption||f;d||(this.group=d=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(d),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();f=this.getAllItems();g(f,function(a,b){return(a.options&&a.options.legendIndex||0)-
256
- (b.options&&b.options.legendIndex||0)});p.reversed&&f.reverse();this.allItems=f;this.display=k=!!f.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f.forEach(this.renderItem,this);f.forEach(this.layoutItem,this);f=(this.widthOption||this.offsetWidth)+r;n=this.lastItemY+this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=r;q||(this.box=q=b.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(d),q.isNew=!0);e.styledMode||q.attr({stroke:p.borderColor,
257
- "stroke-width":p.borderWidth||0,fill:p.backgroundColor||"none"}).shadow(p.shadow);0<f&&0<n&&(q[q.isNew?"attr":"animate"](q.crisp.call({},{x:0,y:0,width:f,height:n},q.strokeWidth())),q.isNew=!1);q[k?"show":"hide"]();e.styledMode&&"none"===d.getStyle("display")&&(f=n=0);this.legendWidth=f;this.legendHeight=n;k&&(b=e.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(q=b.y+e.titleOffset,b=w(b,{y:0<e.titleOffset?q+=e.options.title.margin:q})),d.align(w(p,{width:f,height:n,verticalAlign:this.proximate?
258
- "top":p.verticalAlign}),!0,b));this.proximate||this.positionItems();h(this,"afterRender")},handleOverflow:function(a){var b=this,d=this.chart,e=d.renderer,k=this.options,f=k.y,g=this.padding,f=d.spacingBox.height+("top"===k.verticalAlign?-f:f)-g,n=k.maxHeight,r,c=this.clipRect,l=k.navigation,E=x(l.animation,!0),D=l.arrowSize||12,h=this.nav,t=this.pages,q,p=this.allItems,u=function(a){"number"===typeof a?c.attr({height:a}):c&&(b.clipRect=c.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=
259
- a?"rect("+g+"px,9999px,"+(g+a)+"px,0)":"auto")},K=function(a){b[a]=e.circle(0,0,1.3*D).translate(D/2,D/2).add(h);d.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]};"horizontal"!==k.layout||"middle"===k.verticalAlign||k.floating||(f/=2);n&&(f=Math.min(f,n));t.length=0;a>f&&!1!==l.enabled?(this.clipHeight=r=Math.max(f-20-this.titleHeight-g,0),this.currentPage=x(this.currentPage,1),this.fullHeight=a,p.forEach(function(a,c){var b=a._legendItemPos[1],l=Math.round(a.legendItem.getBBox().height),
260
- d=t.length;if(!d||b-t[d-1]>r&&(q||b)!==t[d-1])t.push(q||b),d++;a.pageIx=d-1;q&&(p[c-1].pageIx=d-1);c===p.length-1&&b+l-t[d-1]>r&&b!==q&&(t.push(b),a.pageIx=d);b!==q&&(q=b)}),c||(c=b.clipRect=e.clipRect(0,g,9999,0),b.contentGroup.clip(c)),u(r),h||(this.nav=h=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,D,D).add(h),K("upTracker").on("click",function(){b.scroll(-1,E)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),d.styledMode||this.pager.css(l.style),
261
- this.pager.add(h),this.down=e.symbol("triangle-down",0,0,D,D).add(h),K("downTracker").on("click",function(){b.scroll(1,E)})),b.scroll(0),a=f):h&&(u(),this.nav=h.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var d=this.pages,e=d.length,k=this.currentPage+a;a=this.clipHeight;var f=this.options.navigation,g=this.pager,n=this.padding;k>e&&(k=e);0<k&&(void 0!==b&&q(b,this.chart),this.nav.attr({translateX:n,translateY:a+this.padding+7+this.titleHeight,
262
- visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===k?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),g.attr({text:k+"/"+e}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":k===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===k?f.inactiveColor:f.activeColor}),this.upTracker.css({cursor:1===k?"default":"pointer"}),this.down.attr({fill:k===
263
- e?f.inactiveColor:f.activeColor}),this.downTracker.css({cursor:k===e?"default":"pointer"})),this.scrollOffset=-d[k-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=k,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var d=a.symbolHeight,e=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-d)/2:0,a.baseline-d+1,e?d:a.symbolWidth,d,x(a.options.symbolRadius,d/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},
264
- drawLineMarker:function(a){var b=this.options,d=b.marker,e=a.symbolWidth,k=a.symbolHeight,f=k/2,g=this.chart.renderer,n=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var r={};this.chart.styledMode||(r={"stroke-width":b.lineWidth||0},b.dashStyle&&(r.dashstyle=b.dashStyle));this.legendLine=g.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(r).add(n);d&&!1!==d.enabled&&e&&(b=Math.min(x(d.radius,f),f),0===this.symbol.indexOf("url")&&(d=w(d,{width:k,height:k}),b=0),this.legendSymbol=
265
- d=g.symbol(this.symbol,e/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(n),d.isMarker=!0)}};(/Trident\/7\.0/.test(f.navigator&&f.navigator.userAgent)||u)&&n(a.Legend.prototype,"positionItem",function(a,b){var d=this,e=function(){b._legendItemPos&&a.call(d,b)};e();d.bubbleLegend||setTimeout(e)})});J(H,"parts/Chart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animate,F=a.animObject,p=a.attr,h=a.doc,u=a.Axis,v=a.createElement,w=a.defaultOptions,x=a.discardElement,q=a.charts,g=a.css,
266
- f=a.defined,n=a.extend,e=a.find,b=a.fireEvent,d=a.isNumber,m=a.isObject,k=a.isString,z=a.Legend,B=a.marginNames,A=a.merge,r=a.objectEach,c=a.Pointer,l=a.pick,E=a.pInt,D=a.removeEvent,G=a.seriesTypes,t=a.splat,I=a.syncTimeout,M=a.win,Q=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,c,b){return new Q(a,c,b)};n(Q.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(k(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(c,
267
- l){var d,e=c.series,f=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;d=A(w,c);r(d.plotOptions,function(a,c){m(a)&&(a.tooltip=f[c]&&A(f[c].tooltip)||void 0)});d.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;d.series=c.series=e;this.userOptions=c;var k=d.chart,t=k.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=l;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.time=c.time&&
268
- Object.keys(c.time).length?new a.Time(c.time):a.time;this.styledMode=k.styledMode;this.hasCartesianSeries=k.showAxes;var g=this;g.index=q.length;q.push(g);a.chartCount++;t&&r(t,function(a,c){C(g,c,a)});g.xAxis=[];g.yAxis=[];g.pointCount=g.colorCounter=g.symbolCounter=0;b(g,"afterInit");g.firstRender()})},initSeries:function(c){var b=this.options.chart;(b=G[c.type||b.type||b.defaultSeriesType])||a.error(17,!0,this);b=new b;b.init(this,c);return b},orderSeries:function(a){var c=this.series;for(a=a||
269
- 0;a<c.length;a++)c[a]&&(c[a].index=a,c[a].name=c[a].getName())},isInsidePlot:function(a,c,b){var l=b?c:a;a=b?a:c;return 0<=l&&l<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,"beforeRedraw");var l=this.axes,d=this.series,e=this.pointer,f=this.legend,k=this.userOptions.legend,t=this.isDirtyLegend,g,r,m=this.hasCartesianSeries,E=this.isDirtyBox,h,D=this.renderer,q=D.isHidden(),G=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);q&&this.temporaryDisplay();this.layOutTitles();
270
- for(c=d.length;c--;)if(h=d[c],h.options.stacking&&(g=!0,h.isDirty)){r=!0;break}if(r)for(c=d.length;c--;)h=d[c],h.options.stacking&&(h.isDirty=!0);d.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),t=!0):k&&(k.labelFormatter||k.labelFormat)&&(t=!0));a.isDirtyData&&b(a,"updatedData")});t&&f&&f.options.enabled&&(f.render(),this.isDirtyLegend=!1);g&&this.getStacks();m&&l.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();m&&(l.forEach(function(a){a.isDirty&&
271
- (E=!0)}),l.forEach(function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,G.push(function(){b(a,"afterSetExtremes",n(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(E||g)&&a.redraw()}));E&&this.drawChartBox();b(this,"predraw");d.forEach(function(a){(E||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);D.draw();b(this,"redraw");b(this,"render");q&&this.temporaryDisplay(!0);G.forEach(function(a){a.call()})},get:function(a){function c(c){return c.id===a||c.options&&c.options.id===
272
- a}var b,l=this.series,d;b=e(this.axes,c)||e(this.series,c);for(d=0;!b&&d<l.length;d++)b=e(l[d].points||[],c);return b},getAxes:function(){var a=this,c=this.options,l=c.xAxis=t(c.xAxis||{}),c=c.yAxis=t(c.yAxis||{});b(this,"getAxes");l.forEach(function(a,c){a.index=c;a.isX=!0});c.forEach(function(a,c){a.index=c});l.concat(c).forEach(function(c){new u(a,c)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(c){a=a.concat((c[c.hasGroupedData?"points":"data"]||
273
- []).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,c,b){var l=this,d=l.options,e=l.styledMode,f;f=d.title=A(!e&&{style:{color:"#333333",fontSize:d.isStock?"16px":"18px"}},d.title,a);d=d.subtitle=A(!e&&{style:{color:"#666666"}},d.subtitle,c);[["title",a,f],["subtitle",c,d]].forEach(function(a,c){var b=a[0],d=l[b],f=a[1];a=a[2];d&&f&&(l[b]=d=d.destroy());a&&!d&&(l[b]=l.renderer.text(a.text,
274
- 0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),l[b].update=function(a){l.setTitle(!c&&a,c&&a)},e||l[b].css(a.style))});l.layOutTitles(b)},layOutTitles:function(a){var c=0,b,d=this.renderer,e=this.spacingBox;["title","subtitle"].forEach(function(a){var b=this[a],l=this.options[a];a="title"===a?-3:l.verticalAlign?0:c+2;var f;b&&(this.styledMode||(f=l.style.fontSize),f=d.fontMetrics(f,b).b,b.css({width:(l.width||e.width+l.widthAdjust)+"px"}).align(n({y:a+f},l),
275
- !1,"spacingBox"),l.floating||l.verticalAlign||(c=Math.ceil(c+b.getBBox(l.useHTML).height)))},this);b=this.titleOffset!==c;this.titleOffset=c;!this.isDirtyBox&&b&&(this.isDirtyBox=this.isDirtyLegend=b,this.hasRendered&&l(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var c=this.options.chart,b=c.width,c=c.height,l=this.renderTo;f(b)||(this.containerWidth=a.getStyle(l,"width"));f(c)||(this.containerHeight=a.getStyle(l,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);
276
- this.chartHeight=Math.max(0,a.relativeLength(c,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(c){var b=this.renderTo;if(c)for(;b&&b.style;)b.hcOrigStyle&&(a.css(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(h.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){h.body.contains(b)||b.parentNode||(b.hcOrigDetached=!0,h.body.appendChild(b));if("none"===a.getStyle(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,
277
- height:b.style.height,overflow:b.style.overflow},c={display:"block",overflow:"hidden"},b!==this.renderTo&&(c.height=0),a.css(b,c),b.offsetWidth||b.style.setProperty("display","block","important");b=b.parentNode;if(b===h.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,l=this.options,e=l.chart,f,t;c=this.renderTo;var r=a.uniqueKey(),m,D;c||(this.renderTo=c=e.renderTo);k(c)&&(this.renderTo=c=h.getElementById(c));c||a.error(13,
278
- !0,this);f=E(p(c,"data-highcharts-chart"));d(f)&&q[f]&&q[f].hasRendered&&q[f].destroy();p(c,"data-highcharts-chart",this.index);c.innerHTML="";e.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();f=this.chartWidth;t=this.chartHeight;g(c,{overflow:"hidden"});this.styledMode||(m=n({position:"relative",overflow:"hidden",width:f+"px",height:t+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},e.style));this.container=c=v("div",{id:r},m,
279
- c);this._cursor=c.style.cursor;this.renderer=new (a[e.renderer]||a.Renderer)(c,f,t,null,e.forExport,l.exporting&&l.exporting.allowHTML,this.styledMode);this.setClassName(e.className);if(this.styledMode)for(D in l.defs)this.renderer.definition(l.defs[D]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,l=this.margin,d=this.titleOffset;this.resetMargins();d&&!f(l[0])&&(this.plotTop=Math.max(this.plotTop,d+
280
- this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(l,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,c=a.axisOffset=[0,0,0,0],b=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});B.forEach(function(l,d){f(b[d])||(a[l]+=c[d])});a.setChartSize()},reflow:function(c){var b=this,l=b.options.chart,d=b.renderTo,e=f(l.width)&&f(l.height),k=l.width||a.getStyle(d,"width"),l=l.height||a.getStyle(d,
281
- "height"),d=c?c.target:M;if(!e&&!b.isPrinting&&k&&l&&(d===M||d===h)){if(k!==b.containerWidth||l!==b.containerHeight)a.clearTimeout(b.reflowTimeout),b.reflowTimeout=I(function(){b.container&&b.setSize(void 0,void 0,!1)},c?100:0);b.containerWidth=k;b.containerHeight=l}},setReflow:function(a){var c=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(M,"resize",function(a){c.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(c,
282
- l,d){var e=this,f=e.renderer,k;e.isResizing+=1;a.setAnimation(d,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;void 0!==c&&(e.options.chart.width=c);void 0!==l&&(e.options.chart.height=l);e.getChartSize();e.styledMode||(k=f.globalAnimation,(k?y:g)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},k));e.setChartSize(!0);f.setSize(e.chartWidth,e.chartHeight,d);e.axes.forEach(function(a){a.isDirty=!0;a.setScale()});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();
283
- e.redraw(d);e.oldChartHeight=null;b(e,"resize");I(function(){e&&b(e,"endResize",null,function(){--e.isResizing})},F(k).duration)},setChartSize:function(a){var c=this.inverted,l=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,k=this.spacing,t=this.clipOffset,g,r,m,n;this.plotLeft=g=Math.round(this.plotLeft);this.plotTop=r=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-g-this.marginRight));this.plotHeight=n=Math.max(0,Math.round(e-r-this.marginBottom));this.plotSizeX=
284
- c?n:m;this.plotSizeY=c?m:n;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=l.spacingBox={x:k[3],y:k[0],width:d-k[3]-k[1],height:e-k[0]-k[2]};this.plotBox=l.plotBox={x:g,y:r,width:m,height:n};d=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(d,t[3])/2);l=Math.ceil(Math.max(d,t[0])/2);this.clipBox={x:c,y:l,width:Math.floor(this.plotSizeX-Math.max(d,t[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,t[2])/2-l))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});
285
- b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,c=a.options.chart;["margin","spacing"].forEach(function(b){var d=c[b],e=m(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,f){a[b][f]=l(c[b+d],e[f])})});B.forEach(function(c,b){a[c]=l(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,l=this.chartWidth,d=this.chartHeight,e=this.chartBackground,
286
- f=this.plotBackground,k=this.plotBorder,t,g=this.styledMode,r=this.plotBGImage,m=a.backgroundColor,n=a.plotBackgroundColor,E=a.plotBackgroundImage,h,D=this.plotLeft,q=this.plotTop,G=this.plotWidth,z=this.plotHeight,p=this.plotBox,I=this.clipRect,B=this.clipBox,A="animate";e||(this.chartBackground=e=c.rect().addClass("highcharts-background").add(),A="attr");if(g)t=h=e.strokeWidth();else{t=a.borderWidth||0;h=t+(a.shadow?8:0);m={fill:m||"none"};if(t||e["stroke-width"])m.stroke=a.borderColor,m["stroke-width"]=
287
- t;e.attr(m).shadow(a.shadow)}e[A]({x:h/2,y:h/2,width:l-h-t%2,height:d-h-t%2,r:a.borderRadius});A="animate";f||(A="attr",this.plotBackground=f=c.rect().addClass("highcharts-plot-background").add());f[A](p);g||(f.attr({fill:n||"none"}).shadow(a.plotShadow),E&&(r?r.animate(p):this.plotBGImage=c.image(E,D,q,G,z).add()));I?I.animate({width:B.width,height:B.height}):this.clipRect=c.clipRect(B);A="animate";k||(A="attr",this.plotBorder=k=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
288
- g||k.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});k[A](k.crisp({x:D,y:q,width:G,height:z},-k.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,c=a.options.chart,b,l=a.options.series,d,e;["inverted","angular","polar"].forEach(function(f){b=G[c.type||c.defaultSeriesType];e=c[f]||b&&b.prototype[f];for(d=l&&l.length;!e&&d--;)(b=G[l[d].type])&&b.prototype[f]&&(e=!0);a[f]=e})},linkSeries:function(){var a=this,c=a.series;
289
- c.forEach(function(a){a.linkedSeries.length=0});c.forEach(function(c){var b=c.options.linkedTo;k(b)&&(b=":previous"===b?a.series[c.index-1]:a.get(b))&&b.linkedParent!==c&&(b.linkedSeries.push(c),c.linkedParent=b,c.visible=l(c.options.visible,b.options.visible,c.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,c=a.options.labels;c.items&&c.items.forEach(function(b){var l=n(c.style,b.style),
290
- d=E(l.left)+a.plotLeft,e=E(l.top)+a.plotTop+12;delete l.left;delete l.top;a.renderer.text(b.html,d,e).attr({zIndex:2}).css(l).add()})},render:function(){var a=this.axes,c=this.renderer,b=this.options,l=0,d,e,f;this.setTitle();this.legend=new z(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return l=21,!0});d=this.plotHeight=Math.max(this.plotHeight-l,0);a.forEach(function(a){a.setScale()});
291
- this.getAxisMargins();e=1.1<b/this.plotWidth;f=1.05<d/this.plotHeight;if(e||f)a.forEach(function(a){(a.horiz&&e||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var c=this;a=A(!0,
292
- this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(M.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),c.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){c.credits=c.credits.destroy();c.addCredits(a)})},destroy:function(){var c=this,l=c.axes,d=c.series,e=c.container,f,k=e&&e.parentNode;b(c,"destroy");
293
- c.renderer.forExport?a.erase(q,c):q[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");D(c);for(f=l.length;f--;)l[f]=l[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=d.length;f--;)d[f]=d[f].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});
294
- e&&(e.innerHTML="",D(e),k&&x(e));r(c,function(a,b){delete c[b]})},firstRender:function(){var l=this,d=l.options;if(!l.isReadyToRender||l.isReadyToRender()){l.getContainer();l.resetMargins();l.setChartSize();l.propFromSeries();l.getAxes();(a.isArray(d.series)?d.series:[]).forEach(function(a){l.initSeries(a)});l.linkSeries();b(l,"beforeRender");c&&(l.pointer=new c(l,d));l.render();if(!l.renderer.imgCount&&l.onload)l.onload();l.temporaryDisplay(!0)}},onload:function(){[this.callback].concat(this.callbacks).forEach(function(a){a&&
295
- void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");f(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});J(H,"parts/ScrollablePlotArea.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.Chart;C(y,"afterSetChartSize",function(y){var p=this.options.chart.scrollablePlotArea;(p=p&&p.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=p=Math.max(0,p-this.chartWidth))&&(this.plotWidth+=p,this.clipBox.width+=p,y.skipAxes||this.axes.forEach(function(h){1===
296
- h.side?h.getPlotLinePath=function(){var p=this.right,v;this.right=p-h.chart.scrollablePixels;v=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=p;return v}:(h.setAxisSize(),h.setAxisTranslation())}))});C(y,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});y.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},
297
- this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};y.prototype.moveFixedElements=function(){var a=this.container,p=this.fixedRenderer;[this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-reset-zoom",
298
- ".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"].forEach(function(h){[].forEach.call(a.querySelectorAll(h),function(a){(a.namespaceURI===p.SVG_NS?p.box:p.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};y.prototype.applyFixed=function(){var y,p=!this.fixedDiv,h=this.options.chart.scrollablePlotArea;p&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,
299
- this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=y=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=y.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(h.opacity,.85)).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),C(this,"afterShowResetZoom",this.moveFixedElements));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);y=this.chartWidth+this.scrollablePixels;a.stop(this.container);
300
- this.container.style.width=y+"px";this.renderer.boxWrapper.attr({width:y,height:this.chartHeight,viewBox:[0,0,y,this.chartHeight].join(" ")});this.chartBackground.attr({width:y});p&&h.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixels*h.scrollPositionX);h=this.axisOffset;p=this.plotTop-h[0]-1;h=this.plotTop+this.plotHeight+h[2];y=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?["M",0,p,"L",this.plotLeft-1,p,"L",this.plotLeft-
301
- 1,h,"L",0,h,"Z","M",y,p,"L",this.chartWidth,p,"L",this.chartWidth,h,"L",y,h,"Z"]:["M",0,0]})}});J(H,"parts/Point.js",[H["parts/Globals.js"]],function(a){var C,y=a.extend,F=a.erase,p=a.fireEvent,h=a.format,u=a.isArray,v=a.isNumber,w=a.pick,x=a.uniqueKey,q=a.defined,g=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,g,e){this.series=a;this.applyOptions(g,e);this.id=q(this.id)?this.id:x();this.resolveColor();a.chart.pointCount++;p(this,"afterInit");return this},resolveColor:function(){var a=
302
- this.series,g;g=a.chart.options.chart.colorCount;var e=a.chart.styledMode;e||this.options.color||(this.color=a.color);a.options.colorByPoint?(e||(g=a.options.colors||a.chart.options.colors,this.color=this.color||g[a.colorCounter],g=g.length),e=a.colorCounter,a.colorCounter++,a.colorCounter===g&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=w(this.colorIndex,e)},applyOptions:function(a,g){var e=this.series,b=e.options.pointValKey||e.pointValKey;a=C.prototype.optionsToObject.call(this,a);y(this,
303
- a);this.options=this.options?y(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);if(this.isNull=w(this.isValid&&!this.isValid(),null===this.x||!v(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===g&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===g?e.autoIncrement(this):g);return this},setNestedProperty:function(f,g,e){e.split(".").reduce(function(b,d,
304
- e,f){b[d]=f.length-1===e?g:a.isObject(b[d],!0)?b[d]:{};return b[d]},f);return f},optionsToObject:function(f){var g={},e=this.series,b=e.options.keys,d=b||e.pointArrayMap||["y"],m=d.length,k=0,h=0;if(v(f)||null===f)g[d[0]]=f;else if(u(f))for(!b&&f.length>m&&(e=typeof f[0],"string"===e?g.name=f[0]:"number"===e&&(g.x=f[0]),k++);h<m;)b&&void 0===f[k]||(0<d[h].indexOf(".")?a.Point.prototype.setNestedProperty(g,f[k],d[h]):g[d[h]]=f[k]),k++,h++;else"object"===typeof f&&(g=f,f.dataLabels&&(e._hasPointLabels=
305
- !0),f.marker&&(e._hasPointMarkers=!0));return g},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,g=a.zones,a=a.zoneAxis||
306
- "y",e=0,b;for(b=g[e];this[a]>=b.value;)b=g[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},destroy:function(){var a=this.series.chart,n=a.hoverPoints,e;a.pointCount--;n&&(this.setState(),F(n,this),n.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)g(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(e in this)this[e]=
307
- null},destroyElements:function(a){var f=this,e=[],b,d;a=a||{graphic:1,dataLabel:1};a.graphic&&e.push("graphic","shadowGroup");a.dataLabel&&e.push("dataLabel","dataLabelUpper","connector");for(d=e.length;d--;)b=e[d],f[b]&&(f[b]=f[b].destroy());["dataLabel","connector"].forEach(function(b){var d=b+"s";a[b]&&f[d]&&(f[d].forEach(function(a){a.element&&a.destroy()}),delete f[d])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,
308
- series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var f=this.series,e=f.tooltipOptions,b=w(e.valueDecimals,""),d=e.valuePrefix||"",g=e.valueSuffix||"";f.chart.styledMode&&(a=f.chart.tooltip.styledModeFormat(a));(f.pointArrayMap||["y"]).forEach(function(e){e="{point."+e;if(d||g)a=a.replace(RegExp(e+"}","g"),d+e+"}"+g);a=a.replace(RegExp(e+"}","g"),e+":,."+b+"f}")});return h(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,
309
- g,e){var b=this,d=this.series.options;(d.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&d.allowPointSelect&&(e=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});p(this,a,g,e)},visible:!0}});J(H,"parts/Series.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animObject,F=a.arrayMax,p=a.arrayMin,h=a.correctFloat,u=a.defaultOptions,v=a.defaultPlotOptions,w=a.defined,x=a.erase,q=a.extend,g=a.fireEvent,f=a.isArray,n=
310
- a.isNumber,e=a.isString,b=a.merge,d=a.objectEach,m=a.pick,k=a.removeEvent,z=a.splat,B=a.SVGElement,A=a.syncTimeout,r=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",
311
- formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},
312
- {isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(a,b){g(this,"init",{options:b});var c=this,l,e=a.series,f;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();q(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});l=b.events;d(l,function(a,b){c.hcEvents&&c.hcEvents[b]&&-1!==c.hcEvents[b].indexOf(a)||C(c,b,a)});if(l&&l.click||
313
- b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(a){c[a+"Data"]||(c[a+"Data"]=[])});c.points||c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);e.length&&(f=e[e.length-1]);c._i=m(f&&f._i,-1)+1;a.orderSeries(this.insert(e));g(this,"afterInit")},insert:function(a){var c=this.options.index,b;if(n(c)){for(b=a.length;b--;)if(c>=m(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&
314
- a.unshift(this);b+=1}else a.push(this);return m(b,a.length-1)},bindAxes:function(){var c=this,b=c.options,d=c.chart,e;g(this,"bindAxes",null,function(){(c.axisTypes||[]).forEach(function(l){d[l].forEach(function(a){e=a.options;if(b[l]===e.index||void 0!==b[l]&&b[l]===e.id||void 0===b[l]&&0===e.index)c.insert(a.series),c[l]=a,a.isDirty=!0});c[l]||c.optionalAxis===l||a.error(18,!0,d)})})},updateParallelArrays:function(a,b){var c=a.series,l=arguments,d=n(b)?function(l){var d="y"===l&&c.toYData?c.toYData(a):
315
- a[l];c[l+"Data"][b]=d}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(l,2))};c.parallelArrays.forEach(d)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,d,e=a.pointIntervalUnit,f=this.chart.time,b=m(b,a.pointStart,0);this.pointInterval=d=m(this.pointInterval,a.pointInterval,1);e&&(a=new f.Date(b),"day"===e?f.set("Date",a,f.get("Date",
316
- a)+d):"month"===e?f.set("Month",a,f.get("Month",a)+d):"year"===e&&f.set("FullYear",a,f.get("FullYear",a)+d),d=a.getTime()-b);this.xIncrement=b+d;return b},setOptions:function(a){var c=this.chart,d=c.options,e=d.plotOptions,f=(c.userOptions||{}).plotOptions||{},k=e[this.type],r=b(a);a=c.styledMode;g(this,"setOptions",{userOptions:r});this.userOptions=r;c=b(k,e.series,r);this.tooltipOptions=b(u.tooltip,u.plotOptions.series&&u.plotOptions.series.tooltip,u.plotOptions[this.type].tooltip,d.tooltip.userOptions,
317
- e.series&&e.series.tooltip,e[this.type].tooltip,r.tooltip);this.stickyTracking=m(r.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===k.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;d=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||(e={value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"},a||(e.color=c.negativeColor,
318
- e.fillColor=c.negativeFillColor),d.push(e));d.length&&w(d[d.length-1].value)&&d.push(a?{}:{color:this.color,fillColor:this.fillColor});g(this,"afterSetOptions",{options:c});return c},getName:function(){return m(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,d){var c,l=this.chart,e=this.userOptions,f=a+"Index",k=a+"Counter",g=d?d.length:m(l.options.chart[a+"Count"],l[a+"Count"]);b||(c=m(e[f],e["_"+f]),w(c)||(l.series.length||(l[k]=0),e["_"+f]=c=l[k]%g,l[k]+=1),d&&(b=d[c]));void 0!==
319
- c&&(this[f]=c);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var c=a.id;a=a.x;var l=this.points,d,e;c&&(e=(c=this.chart.get(c))&&c.index,void 0!==e&&(d=!0));void 0===e&&n(a)&&(e=this.xData.indexOf(a,b));
320
- -1!==e&&void 0!==e&&this.cropped&&(e=e>=this.cropStart?e-this.cropStart:e);!d&&l[e]&&l[e].touched&&(e=void 0);return e},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(c){var b=this.options,d=this.points,e=[],f,k,g,r=this.requireSorting,m=c.length===d.length,h=!0;this.xIncrement=null;c.forEach(function(c,l){var k,t=a.defined(c)&&this.pointClass.prototype.optionsToObject.call({series:this},c)||{};k=t.x;if(t.id||n(k))if(k=this.findPointIndex(t,g),-1===k||void 0===k?e.push(c):
321
- d[k]&&c!==b.data[k]?(d[k].update(c,!1,null,!1),d[k].touched=!0,r&&(g=k+1)):d[k]&&(d[k].touched=!0),!m||l!==k||this.hasDerivedData)f=!0},this);if(f)for(c=d.length;c--;)(k=d[c])&&!k.touched&&k.remove(!1);else m?c.forEach(function(a,c){d[c].update&&a!==d[c].y&&d[c].update(a,!1,null,!1)}):h=!1;d.forEach(function(a){a&&(a.touched=!1)});if(!h)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(c,b,d,k){var l=this,g=l.points,r=g&&g.length||0,h,E=l.options,D=
322
- l.chart,q=null,z=l.xAxis,p=E.turboThreshold,A=this.xData,B=this.yData,u=(h=l.pointArrayMap)&&h.length,v=E.keys,w=0,x=1,y;c=c||[];h=c.length;b=m(b,!0);!1!==k&&h&&r&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.isSeriesBoosting&&(y=this.updateData(c));if(!y){l.xIncrement=null;l.colorCounter=0;this.parallelArrays.forEach(function(a){l[a+"Data"].length=0});if(p&&h>p){for(d=0;null===q&&d<h;)q=c[d],d++;if(n(q))for(d=0;d<h;d++)A[d]=this.autoIncrement(),B[d]=c[d];else if(f(q))if(u)for(d=0;d<h;d++)q=c[d],
323
- A[d]=q[0],B[d]=q.slice(1,u+1);else for(v&&(w=v.indexOf("x"),x=v.indexOf("y"),w=0<=w?w:0,x=0<=x?x:1),d=0;d<h;d++)q=c[d],A[d]=q[w],B[d]=q[x];else a.error(12,!1,D)}else for(d=0;d<h;d++)void 0!==c[d]&&(q={series:l},l.pointClass.prototype.applyOptions.apply(q,[c[d]]),l.updateParallelArrays(q,d));B&&e(B[0])&&a.error(14,!0,D);l.data=[];l.options.data=l.userOptions.data=c;for(d=r;d--;)g[d]&&g[d].destroy&&g[d].destroy();z&&(z.minRange=z.userMinRange);l.isDirty=D.isDirtyBox=!0;l.isDirtyData=!!g;d=!1}"point"===
324
- E.legendType&&(this.processData(),this.generatePoints());b&&D.redraw(d)},processData:function(c){var b=this.xData,d=this.yData,e=b.length,k;k=0;var f,g,r=this.xAxis,m,n=this.options;m=n.cropThreshold;var h=this.getExtremesFromAll||n.getExtremesFromAll,q=this.isCartesian,n=r&&r.val2lin,z=r&&r.isLog,p=this.requireSorting,B,A;if(q&&!this.isDirty&&!r.isDirty&&!this.yAxis.isDirty&&!c)return!1;r&&(c=r.getExtremes(),B=c.min,A=c.max);q&&this.sorted&&!h&&(!m||e>m||this.forceCrop)&&(b[e-1]<B||b[0]>A?(b=[],
325
- d=[]):this.yData&&(b[0]<B||b[e-1]>A)&&(k=this.cropData(this.xData,this.yData,B,A),b=k.xData,d=k.yData,k=k.start,f=!0));for(m=b.length||1;--m;)e=z?n(b[m])-n(b[m-1]):b[m]-b[m-1],0<e&&(void 0===g||e<g)?g=e:0>e&&p&&(a.error(15,!1,this.chart),p=!1);this.cropped=f;this.cropStart=k;this.processedXData=b;this.processedYData=d;this.closestPointRange=g},cropData:function(a,b,d,e,k){var c=a.length,l=0,f=c,g;k=m(k,this.cropShoulder);for(g=0;g<c;g++)if(a[g]>=d){l=Math.max(0,g-k);break}for(d=g;d<c;d++)if(a[d]>
326
- e){f=d+k;break}return{xData:a.slice(l,f),yData:b.slice(l,f),start:l,end:f}},generatePoints:function(){var a=this.options,b=a.data,d=this.data,e,k=this.processedXData,f=this.processedYData,r=this.pointClass,m=k.length,n=this.cropStart||0,h,p=this.hasGroupedData,a=a.keys,B,A=[],u;d||p||(d=[],d.length=b.length,d=this.data=d);a&&p&&(this.options.keys=!1);for(u=0;u<m;u++)h=n+u,p?(B=(new r).init(this,[k[u]].concat(z(f[u]))),B.dataGroup=this.groupMap[u],B.dataGroup.options&&(B.options=B.dataGroup.options,
327
- q(B,B.dataGroup.options),delete B.dataLabels)):(B=d[h])||void 0===b[h]||(d[h]=B=(new r).init(this,b[h],k[u])),B&&(B.index=h,A[u]=B);this.options.keys=a;if(d&&(m!==(e=d.length)||p))for(u=0;u<e;u++)u!==n||p||(u+=m),d[u]&&(d[u].destroyElements(),d[u].plotX=void 0);this.data=d;this.points=A;g(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:p(a),max:F(a)}},getExtremes:function(a){var c=this.yAxis,b=this.processedXData,d,e=[],k=0;d=this.xAxis.getExtremes();var r=d.min,m=d.max,h,q,z=this.requireSorting?
328
- this.cropShoulder:0,B,A;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(A=0;A<d;A++)if(q=b[A],B=a[A],h=(n(B,!0)||f(B))&&(!c.positiveValuesOnly||B.length||0<B),q=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(b[A+z]||q)>=r&&(b[A-z]||q)<=m,h&&q)if(h=B.length)for(;h--;)"number"===typeof B[h]&&(e[k++]=B[h]);else e[k++]=B;this.dataMin=p(e);this.dataMax=F(e);g(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();
329
- var a=this.options,b=a.stacking,d=this.xAxis,e=d.categories,k=this.yAxis,r=this.points,q=r.length,z=!!this.modifyValue,p,B=this.pointPlacementToXValue(),A=n(B),u=a.threshold,v=a.startFromThreshold?u:0,x,y,C,F,H=this.zoneAxis||"y",X=Number.MAX_VALUE;for(p=0;p<q;p++){var J=r[p],U=J.x;y=J.y;var S=J.low,Y=b&&k.stacks[(this.negStacks&&y<(v?0:u)?"-":"")+this.stackKey],Z,V;k.positiveValuesOnly&&null!==y&&0>=y&&(J.isNull=!0);J.plotX=x=h(Math.min(Math.max(-1E5,d.translate(U,0,0,0,1,B,"flags"===this.type)),
330
- 1E5));b&&this.visible&&!J.isNull&&Y&&Y[U]&&(F=this.getStackIndicator(F,U,this.index),Z=Y[U],V=Z.points[F.key]);f(V)&&(S=V[0],y=V[1],S===v&&F.key===Y[U].base&&(S=m(n(u)&&u,k.min)),k.positiveValuesOnly&&0>=S&&(S=null),J.total=J.stackTotal=Z.total,J.percentage=Z.total&&J.y/Z.total*100,J.stackY=y,Z.setOffset(this.pointXOffset||0,this.barW||0));J.yBottom=w(S)?Math.min(Math.max(-1E5,k.translate(S,0,1,0,1)),1E5):null;z&&(y=this.modifyValue(y,J));J.plotY=y="number"===typeof y&&Infinity!==y?Math.min(Math.max(-1E5,
331
- k.translate(y,0,1,0,1)),1E5):void 0;J.isInside=void 0!==y&&0<=y&&y<=k.len&&0<=x&&x<=d.len;J.clientX=A?h(d.translate(U,0,0,0,1,B)):x;J.negative=J[H]<(a[H+"Threshold"]||u||0);J.category=e&&void 0!==e[J.x]?e[J.x]:J.x;J.isNull||(void 0!==C&&(X=Math.min(X,Math.abs(x-C))),C=x);J.zone=this.zones.length&&J.getZone()}this.closestPointRangePx=X;g(this,"afterTranslate")},getValidPoints:function(a,b,d){var c=this.chart;return(a||this.points||[]).filter(function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
332
- !1:d||!a.isNull})},setClip:function(a){var c=this.chart,b=this.options,d=c.renderer,e=c.inverted,k=this.clipBox,f=k||c.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,b.xAxis,b.yAxis].join(),r=c[g],m=c[g+"m"];r||(a&&(f.width=0,e&&(f.x=c.plotSizeX),c[g+"m"]=m=d.clipRect(e?c.plotSizeX+99:-99,e?-c.plotLeft:-c.plotTop,99,e?c.chartWidth:c.chartHeight)),c[g]=r=d.clipRect(f),r.count={length:0});a&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);!1!==b.clip&&
333
- (this.group.clip(a||k?r:c.clipRect),this.markerGroup.clip(m),this.sharedClipKey=g);a||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&g&&c[g]&&(k||(c[g]=c[g].destroy()),c[g+"m"]&&(c[g+"m"]=c[g+"m"].destroy())))},animate:function(a){var c=this.chart,b=y(this.options.animation),d;a?this.setClip(b):(d=this.sharedClipKey,(a=c[d])&&a.animate({width:c.plotSizeX,x:0},b),c[d+"m"]&&c[d+"m"].animate({width:c.plotSizeX+99,x:c.inverted?0:-99},b),this.animate=null)},afterAnimate:function(){this.setClip();
334
- g(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,d,e,k,f,g,r=this.options.marker,n,h,q,z=this[this.specialGroup]||this.markerGroup;d=this.xAxis;var p,B=m(r.enabled,!d||d.isRadial?!0:null,this.closestPointRangePx>=r.enabledThreshold*r.radius);if(!1!==r.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)if(e=a[d],g=(f=e.graphic)?"animate":"attr",n=e.marker||{},h=!!e.marker,k=B&&void 0===n.enabled||n.enabled,q=!1!==e.isInside,k&&!e.isNull){k=m(n.symbol,
335
- this.symbol);p=this.markerAttribs(e,e.selected&&"select");f?f[q?"show":"hide"](!0).animate(p):q&&(0<p.width||e.hasImage)&&(e.graphic=f=b.renderer.symbol(k,p.x,p.y,p.width,p.height,h?n:r).add(z));if(f&&!b.styledMode)f[g](this.pointAttribs(e,e.selected&&"select"));f&&f.addClass(e.getClassName(),!0)}else f&&(e.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},l=d.symbol||c.symbol,e=m(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=m(b&&b.radius,
336
- c&&c.radius,e+(c&&c.radiusPlus||0)));a.hasImage=l&&0===l.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,l=d&&d.marker||{},e=this.color,k=d&&d.color,f=a&&a.color,d=m(l.lineWidth,c.lineWidth),g=a&&a.zone&&a.zone.color;a=1;e=k||g||f||e;k=l.fillColor||c.fillColor||e;e=l.lineColor||c.lineColor||e;b&&(c=c.states[b],b=l.states&&l.states[b]||{},d=m(b.lineWidth,c.lineWidth,d+m(b.lineWidthPlus,
337
- c.lineWidthPlus,0)),k=b.fillColor||c.fillColor||k,e=b.lineColor||c.lineColor||e,a=m(b.opacity,c.opacity,a));return{stroke:e,"stroke-width":d,fill:k,opacity:a}},destroy:function(c){var b=this,e=b.chart,f=/AppleWebKit\/533/.test(r.navigator.userAgent),m,t,n=b.data||[],h,q;g(b,"destroy");c||k(b);(b.axisTypes||[]).forEach(function(a){(q=b[a])&&q.series&&(x(q.series,b),q.isDirty=q.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(t=n.length;t--;)(h=n[t])&&h.destroy&&h.destroy();b.points=
338
- null;a.clearTimeout(b.animationTimeout);d(b,function(a,c){a instanceof B&&!a.survive&&(m=f&&"group"===c?"hide":"destroy",a[m]())});e.hoverSeries===b&&(e.hoverSeries=null);x(e.series,b);e.orderSeries();d(b,function(a,d){c&&"hcEvents"===d||delete b[d]})},getGraphPath:function(a,b,d){var c=this,l=c.options,e=l.step,k,f=[],g=[],r;a=a||c.points;(k=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&k&&(e=4-e);!l.connectNulls||b||d||(a=this.getValidPoints(a));a.forEach(function(k,m){var t=k.plotX,
339
- n=k.plotY,h=a[m-1];(k.leftCliff||h&&h.rightCliff)&&!d&&(r=!0);k.isNull&&!w(b)&&0<m?r=!l.connectNulls:k.isNull&&!b?r=!0:(0===m||r?m=["M",k.plotX,k.plotY]:c.getPointSpline?m=c.getPointSpline(a,k,m):e?(m=1===e?["L",h.plotX,n]:2===e?["L",(h.plotX+t)/2,h.plotY,"L",(h.plotX+t)/2,n]:["L",t,h.plotY],m.push("L",t,n)):m=["L",t,n],g.push(k.x),e&&(g.push(k.x),2===e&&g.push(k.x)),f.push.apply(f,m),r=!1)});f.xMap=g;return c.graphPath=f},drawGraph:function(){var a=this,b=this.options,d=(this.gappedPath||this.getGraphPath).call(this),
340
- e=this.chart.styledMode,k=[["graph","highcharts-graph"]];e||k[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);k=a.getZonesGraphs(k);k.forEach(function(c,l){var k=c[0],f=a[k],g=f?"animate":"attr";f?(f.endX=a.preventGraphAnimation?null:d.xMap,f.animate({d:d})):d.length&&(a[k]=f=a.chart.renderer.path(d).addClass(c[1]).attr({zIndex:1}).add(a.group));f&&!e&&(k={stroke:c[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},c[3]?k.dashstyle=c[3]:"square"!==b.linecap&&(k["stroke-linecap"]=
341
- k["stroke-linejoin"]="round"),f[g](k).shadow(2>l&&b.shadow));f&&(f.startX=d.xMap,f.isArea=d.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,c){c=["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,d=b.renderer,e=this.zones,k,f,g=this.clips||[],r,n=this.graph,h=this.area,q=Math.max(b.chartWidth,
342
- b.chartHeight),z=this[(this.zoneAxis||"y")+"Axis"],p,B,A=b.inverted,u,v,w,x,y=!1;e.length&&(n||h)&&z&&void 0!==z.min&&(B=z.reversed,u=z.horiz,n&&!this.showLine&&n.hide(),h&&h.hide(),p=z.getExtremes(),e.forEach(function(c,l){k=B?u?b.plotWidth:0:u?0:z.toPixels(p.min)||0;k=Math.min(Math.max(m(f,k),0),q);f=Math.min(Math.max(Math.round(z.toPixels(m(c.value,p.max),!0)||0),0),q);y&&(k=f=z.toPixels(p.max));v=Math.abs(k-f);w=Math.min(k,f);x=Math.max(k,f);z.isXAxis?(r={x:A?x:w,y:0,width:v,height:q},u||(r.x=
343
- b.plotHeight-r.x)):(r={x:0,y:A?x:w,width:q,height:v},u&&(r.y=b.plotWidth-r.y));A&&d.isVML&&(r=z.isXAxis?{x:0,y:B?w:x,height:r.width,width:b.chartWidth}:{x:r.y-b.plotLeft-b.spacingBox.x,y:0,width:r.height,height:b.chartHeight});g[l]?g[l].animate(r):(g[l]=d.clipRect(r),n&&a["zone-graph-"+l].clip(g[l]),h&&a["zone-area-"+l].clip(g[l]));y=c.value>p.max;a.resetZones&&0===f&&(f=void 0)}),this.clips=g)},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){c[b]&&(d.renderer.isVML&&
344
- c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=C(d,"resize",b),C(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,d,e,k){var c=this[a],l=!c;l&&(this[a]=c=this.chart.renderer.g().attr({zIndex:e||.1}).add(k));c.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||
345
- "")+(c.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);c.attr({visibility:d})[l?"attr":"animate"](this.getPlotBox());return c},getPlotBox:function(){var a=this.chart,b=this.xAxis,d=this.yAxis;a.inverted&&(b=d,d=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:d?d.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,d,e=a.options,k=!!a.animate&&b.renderer.isSVG&&y(e.animation).duration,f=a.visible?"inherit":"hidden",r=e.zIndex,m=a.hasRendered,n=b.seriesGroup,
346
- h=b.inverted;g(this,"render");d=a.plotGroup("group","series",f,r,n);a.markerGroup=a.plotGroup("markerGroup","markers",f,r,n);k&&a.animate(!0);d.inverted=a.isCartesian||a.invertable?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===e.clip||a.sharedClipKey||m||d.clip(b.clipRect);k&&a.animate();m||(a.animationTimeout=
347
- A(function(){a.afterAnimate()},k));a.isDirty=!1;a.hasRendered=!0;g(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,d=this.group,e=this.xAxis,k=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:m(e&&e.left,a.plotLeft),translateY:m(k&&k.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,l=this.chart.inverted;
348
- return this.searchKDTree({clientX:l?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:l?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)},buildKDTree:function(a){function b(a,d,l){var e,k;if(k=a&&a.length)return e=c.kdAxisArray[d%l],a.sort(function(a,b){return a[e]-b[e]}),k=Math.floor(k/2),{point:a[k],left:b(a.slice(0,k),d+1,l),right:b(a.slice(k+1),d+1,l)}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;A(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),
349
- d,d);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,d){function c(a,b,d,g){var r=b.point,m=l.kdAxisArray[d%g],n,t,h=r;t=w(a[e])&&w(r[e])?Math.pow(a[e]-r[e],2):null;n=w(a[k])&&w(r[k])?Math.pow(a[k]-r[k],2):null;n=(t||0)+(n||0);r.dist=w(n)?Math.sqrt(n):Number.MAX_VALUE;r.distX=w(t)?Math.sqrt(t):Number.MAX_VALUE;m=a[m]-r[m];n=0>m?"left":"right";t=0>m?"right":"left";b[n]&&(n=c(a,b[n],d+1,g),h=n[f]<h[f]?n:r);b[t]&&Math.sqrt(m*m)<h[f]&&(a=c(a,b[t],d+1,g),
350
- h=a[f]<h[f]?a:h);return h}var l=this,e=this.kdAxisArray[0],k=this.kdAxisArray[1],f=b?"distX":"dist";b=-1<l.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(d);if(this.kdTree)return c(a,this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);n(a)&&(a*=m(this.options.pointRange||this.xAxis.pointRange));return a}})});J(H,"parts/Stacking.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,y=a.Chart,F=a.correctFloat,
351
- p=a.defined,h=a.destroyObjectProperties,u=a.format,v=a.objectEach,w=a.pick,x=a.Series;a.StackItem=function(a,g,f,n,e){var b=a.chart.inverted;this.axis=a;this.isNegative=f;this.options=g;this.x=n;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:g.align||(b?f?"left":"right":"center"),verticalAlign:g.verticalAlign||(b?"middle":f?"bottom":"top"),y:w(g.y,b?4:f?14:-6),x:w(g.x,b?f?-6:6:0)};this.textAlign=g.textAlign||(b?f?"right":"left":"center")};a.StackItem.prototype=
352
- {destroy:function(){h(this,this.axis)},render:function(a){var g=this.axis.chart,f=this.options,n=f.format,n=n?u(n,this,g.time):f.formatter.call(this);this.label?this.label.attr({text:n,visibility:"hidden"}):this.label=g.renderer.text(n,null,null,f.useHTML).css(f.style).attr({align:this.textAlign,rotation:f.rotation,visibility:"hidden"}).add(a);this.label.labelrank=g.plotHeight},setOffset:function(a,g){var f=this.axis,n=f.chart,e=f.translate(f.usePercentage?100:this.total,0,0,0,1),b=f.translate(0),
353
- b=p(e)&&Math.abs(e-b);a=n.xAxis[0].translate(this.x)+a;f=p(e)&&this.getStackBox(n,this,a,e,g,b,f);(g=this.label)&&f&&(g.align(this.alignOptions,null,f),f=g.alignAttr,g[!1===this.options.crop||n.isInsidePlot(f.x,f.y)?"show":"hide"](!0))},getStackBox:function(a,g,f,n,e,b,d){var m=g.axis.reversed,k=a.inverted;a=d.height+d.pos-(k?a.plotLeft:a.plotTop);g=g.isNegative&&!m||!g.isNegative&&m;return{x:k?g?n:n-b:f,y:k?a-f-e:g?a-n-b:a-n,width:k?b:e,height:k?e:b}}};y.prototype.getStacks=function(){var a=this;
354
- a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(g){!g.options.stacking||!0!==g.visible&&!1!==a.options.chart.ignoreHiddenSeries||(g.stackKey=g.type+w(g.options.stack,""))})};C.prototype.buildStacks=function(){var a=this.series,g=w(this.options.reversedStacks,!0),f=a.length,n;if(!this.isXAxis){this.usePercentage=!1;for(n=f;n--;)a[g?n:f-n-1].setStackedPoints();for(n=0;n<f;n++)a[n].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=
355
- this.chart,g=a.renderer,f=this.stacks,n=this.stackTotalGroup;n||(this.stackTotalGroup=n=g.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());n.translate(a.plotLeft,a.plotTop);v(f,function(a){v(a,function(a){a.render(n)})})};C.prototype.resetStacks=function(){var a=this,g=a.stacks;a.isXAxis||v(g,function(f){v(f,function(g,e){g.touched<a.stacksTouched?(g.destroy(),delete f[e]):(g.total=null,g.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=
356
- this.stacks=this.oldStacks),v(a,function(a){v(a,function(a){a.cumulative=a.total})}))};x.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var h=this.processedXData,g=this.processedYData,f=[],n=g.length,e=this.options,b=e.threshold,d=w(e.startFromThreshold&&b,0),m=e.stack,e=e.stacking,k=this.stackKey,z="-"+k,B=this.negStacks,A=this.yAxis,r=A.stacks,c=A.oldStacks,l,E,D,G,t,u,v;A.stacksTouched+=1;for(t=0;t<n;t++)u=
357
- h[t],v=g[t],l=this.getStackIndicator(l,u,this.index),G=l.key,D=(E=B&&v<(d?0:b))?z:k,r[D]||(r[D]={}),r[D][u]||(c[D]&&c[D][u]?(r[D][u]=c[D][u],r[D][u].total=null):r[D][u]=new a.StackItem(A,A.options.stackLabels,E,u,m)),D=r[D][u],null!==v?(D.points[G]=D.points[this.index]=[w(D.cumulative,d)],p(D.cumulative)||(D.base=G),D.touched=A.stacksTouched,0<l.index&&!1===this.singleStacks&&(D.points[G][0]=D.points[this.index+","+u+",0"][0])):D.points[G]=D.points[this.index]=null,"percent"===e?(E=E?k:z,B&&r[E]&&
358
- r[E][u]?(E=r[E][u],D.total=E.total=Math.max(E.total,D.total)+Math.abs(v)||0):D.total=F(D.total+(Math.abs(v)||0))):D.total=F(D.total+(v||0)),D.cumulative=w(D.cumulative,d)+(v||0),null!==v&&(D.points[G].push(D.cumulative),f[t]=D.cumulative);"percent"===e&&(A.usePercentage=!0);this.stackedYData=f;A.oldStacks={}}};x.prototype.modifyStacks=function(){var a=this,g=a.stackKey,f=a.yAxis.stacks,n=a.processedXData,e,b=a.options.stacking;a[b+"Stacker"]&&[g,"-"+g].forEach(function(d){for(var g=n.length,k,h;g--;)if(k=
359
- n[g],e=a.getStackIndicator(e,k,a.index,d),h=(k=f[d]&&f[d][k])&&k.points[e.key])a[b+"Stacker"](h,k,g)})};x.prototype.percentStacker=function(a,g,f){g=g.total?100/g.total:0;a[0]=F(a[0]*g);a[1]=F(a[1]*g);this.stackedYData[f]=a[1]};x.prototype.getStackIndicator=function(a,g,f,n){!p(a)||a.x!==g||n&&a.key!==n?a={x:g,index:0,key:n}:a.index++;a.key=[f,g,a.index].join();return a}});J(H,"parts/Dynamics.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.animate,F=a.Axis,p=a.Chart,h=a.createElement,
360
- u=a.css,v=a.defined,w=a.erase,x=a.extend,q=a.fireEvent,g=a.isNumber,f=a.isObject,n=a.isArray,e=a.merge,b=a.objectEach,d=a.pick,m=a.Point,k=a.Series,z=a.seriesTypes,B=a.setAnimation,A=a.splat;a.cleanRecursively=function(d,c){var l={};b(d,function(b,e){if(f(d[e],!0)&&c[e])b=a.cleanRecursively(d[e],c[e]),Object.keys(b).length&&(l[e]=b);else if(f(d[e])||d[e]!==c[e])l[e]=d[e]});return l};x(p.prototype,{addSeries:function(a,b,l){var c,e=this;a&&(b=d(b,!0),q(e,"addSeries",{options:a},function(){c=e.initSeries(a);
361
- e.isDirtyLegend=!0;e.linkSeries();q(e,"afterAddSeries",{series:c});b&&e.redraw(l)}));return c},addAxis:function(a,b,l,k){var c=b?"xAxis":"yAxis",f=this.options;a=e(a,{index:this[c].length,isX:b});b=new F(this,a);f[c]=A(f[c]||{});f[c].push(a);d(l,!0)&&this.redraw(k);return b},showLoading:function(a){var b=this,d=b.options,e=b.loadingDiv,k=d.loading,f=function(){e&&u(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=h("div",{className:"highcharts-loading highcharts-loading-hidden"},
362
- null,b.container),b.loadingSpan=h("span",{className:"highcharts-loading-inner"},null,e),C(b,"redraw",f));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||d.lang.loading;b.styledMode||(u(e,x(k.style,{zIndex:10})),u(b.loadingSpan,k.labelStyle),b.loadingShown||(u(e,{opacity:0,display:""}),y(e,{opacity:k.style.opacity||.5},{duration:k.showDuration||0})));b.loadingShown=!0;f()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",
363
- this.styledMode||y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){u(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),
364
- collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(k,c,l,f){var r=this,m={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},n,h,z,p,E=[];q(r,"update",{options:k});k.isResponsiveOptions||r.setResponsive(!1,!0);k=a.cleanRecursively(k,r.options);if(n=k.chart){e(!0,r.options.chart,n);"className"in n&&r.setClassName(n.className);"reflow"in n&&r.setReflow(n.reflow);if("inverted"in n||"polar"in n||"type"in n)r.propFromSeries(),h=!0;"alignTicks"in n&&(h=
365
- !0);b(n,function(a,b){-1!==r.propsRequireUpdateSeries.indexOf("chart."+b)&&(z=!0);-1!==r.propsRequireDirtyBox.indexOf(b)&&(r.isDirtyBox=!0);-1!==r.propsRequireReflow.indexOf(b)&&(p=!0)});!r.styledMode&&"style"in n&&r.renderer.setStyle(n.style)}!r.styledMode&&k.colors&&(this.options.colors=k.colors);k.plotOptions&&e(!0,this.options.plotOptions,k.plotOptions);b(k,function(a,b){if(r[b]&&"function"===typeof r[b].update)r[b].update(a,!1);else if("function"===typeof r[m[b]])r[m[b]](a);"chart"!==b&&-1!==
366
- r.propsRequireUpdateSeries.indexOf(b)&&(z=!0)});this.collectionsWithUpdate.forEach(function(a){var b;k[a]&&("series"===a&&(b=[],r[a].forEach(function(a,c){a.options.isInternal||b.push(d(a.options.index,c))})),A(k[a]).forEach(function(c,d){(d=v(c.id)&&r.get(c.id)||r[a][b?b[d]:d])&&d.coll===a&&(d.update(c,!1),l&&(d.touched=!0));if(!d&&l)if("series"===a)r.addSeries(c,!1).touched=!0;else if("xAxis"===a||"yAxis"===a)r.addAxis(c,"xAxis"===a,!1).touched=!0}),l&&r[a].forEach(function(a){a.touched||a.options.isInternal?
367
- delete a.touched:E.push(a)}))});E.forEach(function(a){a.remove&&a.remove(!1)});h&&r.axes.forEach(function(a){a.update({},!1)});z&&r.series.forEach(function(a){a.update({},!1)});k.loading&&e(!0,r.options.loading,k.loading);h=n&&n.width;n=n&&n.height;a.isString(n)&&(n=a.relativeLength(n,h||r.chartWidth));p||g(h)&&h!==r.chartWidth||g(n)&&n!==r.chartHeight?r.setSize(h,n,f):d(c,!0)&&r.redraw(f);q(r,"afterUpdate",{options:k,redraw:c,animation:f})},setSubtitle:function(a){this.setTitle(void 0,a)}});x(m.prototype,
368
- {update:function(a,b,e,k){function c(){l.applyOptions(a);null===l.y&&r&&(l.graphic=r.destroy());f(a,!0)&&(r&&r.element&&a&&a.marker&&void 0!==a.marker.symbol&&(l.graphic=r.destroy()),a&&a.dataLabels&&l.dataLabel&&(l.dataLabel=l.dataLabel.destroy()),l.connector&&(l.connector=l.connector.destroy()));m=l.index;g.updateParallelArrays(l,m);h.data[m]=f(h.data[m],!0)||f(a,!0)?l.options:d(a,h.data[m]);g.isDirty=g.isDirtyData=!0;!g.fixedBox&&g.hasCartesianSeries&&(n.isDirtyBox=!0);"point"===h.legendType&&
369
- (n.isDirtyLegend=!0);b&&n.redraw(e)}var l=this,g=l.series,r=l.graphic,m,n=g.chart,h=g.options;b=d(b,!0);!1===k?c():l.firePointEvent("update",{options:a},c)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});x(k.prototype,{addPoint:function(a,b,e,k,f){var c=this.options,l=this.data,g=this.chart,r=this.xAxis,r=r&&r.hasNames&&r.names,m=c.data,n,h,z=this.xData,p,E;b=d(b,!0);n={series:this};this.pointClass.prototype.applyOptions.apply(n,[a]);E=n.x;p=z.length;if(this.requireSorting&&
370
- E<z[p-1])for(h=!0;p&&z[p-1]>E;)p--;this.updateParallelArrays(n,"splice",p,0,0);this.updateParallelArrays(n,p);r&&n.name&&(r[E]=n.name);m.splice(p,0,a);h&&(this.data.splice(p,0,null),this.processData());"point"===c.legendType&&this.generatePoints();e&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(n,"shift"),m.shift()));!1!==f&&q(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;b&&g.redraw(k)},removePoint:function(a,b,e){var c=this,l=c.data,k=l[a],f=c.points,g=c.chart,
371
- r=function(){f&&f.length===l.length&&f.splice(a,1);l.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(k||{series:c},"splice",a,1);k&&k.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&g.redraw()};B(e,g);b=d(b,!0);k?k.firePointEvent("remove",null,r):r()},remove:function(a,b,e,k){function c(){l.destroy(k);l.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();d(a,!0)&&f.redraw(b)}var l=this,f=l.chart;!1!==e?q(l,"remove",null,c):c()},update:function(b,c){b=a.cleanRecursively(b,this.userOptions);
372
- q(this,"update",{options:b});var l=this,k=l.chart,f=l.userOptions,g,r=l.initialType||l.type,m=b.type||f.type||k.options.chart.type,n=!(this.hasDerivedData||b.dataGrouping||m&&m!==this.type||void 0!==b.pointStart||b.pointInterval||b.pointIntervalUnit||b.keys),h=z[r].prototype,p,B=["group","markerGroup","dataLabelsGroup"],A=["navigatorSeries","baseSeries"],u=l.finishedAnimating&&{animation:!1},v={};n&&(A.push("data","isDirtyData","points","processedXData","processedYData","xIncrement"),!1!==b.visible&&
373
- A.push("area","graph"),l.parallelArrays.forEach(function(a){A.push(a+"Data")}),b.data&&this.setData(b.data,!1));b=e(f,u,{index:void 0===f.index?l.index:f.index,pointStart:d(f.pointStart,l.xData[0])},!n&&{data:l.options.data},b);A=B.concat(A);A.forEach(function(a){A[a]=l[a];delete l[a]});l.remove(!1,null,!1,!0);for(p in h)l[p]=void 0;z[m||r]?x(l,z[m||r].prototype):a.error(17,!0,k);A.forEach(function(a){l[a]=A[a]});l.init(k,b);n&&this.points&&(g=l.options,!1===g.visible?(v.graphic=1,v.dataLabel=1):
374
- (g.marker&&!1===g.marker.enabled&&(v.graphic=1),g.dataLabels&&!1===g.dataLabels.enabled&&(v.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(v).length&&a.destroyElements(v),!1===g.showInLegend&&a.legendItem&&k.legend.destroyItem(a))},this));b.zIndex!==f.zIndex&&B.forEach(function(a){l[a]&&l[a].attr({zIndex:b.zIndex})});l.initialType=r;k.linkSeries();q(this,"afterUpdate");d(c,!0)&&k.redraw(n?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=
375
- a;this.chart.isDirtyLegend=!0}});x(F.prototype,{update:function(a,c){var l=this.chart,k=a&&a.events||{};a=e(this.userOptions,a);l.options[this.coll].indexOf&&(l.options[this.coll][l.options[this.coll].indexOf(this.userOptions)]=a);b(l.options[this.coll].events,function(a,b){"undefined"===typeof k[b]&&(k[b]=void 0)});this.destroy(!0);this.init(l,x(a,{events:k}));l.isDirtyBox=!0;d(c,!0)&&l.redraw()},remove:function(a){for(var b=this.chart,e=this.coll,k=this.series,f=k.length;f--;)k[f]&&k[f].remove(!1);
376
- w(b.axes,this);w(b[e],this);n(b.options[e])?b.options[e].splice(this.options.index,1):delete b.options[e];b[e].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;d(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});J(H,"parts/AreaSeries.js",[H["parts/Globals.js"]],function(a){var C=a.color,y=a.pick,F=a.Series,p=a.seriesType;p("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,
377
- getStackPoints:function(h){var p=[],v=[],w=this.xAxis,x=this.yAxis,q=x.stacks[this.stackKey],g={},f=this.index,n=x.series,e=n.length,b,d=y(x.options.reversedStacks,!0)?1:-1,m;h=h||this.points;if(this.options.stacking){for(m=0;m<h.length;m++)h[m].leftNull=h[m].rightNull=null,g[h[m].x]=h[m];a.objectEach(q,function(a,b){null!==a.total&&v.push(b)});v.sort(function(a,b){return a-b});b=n.map(function(a){return a.visible});v.forEach(function(a,n){var k=0,h,r;if(g[a]&&!g[a].isNull)p.push(g[a]),[-1,1].forEach(function(c){var l=
378
- 1===c?"rightNull":"leftNull",k=0,z=q[v[n+c]];if(z)for(m=f;0<=m&&m<e;)h=z.points[m],h||(m===f?g[a][l]=!0:b[m]&&(r=q[a].points[m])&&(k-=r[1]-r[0])),m+=d;g[a][1===c?"rightCliff":"leftCliff"]=k});else{for(m=f;0<=m&&m<e;){if(h=q[a].points[m]){k=h[1];break}m+=d}k=x.translate(k,0,1,0,1);p.push({isNull:!0,plotX:w.translate(a,0,0,0,1),x:a,plotY:k,yBottom:k})}})}return p},getGraphPath:function(a){var h=F.prototype.getGraphPath,p=this.options,w=p.stacking,x=this.yAxis,q,g,f=[],n=[],e=this.index,b,d=x.stacks[this.stackKey],
379
- m=p.threshold,k=x.getThreshold(p.threshold),z,p=p.connectNulls||"percent"===w,B=function(g,r,c){var l=a[g];g=w&&d[l.x].points[e];var h=l[c+"Null"]||0;c=l[c+"Cliff"]||0;var q,z,l=!0;c||h?(q=(h?g[0]:g[1])+c,z=g[0]+c,l=!!h):!w&&a[r]&&a[r].isNull&&(q=z=m);void 0!==q&&(n.push({plotX:b,plotY:null===q?k:x.getThreshold(q),isNull:l,isCliff:!0}),f.push({plotX:b,plotY:null===z?k:x.getThreshold(z),doCurve:!1}))};a=a||this.points;w&&(a=this.getStackPoints(a));for(q=0;q<a.length;q++)if(g=a[q].isNull,b=y(a[q].rectPlotX,
380
- a[q].plotX),z=y(a[q].yBottom,k),!g||p)p||B(q,q-1,"left"),g&&!w&&p||(n.push(a[q]),f.push({x:q,plotX:b,plotY:z})),p||B(q,q+1,"right");q=h.call(this,n,!0,!0);f.reversed=!0;g=h.call(this,f,!0,!0);g.length&&(g[0]="L");g=q.concat(g);h=h.call(this,n,!1,p);g.xMap=q.xMap;this.areaPath=g;return h},drawGraph:function(){this.areaPath=[];F.prototype.drawGraph.apply(this);var a=this,p=this.areaPath,v=this.options,w=[["area","highcharts-area",this.color,v.fillColor]];this.zones.forEach(function(h,q){w.push(["zone-area-"+
381
- q,"highcharts-area highcharts-zone-area-"+q+" "+h.className,h.color||a.color,h.fillColor||v.fillColor])});w.forEach(function(h){var q=h[0],g=a[q],f=g?"animate":"attr",n={};g?(g.endX=a.preventGraphAnimation?null:p.xMap,g.animate({d:p})):(n.zIndex=0,g=a[q]=a.chart.renderer.path(p).addClass(h[1]).add(a.group),g.isArea=!0);a.chart.styledMode||(n.fill=y(h[3],C(h[2]).setOpacity(y(v.fillOpacity,.75)).get()));g[f](n);g.startX=p.xMap;g.shiftUnit=v.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
382
- J(H,"parts/SplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,F,p){var h=F.plotX,u=F.plotY,v=a[p-1];p=a[p+1];var w,x,q,g;if(v&&!v.isNull&&!1!==v.doCurve&&!F.isCliff&&p&&!p.isNull&&!1!==p.doCurve&&!F.isCliff){a=v.plotY;q=p.plotX;p=p.plotY;var f=0;w=(1.5*h+v.plotX)/2.5;x=(1.5*u+a)/2.5;q=(1.5*h+q)/2.5;g=(1.5*u+p)/2.5;q!==w&&(f=(g-x)*(q-h)/(q-w)+u-g);x+=f;g+=f;x>a&&x>u?(x=Math.max(a,u),g=2*u-x):x<a&&x<u&&(x=Math.min(a,u),g=
383
- 2*u-x);g>p&&g>u?(g=Math.max(p,u),x=2*u-g):g<p&&g<u&&(g=Math.min(p,u),x=2*u-g);F.rightContX=q;F.rightContY=g}F=["C",C(v.rightContX,v.plotX),C(v.rightContY,v.plotY),C(w,h),C(x,u),h,u];v.rightContX=v.rightContY=null;return F}})});J(H,"parts/AreaSplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.seriesTypes.area.prototype,y=a.seriesType;y("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});
384
- J(H,"parts/ColumnSeries.js",[H["parts/Globals.js"]],function(a){var C=a.animObject,y=a.color,F=a.extend,p=a.defined,h=a.isNumber,u=a.merge,v=a.pick,w=a.Series,x=a.seriesType,q=a.svg;x("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,
385
- tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var a=this,f=a.chart;f.hasRendered&&f.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,n=a.xAxis,e=a.yAxis,b=n.options.reversedStacks,b=n.reversed&&!b||!n.reversed&&b,d,m={},k=0;!1===f.grouping?k=1:a.chart.series.forEach(function(b){var c=b.options,
386
- l=b.yAxis,f;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||e.len!==l.len||e.pos!==l.pos||(c.stacking?(d=b.stackKey,void 0===m[d]&&(m[d]=k++),f=m[d]):!1!==c.grouping&&(f=k++),b.columnIndex=f)});var h=Math.min(Math.abs(n.transA)*(n.ordinalSlope||f.pointRange||n.closestPointRange||n.tickInterval||1),n.len),q=h*f.groupPadding,p=(h-2*q)/(k||1),f=Math.min(f.maxPointWidth||n.len,v(f.pointWidth,p*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(p-f)/2+(q+((a.columnIndex||0)+
387
- (b?1:0))*p-h/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,f,n,e){var b=this.chart,d=this.borderWidth,g=-(d%2?.5:0),d=d%2?.5:1;b.inverted&&b.renderer.isVML&&(d+=1);this.options.crisp&&(n=Math.round(a+n)+g,a=Math.round(a)+g,n-=a);e=Math.round(f+e)+d;g=.5>=Math.abs(f)&&.5<e;f=Math.round(f)+d;e-=f;g&&e&&(--f,e+=1);return{x:a,y:f,width:n,height:e}},translate:function(){var a=this,f=a.chart,n=a.options,e=a.dense=2>a.closestPointRange*a.xAxis.transA,e=a.borderWidth=v(n.borderWidth,e?0:1),b=a.yAxis,
388
- d=n.threshold,m=a.translatedThreshold=b.getThreshold(d),k=v(n.minPointLength,5),h=a.getColumnMetrics(),q=h.width,A=a.barW=Math.max(q,1+2*e),r=a.pointXOffset=h.offset;f.inverted&&(m-=.5);n.pointPadding&&(A=Math.ceil(A));w.prototype.translate.apply(a);a.points.forEach(function(c){var e=v(c.yBottom,m),g=999+Math.abs(e),n=q,g=Math.min(Math.max(-g,c.plotY),b.len+g),h=c.plotX+r,t=A,z=Math.min(g,e),B,u=Math.max(g,e)-z;k&&Math.abs(u)<k&&(u=k,B=!b.reversed&&!c.negative||b.reversed&&c.negative,c.y===d&&a.dataMax<=
389
- d&&b.min<d&&(B=!B),z=Math.abs(z-m)>k?e-k:m-(B?k:0));p(c.options.pointWidth)&&(n=t=Math.ceil(c.options.pointWidth),h-=Math.round((n-q)/2));c.barX=h;c.pointWidth=n;c.tooltipPos=f.inverted?[b.len+b.pos-f.plotLeft-g,a.xAxis.len-h-t/2,u]:[h+t/2,g+b.pos-f.plotTop,u];c.shapeType=a.pointClass.prototype.shapeType||"rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[h,m,t,0]:[h,z,t,u])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},
390
- pointAttribs:function(a,f){var g=this.options,e,b=this.pointAttrToOptions||{};e=b.stroke||"borderColor";var d=b["stroke-width"]||"borderWidth",m=a&&a.color||this.color,k=a&&a[e]||g[e]||this.color||m,h=a&&a[d]||g[d]||this[d]||0,b=a&&a.dashStyle||g.dashStyle,q=v(g.opacity,1),p;a&&this.zones.length&&(p=a.getZone(),m=a.options.color||p&&p.color||this.color,p&&(k=p.borderColor||k,b=p.dashStyle||b,h=p.borderWidth||h));f&&(a=u(g.states[f],a.options.states&&a.options.states[f]||{}),f=a.brightness,m=a.color||
391
- void 0!==f&&y(m).brighten(a.brightness).get()||m,k=a[e]||k,h=a[d]||h,b=a.dashStyle||b,q=v(a.opacity,q));e={fill:m,stroke:k,"stroke-width":h,opacity:q};b&&(e.dashstyle=b);return e},drawPoints:function(){var a=this,f=this.chart,n=a.options,e=f.renderer,b=n.animationLimit||250,d;a.points.forEach(function(g){var k=g.graphic,m=k&&f.pointCount<b?"animate":"attr";if(h(g.plotY)&&null!==g.y){d=g.shapeArgs;k&&k.element.nodeName!==g.shapeType&&(k=k.destroy());if(k)k[m](u(d));else g.graphic=k=e[g.shapeType](d).add(g.group||
392
- a.group);if(n.borderRadius)k[m]({r:n.borderRadius});f.styledMode||k[m](a.pointAttribs(g,g.selected&&"select")).shadow(!1!==g.allowShadow&&n.shadow,null,n.stacking&&!n.borderRadius);k.addClass(g.getClassName(),!0)}else k&&(g.graphic=k.destroy())})},animate:function(a){var f=this,g=this.yAxis,e=f.options,b=this.chart.inverted,d={},m=b?"translateX":"translateY",k;q&&(a?(d.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(e.threshold))),b?d.translateX=a-g.len:d.translateY=a,f.clipBox&&f.setClip(),
393
- f.group.attr(d)):(k=f.group.attr(m),f.group.animate({scaleY:1},F(C(f.options.animation),{step:function(a,b){d[m]=k+b.pos*(g.pos-k);f.group.attr(d)}})),f.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&f.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)});w.prototype.remove.apply(a,arguments)}})});J(H,"parts/BarSeries.js",[H["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});J(H,"parts/ScatterSeries.js",[H["parts/Globals.js"]],function(a){var C=
394
- a.Series,y=a.seriesType;y("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,
395
- drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,p=this.options.jitter,h=this.points.length;p&&this.points.forEach(function(u,v){["x","y"].forEach(function(w,x){var q,g="plot"+w.toUpperCase(),f,n;p[w]&&!u.isNull&&(q=a[w+"Axis"],n=p[w]*q.transA,q&&!q.isLog&&(f=Math.max(0,u[g]-n),q=Math.min(q.len,u[g]+n),x=1E4*Math.sin(v+x*h),u[g]=f+(q-f)*(x-Math.floor(x)),"x"===w&&(u.clientX=u.plotX)))})})}});a.addEvent(C,"afterTranslate",function(){this.applyJitter&&
396
- this.applyJitter()})});J(H,"mixins/centered-series.js",[H["parts/Globals.js"]],function(a){var C=a.deg2rad,y=a.isNumber,F=a.pick,p=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,u=this.chart,v=2*(a.slicedOffset||0),w=u.plotWidth-2*v,u=u.plotHeight-2*v,x=a.center,x=[F(x[0],"50%"),F(x[1],"50%"),a.size||"100%",a.innerSize||0],q=Math.min(w,u),g,f;for(g=0;4>g;++g)f=x[g],a=2>g||2===g&&/%$/.test(f),x[g]=p(f,[w,u,q,x[2]][g])+(a?v:0);x[3]>x[2]&&(x[3]=x[2]);return x},getStartAndEndRadians:function(a,
397
- p){a=y(a)?a:0;p=y(p)&&p>a&&360>p-a?p:a+360;return{start:C*(a+-90),end:C*(p+-90)}}}});J(H,"parts/PieSeries.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.CenteredSeriesMixin,F=a.defined,p=y.getStartAndEndRadians,h=a.merge,u=a.noop,v=a.pick,w=a.Point,x=a.Series,q=a.seriesType,g=a.setAnimation;q("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},
398
- softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var f=
399
- this,e=f.points,b=f.startAngleRad;a||(e.forEach(function(a){var d=a.graphic,e=a.shapeArgs;d&&(d.attr({r:a.startR||f.center[3]/2,start:b,end:b}),d.animate({r:e.r,start:e.start,end:e.end},f.options.animation))}),f.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,g=0,e=this.points,b=e.length,d,m=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)d=e[a],g+=m&&!d.visible?0:d.isNull?0:d.y;this.total=g;for(a=0;a<b;a++)d=e[a],d.percentage=0<g&&(d.visible||!m)?
400
- d.y/g*100:0,d.total=g},generatePoints:function(){x.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,g,e){var b=this.center,d=this.radii?this.radii[e.index]:b[2]/2;return b[0]+(g?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(d+e.labelDistance),1),-1)))*(d+e.labelDistance)+(0<e.labelDistance?(g?-1:1)*this.options.dataLabels.padding:0)},translate:function(a){this.generatePoints();var f=0,e=this.options,b=e.slicedOffset,d=b+(e.borderWidth||0),g,k,h=p(e.startAngle,e.endAngle),
401
- q=this.startAngleRad=h.start,h=(this.endAngleRad=h.end)-q,A=this.points,r,c,l=e.dataLabels.distance,e=e.ignoreHiddenPoint,E,D=A.length,u;a||(this.center=a=this.getCenter());for(E=0;E<D;E++){u=A[E];u.labelDistance=v(u.options.dataLabels&&u.options.dataLabels.distance,l);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,u.labelDistance);g=q+f*h;if(!e||u.visible)f+=u.percentage/100;k=q+f*h;u.shapeType="arc";u.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*g)/1E3,end:Math.round(1E3*
402
- k)/1E3};k=(k+g)/2;k>1.5*Math.PI?k-=2*Math.PI:k<-Math.PI/2&&(k+=2*Math.PI);u.slicedTranslation={translateX:Math.round(Math.cos(k)*b),translateY:Math.round(Math.sin(k)*b)};r=Math.cos(k)*a[2]/2;c=Math.sin(k)*a[2]/2;u.tooltipPos=[a[0]+.7*r,a[1]+.7*c];u.half=k<-Math.PI/2||k>Math.PI/2?1:0;u.angle=k;g=Math.min(d,u.labelDistance/5);u.labelPosition={natural:{x:a[0]+r+Math.cos(k)*u.labelDistance,y:a[1]+c+Math.sin(k)*u.labelDistance},"final":{},alignment:0>u.labelDistance?"center":u.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+
403
- r+Math.cos(k)*g,y:a[1]+c+Math.sin(k)*g},touchingSliceAt:{x:a[0]+r,y:a[1]+c}}}}},drawGraph:null,redrawPoints:function(){var a=this,g=a.chart,e=g.renderer,b,d,m,k,q=a.options.shadow;!q||a.shadowGroup||g.styledMode||(a.shadowGroup=e.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(f){var n={};d=f.graphic;if(!f.isNull&&d){k=f.shapeArgs;b=f.getTranslate();if(!g.styledMode){var r=f.shadowGroup;q&&!r&&(r=f.shadowGroup=e.g("shadow").add(a.shadowGroup));r&&r.attr(b);m=a.pointAttribs(f,
404
- f.selected&&"select")}f.delayedRendering?(d.setRadialReference(a.center).attr(k).attr(b),g.styledMode||d.attr(m).attr({"stroke-linejoin":"round"}).shadow(q,r),f.delayRendering=!1):(d.setRadialReference(a.center),g.styledMode||h(!0,n,m),h(!0,n,k,b),d.animate(n));d.attr({visibility:f.visible?"inherit":"hidden"});d.addClass(f.getClassName())}else d&&(f.graphic=d.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(f){f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group),
405
- f.delayedRendering=!0)})},searchPoint:u,sortByAngle:function(a,g){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*g})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:y.getCenter,getSymbol:u},{init:function(){w.prototype.init.apply(this,arguments);var a=this,g;a.name=v(a.name,"Slice");g=function(e){a.slice("select"===e.type)};C(a,"select",g);C(a,"unselect",g);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,g){var e=this,b=e.series,
406
- d=b.chart,f=b.options.ignoreHiddenPoint;g=v(g,f);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,b.options.data[b.data.indexOf(e)]=e.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&d.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),f&&(b.isDirty=!0),g&&d.redraw())},slice:function(a,h,e){var b=this.series;g(e,b.chart);v(h,!0);this.sliced=this.options.sliced=F(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=
407
- this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var f=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(f.x,f.y,f.r+a,f.r+a,{innerR:this.shapeArgs.r-1,start:f.start,end:f.end})},connectorShapes:{fixedOffset:function(a,g,e){var b=g.breakAt;g=g.touchingSliceAt;return["M",a.x,
408
- a.y].concat(e.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*b.x-g.x,2*b.y-g.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",g.x,g.y])},straight:function(a,g){g=g.touchingSliceAt;return["M",a.x,a.y,"L",g.x,g.y]},crookedLine:function(f,g,e){g=g.touchingSliceAt;var b=this.series,d=b.center[0],m=b.chart.plotWidth,k=b.chart.plotLeft,b=f.alignment,h=this.shapeArgs.r;e=a.relativeLength(e.crookDistance,1);e="left"===b?d+h+(m+k-d-h)*(1-e):k+(d-h)*e;d=["L",e,f.y];if("left"===b?e>f.x||e<g.x:e<f.x||e>g.x)d=
409
- [];return["M",f.x,f.y].concat(d).concat(["L",g.x,g.y])}},getConnectorPath:function(){var a=this.labelPosition,g=this.series.options.dataLabels,e=g.connectorShape,b=this.connectorShapes;b[e]&&(e=b[e]);return e.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,g)}})});J(H,"parts/DataLabels.js",[H["parts/Globals.js"]],function(a){var C=a.arrayMax,y=a.defined,F=a.extend,p=a.format,h=a.merge,u=a.noop,v=a.pick,w=a.relativeLength,x=a.Series,q=a.seriesTypes,g=a.stableSort,f=a.isArray,
410
- n=a.splat;a.distribute=function(e,b,d){function f(a,b){return a.target-b.target}var k,h=!0,n=e,q=[],r;r=0;var c=n.reducedLen||b;for(k=e.length;k--;)r+=e[k].size;if(r>c){g(e,function(a,b){return(b.rank||0)-(a.rank||0)});for(r=k=0;r<=c;)r+=e[k].size,k++;q=e.splice(k-1,e.length)}g(e,f);for(e=e.map(function(a){return{size:a.size,targets:[a.target],align:v(a.align,.5)}});h;){for(k=e.length;k--;)h=e[k],r=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=Math.min(Math.max(0,r-h.size*h.align),
411
- b-h.size);k=e.length;for(h=!1;k--;)0<k&&e[k-1].pos+e[k-1].size>e[k].pos&&(e[k-1].size+=e[k].size,e[k-1].targets=e[k-1].targets.concat(e[k].targets),e[k-1].align=.5,e[k-1].pos+e[k-1].size>b&&(e[k-1].pos=b-e[k-1].size),e.splice(k,1),h=!0)}n.push.apply(n,q);k=0;e.some(function(c){var e=0;if(c.targets.some(function(){n[k].pos=c.pos+e;if(Math.abs(n[k].pos-n[k].target)>d)return n.slice(0,k+1).forEach(function(a){delete a.pos}),n.reducedLen=(n.reducedLen||b)-.1*b,n.reducedLen>.1*b&&a.distribute(n,b,d),!0;
412
- e+=n[k].size;k++}))return!0});g(n,f)};x.prototype.drawDataLabels=function(){function e(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function b(a,b){var c=[],d;if(f(a)&&!f(b))c=a.map(function(a){return h(a,b)});else if(f(b)&&!f(a))c=b.map(function(b){return h(a,b)});else if(f(a)||f(b))for(d=Math.max(a.length,b.length);d--;)c[d]=h(a[d],b[d]);
413
- else c=h(a,b);return c}var d=this,g=d.chart,k=d.options,q=k.dataLabels,B=d.points,A,r=d.hasRendered||0,c,l=a.animObject(k.animation).duration,E=Math.min(l,200),D=v(q.defer,0<E),u=g.renderer,q=b(b(g.options.plotOptions&&g.options.plotOptions.series&&g.options.plotOptions.series.dataLabels,g.options.plotOptions&&g.options.plotOptions[d.type]&&g.options.plotOptions[d.type].dataLabels),q);a.fireEvent(this,"drawDataLabels");if(f(q)||q.enabled||d._hasPointLabels)c=d.plotGroup("dataLabelsGroup","data-labels",
414
- D&&!r?"hidden":"inherit",q.zIndex||6),D&&(c.attr({opacity:+r}),r||setTimeout(function(){var a=d.dataLabelsGroup;a&&(d.visible&&c.show(!0),a[k.animation?"animate":"attr"]({opacity:1},{duration:E}))},l-E)),B.forEach(function(l){A=n(b(q,l.dlOptions||l.options&&l.options.dataLabels));A.forEach(function(b,f){var r=b.enabled&&(!l.isNull||l.dataLabelOnNull)&&e(l,b),m,h,n,t,q=l.dataLabels?l.dataLabels[f]:l.dataLabel,z=l.connectors?l.connectors[f]:l.connector,E=!q;r&&(m=l.getLabelConfig(),h=v(b[l.formatPrefix+
415
- "Format"],b.format),m=y(h)?p(h,m,g.time):(b[l.formatPrefix+"Formatter"]||b.formatter).call(m,b),h=b.style,n=b.rotation,g.styledMode||(h.color=v(b.color,h.color,d.color,"#000000"),"contrast"===h.color&&(l.contrastColor=u.getContrast(l.color||d.color),h.color=b.inside||0>v(b.distance,l.labelDistance)||k.stacking?l.contrastColor:"#000000"),k.cursor&&(h.cursor=k.cursor)),t={r:b.borderRadius||0,rotation:n,padding:b.padding,zIndex:1},g.styledMode||(t.fill=b.backgroundColor,t.stroke=b.borderColor,t["stroke-width"]=
416
- b.borderWidth),a.objectEach(t,function(a,b){void 0===a&&delete t[b]}));!q||r&&y(m)?r&&y(m)&&(q?t.text=m:(l.dataLabels=l.dataLabels||[],q=l.dataLabels[f]=n?u.text(m,0,-9999).addClass("highcharts-data-label"):u.label(m,0,-9999,b.shape,null,null,b.useHTML,null,"data-label"),f||(l.dataLabel=q),q.addClass(" highcharts-data-label-color-"+l.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),q.options=b,q.attr(t),g.styledMode||q.css(h).shadow(b.shadow),q.added||q.add(c),b.textPath&&q.setTextPath(l.getDataLabelPath&&
417
- l.getDataLabelPath(q)||l.graphic,b.textPath),d.alignDataLabel(l,q,b,null,E)):(l.dataLabel=l.dataLabel&&l.dataLabel.destroy(),l.dataLabels&&(1===l.dataLabels.length?delete l.dataLabels:delete l.dataLabels[f]),f||delete l.dataLabel,z&&(l.connector=l.connector.destroy(),l.connectors&&(1===l.connectors.length?delete l.connectors:delete l.connectors[f])))})});a.fireEvent(this,"afterDrawDataLabels")};x.prototype.alignDataLabel=function(a,b,d,f,k){var e=this.chart,g=this.isCartesian&&e.inverted,m=v(a.dlBox&&
418
- a.dlBox.centerX,a.plotX,-9999),r=v(a.plotY,-9999),c=b.getBBox(),l,h=d.rotation,n=d.align,q=this.visible&&(a.series.forceDL||e.isInsidePlot(m,Math.round(r),g)||f&&e.isInsidePlot(m,g?f.x+1:f.y+f.height-1,g)),t="justify"===v(d.overflow,"justify");if(q&&(l=e.renderer.fontMetrics(e.styledMode?void 0:d.style.fontSize,b).b,f=F({x:g?this.yAxis.len-r:m,y:Math.round(g?this.xAxis.len-m:r),width:0,height:0},f),F(d,{width:c.width,height:c.height}),h?(t=!1,m=e.renderer.rotCorr(l,h),m={x:f.x+d.x+f.width/2+m.x,y:f.y+
419
- d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*f.height},b[k?"attr":"animate"](m).attr({align:n}),r=(h+720)%360,r=180<r&&360>r,"left"===n?m.y-=r?c.height:0:"center"===n?(m.x-=c.width/2,m.y-=c.height/2):"right"===n&&(m.x-=c.width,m.y-=r?0:c.height),b.placed=!0,b.alignAttr=m):(b.align(d,null,f),m=b.alignAttr),t&&0<=f.height?a.isLabelJustified=this.justifyDataLabel(b,d,m,c,f,k):v(d.crop,!0)&&(q=e.isInsidePlot(m.x,m.y)&&e.isInsidePlot(m.x+c.width,m.y+c.height)),d.shape&&!h))b[k?"attr":"animate"]({anchorX:g?
420
- e.plotWidth-a.plotY:a.plotX,anchorY:g?e.plotHeight-a.plotX:a.plotY});q||(b.attr({y:-9999}),b.placed=!1)};x.prototype.justifyDataLabel=function(a,b,d,f,k,g){var e=this.chart,m=b.align,r=b.verticalAlign,c,l,h=a.box?0:a.padding||0;c=d.x+h;0>c&&("right"===m?b.align="left":b.x=-c,l=!0);c=d.x+f.width-h;c>e.plotWidth&&("left"===m?b.align="right":b.x=e.plotWidth-c,l=!0);c=d.y+h;0>c&&("bottom"===r?b.verticalAlign="top":b.y=-c,l=!0);c=d.y+f.height-h;c>e.plotHeight&&("top"===r?b.verticalAlign="bottom":b.y=e.plotHeight-
421
- c,l=!0);l&&(a.placed=!g,a.align(b,null,k));return l};q.pie&&(q.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,b,d,f){return a.getX(d<b.top+2||d>b.bottom-2?f:d,b.half,b)},justify:function(a,b,d){return d[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,d,f){a=a.getBBox().width;return b?a+f:d-a-f},alignToConnectors:function(a,b,d,f){var e=0,g;a.forEach(function(a){g=a.dataLabel.getBBox().width;g>
422
- e&&(e=g)});return b?e+f:d-e-f}},q.pie.prototype.drawDataLabels=function(){var e=this,b=e.data,d,f=e.chart,k=e.options.dataLabels,g=k.connectorPadding,n,q=f.plotWidth,r=f.plotHeight,c=f.plotLeft,l=Math.round(f.chartWidth/3),p,D=e.center,u=D[2]/2,t=D[1],w,M,Q,K,F=[[],[]],O,L,H,J,N=[0,0,0,0],R=e.dataLabelPositioners,W;e.visible&&(k.enabled||e._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),
423
- a.dataLabel.shortened=!1)}),x.prototype.drawDataLabels.apply(e),b.forEach(function(a){a.dataLabel&&(a.visible?(F[a.half].push(a),a.dataLabel._pos=null,!y(k.style.width)&&!y(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>l&&(a.dataLabel.css({width:.7*l}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),F.forEach(function(b,l){var m,h,n=b.length,p=[],z;if(n)for(e.sortByAngle(b,
424
- l-.5),0<e.maxLabelDistance&&(m=Math.max(0,t-u-e.maxLabelDistance),h=Math.min(t+u+e.maxLabelDistance,f.plotHeight),b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,t-u-a.labelDistance),a.bottom=Math.min(t+u+a.labelDistance,f.plotHeight),z=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+z/2,size:z,rank:a.y},p.push(a.distributeBox))}),m=h+z-m,a.distribute(p,m,m/5)),J=0;J<n;J++){d=b[J];Q=d.labelPosition;w=d.dataLabel;H=!1===d.visible?"hidden":
425
- "inherit";L=m=Q.natural.y;p&&y(d.distributeBox)&&(void 0===d.distributeBox.pos?H="hidden":(K=d.distributeBox.size,L=R.radialDistributionY(d)));delete d.positionIndex;if(k.justify)O=R.justify(d,u,D);else switch(k.alignTo){case "connectors":O=R.alignToConnectors(b,l,q,c);break;case "plotEdges":O=R.alignToPlotEdges(w,l,q,c);break;default:O=R.radialDistributionX(e,d,L,m)}w._attr={visibility:H,align:Q.alignment};w._pos={x:O+k.x+({left:g,right:-g}[Q.alignment]||0),y:L+k.y-10};Q.final.x=O;Q.final.y=L;v(k.crop,
426
- !0)&&(M=w.getBBox().width,m=null,O-M<g&&1===l?(m=Math.round(M-O+g),N[3]=Math.max(m,N[3])):O+M>q-g&&0===l&&(m=Math.round(O+M-q+g),N[1]=Math.max(m,N[1])),0>L-K/2?N[0]=Math.max(Math.round(-L+K/2),N[0]):L+K/2>r&&(N[2]=Math.max(Math.round(L+K/2-r),N[2])),w.sideOverflow=m)}}),0===C(N)||this.verifyDataLabelOverflow(N))&&(this.placeDataLabels(),this.points.forEach(function(a){W=h(k,a.options.dataLabels);if(n=v(W.connectorWidth,1)){var b;p=a.connector;if((w=a.dataLabel)&&w._pos&&a.visible&&0<a.labelDistance){H=
427
- w._attr.visibility;if(b=!p)a.connector=p=f.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(e.dataLabelsGroup),f.styledMode||p.attr({"stroke-width":n,stroke:W.connectorColor||a.color||"#666666"});p[b?"attr":"animate"]({d:a.getConnectorPath()});p.attr("visibility",H)}else p&&(a.connector=p.destroy())}}))},q.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,d;b&&a.visible&&((d=b._pos)?
428
- (b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](d),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},q.pie.prototype.alignDataLabel=u,q.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,d=this.options,e=d.center,k=d.minSize||80,f,g=null!==d.size;g||(null!==e[0]?f=Math.max(b[2]-
429
- Math.max(a[1],a[3]),k):(f=Math.max(b[2]-a[1]-a[3],k),b[0]+=(a[3]-a[1])/2),null!==e[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),k):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),k),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(w(d.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):g=!0);return g});q.column&&(q.column.prototype.alignDataLabel=function(a,b,d,f,k){var e=this.chart.inverted,g=a.series,m=a.dlBox||a.shapeArgs,r=v(a.below,a.plotY>v(this.translatedThreshold,
430
- g.yAxis.len)),c=v(d.inside,!!this.options.stacking);m&&(f=h(m),0>f.y&&(f.height+=f.y,f.y=0),m=f.y+f.height-g.yAxis.len,0<m&&(f.height-=m),e&&(f={x:g.yAxis.len-f.y-f.height,y:g.xAxis.len-f.x-f.width,width:f.height,height:f.width}),c||(e?(f.x+=r?0:f.width,f.width=0):(f.y+=r?f.height:0,f.height=0)));d.align=v(d.align,!e||c?"center":r?"right":"left");d.verticalAlign=v(d.verticalAlign,e||c?"middle":r?"top":"bottom");x.prototype.alignDataLabel.call(this,a,b,d,f,k);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})});
431
- J(H,"modules/overlapping-datalabels.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,y=a.isArray,F=a.objectEach,p=a.pick,h=a.addEvent,u=a.fireEvent;h(C,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(h){a=a.concat(h())});(this.yAxis||[]).forEach(function(h){h.options.stackLabels&&!h.options.stackLabels.allowOverlap&&F(h.stacks,function(h){F(h,function(h){a.push(h.label)})})});(this.series||[]).forEach(function(h){var u=h.options.dataLabels;h.visible&&(!1!==u.enabled||
432
- h._hasPointLabels)&&h.points.forEach(function(h){h.visible&&(y(h.dataLabels)?h.dataLabels:h.dataLabel?[h.dataLabel]:[]).forEach(function(g){var f=g.options;g.labelrank=p(f.labelrank,h.labelrank,h.shapeArgs&&h.shapeArgs.height);f.allowOverlap||a.push(g)})})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var h=this,p=a.length,q=h.renderer,g,f,n,e,b,d,m=function(a,b,d,e,f,c,l,g){return!(f>a+d||f+l<a||c>b+e||c+g<b)};n=function(a){var b,d,e,f=a.box?0:a.padding||0;e=0;if(a&&
433
- (!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},d=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,e=q.fontMetrics(null,a.element).h),{x:b.x+(d.translateX||0)+f,y:b.y+(d.translateY||0)+f-e,width:a.width-2*f,height:a.height-2*f}};for(f=0;f<p;f++)if(g=a[f])g.oldOpacity=g.opacity,g.newOpacity=1,g.absoluteBox=n(g);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(f=0;f<p;f++)for(d=(n=a[f])&&n.absoluteBox,g=f+1;g<p;++g)if(b=(e=a[g])&&
434
- e.absoluteBox,d&&b&&n!==e&&0!==n.newOpacity&&0!==e.newOpacity&&(b=m(d.x,d.y,d.width,d.height,b.x,b.y,b.width,b.height)))(n.labelrank<e.labelrank?n:e).newOpacity=0;a.forEach(function(a){var b,d;a&&(d=a.newOpacity,a.oldOpacity!==d&&(a.alignAttr&&a.placed?(d?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=d,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),u(h,"afterHideOverlappingLabels")):a.attr({opacity:d})),a.isOld=!0)})}});J(H,"parts/Interaction.js",[H["parts/Globals.js"]],function(a){var C=
435
- a.addEvent,y=a.Chart,F=a.createElement,p=a.css,h=a.defaultOptions,u=a.defaultPlotOptions,v=a.extend,w=a.fireEvent,x=a.hasTouch,q=a.isObject,g=a.Legend,f=a.merge,n=a.pick,e=a.Point,b=a.Series,d=a.seriesTypes,m=a.svg,k;k=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,d=b.pointer,e=function(a){var b=d.getPointFromEvent(a);void 0!==b&&(d.isDirectTouch=!0,b.onMouseOver(a))};a.points.forEach(function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=
436
- a:a.dataLabel.element.point=a)});a._hasTracking||(a.trackerGroups.forEach(function(c){if(a[c]){a[c].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){d.onTrackerMouseOut(a)});if(x)a[c].on("touchstart",e);!b.styledMode&&a.options.cursor&&a[c].css(p).css({cursor:a.options.cursor})}}),a._hasTracking=!0);w(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,d=b.trackByArea,e=[].concat(d?a.areaPath:a.graphPath),c=e.length,l=a.chart,f=l.pointer,g=l.renderer,
437
- k=l.options.tooltip.snap,h=a.tracker,n,q=function(){if(l.hoverSeries!==a)a.onMouseOver()},p="rgba(192,192,192,"+(m?.0001:.002)+")";if(c&&!d)for(n=c+1;n--;)"M"===e[n]&&e.splice(n+1,0,e[n+1]-k,e[n+2],"L"),(n&&"M"===e[n]||n===c)&&e.splice(n,0,"L",e[n-2]+k,e[n-1]);h?h.attr({d:e}):a.graph&&(a.tracker=g.path(e).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),l.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:p,
438
- fill:d?p:"none","stroke-width":a.graph.strokeWidth()+(d?0:2*k)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",q).on("mouseout",function(a){f.onTrackerMouseOut(a)});b.cursor&&!l.styledMode&&a.css({cursor:b.cursor});if(x)a.on("touchstart",q)}));w(this,"afterDrawTracker")}};d.column&&(d.column.prototype.drawTracker=k.drawTrackerPoint);d.pie&&(d.pie.prototype.drawTracker=k.drawTrackerPoint);d.scatter&&(d.scatter.prototype.drawTracker=k.drawTrackerPoint);
439
- v(g.prototype,{setItemEvents:function(a,b,d){var g=this,c=g.chart.renderer.boxWrapper,l=a instanceof e,k="highcharts-legend-"+(l?"point":"series")+"-active",h=g.chart.styledMode;(d?b:a.legendGroup).on("mouseover",function(){g.allItems.forEach(function(b){a!==b&&b.setState("inactive",!l)});a.setState("hover");a.visible&&c.addClass(k);h||b.css(g.options.itemHoverStyle)}).on("mouseout",function(){g.styledMode||b.css(f(a.visible?g.itemStyle:g.itemHiddenStyle));g.allItems.forEach(function(b){a!==b&&b.setState("",
440
- !l)});c.removeClass(k);a.setState()}).on("click",function(b){var d=function(){a.setVisible&&a.setVisible()};c.removeClass(k);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,d):w(a,"legendItemClick",b,d)})},createCheckboxForItem:function(a){a.checkbox=F("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){w(a.series||a,"checkboxClick",
441
- {checked:b.target.checked,item:a},function(){a.select()})})}});v(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,d=h.lang,e=b.options.chart.resetZoomButton,c=e.theme,l=c.states,f="chart"===e.relativeTo||"spaceBox"===e.relativeTo?null:"plotBox";w(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(d.resetZoom,null,null,a,c,l&&l.hover).attr({align:e.position.align,title:d.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,
442
- f)});w(this,"afterShowResetZoom")},zoomOut:function(){w(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var d=this,e,f=d.pointer,c=!1,l=d.inverted?f.mouseDownX:f.mouseDownY,g;!b||b.resetSelection?(d.axes.forEach(function(a){e=a.zoom()}),f.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var g=b.axis,k=d.inverted?g.left:g.top,h=d.inverted?k+g.width:k+g.height,m=g.isXAxis,r=!1;if(!m&&l>=k&&l<=h||m||!a.defined(l))r=!0;f[m?"zoomX":"zoomY"]&&r&&(e=g.zoom(b.min,b.max),g.displayBtn&&
443
- (c=!0))});g=d.resetZoomButton;c&&!g?d.showResetZoom():!c&&q(g)&&(d.resetZoomButton=g.destroy());e&&d.redraw(n(d.options.chart.animation,b&&b.animation,100>d.pointCount))},pan:function(a,b){var d=this,e=d.hoverPoints,c;w(this,"pan",{originalEvent:a},function(){e&&e.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=d[b?"xAxis":"yAxis"][0];var e=b.horiz,l=a[e?"chartX":"chartY"],e=e?"mouseDownX":"mouseDownY",f=d[e],g=(b.pointRange||0)/2,k=b.reversed&&!d.inverted||!b.reversed&&
444
- d.inverted?-1:1,h=b.getExtremes(),m=b.toValue(f-l,!0)+g*k,k=b.toValue(f+b.len-l,!0)-g*k,r=k<m,f=r?k:m,m=r?m:k,k=Math.min(h.dataMin,g?h.min:b.toValue(b.toPixels(h.min)-b.minPixelPadding)),g=Math.max(h.dataMax,g?h.max:b.toValue(b.toPixels(h.max)+b.minPixelPadding)),r=k-f;0<r&&(m+=r,f=k);r=m-g;0<r&&(m=g,f-=r);b.series.length&&f!==h.min&&m!==h.max&&(b.setExtremes(f,m,!1,!1,{trigger:"pan"}),c=!0);d[e]=l});c&&d.redraw(!1);p(d.container,{cursor:"move"})})}});v(e.prototype,{select:function(a,b){var d=this,
445
- e=d.series,c=e.chart;a=n(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;e.options.data[e.data.indexOf(d)]=d.options;d.setState(a&&"select");b||c.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==d&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(c.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,
446
- d=b.pointer;a=a?d.normalize(a):d.getChartCoordinatesFromPoint(this,b.inverted);d.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,d=f(b.series.options.point,b.options).events;b.events=d;a.objectEach(d,function(a,d){C(b,d,a)});this.hasImportedEvents=!0}},setState:function(a,
447
- b){var d=Math.floor(this.plotX),e=this.plotY,c=this.series,l=this.state,f=c.options.states[a||"normal"]||{},g=u[c.type].marker&&c.options.marker,k=g&&!1===g.enabled,h=g&&g.states&&g.states[a||"normal"]||{},m=!1===h.enabled,q=c.stateMarkerGraphic,p=this.marker||{},z=c.chart,B=c.halo,x,y,C,F=g&&c.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(m||k&&!1===h.enabled)||a&&p.states&&p.states[a]&&!1===p.states[a].enabled)){this.state=a;F&&(x=c.markerAttribs(this,
448
- a));if(this.graphic)l&&this.graphic.removeClass("highcharts-point-"+l),a&&this.graphic.addClass("highcharts-point-"+a),z.styledMode||(y=c.pointAttribs(this,a),C=n(z.options.chart.animation,f.animation),c.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:y.opacity},C)}),this.connector&&this.connector.animate({opacity:y.opacity},C)),this.graphic.animate(y,C)),x&&this.graphic.animate(x,n(z.options.chart.animation,h.animation,g.animation)),q&&q.hide();else{if(a&&
449
- h){l=p.symbol||c.symbol;q&&q.currentSymbol!==l&&(q=q.destroy());if(q)q[b?"animate":"attr"]({x:x.x,y:x.y});else l&&(c.stateMarkerGraphic=q=z.renderer.symbol(l,x.x,x.y,x.width,x.height).add(c.markerGroup),q.currentSymbol=l);!z.styledMode&&q&&q.attr(c.pointAttribs(this,a))}q&&(q[a&&z.isInsidePlot(d,e,z.inverted)?"show":"hide"](),q.element.point=this)}(a=f.halo)&&a.size?(B||(c.halo=B=z.renderer.path().add((this.graphic||q).parentGroup)),B.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),B.attr({"class":"highcharts-halo highcharts-color-"+
450
- n(this.colorIndex,c.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),B.point=this,z.styledMode||B.attr(v({fill:this.color||c.color,"fill-opacity":a.opacity},a.attributes))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide);w(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});v(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();
451
- this.options.events.mouseOver&&w(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&w(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var d=this,e=d.options,c=d.graph,l=e.inactiveOtherPoints,f=e.states,g=e.lineWidth,k=e.opacity,h=n(f[a||
452
- "normal"]&&f[a||"normal"].animation,d.chart.options.chart.animation),e=0;a=a||"";if(d.state!==a&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(b){b&&(d.state&&b.removeClass("highcharts-series-"+d.state),a&&b.addClass("highcharts-series-"+a))}),d.state=a,!d.chart.styledMode)){if(f[a]&&!1===f[a].enabled)return;a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0),k=n(f[a].opacity,k));if(c&&!c.dashstyle)for(f={"stroke-width":g},c.animate(f,h);d["zone-graph-"+e];)d["zone-graph-"+e].attr(f),e+=
453
- 1;l||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(a){a&&a.animate({opacity:k},h)})}b&&l&&d.points&&d.points.forEach(function(b){b.setState&&b.setState(a)})},setVisible:function(a,b){var d=this,e=d.chart,c=d.legendItem,l,f=e.options.chart.ignoreHiddenSeries,g=d.visible;l=(d.visible=a=d.options.visible=d.userOptions.visible=void 0===a?!g:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(d[a])d[a][l]()});if(e.hoverSeries===
454
- d||(e.hoverPoint&&e.hoverPoint.series)===d)d.onMouseOut();c&&e.legend.colorizeItem(d,a);d.isDirty=!0;d.options.stacking&&e.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});d.linkedSeries.forEach(function(b){b.setVisible(a,!1)});f&&(e.isDirtyBox=!0);w(d,l);!1!==b&&e.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);
455
- w(this,a?"select":"unselect")},drawTracker:k.drawTrackerGraph})});J(H,"parts/Responsive.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,y=a.isArray,F=a.isObject,p=a.pick,h=a.splat;C.prototype.setResponsive=function(h,p){var u=this.options.responsive,v=[],q=this.currentResponsive;!p&&u&&u.rules&&u.rules.forEach(function(g){void 0===g._id&&(g._id=a.uniqueKey());this.matchResponsiveRule(g,v,h)},this);p=a.merge.apply(0,v.map(function(g){return a.find(u.rules,function(a){return a._id===g}).chartOptions}));
456
- p.isResponsiveOptions=!0;v=v.toString()||void 0;v!==(q&&q.ruleIds)&&(q&&this.update(q.undoOptions,h),v?(q=this.currentOptions(p),q.isResponsiveOptions=!0,this.currentResponsive={ruleIds:v,mergedOptions:p,undoOptions:q},this.update(p,h)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,h){var u=a.condition;(u.callback||function(){return this.chartWidth<=p(u.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=p(u.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=p(u.minWidth,0)&&this.chartHeight>=
457
- p(u.minHeight,0)}).call(this)&&h.push(a._id)};C.prototype.currentOptions=function(u){function v(u,q,g,f){var n;a.objectEach(u,function(a,b){if(!f&&-1<["series","xAxis","yAxis"].indexOf(b))for(a=h(a),g[b]=[],n=0;n<a.length;n++)q[b][n]&&(g[b][n]={},v(a[n],q[b][n],g[b][n],f+1));else F(a)?(g[b]=y(a)?[]:{},v(a,q[b]||{},g[b],f+1)):g[b]=p(q[b],null)})}var w={};v(u,this.options,w,0);return w}});J(H,"masters/highcharts.src.js",[H["parts/Globals.js"]],function(a){return a});J(H,"parts/Scrollbar.js",[H["parts/Globals.js"]],
458
- function(a){function C(a,d,e){this.init(a,d,e)}var y=a.addEvent,F=a.Axis,p=a.correctFloat,h=a.defaultOptions,u=a.defined,v=a.destroyObjectProperties,w=a.fireEvent,x=a.hasTouch,q=a.merge,g=a.pick,f=a.removeEvent,n,e={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,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,
459
- rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};h.scrollbar=q(!0,e,h.scrollbar);a.swapXY=n=function(a,d){var b=a.length,e;if(d)for(d=0;d<b;d+=3)e=a[d+1],a[d+1]=a[d+2],a[d+2]=e;return a};C.prototype={init:function(a,d,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=d;this.options=q(e,d);this.chart=f;this.size=g(this.options.size,this.options.height);d.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=
460
- this.renderer,d=this.options,e=this.size,f=this.chart.styledMode,g;this.group=g=a.g("scrollbar").attr({zIndex:d.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:d.trackBorderRadius||0,height:e,width:e}).add(g);f||this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor,"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);
461
- this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:e,width:e,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(n(["M",-3,e/4,"L",-3,2*e/3,"M",0,e/4,"L",0,2*e/3,"M",3,e/4,"L",3,2*e/3],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:d.barBackgroundColor,stroke:d.barBorderColor,"stroke-width":d.barBorderWidth}),this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=
462
- this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,d,e,f){var b=this.options.vertical,g=0,k=this.rendered?"animate":"attr";this.x=a;this.y=d+this.trackBorderWidth;this.width=e;this.xOffset=this.height=f;this.yOffset=g;b?(this.width=this.yOffset=e=g=this.size,this.xOffset=d=0,this.barWidth=f-2*e,this.x=a+=this.options.margin):(this.height=this.xOffset=
463
- f=d=this.size,this.barWidth=e-2*f,this.y+=this.options.margin);this.group[k]({translateX:a,translateY:this.y});this.track[k]({width:e,height:f});this.scrollbarButtons[1][k]({translateX:b?0:e-d,translateY:b?f-g:0})},drawScrollbarButton:function(a){var b=this.renderer,e=this.scrollbarButtons,f=this.options,g=this.size,h;h=b.g().add(this.group);e.push(h);h=b.rect().addClass("highcharts-scrollbar-button").add(h);this.chart.styledMode||h.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,
464
- fill:f.buttonBackgroundColor});h.attr(h.crisp({x:-.5,y:-.5,width:g+1,height:g+1,r:f.buttonBorderRadius},h.strokeWidth()));h=b.path(n(["M",g/2+(a?-1:1),g/2-3,"L",g/2+(a?-1:1),g/2+3,"L",g/2+(a?2:-2),g/2],f.vertical)).addClass("highcharts-scrollbar-arrow").add(e[a]);this.chart.styledMode||h.attr({fill:f.buttonArrowColor})},setRange:function(a,d){var b=this.options,e=b.vertical,f=b.minWidth,g=this.barWidth,h,r,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":
465
- "animate";u(g)&&(a=Math.max(a,0),h=Math.ceil(g*a),this.calculatedWidth=r=p(g*Math.min(d,1)-h),r<f&&(h=(g-f+r)*a,r=f),f=Math.floor(h+this.xOffset+this.yOffset),g=r/2-.5,this.from=a,this.to=d,e?(this.scrollbarGroup[c]({translateY:f}),this.scrollbar[c]({height:r}),this.scrollbarRifles[c]({translateY:g}),this.scrollbarTop=f,this.scrollbarLeft=0):(this.scrollbarGroup[c]({translateX:f}),this.scrollbar[c]({width:r}),this.scrollbarRifles[c]({translateX:g}),this.scrollbarLeft=f,this.scrollbarTop=0),12>=r?
466
- this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),e=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(d=a.cursorToScrollbarPosition(d)[e],e=a[e],e=d-e,a.hasDragged=!0,a.updatePosition(f[0]+e,f[1]+e),a.hasDragged&&w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",
467
- DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&w(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=function(b){var d=p(a.to-a.from)*a.options.step;a.updatePosition(p(a.from-d),p(a.to-d));w(a,
468
- "changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);w(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b),e=a.to-a.from,f=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>f||!a.options.vertical&&d.chartX>g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);w(a,"changed",{from:a.from,
469
- 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,d){1<d&&(a=p(1-p(d-a)),d=1);0>a&&(d=p(d-a),a=0);this.from=a;this.to=d},update:function(a){this.destroy();this.init(this.chart.renderer,q(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?
470
- [1,0]:[0,1],d=this.scrollbarButtons,e=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,h=this.mouseUpHandler,a=[[d[a[0]].element,"click",this.buttonToMinClick],[d[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[e,"mousedown",f],[e.ownerDocument,"mousemove",g],[e.ownerDocument,"mouseup",h]];x&&a.push([e,"touchstart",f],[e.ownerDocument,"touchmove",g],[e.ownerDocument,"touchend",h]);a.forEach(function(a){y.apply(null,a)});this._events=
471
- a},removeEvents:function(){this._events.forEach(function(a){f.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,v(a.scrollbarButtons))}};a.Scrollbar||(y(F,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=
472
- !b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new C(b.chart.renderer,b.options.scrollbar,b.chart),y(b.scrollbar,"changed",function(d){var e=Math.min(g(b.options.min,b.min),b.min,b.dataMin),f=Math.max(g(b.options.max,b.max),b.max,b.dataMax)-e,h;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(h=e+f*this.to,e+=f*this.from):(h=e+f*(1-this.from),e+=f*(1-this.to));g(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===d.DOMType||!u(d.DOMType)?b.setExtremes(e,
473
- h,!0,"mousemove"!==d.DOMType,d):this.setRange(this.from,this.to)}))}),y(F,"afterRender",function(){var a=Math.min(g(this.options.min,this.min),this.min,g(this.dataMin,this.min)),d=Math.max(g(this.options.max,this.max),this.max,g(this.dataMax,this.max)),e=this.scrollbar,f=this.titleOffset||0;if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:f+this.axisTitleMargin+this.offset),this.width,this.height),f=1):(e.position(this.left+this.width+
474
- 2+this.chart.scrollbarsOffsets[0]+(this.opposite?f+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),f=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[f]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(a)||isNaN(d)||!u(this.min)||!u(this.max)?e.setRange(0,0):(f=(this.min-a)/(d-a),a=(this.max-a)/(d-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(f,a):e.setRange(1-a,1-f))}}),y(F,"afterGetOffset",function(){var a=
475
- this.horiz?2:1,d=this.scrollbar;d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=d.size+d.options.margin)}),a.Scrollbar=C)});J(H,"parts/Navigator.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}var y=a.addEvent,F=a.Axis,p=a.Chart,h=a.color,u=a.defaultOptions,v=a.defined,w=a.destroyObjectProperties,x=a.erase,q=a.extend,g=a.hasTouch,f=a.isArray,n=a.isNumber,e=a.isTouchDevice,b=a.merge,d=a.pick,m=a.removeEvent,k=a.Scrollbar,z=a.Series,B,A=function(a){var b=[].filter.call(arguments,
476
- n);if(b.length)return Math[a].apply(0,b)};B=void 0===a.seriesTypes.areaspline?"line":"areaspline";q(u,{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:h("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:B,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
477
- units:[["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,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},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,
478
- 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,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,d,e,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};F.prototype.toFixedRange=
479
- function(a,b,e,f){var c=this.chart&&this.chart.fixedRange;a=d(e,this.translate(a,!0,!this.horiz));b=d(f,this.translate(b,!0,!this.horiz));e=c&&(b-a)/c;.7<e&&1.3>e&&(f?a=b-c:b=a+c);n(a)&&n(b)||(a=b=void 0);return{min:a,max:b}};C.prototype={drawHandle:function(a,b,d,e){var c=this.navigatorOptions.handles.height;this.handles[b][e](d?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-c)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+
480
- this.height/2-c/2-1)})},drawOutline:function(a,b,d,e){var c=this.navigatorOptions.maskInside,l=this.outline.strokeWidth(),f=l/2,l=l%2/2,g=this.outlineHeight,k=this.scrollbarHeight,h=this.size,n=this.left-k,m=this.top;d?(n-=f,d=m+b+l,b=m+a+l,a=["M",n+g,m-k-l,"L",n+g,d,"L",n,d,"L",n,b,"L",n+g,b,"L",n+g,m+h+k].concat(c?["M",n+g,d-f,"L",n+g,b+f]:[])):(a+=n+k-l,b+=n+k-l,m+=f,a=["M",n,m,"L",a,m,"L",a,m+g,"L",b,m+g,"L",b,m,"L",n+h+2*k,m].concat(c?["M",a-f,m,"L",b+f,m]:[]));this.outline[e]({d:a})},drawMasks:function(a,
481
- b,d,e){var c=this.left,l=this.top,f=this.height,g,k,h,n;d?(h=[c,c,c],n=[l,l+a,l+b],k=[f,f,f],g=[a,b-a,this.size-b]):(h=[c,c+a,c+b],n=[l,l,l],k=[a,b-a,this.size-b],g=[f,f,f]);this.shades.forEach(function(a,b){a[e]({x:h[b],y:n[b],width:k[b],height:g[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,d=b.maskInside,e=a.chart,f=e.renderer,g,k={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=g=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!d,d,!d].forEach(function(c,
482
- d){a.shades[d]=f.rect().addClass("highcharts-navigator-mask"+(1===d?"-inside":"-outside")).add(g);e.styledMode||a.shades[d].attr({fill:c?b.maskFill:"rgba(0,0,0,0)"}).css(1===d&&k)});a.outline=f.path().addClass("highcharts-navigator-outline").add(g);e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(c){b.handles.inverted=e.inverted;a.handles[c]=f.symbol(b.handles.symbols[c],-b.handles.width/2-1,0,b.handles.width,b.handles.height,
483
- b.handles);a.handles[c].attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(g);if(!e.styledMode){var d=b.handles;a.handles[c].attr({fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.lineWidth}).css(k)}})},update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,c,e,f){var l=
484
- this.chart,g,k,h=this.scrollbarHeight,m,r=this.xAxis;g=r.fake?l.xAxis[0]:r;var q=this.navigatorEnabled,p,u=this.rendered;k=l.inverted;var E,z=l.xAxis[0].minRange,B=l.xAxis[0].options.maxRange;if(!this.hasDragged||v(e)){if(!n(b)||!n(c))if(u)e=0,f=d(r.width,g.width);else return;this.left=d(r.left,l.plotLeft+h+(k?l.plotWidth:0));this.size=p=m=d(r.len,(k?l.plotHeight:l.plotWidth)-2*h);l=k?h:m+2*h;e=d(e,r.toPixels(b,!0));f=d(f,r.toPixels(c,!0));n(e)&&Infinity!==Math.abs(e)||(e=0,f=l);b=r.toValue(e,!0);
485
- c=r.toValue(f,!0);E=Math.abs(a.correctFloat(c-b));E<z?this.grabbedLeft?e=r.toPixels(c-z,!0):this.grabbedRight&&(f=r.toPixels(b+z,!0)):v(B)&&E>B&&(this.grabbedLeft?e=r.toPixels(c-B,!0):this.grabbedRight&&(f=r.toPixels(b+B,!0)));this.zoomedMax=Math.min(Math.max(e,f,0),p);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,f),0),p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);q&&(this.navigatorGroup.attr({visibility:"visible"}),
486
- u=u&&!this.hasDragged?"animate":"attr",this.drawMasks(e,p,k,u),this.drawOutline(e,p,k,u),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,k,u),this.drawHandle(p,1,k,u)));this.scrollbar&&(k?(k=this.top-h,g=this.left-h+(q||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),h=m+2*h):(k=this.top+(q?this.height:-h),g=this.left-h),this.scrollbar.position(g,k,l,h),this.scrollbar.setRange(this.zoomedMin/(m||1),this.zoomedMax/(m||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,
487
- d=b.container,e=[],f,k;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=k=function(b){a.onMouseUp(b)};e=a.getPartsEvents("mousedown");e.push(y(d,"mousemove",f),y(d.ownerDocument,"mouseup",k));g&&(e.push(y(d,"touchmove",f),y(d.ownerDocument,"touchend",k)),e.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=e;a.series&&a.series[0]&&e.push(y(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,d=[];
488
- ["shades","handles"].forEach(function(c){b[c].forEach(function(e,f){d.push(y(e.element,a,function(a){b[c+"Mousedown"](a,f)}))})});return d},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,k=this.range,h=a.chartX,n,m;c.inverted&&(h=a.chartY,f=this.top);1===b?(this.grabbedCenter=h,this.fixedWidth=k,this.dragOffset=h-e):(a=h-f-k/2,0===b?a=Math.max(0,a):2===b&&a+k>=g&&(a=g-k,this.reversedExtremes?(a-=k,m=this.getUnionExtremes().dataMin):
489
- n=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=k,b=d.toFixedRange(a,a+k,m,n),v(b.min)&&c.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 c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);
490
- a.fixedRange=null},onMouseMove:function(b){var c=this,f=c.chart,g=c.left,k=c.navigatorSize,h=c.range,n=c.dragOffset,m=f.inverted;b.touches&&0===b.touches[0].pageX||(b=f.pointer.normalize(b),f=b.chartX,m&&(g=c.top,f=b.chartY),c.grabbedLeft?(c.hasDragged=!0,c.render(0,0,f-g,c.otherHandlePos)):c.grabbedRight?(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,f-g)):c.grabbedCenter&&(c.hasDragged=!0,f<n?f=n:f>k+n-h&&(f=k+n-h),c.render(0,0,f-n,f-n+h)),c.hasDragged&&c.scrollbar&&d(c.scrollbar.options.liveRedraw,
491
- a.svg&&!e&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){c.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,d=this.xAxis,e=this.scrollbar,f,g,k=a.DOMEvent||a;(!this.hasDragged||e&&e.hasDragged)&&"scrollbar"!==a.trigger||(e=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?f=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(g=this.fixedExtreme),this.zoomedMax===this.size&&(g=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(f=this.reversedExtremes?
492
- e.dataMax:e.dataMin),d=d.toFixedRange(this.zoomedMin,this.zoomedMax,f,g),v(d.min)&&b.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:k}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),
493
- this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){m(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&m(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var c=a.options,e=c.navigator,f=e.enabled,g=c.scrollbar,h=g.enabled,c=f?e.height:0,n=h?g.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();
494
- this.height=c;this.scrollbarHeight=n;this.scrollbarEnabled=h;this.navigatorEnabled=f;this.navigatorOptions=e;this.scrollbarOptions=g;this.outlineHeight=c+n;this.opposite=d(e.opposite,!f&&a.inverted);var m=this,f=m.baseSeries,g=a.xAxis.length,h=a.yAxis.length,r=f&&f[0]&&f[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;m.navigatorEnabled?(m.xAxis=new F(a,b({breaks:r.options.breaks,ordinal:r.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:g,isInternal:!0,
495
- offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[n,0,-n,0],width:c}:{offsets:[0,-n,0,n],height:c})),m.yAxis=new F(a,b(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,zoomEnabled:!1},a.inverted?{width:c}:{height:c})),f||e.series.data?m.updateNavigatorSeries(!1):0===a.series.length&&(m.unbindRedraw=y(a,"beforeRedraw",function(){0<a.series.length&&!m.series&&(m.setBaseSeries(),m.unbindRedraw())})),m.reversedExtremes=
496
- a.inverted&&!m.xAxis.reversed||!a.inverted&&m.xAxis.reversed,m.renderElements(),m.addMouseEvents()):m.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),f=d.len-2*n,g=A("min",d.options.min,e.dataMin),d=A("max",d.options.max,e.dataMax)-g;return c?b*d/f+g:f*(b-g)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:F.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=m.scrollbar=new k(a.renderer,b(a.options.scrollbar,
497
- {margin:m.navigatorEnabled?0:10,vertical:a.inverted}),a),y(m.scrollbar,"changed",function(b){var c=m.size,d=c*this.to,c=c*this.from;m.hasDragged=m.scrollbar.hasDragged;m.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){m.onMouseUp(b)})}));m.addBaseSeriesEvents();m.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],e=this.xAxis,f=e.options,g=b.options,k;a&&null===b.dataMin||(k={dataMin:d(f&&f.min,A("min",
498
- g.min,b.dataMin,e.dataMin,e.min)),dataMax:d(f&&f.max,A("max",g.max,b.dataMax,e.dataMax,e.max))});return k},setBaseSeries:function(b,c){var d=this.chart,e=this.baseSeries=[];b=b||d.options&&d.options.navigator.baseSeries||(d.series.length?a.find(d.series,function(a){return!a.options.isInternal}).index:0);(d.series||[]).forEach(function(a,c){a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,
499
- c)},updateNavigatorSeries:function(d,c){var e=this,g=e.chart,k=e.baseSeries,h,n,r=e.navigatorOptions.series,p,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,states:{inactive:{opacity:1}}},z=e.series=(e.series||[]).filter(function(a){var b=a.baseSeries;return 0>k.indexOf(b)?(b&&(m(b,"updatedData",e.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});k&&k.length&&
500
- k.forEach(function(a){var d=a.navigatorSeries,l=q({color:a.color,visible:a.visible},f(r)?u.navigator.series:r);d&&!1===e.navigatorOptions.adaptToUpdatedData||(v.name="Navigator "+k.length,h=a.options||{},p=h.navigatorOptions||{},n=b(h,v,l,p),l=p.data||l.data,e.hasNavigatorData=e.hasNavigatorData||!!l,n.data=l||h.data&&h.data.slice(0),d&&d.options?d.update(n,c):(a.navigatorSeries=g.initSeries(n),a.navigatorSeries.baseSeries=a,z.push(a.navigatorSeries)))});if(r.data&&(!k||!k.length)||f(r))e.hasNavigatorData=
501
- !1,r=a.splat(r),r.forEach(function(a,c){v.name="Navigator "+(z.length+1);n=b(u.navigator.series,{color:g.series[c]&&!g.series[c].options.isInternal&&g.series[c].color||g.options.colors[c]||g.options.colors[0]},v,a);n.data=a.data;n.data&&(e.hasNavigatorData=!0,z.push(g.initSeries(n)))});d&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&y(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){y(b,"show",function(){this.navigatorSeries&&
502
- this.navigatorSeries.setVisible(!0,!1)});y(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&y(b,"updatedData",this.updatedDataHandler);y(b,"remove",function(){this.navigatorSeries&&(x(a.series,this.navigatorSeries),v(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?
503
- b.xData[0]:a)},a)},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=this.chart.navigator,b=this.getExtremes(),e=b.dataMin,f=b.dataMax,b=b.max-b.min,g=a.stickToMin,k=a.stickToMax,h=d(this.options.overscroll,0),m,q,p=a.series&&a.series[0],u=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(q=e,
504
- m=q+b),k&&(m=f+h,g||(q=Math.max(m-b,a.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(g||k)&&n(q)&&(this.min=this.userMin=q,this.max=this.userMax=m));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries,d=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=n(this.xAxis.min)&&this.xAxis.min<=d&&(!this.chart.fixedRange||!a.stickToMax);
505
- b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(y(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)}),y(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":
506
- "plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis));this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&
507
- this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){w(a)},this)}};a.Navigator||(a.Navigator=C,y(F,"zoom",function(a){var b=this.chart.options,d=b.chart.zoomType,f=b.chart.pinchType,g=b.navigator,b=b.rangeSelector;this.isXAxis&&(g&&g.enabled||b&&b.enabled)&&("y"===d?a.zoomed=!1:(!e&&"xy"===d||e&&"xy"===f)&&this.options.range&&(d=this.previousZoom,v(a.newMin)?this.previousZoom=[this.min,this.max]:d&&(a.newMin=d[0],a.newMax=d[1],delete this.previousZoom)));void 0!==
508
- a.zoomed&&a.preventDefault()}),y(p,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,d=a.rangeSelector;if((b&&b.enabled||d&&d.enabled)&&(!e&&"x"===a.chart.zoomType||e&&"x"===a.chart.pinchType))return!1}),y(p,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new C(this)}),y(p,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,e,f,g,k;b&&(f=a&&a.options,g=b.xAxis,k=b.yAxis,e=b.scrollbarHeight,this.inverted?
509
- (b.left=b.opposite?this.chartWidth-e-b.height:this.spacing[3]+e,b.top=this.plotTop+e):(b.left=this.plotLeft+e,b.top=b.navigatorOptions.top||this.chartHeight-b.height-e-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(f&&"bottom"===f.verticalAlign&&f.enabled&&!f.floating?a.legendHeight+d(f.margin,10):0)),g&&k&&(this.inverted?g.options.left=k.options.left=b.left:g.options.top=k.options.top=b.top,g.setAxisSize(),k.setAxisSize()))}),y(p,"update",function(a){var c=
510
- a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!d.enabled||(b(!0,this.options.navigator,c),b(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),y(p,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new C(this),d(a.redraw,!0)&&this.redraw(a.animation))}),y(p,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,
511
- !1)}),y(z,"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(),b.render(a.min,a.max))}))});J(H,"parts/OrdinalAxis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.Axis,F=a.Chart,p=a.css,h=a.defined,u=a.extend,v=a.noop,w=a.pick,x=a.timeUnits;C(a.Series,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinalIndex});
512
- y.prototype.getTimeTicks=function(a,g,f,n,e,b,d){var m=0,k,q,p={},u,r,c,l=[],v=-Number.MAX_VALUE,w=this.options.tickPixelInterval,G=this.chart.time,t=[];if(!this.options.ordinal&&!this.options.breaks||!e||3>e.length||void 0===g)return G.getTimeTicks.apply(G,arguments);r=e.length;for(k=0;k<r;k++){c=k&&e[k-1]>f;e[k]<g&&(m=k);if(k===r-1||e[k+1]-e[k]>5*b||c){if(e[k]>v){for(q=G.getTimeTicks(a,e[m],e[k],n);q.length&&q[0]<=v;)q.shift();q.length&&(v=q[q.length-1]);t.push(l.length);l=l.concat(q)}m=k+1}if(c)break}q=
513
- q.info;if(d&&q.unitRange<=x.hour){k=l.length-1;for(m=1;m<k;m++)G.dateFormat("%d",l[m])!==G.dateFormat("%d",l[m-1])&&(p[l[m]]="day",u=!0);u&&(p[l[0]]="day");q.higherRanks=p}q.segmentStarts=t;l.info=q;if(d&&h(w)){m=t=l.length;u=[];for(var y,G=[];m--;)k=this.translate(l[m]),y&&(G[m]=y-k),u[m]=y=k;G.sort();G=G[Math.floor(G.length/2)];G<.6*w&&(G=null);m=l[t-1]>f?t-1:t;for(y=void 0;m--;)k=u[m],t=Math.abs(y-k),y&&t<.8*w&&(null===G||t<.8*G)?(p[l[m]]&&!p[l[m+1]]?(t=m+1,y=k):t=m,l.splice(t,1)):y=k}return l};
514
- u(y.prototype,{beforeSetTickPositions:function(){var a,g=[],f,h=!1,e,b=this.getExtremes(),d=b.min,m=b.max,k,p=this.isXAxis&&!!this.options.breaks,b=this.options.ordinal,u=Number.MAX_VALUE,v=this.chart.options.chart.ignoreHiddenSeries,r;if(b||p){this.series.forEach(function(b,d){f=[];if(!(v&&!1===b.visible||!1===b.takeOrdinalPosition&&!p)&&(g=g.concat(b.processedXData),a=g.length,g.sort(function(a,b){return a-b}),u=Math.min(u,w(b.closestPointRange,u)),a)){for(d=0;d<a-1;)g[d]!==g[d+1]&&f.push(g[d+1]),
515
- d++;f[0]!==g[0]&&f.unshift(g[0]);g=f}b.isSeriesBoosting&&(r=!0)});r&&(g.length=0);a=g.length;if(2<a){e=g[1]-g[0];for(k=a-1;k--&&!h;)g[k+1]-g[k]!==e&&(h=!0);!this.options.keepOrdinalPadding&&(g[0]-d>e||m-g[g.length-1]>e)&&(h=!0)}else this.options.overscroll&&(2===a?u=g[1]-g[0]:1===a?(u=this.options.overscroll,g=[g[0],g[0]+u]):u=this.overscrollPointsRange);h?(this.options.overscroll&&(this.overscrollPointsRange=u,g=g.concat(this.getOverscrollPositions())),this.ordinalPositions=g,e=this.ordinal2lin(Math.max(d,
516
- g[0]),!0),k=Math.max(this.ordinal2lin(Math.min(m,g[g.length-1]),!0),1),this.ordinalSlope=m=(m-d)/(k-e),this.ordinalOffset=d-e*m):(this.overscrollPointsRange=w(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=b&&h;this.groupIntervalFactor=null},val2lin:function(a,g){var f=this.ordinalPositions;if(f){var h=f.length,e,b;for(e=h;e--;)if(f[e]===a){b=e;break}for(e=h-1;e--;)if(a>f[e]||0===e){a=(a-f[e])/(f[e+1]-f[e]);b=e+
517
- a;break}g=g?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else g=a;return g},lin2val:function(a,g){var f=this.ordinalPositions;if(f){var h=this.ordinalSlope,e=this.ordinalOffset,b=f.length-1,d;if(g)0>a?a=f[0]:a>b?a=f[b]:(b=Math.floor(a),d=a-b);else for(;b--;)if(g=h*b+e,a>=g){h=h*(b+1)+e;d=(a-g)/(h-g);break}return void 0!==d&&void 0!==f[b]?f[b]+(d?d*(f[b+1]-f[b]):0):a}return a},getExtendedPositions:function(){var a=this,g=a.chart,f=a.series[0].currentDataGrouping,h=a.ordinalIndex,e=f?f.count+f.unitName:
518
- "raw",b=a.options.overscroll,d=a.getExtremes(),m,k;h||(h=a.ordinalIndex={});h[e]||(m={series:[],chart:g,getExtremes:function(){return{min:d.dataMin,max:d.dataMax+b}},options:{ordinal:!0},val2lin:y.prototype.val2lin,ordinal2lin:y.prototype.ordinal2lin},a.series.forEach(function(b){k={xAxis:m,xData:b.xData.slice(),chart:g,destroyGroupedData:v};k.xData=k.xData.concat(a.getOverscrollPositions());k.options={dataGrouping:f?{enabled:!0,forced:!0,approximation:"open",units:[[f.unitName,[f.count]]]}:{enabled:!1}};
519
- b.processData.apply(k);m.series.push(k)}),a.beforeSetTickPositions.apply(m),h[e]=m.ordinalPositions);return h[e]},getOverscrollPositions:function(){var h=this.options.overscroll,g=this.overscrollPointsRange,f=[],n=this.dataMax;if(a.defined(g))for(f.push(n);n<=this.dataMax+h;)n+=g,f.push(n);return f},getGroupIntervalFactor:function(a,g,f){var h;f=f.processedXData;var e=f.length,b=[];h=this.groupIntervalFactor;if(!h){for(h=0;h<e-1;h++)b[h]=f[h+1]-f[h];b.sort(function(a,b){return a-b});b=b[Math.floor(e/
520
- 2)];a=Math.max(a,f[0]);g=Math.min(g,f[e-1]);this.groupIntervalFactor=h=e*b/(g-a)}return h},postProcessTickInterval:function(a){var g=this.ordinalSlope;return g?this.options.breaks?this.closestPointRange||a:a/(g/this.closestPointRange):a}});y.prototype.ordinal2lin=y.prototype.val2lin;C(F,"pan",function(a){var g=this.xAxis[0],f=g.options.overscroll,h=a.originalEvent.chartX,e=!1;if(g.options.ordinal&&g.series.length){var b=this.mouseDownX,d=g.getExtremes(),m=d.dataMax,k=d.min,q=d.max,u=this.hoverPoints,
521
- v=g.closestPointRange||g.overscrollPointsRange,b=(b-h)/(g.translationSlope*(g.ordinalSlope||v)),r={ordinalPositions:g.getExtendedPositions()},v=g.lin2val,c=g.val2lin,l;r.ordinalPositions?1<Math.abs(b)&&(u&&u.forEach(function(a){a.setState()}),0>b?(u=r,l=g.ordinalPositions?g:r):(u=g.ordinalPositions?g:r,l=r),r=l.ordinalPositions,m>r[r.length-1]&&r.push(m),this.fixedRange=q-k,b=g.toFixedRange(null,null,v.apply(u,[c.apply(u,[k,!0])+b,!0]),v.apply(l,[c.apply(l,[q,!0])+b,!0])),b.min>=Math.min(d.dataMin,
522
- k)&&b.max<=Math.max(m,q)+f&&g.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=h,p(this.container,{cursor:"move"})):e=!0}else e=!0;e?f&&(g.max=g.dataMax+f):a.preventDefault()});C(y,"foundExtremes",function(){this.isXAxis&&h(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&h(this.userMin)&&(this.min+=this.options.overscroll))})});
523
- J(H,"modules/broken-axis.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.pick,F=a.extend,p=a.isArray,h=a.find,u=a.fireEvent,v=a.Axis,w=a.Series,x=function(a,g){return h(g,function(f){return f.from<a&&a<f.to})};F(v.prototype,{isInBreak:function(a,g){var f=a.repeat||Infinity,h=a.from,e=a.to-a.from;g=g>=h?(g-h)%f:f-(h-g)%f;return a.inclusive?g<=e:g<e&&0!==g},isInAnyBreak:function(a,g){var f=this.options.breaks,h=f&&f.length,e,b,d;if(h){for(;h--;)this.isInBreak(f[h],a)&&(e=!0,b||(b=y(f[h].showPoints,
524
- !this.isXAxis)));d=e&&g?e&&!b:e}return d}});C(v,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});C(v,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,g=this.tickPositions.info,f=[],h;for(h=0;h<a.length;h++)this.isInAnyBreak(a[h])||f.push(a[h]);this.tickPositions=f;this.tickPositions.info=g}});C(v,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});v.prototype.setBreaks=function(a,g){function f(a){var b=
525
- a,d,f;for(f=0;f<e.breakArray.length;f++)if(d=e.breakArray[f],d.to<=a)b-=d.len;else if(d.from>=a)break;else if(e.isInBreak(d,a)){b-=a-d.from;break}return b}function h(a){var b,d;for(d=0;d<e.breakArray.length&&!(b=e.breakArray[d],b.from>=a);d++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a}var e=this,b=p(a)&&!!a.length;e.isDirty=e.isBroken!==b;e.isBroken=b;e.options.breaks=e.userOptions.breaks=a;e.forceRedraw=!0;b||e.val2lin!==f||(delete e.val2lin,delete e.lin2val);b&&(e.userOptions.ordinal=
526
- !1,e.val2lin=f,e.lin2val=h,e.setExtremes=function(a,b,e,f,g){if(this.isBroken){for(var d,k=this.options.breaks;d=x(a,k);)a=d.to;for(;d=x(b,k);)b=d.from;b<a&&(b=a)}v.prototype.setExtremes.call(this,a,b,e,f,g)},e.setAxisTranslation=function(a){v.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=e.options.breaks;var b=[],d=[],f=0,g,h,n=e.userMin||e.min,c=e.userMax||e.max,l=y(e.pointRangePadding,0),p,q;a.forEach(function(a){h=a.repeat||Infinity;e.isInBreak(a,n)&&(n+=a.to%
527
- h-n%h);e.isInBreak(a,c)&&(c-=c%h-a.from%h)});a.forEach(function(a){p=a.from;for(h=a.repeat||Infinity;p-h>n;)p-=h;for(;p<n;)p+=h;for(q=p;q<c;q+=h)b.push({value:q,move:"in"}),b.push({value:q+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});g=0;p=n;b.forEach(function(a){g+="in"===a.move?1:-1;1===g&&"in"===a.move&&(p=a.value);0===g&&(d.push({from:p,to:a.value,len:a.value-p-(a.size||0)}),f+=a.value-p-(a.size||
528
- 0))});e.breakArray=d;e.unitLength=c-n-f+l;u(e,"afterBreaks");e.staticScale?e.transA=e.staticScale:e.unitLength&&(e.transA*=(c-e.min+l)/e.unitLength);l&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=n;e.max=c}});y(g,!0)&&this.chart.redraw()};C(w,"afterGeneratePoints",function(){var a=this.xAxis,g=this.yAxis,f=this.points,h,e=f.length,b=this.options.connectNulls,d;if(a&&g&&(a.options.breaks||g.options.breaks))for(;e--;)h=f[e],d=null===h.y&&!1===b,d||!a.isInAnyBreak(h.x,!0)&&!g.isInAnyBreak(h.y,
529
- !0)||(f.splice(e,1),this.data[e]&&this.data[e].destroyElements())});C(w,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,y(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,g){var f=this,h=f.points,e,b,d,m;a&&g.forEach(function(g){e=a.breakArray||[];b=a.isXAxis?a.min:y(f.options.threshold,a.min);h.forEach(function(f){m=y(f["stack"+g.toUpperCase()],f[g]);e.forEach(function(e){d=!1;if(b<e.from&&m>e.to||b>e.from&&m<e.from)d="pointBreak";else if(b<
530
- e.from&&m>e.from&&m<e.to||b>e.from&&m>e.to&&m<e.from)d="pointInBreak";d&&u(a,d,{point:f,brk:e})})})})};a.Series.prototype.gappedPath=function(){var h=this.currentDataGrouping,g=h&&h.gapSize,h=this.options.gapSize,f=this.points.slice(),n=f.length-1,e=this.yAxis;if(h&&0<n)for("value"!==this.options.gapUnit&&(h*=this.closestPointRange),g&&g>h&&(h=g);n--;)f[n+1].x-f[n].x>h&&(g=(f[n].x+f[n+1].x)/2,f.splice(n+1,0,{isNull:!0,x:g}),this.options.stacking&&(g=e.stacks[this.stackKey][g]=new a.StackItem(e,e.options.stackLabels,
531
- !1,g,this.stack),g.total=0));return this.getGraphPath(f)}});J(H,"masters/modules/broken-axis.src.js",[],function(){});J(H,"parts/DataGrouping.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.arrayMax,F=a.arrayMin,p=a.Axis,h=a.defaultPlotOptions,u=a.defined,v=a.extend,w=a.format,x=a.isNumber,q=a.merge,g=a.pick,f=a.Point,n=a.Series,e=a.Tooltip,b=a.approximations={sum:function(a){var b=a.length,c;if(!b&&a.hasNulls)c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var c=
532
- a.length;a=b.sum(a);x(a)&&c&&(a/=c);return a},averages:function(){var a=[];[].forEach.call(arguments,function(c){a.push(b.average(c))});return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?y(a):a.hasNulls?null:void 0},low:function(a){return a.length?F(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,c,d,e){a=b.open(a);c=b.high(c);d=b.low(d);e=b.close(e);if(x(a)||
533
- x(c)||x(d)||x(e))return[a,c,d,e]},range:function(a,c){a=b.low(a);c=b.high(c);if(x(a)||x(c))return[a,c];if(null===a&&null===c)return null}},d=function(a,c,d,e){var f=this,g=f.data,k=f.options&&f.options.data,l=[],h=[],m=[],n=a.length,p,r,v=!!c,w=[],z=f.pointArrayMap,B=z&&z.length,D=["x"].concat(z||["y"]),A=0,E=0,y,G;e="function"===typeof e?e:b[e]?b[e]:b[f.getDGApproximation&&f.getDGApproximation()||"average"];B?z.forEach(function(){w.push([])}):w.push([]);y=B||1;for(G=0;G<=n&&!(a[G]>=d[0]);G++);for(G;G<=
534
- n;G++){for(;void 0!==d[A+1]&&a[G]>=d[A+1]||G===n;){p=d[A];f.dataGroupInfo={start:f.cropStart+E,length:w[0].length};r=e.apply(f,w);f.pointClass&&!u(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=q(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+E])),D.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==r&&(l.push(p),h.push(r),m.push(f.dataGroupInfo));E=G;for(p=0;p<y;p++)w[p].length=0,w[p].hasNulls=!1;A+=1;if(G===n)break}if(G===n)break;if(z){p=f.cropStart+
535
- G;r=g&&g[p]||f.pointClass.prototype.applyOptions.apply({series:f},[k[p]]);var C;for(p=0;p<B;p++)C=r[z[p]],x(C)?w[p].push(C):null===C&&(w[p].hasNulls=!0)}else p=v?c[G]:null,x(p)?w[0].push(p):null===p&&(w[0].hasNulls=!0)}return{groupedXData:l,groupedYData:h,groupMap:m}},m={approximations:b,groupData:d},k=n.prototype,z=k.processData,B=k.generatePoints,A={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",
536
- "%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","%Y","-%Y"]}},r={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},c=a.defaultDataGroupingUnits=
537
- [["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]];k.getDGApproximation=function(){return a.seriesTypes.arearange&&this instanceof a.seriesTypes.arearange?"range":a.seriesTypes.ohlc&&this instanceof a.seriesTypes.ohlc?"ohlc":a.seriesTypes.column&&this instanceof a.seriesTypes.column?"sum":"average"};k.groupData=d;k.processData=function(){var a=this.chart,b=this.options.dataGrouping,
538
- d=!1!==this.allowDG&&b&&g(b.enabled,a.options.isStock),e=this.visible||!a.options.chart.ignoreHiddenSeries,f,h=this.currentDataGrouping,m,n=!1;this.forceCrop=d;this.groupPixelWidth=null;this.hasProcessed=!0;d&&!this.requireSorting&&(this.requireSorting=n=!0);d=!1===z.apply(this,arguments)||!d;n&&(this.requireSorting=!1);if(!d){this.destroyGroupedData();var p,d=b.groupAll?this.xData:this.processedXData,q=b.groupAll?this.yData:this.processedYData,r=a.plotSizeX,a=this.xAxis,v=a.options.ordinal,w=this.groupPixelWidth=
539
- a.getGroupPixelWidth&&a.getGroupPixelWidth();if(w){this.isDirty=f=!0;this.points=null;n=a.getExtremes();m=n.min;var n=n.max,v=v&&a.getGroupIntervalFactor(m,n,this)||1,w=w*(n-m)/r*v,r=a.getTimeTicks(a.normalizeTimeTickInterval(w,b.units||c),Math.min(m,d[0]),Math.max(n,d[d.length-1]),a.options.startOfWeek,d,this.closestPointRange),q=k.groupData.apply(this,[d,q,r,b.approximation]),d=q.groupedXData,v=q.groupedYData,B=0;if(b.smoothed&&d.length){p=d.length-1;for(d[p]=Math.min(d[p],n);p--&&0<p;)d[p]+=w/
540
- 2;d[0]=Math.max(d[0],m)}for(p=1;p<r.length;p++)r.info.segmentStarts&&-1!==r.info.segmentStarts.indexOf(p)||(B=Math.max(r[p]-r[p-1],B));m=r.info;m.gapSize=B;this.closestPointRange=r.info.totalRange;this.groupMap=q.groupMap;if(u(d[0])&&d[0]<a.dataMin&&e){if(!u(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=d[0];a.dataMin=d[0]}b.groupAll&&(b=this.cropData(d,v,a.min,a.max,1),d=b.xData,v=b.yData);this.processedXData=d;this.processedYData=v}else this.groupMap=null;this.hasGroupedData=f;this.currentDataGrouping=
541
- m;this.preventGraphAnimation=(h&&h.totalRange)!==(m&&m.totalRange)}};k.destroyGroupedData=function(){var a=this.groupedData;(a||[]).forEach(function(b,c){b&&(a[c]=b.destroy?b.destroy():null)});this.groupedData=null};k.generatePoints=function(){B.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};C(f,"update",function(){if(this.dataGroup)return a.error(24,!1,this.series.chart),!1});C(e,"headerFormatter",function(a){var b=this.chart.time,c=a.labelConfig,d=c.series,
542
- e=d.tooltipOptions,f=d.options.dataGrouping,g=e.xDateFormat,k,h=d.xAxis,l,m=e[(a.isFooter?"footer":"header")+"Format"];h&&"datetime"===h.options.type&&f&&x(c.key)&&(l=d.currentDataGrouping,f=f.dateTimeLabelFormats||A.dateTimeLabelFormats,l?(e=f[l.unitName],1===l.count?g=e[0]:(g=e[1],k=e[2])):!g&&f&&(g=this.getXDateFormat(c,e,h)),g=b.dateFormat(g,c.key),k&&(g+=b.dateFormat(k,c.key+l.totalRange-1)),d.chart.styledMode&&(m=this.styledModeFormat(m)),a.text=w(m,{point:v(c.point,{key:g}),series:d},b),a.preventDefault())});
543
- C(n,"destroy",k.destroyGroupedData);C(n,"afterSetOptions",function(a){a=a.options;var b=this.type,c=this.chart.options.plotOptions,d=h[b].dataGrouping,e=this.useCommonDataGrouping&&A;if(r[b]||e)d||(d=q(A,r[b])),a.dataGrouping=q(e,d,c.series&&c.series.dataGrouping,c[b].dataGrouping,this.userOptions.dataGrouping)});C(p,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});p.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,c,d=0,e=!1,f;for(c=b;c--;)(f=a[c].options.dataGrouping)&&
544
- (d=Math.max(d,g(f.groupPixelWidth,A.groupPixelWidth)));for(c=b;c--;)(f=a[c].options.dataGrouping)&&a[c].hasProcessed&&(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/d||b&&f.forced)&&(e=!0);return e?d:0};p.prototype.setDataGrouping=function(a,b){var c;b=g(b,!0);a||(a={forced:!1,units:null});if(this instanceof p)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinalSlope=
545
- null;b&&this.chart.redraw()};return a.dataGrouping=m});J(H,"parts/OHLCSeries.js",[H["parts/Globals.js"]],function(a){var C=a.Point,y=a.seriesType,F=a.seriesTypes;y("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}},stickyTracking:!0},
546
- {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(){F.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,h){h=F.column.prototype.pointAttribs.call(this,a,h);var p=this.options;delete h.fill;!a.options.color&&p.upColor&&a.open<a.close&&(h.stroke=p.upColor);return h},translate:function(){var a=this,
547
- h=a.yAxis,u=!!a.modifyValue,v=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];F.column.prototype.translate.apply(a);a.points.forEach(function(p){[p.open,p.high,p.low,p.close,p.low].forEach(function(w,q){null!==w&&(u&&(w=a.modifyValue(w)),p[v[q]]=h.toPixels(w,!0))});p.tooltipPos[1]=p.plotHigh+h.pos-a.chart.plotTop})},drawPoints:function(){var a=this,h=a.chart;a.points.forEach(function(p){var u,w,x,q,g=p.graphic,f,n=!g;void 0!==p.plotY&&(g||(p.graphic=g=h.renderer.path().add(a.group)),h.styledMode||
548
- g.attr(a.pointAttribs(p,p.selected&&"select")),w=g.strokeWidth()%2/2,f=Math.round(p.plotX)-w,x=Math.round(p.shapeArgs.width/2),q=["M",f,Math.round(p.yBottom),"L",f,Math.round(p.plotHigh)],null!==p.open&&(u=Math.round(p.plotOpen)+w,q.push("M",f,u,"L",f-x,u)),null!==p.close&&(u=Math.round(p.plotClose)+w,q.push("M",f,u,"L",f+x,u)),g[n?"attr":"animate"]({d:q}).addClass(p.getClassName(),!0))})},animate:null},{getClassName:function(){return C.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":
549
- " highcharts-point-down")}})});J(H,"parts/CandlestickSeries.js",[H["parts/Globals.js"]],function(a){var C=a.defaultPlotOptions,y=a.merge,F=a.seriesType,p=a.seriesTypes;F("candlestick","ohlc",y(C.column,{states:{hover:{lineWidth:2}},tooltip:C.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,u){var h=p.column.prototype.pointAttribs.call(this,a,u),w=this.options,x=a.open<a.close,q=w.lineColor||this.color;h["stroke-width"]=w.lineWidth;
550
- h.fill=a.options.color||(x?w.upColor||this.color:this.color);h.stroke=a.lineColor||(x?w.upLineColor||q:q);u&&(a=w.states[u],h.fill=a.color||h.fill,h.stroke=a.lineColor||h.stroke,h["stroke-width"]=a.lineWidth||h["stroke-width"]);return h},drawPoints:function(){var a=this,p=a.chart,v=a.yAxis.reversed;a.points.forEach(function(h){var u=h.graphic,q,g,f,n,e,b,d,m=!u;void 0!==h.plotY&&(u||(h.graphic=u=p.renderer.path().add(a.group)),a.chart.styledMode||u.attr(a.pointAttribs(h,h.selected&&"select")).shadow(a.options.shadow),
551
- e=u.strokeWidth()%2/2,b=Math.round(h.plotX)-e,q=h.plotOpen,g=h.plotClose,f=Math.min(q,g),q=Math.max(q,g),d=Math.round(h.shapeArgs.width/2),g=v?q!==h.yBottom:Math.round(f)!==Math.round(h.plotHigh),n=v?Math.round(f)!==Math.round(h.plotHigh):q!==h.yBottom,f=Math.round(f)+e,q=Math.round(q)+e,e=[],e.push("M",b-d,q,"L",b-d,f,"L",b+d,f,"L",b+d,q,"Z","M",b,f,"L",b,g?Math.round(v?h.yBottom:h.plotHigh):f,"M",b,q,"L",b,n?Math.round(v?h.plotHigh:h.yBottom):q),u[m?"attr":"animate"]({d:e}).addClass(h.getClassName(),
552
- !0))})}})});J(H,"mixins/on-series.js",[H["parts/Globals.js"]],function(a){var C=a.defined,y=a.seriesTypes,F=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){y.column.prototype.translate.apply(this);var a=this,h=a.options,u=a.chart,v=a.points,w=v.length-1,x,q=h.onSeries,q=q&&u.get(q),h=h.onKey||"y",g=q&&q.options.step,f=q&&q.points,n=f&&f.length,e=u.inverted,b=a.xAxis,d=a.yAxis,
553
- m=0,k,z,B,A;if(q&&q.visible&&n)for(m=(q.pointXOffset||0)+(q.barW||0)/2,u=q.currentDataGrouping,z=f[n-1].x+(u?u.totalRange:0),F(v,function(a,b){return a.x-b.x}),h="plot"+h[0].toUpperCase()+h.substr(1);n--&&v[w]&&!(k=f[n],u=v[w],u.y=k.y,k.x<=u.x&&void 0!==k[h]&&(u.x<=z&&(u.plotY=k[h],k.x<u.x&&!g&&(B=f[n+1])&&void 0!==B[h]&&(A=(u.x-k.x)/(B.x-k.x),u.plotY+=A*(B[h]-k[h]),u.y+=A*(B.y-k.y))),w--,n++,0>w)););v.forEach(function(f,c){var g;f.plotX+=m;if(void 0===f.plotY||e)0<=f.plotX&&f.plotX<=b.len?e?(f.plotY=
554
- b.translate(f.x,0,1,0,1),f.plotX=C(f.y)?d.translate(f.y,0,0,0,1):0):f.plotY=(b.opposite?0:a.yAxis.len)+b.offset:f.shapeArgs={};(x=v[c-1])&&x.plotX===f.plotX&&(void 0===x.stackIndex&&(x.stackIndex=0),g=x.stackIndex+1);f.stackIndex=g});this.onSeries=q}}});J(H,"parts/FlagsSeries.js",[H["parts/Globals.js"],H["mixins/on-series.js"]],function(a,C){function y(a){f[a+"pin"]=function(e,b,d,g,k){var h=k&&k.anchorX;k=k&&k.anchorY;var m;"circle"===a&&g>d&&(e-=Math.round((g-d)/2),d=g);m=f[a](e,b,d,g);h&&k&&(m.push("M",
555
- "circle"===a?e+d/2:m[1]+m[4]/2,b>k?b:b+g,"L",h,k),m=m.concat(f.circle(h-1,k-1,2,2)));return m}}var F=a.addEvent,p=a.merge,h=a.noop,u=a.defined,v=a.Renderer,w=a.Series,x=a.seriesType,q=a.TrackerMixin,g=a.VMLRenderer,f=a.SVGRenderer.prototype.symbols;x("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"}},
556
- style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:w.prototype.init,pointAttribs:function(a,e){var b=this.options,d=a&&a.color||this.color,f=b.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||b.fillColor;e&&(a=b.states[e].fillColor,f=b.states[e].lineColor,g=b.states[e].lineWidth);return{fill:a||d,stroke:f||d,"stroke-width":g||b.lineWidth||0}},translate:C.translate,getPlotBox:C.getPlotBox,drawPoints:function(){var f=
557
- this.points,e=this.chart,b=e.renderer,d,g,k=e.inverted,h=this.options,q=h.y,v,r,c,l,w,x,y=this.yAxis,t={},C=[];for(r=f.length;r--;)c=f[r],x=(k?c.plotY:c.plotX)>this.xAxis.len,d=c.plotX,l=c.stackIndex,v=c.options.shape||h.shape,g=c.plotY,void 0!==g&&(g=c.plotY+q-(void 0!==l&&l*h.stackDistance)),c.anchorX=l?void 0:c.plotX,w=l?void 0:c.plotY,l=c.graphic,void 0!==g&&0<=d&&!x?(l||(l=c.graphic=b.label("",null,null,v,null,null,h.useHTML),e.styledMode||l.attr(this.pointAttribs(c)).css(p(h.style,c.style)),
558
- l.attr({align:"flag"===v?"left":"center",width:h.width,height:h.height,"text-align":h.textAlign}).addClass("highcharts-point").add(this.markerGroup),c.graphic.div&&(c.graphic.div.point=c),e.styledMode||l.shadow(h.shadow),l.isNew=!0),0<d&&(d-=l.strokeWidth()%2),v={y:g,anchorY:w},h.allowOverlapX&&(v.x=d,v.anchorX=c.anchorX),l.attr({text:c.options.title||h.title||"A"})[l.isNew?"attr":"animate"](v),h.allowOverlapX||(t[c.plotX]?t[c.plotX].size=Math.max(t[c.plotX].size,l.width):t[c.plotX]={align:0,size:l.width,
559
- target:d,anchorX:d}),c.tooltipPos=[d,g+y.pos-e.plotTop]):l&&(c.graphic=l.destroy());h.allowOverlapX||(a.objectEach(t,function(a){a.plotX=a.anchorX;C.push(a)}),a.distribute(C,k?y.len:this.xAxis.len,100),f.forEach(function(a){var b=a.graphic&&t[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos,anchorX:a.anchorX}),u(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));h.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,
560
- [].slice.call(arguments,1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;q.drawTrackerPoint.apply(this);a.forEach(function(e){var b=e.graphic;b&&F(b.element,"mouseover",function(){0<e.stackIndex&&!e.raised&&(e._y=b.y,b.attr({y:e._y-8}),e.raised=!0);a.forEach(function(a){a!==e&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){w.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&
561
- this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:h,invertGroups:h},{isValid:function(){return a.isNumber(this.y)||void 0===this.y}});f.flag=function(a,e,b,d,g){var k=g&&g.anchorX||a;g=g&&g.anchorY||e;return f.circle(k-1,g-1,2,2).concat(["M",k,g,"L",a,e+d,a,e,a+b,e,a+b,e+d,a,e+d,"Z"])};y("circle");y("square");v===g&&["flag","circlepin","squarepin"].forEach(function(a){g.prototype.symbols[a]=f[a]})});J(H,"parts/RangeSelector.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}
562
- var y=a.addEvent,F=a.Axis,p=a.Chart,h=a.css,u=a.createElement,v=a.defaultOptions,w=a.defined,x=a.destroyObjectProperties,q=a.discardElement,g=a.extend,f=a.fireEvent,n=a.isNumber,e=a.merge,b=a.pick,d=a.pInt,m=a.splat;g(v,{rangeSelector:{verticalAlign:"top",buttonTheme:{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"}}});v.lang=e(v.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
563
- rangeSelectorTo:"To"});C.prototype={clickButton:function(a,d){var e=this.chart,f=this.buttonOptions[a],g=e.xAxis[0],c=e.scroller&&e.scroller.getUnionExtremes()||g||{},h=c.dataMin,k=c.dataMax,p,q=g&&Math.round(Math.min(g.max,b(k,g.max))),t=f.type,u,c=f._range,v,w,z,x=f.dataGrouping;if(null!==h&&null!==k){e.fixedRange=c;x&&(this.forcedDataGrouping=!0,F.prototype.setDataGrouping.call(g||{chart:this.chart},x,!1),this.frozenStates=f.preserveDataGrouping);if("month"===t||"year"===t)g?(t={range:f,max:q,
564
- chart:e,dataMin:h,dataMax:k},p=g.minFromRange.call(t),n(t.newMax)&&(q=t.newMax)):c=f;else if(c)p=Math.max(q-c,h),q=Math.min(p+c,k);else if("ytd"===t)if(g)void 0===k&&(h=Number.MAX_VALUE,k=Number.MIN_VALUE,e.series.forEach(function(a){a=a.xData;h=Math.min(a[0],h);k=Math.max(a[a.length-1],k)}),d=!1),q=this.getYTDExtremes(k,h,e.time.useUTC),p=v=q.min,q=q.max;else{this.deferredYTDClick=a;return}else"all"===t&&g&&(p=h,q=k);p+=f._offsetMin;q+=f._offsetMax;this.setSelected(a);g?g.setExtremes(p,q,b(d,1),
565
- null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(u=m(e.options.xAxis)[0],z=u.range,u.range=c,w=u.min,u.min=v,y(e,"load",function(){u.range=z;u.min=w}))}},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=this,d=a.options.rangeSelector,e=d.buttons||[].concat(b.defaultButtons),
566
- g=d.selected,c=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&f(a,"blur");c&&c.blur&&f(c,"blur")};b.chart=a;b.options=d;b.buttons=[];b.buttonOptions=e;this.unMouseDown=y(a.container,"mousedown",c);this.unResize=y(a,"resize",c);e.forEach(b.computeButtonRange);void 0!==g&&e[g]&&this.clickButton(g,!1);y(a,"load",function(){a.xAxis&&a.xAxis[0]&&y(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&
567
- !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),f=!d.hasVisibleSeries,c=b.scroller&&b.scroller.getUnionExtremes()||d,g=c.dataMin,h=c.dataMax,b=a.getYTDExtremes(h,g,b.time.useUTC),m=b.min,p=b.max,q=a.selected,u=n(q),v=a.options.allButtonsEnabled,w=a.buttons;a.buttonOptions.forEach(function(b,c){var k=b._range,l=b.type,n=b.count||1,r=w[c],t=0,x=b._offsetMax-b._offsetMin;b=c===q;var z=k>h-g,B=k<d.minRange,
568
- A=!1,y=!1,k=k===e;("month"===l||"year"===l)&&e+36E5>=864E5*{month:28,year:365}[l]*n-x&&e-36E5<=864E5*{month:31,year:366}[l]*n+x?k=!0:"ytd"===l?(k=p-m+x===e,A=!b):"all"===l&&(k=d.max-d.min>=h-g,y=!b&&u&&k);l=!v&&(z||B||y||f);n=b&&k||k&&!u&&!A||b&&a.frozenStates;l?t=3:n&&(u=!0,t=2);r.state!==t&&(r.setState(t),0===t&&q===c&&a.setSelected(null))})},computeButtonRange:function(a){var d=a.type,e=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[d])a._range=f[d]*e;else if("month"===
569
- d||"year"===d)a._range=864E5*{month:30,year:365}[d]*e;a._offsetMin=b(a.offsetMin,0);a._offsetMax=b(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var d=this.chart.options.rangeSelector,e=this.chart.time,f=this[a+"Input"];w(b)&&(f.previousValue=f.HCTime,f.HCTime=b);f.value=e.dateFormat(d.inputEditDateFormat||"%Y-%m-%d",f.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(d.inputDateFormat||"%b %e, %Y",f.HCTime)})},showInput:function(a){var b=this.inputGroup,d=this[a+
570
- "DateBox"];h(this[a+"Input"],{left:b.translateX+d.x+"px",top:b.translateY+"px",width:d.width-2+"px",height:d.height-2+"px",border:"2px solid silver"})},hideInput:function(a){h(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(b){function f(){var a=x.value,b=(l.inputDateParser||Date.parse)(a),c=m.xAxis[0],e=m.scroller&&m.scroller.xAxis?m.scroller.xAxis:c,f=e.dataMin,e=e.dataMax;b!==x.previousValue&&(x.previousValue=b,n(b)||(b=a.split("-"),b=Date.UTC(d(b[0]),
571
- d(b[1])-1,d(b[2]))),n(b)&&(m.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),w?b>k.maxInput.HCTime?b=void 0:b<f&&(b=f):b<k.minInput.HCTime?b=void 0:b>e&&(b=e),void 0!==b&&c.setExtremes(w?b:c.min,w?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var k=this,m=k.chart,p=m.renderer.style||{},c=m.renderer,l=m.options.rangeSelector,q=k.div,w="min"===b,x,t,y=this.inputGroup;this[b+"Label"]=t=c.label(v.lang[w?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(y);
572
- y.offset+=t.width+5;this[b+"DateBox"]=c=c.label("",y.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,"text-align":"center"}).on("click",function(){k.showInput(b);k[b+"Input"].focus()});m.styledMode||c.attr({stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1});c.add(y);y.offset+=c.width+(w?10:0);this[b+"Input"]=x=u("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:m.plotTop+"px"},q);m.styledMode||(t.css(e(p,
573
- l.labelStyle)),c.css(e({color:"#333333"},p,l.inputStyle)),h(x,g({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:p.fontSize,fontFamily:p.fontFamily,top:"-9999em"},l.inputStyle)));x.onfocus=function(){k.showInput(b)};x.onblur=function(){x===a.doc.activeElement&&(f(),k.hideInput(b),x.blur())};x.onchange=f;x.onkeypress=function(a){13===a.keyCode&&f()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
574
- 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,d){var e=this.chart.time,f=new e.Date(a),c=e.get("FullYear",f);d=d?e.Date.UTC(c,0,1):+new e.Date(c,0,1);b=Math.max(b||0,d);f=f.getTime();return{max:Math.min(a||f,f),min:b}},render:function(a,d){var e=this,f=e.chart,g=f.renderer,c=f.container,h=f.options,k=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,m=v.lang,n=e.div,p=h.rangeSelector,q=b(h.chart.style&&h.chart.style.zIndex,
575
- 0)+1,h=p.floating,w=e.buttons,n=e.inputGroup,x=p.buttonTheme,z=p.buttonPosition,y=p.inputPosition,C=p.inputEnabled,F=x&&x.states,H=f.plotLeft,J,N=e.buttonGroup,R;R=e.rendered;var W=e.options.verticalAlign,X=f.legend,P=X&&X.options,U=z.y,S=y.y,Y=R||!1,Z=Y?"animate":"attr",V=0,ba=0,aa;if(!1!==p.enabled){R||(e.group=R=g.g("range-selector-group").attr({zIndex:7}).add(),e.buttonGroup=N=g.g("range-selector-buttons").add(R),e.zoomText=g.text(m.rangeSelectorZoom,0,15).add(N),f.styledMode||(e.zoomText.css(p.labelStyle),
576
- x["stroke-width"]=b(x["stroke-width"],0)),e.buttonOptions.forEach(function(a,b){w[b]=g.button(a.text,0,0,function(c){var d=a.events&&a.events.click,f;d&&(f=d.call(a,c));!1!==f&&e.clickButton(b);e.isActive=!0},x,F&&F.hover,F&&F.select,F&&F.disabled).attr({"text-align":"center"}).add(N)}),!1!==C&&(e.div=n=u("div",null,{position:"relative",height:0,zIndex:q}),c.parentNode.insertBefore(n,c),e.inputGroup=n=g.g("input-group").add(R),n.offset=0,e.drawInput("min"),e.drawInput("max")));e.zoomText[Z]({x:b(H+
577
- z.x,H)});J=b(H+z.x,H)+e.zoomText.getBBox().width+5;e.buttonOptions.forEach(function(a,c){w[c][Z]({x:J});J+=w[c].width+b(p.buttonSpacing,5)});H=f.plotLeft-f.spacing[3];e.updateButtonStates();k&&this.titleCollision(f)&&"top"===W&&"right"===z.align&&z.y+N.getBBox().height-12<(k.y||0)+k.height&&(V=-40);"left"===z.align?aa=z.x-f.spacing[3]:"right"===z.align&&(aa=z.x+V-f.spacing[1]);N.align({y:z.y,width:N.getBBox().width,align:z.align,x:aa},!0,f.spacingBox);e.group.placed=Y;e.buttonGroup.placed=Y;!1!==
578
- C&&(V=k&&this.titleCollision(f)&&"top"===W&&"right"===y.align&&y.y-n.getBBox().height-12<(k.y||0)+k.height+f.spacing[0]?-40:0,"left"===y.align?aa=H:"right"===y.align&&(aa=-Math.max(f.axisOffset[1],-V)),n.align({y:y.y,width:n.getBBox().width,align:y.align,x:y.x+aa-2},!0,f.spacingBox),c=n.alignAttr.translateX+n.alignOptions.x-V+n.getBBox().x+2,k=n.alignOptions.width,m=N.alignAttr.translateX+N.getBBox().x,aa=N.getBBox().width+20,(y.align===z.align||m+aa>c&&c+k>m&&U<S+n.getBBox().height)&&n.attr({translateX:n.alignAttr.translateX+
579
- (f.axisOffset[1]>=-V?0:-V),translateY:n.alignAttr.translateY+N.getBBox().height+10}),e.setInputValue("min",a),e.setInputValue("max",d),e.inputGroup.placed=Y);e.group.align({verticalAlign:W},!0,f.spacingBox);a=e.group.getBBox().height+20;d=e.group.alignAttr.translateY;"bottom"===W&&(X=P&&"bottom"===P.verticalAlign&&P.enabled&&!P.floating?X.legendHeight+b(P.margin,10):0,a=a+X-20,ba=d-a-(h?0:p.y)-10);if("top"===W)h&&(ba=0),f.titleOffset&&(ba=f.titleOffset+f.options.title.margin),ba+=f.margin[0]-f.spacing[0]||
580
- 0;else if("middle"===W)if(S===U)ba=0>S?d+void 0:d;else if(S||U)ba=0>S||0>U?ba-Math.min(S,U):d-a+NaN;e.group.translate(p.x,p.y+Math.floor(ba));!1!==C&&(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,d=a.y,e=a.buttonPosition.y,f=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+d:0;b=Math.min(f,e);if(0>f&&0>e||0<f&&0<e)a+=Math.abs(b);return a},titleCollision:function(a){return!(a.options.title.text||
581
- a.options.subtitle.text)},update:function(a){var b=this.chart;e(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,d=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();x(b.buttons);d&&(d.onfocus=d.onblur=d.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a.objectEach(b,function(a,d){a&&"chart"!==d&&(a.destroy?a.destroy():a.nodeType&&q(this[d]));a!==C.prototype[d]&&(b[d]=null)},this)}};F.prototype.minFromRange=function(){var a=
582
- this.range,d={month:"Month",year:"FullYear"}[a.type],e,f=this.max,g,c,h=this.chart.time,m=function(a,b){var c=new h.Date(a),e=h.get(d,c);h.set(d,c,e+b);e===h.get(d,c)&&c.setDate(0);return c.getTime()-a};n(a)?(e=f-a,c=a):(e=f+m(f,-a.count),this.chart&&(this.chart.fixedRange=f-e));g=b(this.dataMin,Number.MIN_VALUE);n(e)||(e=g);e<=g&&(e=g,void 0===c&&(c=m(e,a.count)),this.newMax=Math.min(e+c,this.dataMax));n(f)||(e=void 0);return e};a.RangeSelector||(y(p,"afterGetContainer",function(){this.options.rangeSelector.enabled&&
583
- (this.rangeSelector=new C(this))}),y(p,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(n(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),y(p,"update",function(a){var b=a.options.rangeSelector;a=this.rangeSelector;var d=this.extraBottomMargin,
584
- e=this.extraTopMargin;b&&b.enabled&&!w(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new C(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!==d||this.extraTopMargin!==e)&&(this.isDirtyBox=!0)}),y(p,"render",function(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,
585
- "bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),y(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();n(d.min)&&e.render(d.min,d.max)}var d,e=a.rangeSelector,f,c;e&&(c=y(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=y(a,"redraw",b),b());y(a,"destroy",function(){e&&
586
- (f(),c())})}),a.RangeSelector=C)});J(H,"parts/StockChart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,y=a.arrayMax,F=a.arrayMin,p=a.Axis,h=a.Chart,u=a.defined,v=a.extend,w=a.format,x=a.isNumber,q=a.isString,g=a.merge,f=a.pick,n=a.Point,e=a.Renderer,b=a.Series,d=a.splat,m=a.SVGRenderer,k=a.VMLRenderer,z=b.prototype,B=z.init,A=z.processData,r=n.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,e,k){var c=q(b)||b.nodeName,l=arguments[c?1:0],m=l,n=l.series,p=a.getOptions(),r,
587
- u=f(l.navigator&&l.navigator.enabled,p.navigator.enabled,!0),v=u?{startOnTick:!1,endOnTick:!1}:null,w={marker:{enabled:!1,radius:2}},x={shadow:!1,borderWidth:0};l.xAxis=d(l.xAxis||{}).map(function(a,b){return g({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},p.xAxis,p.xAxis&&p.xAxis[b],a,{type:"datetime",categories:null},v)});l.yAxis=d(l.yAxis||{}).map(function(a,b){r=f(a.opposite,!0);return g({labels:{y:-2},opposite:r,showLastLabel:!(!a.categories&&
588
- "category"!==a.type),title:{text:null}},p.yAxis,p.yAxis&&p.yAxis[b],a)});l.series=null;l=g({chart:{panning:!0,pinchType:"x"},navigator:{enabled:u},scrollbar:{enabled:f(p.scrollbar.enabled,!0)},rangeSelector:{enabled:f(p.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:f(p.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:w,spline:w,area:w,areaspline:w,arearange:w,areasplinerange:w,column:x,columnrange:x,candlestick:x,ohlc:x}},l,{isStock:!0});l.series=m.series=n;return c?
589
- new h(b,l,k):new h(l,e)};C(p,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;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,a.align="right",a.preventDefault()))});C(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]});
590
- C(p,"getPlotLinePath",function(b){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return x(a)?[g[b][a]]:q(a)?[g.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,g=d.chart,h=g.renderer,k=d.left,m=d.top,n,p,r,v,w=[],y=[],z,A,B=b.translatedValue,C=b.value,F=b.force,H;if("xAxis"===d.coll||"yAxis"===d.coll)b.preventDefault(),y=c(d.coll),z=d.isXAxis?g.yAxis:g.xAxis,z.forEach(function(a){if(u(a.options.id)?-1===a.options.id.indexOf("navigator"):
591
- 1){var b=a.isXAxis?"yAxis":"xAxis",b=u(a.options[b])?g[b][a.options[b]]:g[b][0];d===b&&y.push(a)}}),A=y.length?[]:[d.isXAxis?g.yAxis[0]:g.xAxis[0]],y.forEach(function(b){-1!==A.indexOf(b)||a.find(A,function(a){return a.pos===b.pos&&a.len===b.len})||A.push(b)}),H=f(B,d.translate(C,null,null,b.old)),x(H)&&(d.horiz?A.forEach(function(a){var b;p=a.pos;v=p+a.len;n=r=Math.round(H+d.transB);"pass"!==F&&(n<k||n>k+d.width)&&(F?n=r=Math.min(Math.max(k,n),k+d.width):b=!0);b||w.push("M",n,p,"L",r,v)}):A.forEach(function(a){var b;
592
- n=a.pos;r=n+a.len;p=v=Math.round(m+d.height-H);"pass"!==F&&(p<m||p>m+d.height)&&(F?p=v=Math.min(Math.max(m,p),d.top+d.height):b=!0);b||w.push("M",n,p,"L",r,v)})),b.path=0<w.length?h.crispPolyLine(w,b.lineWidth||1):null});m.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};e===k&&(k.prototype.crispPolyLine=m.prototype.crispPolyLine);C(p,"afterHideCrosshair",
593
- function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});C(p,"afterDrawCrosshair",function(a){var b,c;if(u(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=this.chart,e=this.options.crosshair.label,g=this.horiz;b=this.opposite;c=this.left;var h=this.top,k=this.crossLabel,m=e.format,n="",p="inside"===this.options.tickPosition,q=!1!==this.crosshair.snap,r=0,x=a.e||this.cross&&this.cross.e,y=a.point;a=this.lin2log;var z,A;this.isLog?(z=a(this.min),A=a(this.max)):(z=
594
- this.min,A=this.max);a=g?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=this.crossLabel=d.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:f(e.padding,8),r:f(e.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||k.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||
595
- "","stroke-width":e.borderWidth||0}).css(v({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));g?(a=q?y.plotX+c:x.chartX,h+=b?0:this.height):(a=b?this.width+c:0,h=q?y.plotY+h:x.chartY);m||e.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),m="{value"+(n?":"+n:"")+"}");n=q?y[this.isXAxis?"x":"y"]:this.toValue(g?x.chartX:x.chartY);k.attr({text:m?w(m,{value:n},d.time):e.formatter.call(this,n),x:a,y:h,visibility:n<z||n>A?"hidden":"visible"});e=k.getBBox();if(g){if(p&&!b||
596
- !p&&b)h=k.y-e.height}else h=k.y-e.height/2;g?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);k.translateX<b&&(r=b-k.translateX);k.translateX+e.width>=c&&(r=-(k.translateX+e.width-c));k.attr({x:a+r,y:h,anchorX:g?a:this.opposite?0:d.chartWidth,anchorY:g?this.opposite?d.chartHeight:0:h+e.height/2})}});z.init=function(){B.apply(this,arguments);this.setCompare(this.options.compare)};z.setCompare=function(a){this.modifyValue="value"===
597
- 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)};z.processData=function(){var a,b=-1,d,e,f=!0===this.options.compareStart?0:1,g,h;A.apply(this,arguments);if(this.xAxis&&this.processedYData)for(d=this.processedXData,e=this.processedYData,g=e.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||
598
- this.pointValKey||"y")),a=0;a<g-f;a++)if(h=e[a]&&-1<b?e[a][b]:e[a],x(h)&&d[a+f]>=this.xAxis.min&&0!==h){this.compareValue=h;break}};C(b,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=F(a);this.dataMax=y(a)}});p.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),f(b,!0)&&this.chart.redraw())};n.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<
599
- this.change?"+":"")+a.numberFormat(this.change,f(this.series.tooltipOptions.changeDecimals,2)));return r.apply(this,[b])};C(b,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(a=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=g(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,
600
- height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});C(h,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(g(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});J(H,"masters/modules/stock.src.js",[],function(){});J(H,"masters/highstock.src.js",[H["masters/highcharts.src.js"]],function(a){return a});H["masters/highstock.src.js"]._modules=H;return H["masters/highstock.src.js"]});
119
+ style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=A(!0,a.defaultOptions,C);a.time.update(A(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};
120
+ a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(A(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,m,g){return a.time.dateFormat(A,m,g)};""});I(H,"parts/Tick.js",[H["parts/Globals.js"]],function(a){var C=a.correctFloat,A=a.defined,E=a.destroyObjectProperties,m=a.fireEvent,g=a.isNumber,v=a.merge,x=a.pick,y=a.deg2rad;a.Tick=function(a,n,f,h,r){this.axis=a;this.pos=n;this.type=f||"";this.isNewLabel=this.isNew=!0;this.parameters=r||{};this.tickmarkOffset=this.parameters.tickmarkOffset;
121
+ this.options=this.parameters.options;f||h||this.addLabel()};a.Tick.prototype={addLabel:function(){var g=this,n=g.axis,f=n.options,h=n.chart,r=n.categories,e=n.names,b=g.pos,l=x(g.options&&g.options.labels,f.labels),c=n.tickPositions,t=b===c[0],F=b===c[c.length-1],r=this.parameters.category||(r?x(r[b],e[b],b):b),w=g.label,c=c.info,B,p,d,k;n.isDatetimeAxis&&c&&(p=h.time.resolveDTLFormat(f.dateTimeLabelFormats[!f.grid&&c.higherRanks[b]||c.unitName]),B=p.main);g.isFirst=t;g.isLast=F;g.formatCtx={axis:n,
122
+ chart:h,isFirst:t,isLast:F,dateTimeLabelFormat:B,tickPositionInfo:c,value:n.isLog?C(n.lin2log(r)):r,pos:b};f=n.labelFormatter.call(g.formatCtx,this.formatCtx);if(k=p&&p.list)g.shortenLabel=function(){for(d=0;d<k.length;d++)if(w.attr({text:n.labelFormatter.call(a.extend(g.formatCtx,{dateTimeLabelFormat:k[d]}))}),w.getBBox().width<n.getSlotWidth(g)-2*x(l.padding,5))return;w.attr({text:""})};if(A(w))w&&w.textStr!==f&&(!w.textWidth||l.style&&l.style.width||w.styles.width||w.css({width:null}),w.attr({text:f}),
123
+ w.textPxLength=w.getBBox().width);else{if(g.label=w=A(f)&&l.enabled?h.renderer.text(f,0,0,l.useHTML).add(n.labelGroup):null)h.styledMode||w.css(v(l.style)),w.textPxLength=w.getBBox().width;g.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var n=this.axis,f=n.options.labels,h=a.x,r=n.chart.chartWidth,e=n.chart.spacing,b=x(n.labelLeft,Math.min(n.pos,e[3])),e=x(n.labelRight,Math.max(n.isRadial?0:n.pos+n.len,r-
124
+ e[1])),l=this.label,c=this.rotation,t={left:0,center:.5,right:1}[n.labelAlign||l.attr("align")],g=l.getBBox().width,w=n.getSlotWidth(this),B=w,p=1,d,k={};if(c||"justify"!==x(f.overflow,"justify"))0>c&&h-t*g<b?d=Math.round(h/Math.cos(c*y)-b):0<c&&h+t*g>e&&(d=Math.round((r-h)/Math.cos(c*y)));else if(r=h+(1-t)*g,h-t*g<b?B=a.x+B*(1-t)-b:r>e&&(B=e-a.x+B*t,p=-1),B=Math.min(w,B),B<w&&"center"===n.labelAlign&&(a.x+=p*(w-B-t*(w-Math.min(g,B)))),g>B||n.autoRotation&&(l.styles||{}).width)d=B;d&&(this.shortenLabel?
125
+ this.shortenLabel():(k.width=Math.floor(d),(f.style||{}).textOverflow||(k.textOverflow="ellipsis"),l.css(k)))},getPosition:function(g,n,f,h){var r=this.axis,e=r.chart,b=h&&e.oldChartHeight||e.chartHeight;g={x:g?a.correctFloat(r.translate(n+f,null,null,h)+r.transB):r.left+r.offset+(r.opposite?(h&&e.oldChartWidth||e.chartWidth)-r.right-r.left:0),y:g?b-r.bottom+r.offset-(r.opposite?r.height:0):a.correctFloat(b-r.translate(n+f,null,null,h)-r.transB)};g.y=Math.max(Math.min(g.y,1E5),-1E5);m(this,"afterGetPosition",
126
+ {pos:g});return g},getLabelPosition:function(a,n,f,h,r,e,b,l){var c=this.axis,t=c.transA,g=c.reversed,w=c.staggerLines,B=c.tickRotCorr||{x:0,y:0},p=r.y,d=h||c.reserveSpaceDefault?0:-c.labelOffset*("center"===c.labelAlign?.5:1),k={};A(p)||(p=0===c.side?f.rotation?-8:-f.getBBox().height:2===c.side?B.y+8:Math.cos(f.rotation*y)*(B.y-f.getBBox(!1,0).height/2));a=a+r.x+d+B.x-(e&&h?e*t*(g?-1:1):0);n=n+p-(e&&!h?e*t*(g?1:-1):0);w&&(f=b/(l||1)%w,c.opposite&&(f=w-f-1),n+=c.labelOffset/w*f);k.x=a;k.y=Math.round(n);
127
+ m(this,"afterGetLabelPosition",{pos:k,tickmarkOffset:e,index:b});return k},getMarkPath:function(a,n,f,h,r,e){return e.crispLine(["M",a,n,"L",a+(r?0:-f),n+(r?f:0)],h)},renderGridLine:function(a,n,f){var h=this.axis,r=h.options,e=this.gridLine,b={},l=this.pos,c=this.type,t=x(this.tickmarkOffset,h.tickmarkOffset),g=h.chart.renderer,w=c?c+"Grid":"grid",B=r[w+"LineWidth"],p=r[w+"LineColor"],r=r[w+"LineDashStyle"];e||(h.chart.styledMode||(b.stroke=p,b["stroke-width"]=B,r&&(b.dashstyle=r)),c||(b.zIndex=
128
+ 1),a&&(n=0),this.gridLine=e=g.path().attr(b).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(h.gridGroup));if(e&&(f=h.getPlotLinePath({value:l+t,lineWidth:e.strokeWidth()*f,force:"pass",old:a})))e[a||this.isNew?"attr":"animate"]({d:f,opacity:n})},renderMark:function(a,n,f){var h=this.axis,r=h.options,e=h.chart.renderer,b=this.type,l=b?b+"Tick":"tick",c=h.tickSize(l),t=this.mark,g=!t,w=a.x;a=a.y;var B=x(r[l+"Width"],!b&&h.isXAxis?1:0),r=r[l+"Color"];c&&(h.opposite&&(c[0]=-c[0]),g&&(this.mark=
129
+ t=e.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(h.axisGroup),h.chart.styledMode||t.attr({stroke:r,"stroke-width":B})),t[g?"attr":"animate"]({d:this.getMarkPath(w,a,c[0],t.strokeWidth()*f,h.horiz,e),opacity:n}))},renderLabel:function(a,n,f,h){var r=this.axis,e=r.horiz,b=r.options,l=this.label,c=b.labels,t=c.step,r=x(this.tickmarkOffset,r.tickmarkOffset),F=!0,w=a.x;a=a.y;l&&g(w)&&(l.xy=a=this.getLabelPosition(w,a,l,e,c,r,h,t),this.isFirst&&!this.isLast&&!x(b.showFirstLabel,1)||this.isLast&&
130
+ !this.isFirst&&!x(b.showLastLabel,1)?F=!1:!e||c.step||c.rotation||n||0===f||this.handleOverflow(a),t&&h%t&&(F=!1),F&&g(a.y)?(a.opacity=f,l[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(l.attr("y",-9999),this.isNewLabel=!0))},render:function(g,n,f){var h=this.axis,r=h.horiz,e=this.pos,b=x(this.tickmarkOffset,h.tickmarkOffset),e=this.getPosition(r,e,b,n),b=e.x,l=e.y,h=r&&b===h.pos+h.len||!r&&l===h.pos?-1:1;f=x(f,1);this.isActive=!0;this.renderGridLine(n,f,h);this.renderMark(e,f,h);this.renderLabel(e,
131
+ n,f,g);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){E(this,this.axis)}}});I(H,"parts/Axis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animObject,E=a.arrayMax,m=a.arrayMin,g=a.color,v=a.correctFloat,x=a.defaultOptions,y=a.defined,z=a.deg2rad,n=a.destroyObjectProperties,f=a.extend,h=a.fireEvent,r=a.format,e=a.getMagnitude,b=a.isArray,l=a.isNumber,c=a.isString,t=a.merge,F=a.normalizeTickInterval,w=a.objectEach,B=a.pick,p=a.removeEvent,d=a.seriesTypes,k=a.splat,u=
132
+ a.syncTimeout,D=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",
133
+ minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,
134
+ text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,
135
+ title:{rotation:0}},init:function(d,b){var q=b.isX,c=this;c.chart=d;c.horiz=d.inverted&&!c.isZAxis?!q:q;c.isXAxis=q;c.coll=c.coll||(q?"xAxis":"yAxis");h(this,"init",{userOptions:b});c.opposite=b.opposite;c.side=b.side||(c.horiz?c.opposite?0:2:c.opposite?1:3);c.setOptions(b);var e=this.options,u=e.type;c.labelFormatter=e.labels.formatter||c.defaultLabelFormatter;c.userOptions=b;c.minPixelPadding=0;c.reversed=e.reversed;c.visible=!1!==e.visible;c.zoomEnabled=!1!==e.zoomEnabled;c.hasNames="category"===
136
+ u||!0===e.categories;c.categories=e.categories||c.hasNames;c.names||(c.names=[],c.names.keys={});c.plotLinesAndBandsGroups={};c.isLog="logarithmic"===u;c.isDatetimeAxis="datetime"===u;c.positiveValuesOnly=c.isLog&&!c.allowNegativeLog;c.isLinked=y(e.linkedTo);c.ticks={};c.labelEdge=[];c.minorTicks={};c.plotLinesAndBands=[];c.alternateBands={};c.len=0;c.minRange=c.userMinRange=e.minRange||e.maxZoom;c.range=e.range;c.offset=e.offset||0;c.stacks={};c.oldStacks={};c.stacksTouched=0;c.max=null;c.min=null;
137
+ c.crosshair=B(e.crosshair,k(d.options.tooltip.crosshairs)[q?0:1],!1);b=c.options.events;-1===d.axes.indexOf(c)&&(q?d.axes.splice(d.xAxis.length,0,c):d.axes.push(c),d[c.coll].push(c));c.series=c.series||[];d.inverted&&!c.isZAxis&&q&&void 0===c.reversed&&(c.reversed=!0);w(b,function(d,q){a.isFunction(d)&&C(c,q,d)});c.lin2log=e.linearToLogConverter||c.lin2log;c.isLog&&(c.val2lin=c.log2lin,c.lin2val=c.lin2log);h(this,"afterInit")},setOptions:function(a){this.options=t(this.defaultOptions,"yAxis"===this.coll&&
138
+ this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],t(x[this.coll],a));h(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var d=this.axis,b=this.value,c=d.chart.time,k=d.categories,e=this.dateTimeLabelFormat,u=x.lang,l=u.numericSymbols,u=u.numericSymbolMagnitude||1E3,t=l&&l.length,p,h=d.options.labels.format,d=d.isLog?Math.abs(b):d.tickInterval;if(h)p=r(h,this,c);else if(k)p=
139
+ b;else if(e)p=c.dateFormat(e,b);else if(t&&1E3<=d)for(;t--&&void 0===p;)c=Math.pow(u,t+1),d>=c&&0===10*b%c&&null!==l[t]&&0!==b&&(p=a.numberFormat(b/c,-1)+l[t]);void 0===p&&(p=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return p},getSeriesExtremes:function(){var a=this,d=a.chart,b;h(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(q){if(q.visible||
140
+ !d.options.chart.ignoreHiddenSeries){var c=q.options,k=c.threshold,e,u;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&&(k=null);if(a.isXAxis)c=q.xData,c.length&&(b=q.getXExtremes(c),e=b.min,u=b.max,l(e)||e instanceof Date||(c=c.filter(l),b=q.getXExtremes(c),e=b.min,u=b.max),c.length&&(a.dataMin=Math.min(B(a.dataMin,e),e),a.dataMax=Math.max(B(a.dataMax,u),u)));else if(q.getExtremes(),u=q.dataMax,e=q.dataMin,y(e)&&y(u)&&(a.dataMin=Math.min(B(a.dataMin,e),e),a.dataMax=Math.max(B(a.dataMax,u),u)),y(k)&&
141
+ (a.threshold=k),!c.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")},translate:function(a,d,b,c,k,e){var q=this.linkedParent||this,u=1,t=0,p=c?q.oldTransA:q.transA;c=c?q.oldMin:q.min;var K=q.minPixelPadding;k=(q.isOrdinal||q.isBroken||q.isLog&&k)&&q.lin2val;p||(p=q.transA);b&&(u*=-1,t=q.len);q.reversed&&(u*=-1,t-=u*(q.sector||q.len));d?(a=(a*u+t-K)/p+c,k&&(a=q.lin2val(a))):(k&&(a=q.val2lin(a)),a=l(c)?u*(a-c)*p+t+u*K+(l(e)?p*e:0):void 0);return a},toPixels:function(a,
142
+ d){return this.translate(a,!1,!this.horiz,null,!0)+(d?0:this.pos)},toValue:function(a,d){return this.translate(a-(d?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a){var d=this,q=d.chart,b=d.left,c=d.top,k=a.old,e=a.value,u=a.translatedValue,t=a.lineWidth,p=a.force,f,w,r,D,G=k&&q.oldChartHeight||q.chartHeight,n=k&&q.oldChartWidth||q.chartWidth,g,F=d.transB,m=function(a,d,q){if("pass"!==p&&a<d||a>q)p?a=Math.min(Math.max(d,a),q):g=!0;return a};a={value:e,lineWidth:t,old:k,force:p,acrossPanes:a.acrossPanes,
143
+ translatedValue:u};h(this,"getPlotLinePath",a,function(a){u=B(u,d.translate(e,null,null,k));u=Math.min(Math.max(-1E5,u),1E5);f=r=Math.round(u+F);w=D=Math.round(G-u-F);l(u)?d.horiz?(w=c,D=G-d.bottom,f=r=m(f,b,b+d.width)):(f=b,r=n-d.right,w=D=m(w,c,c+d.height)):(g=!0,p=!1);a.path=g&&!p?null:q.renderer.crispLine(["M",f,w,"L",r,D],t||1)});return a.path},getLinearTickPositions:function(a,d,b){var q,c=v(Math.floor(d/a)*a);b=v(Math.ceil(b/a)*a);var k=[],e;v(c+a)===c&&(e=20);if(this.single)return[d];for(d=
144
+ c;d<=b;){k.push(d);d=v(d+a,e);if(d===q)break;q=d}return k},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?B(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,d=a.options,b=a.tickPositions,c=a.minorTickInterval,k=[],e=a.pointRangePadding||0,u=a.min-e,e=a.max+e,l=e-u;if(l&&l/c<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(d,q,b){q&&k.push.apply(k,a.getLogTickPositions(c,b[q-1],b[q],!0))});else if(a.isDatetimeAxis&&
145
+ "auto"===this.getMinorTickInterval())k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(c),u,e,d.startOfWeek));else for(d=u+(b[0]-u)%c;d<=e&&d!==k[0];d+=c)k.push(d);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,d=this.min,b=this.max,c,k,e,u,l,t,p,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(y(a.min)||y(a.max)?this.minRange=null:(this.series.forEach(function(a){t=a.xData;for(u=p=a.xIncrement?1:t.length-1;0<u;u--)if(l=t[u]-t[u-1],void 0===e||l<e)e=
146
+ l}),this.minRange=Math.min(5*e,this.dataMax-this.dataMin)));b-d<this.minRange&&(k=this.dataMax-this.dataMin>=this.minRange,h=this.minRange,c=(h-b+d)/2,c=[d-c,B(a.min,d-c)],k&&(c[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),d=E(c),b=[d+h,B(a.max,d+h)],k&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=m(b),b-d<h&&(c[0]=b-h,c[1]=B(a.min,b-h),d=E(c)));this.min=d;this.max=b},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(d){var b=d.closestPointRange,
147
+ q=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&y(b)&&q&&(a=y(a)?Math.min(a,b):b)});return a},nameToX:function(a){var d=b(this.categories),q=d?this.categories:this.names,c=a.options.x,k;a.series.requireSorting=!1;y(c)||(c=!1===this.options.uniqueNames?a.series.autoIncrement():d?q.indexOf(a.name):B(q.keys[a.name],-1));-1===c?d||(k=q.length):k=c;void 0!==k&&(this.names[k]=a.name,this.names.keys[a.name]=k);return k},updateNames:function(){var a=this,d=this.names;0<d.length&&
148
+ (Object.keys(d.keys).forEach(function(a){delete d.keys[a]}),d.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(d){d.xIncrement=null;if(!d.points||d.isDirtyData)a.max=Math.max(a.max,d.xData.length-1),d.processData(),d.generatePoints();d.data.forEach(function(b,q){var c;b&&b.options&&void 0!==b.name&&(c=a.nameToX(b),void 0!==c&&c!==b.x&&(b.x=c,d.xData[q]=c))})}))},setAxisTranslation:function(a){var b=this,q=b.max-b.min,k=b.axisPointRange||0,e,u=0,l=0,t=b.linkedParent,p=!!b.categories,
149
+ f=b.transA,w=b.isXAxis;if(w||p||k)e=b.getClosest(),t?(u=t.minPointOffset,l=t.pointRangePadding):b.series.forEach(function(a){var q=p?1:w?B(a.options.pointRange,e,0):b.axisPointRange||0,t=a.options.pointPlacement;k=Math.max(k,q);if(!b.single||p)a=d.xrange&&a instanceof d.xrange?!w:w,u=Math.max(u,a&&c(t)?0:q/2),l=Math.max(l,a&&"on"===t?0:q)}),t=b.ordinalSlope&&e?b.ordinalSlope/e:1,b.minPointOffset=u*=t,b.pointRangePadding=l*=t,b.pointRange=Math.min(k,q),w&&(b.closestPointRange=e);a&&(b.oldTransA=f);
150
+ b.translationSlope=b.transA=f=b.staticScale||b.len/(q+l||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=f*u;h(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(d){var b=this,q=b.chart,c=b.options,k=b.isLog,u=b.isDatetimeAxis,t=b.isXAxis,p=b.isLinked,f=c.maxPadding,w=c.minPadding,r,D=c.tickInterval,G=c.tickPixelInterval,n=b.categories,g=l(b.threshold)?b.threshold:null,m=b.softThreshold,x,z,A;u||n||p||this.getTickAmount();z=B(b.userMin,
151
+ c.min);A=B(b.userMax,c.max);p?(b.linkedParent=q[b.coll][c.linkedTo],r=b.linkedParent.getExtremes(),b.min=B(r.min,r.dataMin),b.max=B(r.max,r.dataMax),c.type!==b.linkedParent.options.type&&a.error(11,1,q)):(!m&&y(g)&&(b.dataMin>=g?(r=g,w=0):b.dataMax<=g&&(x=g,f=0)),b.min=B(z,r,b.dataMin),b.max=B(A,x,b.dataMax));k&&(b.positiveValuesOnly&&!d&&0>=Math.min(b.min,B(b.dataMin,b.min))&&a.error(10,1,q),b.min=v(b.log2lin(b.min),15),b.max=v(b.log2lin(b.max),15));b.range&&y(b.max)&&(b.userMin=b.min=z=Math.max(b.dataMin,
152
+ b.minFromRange()),b.userMax=A=b.max,b.range=null);h(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(n||b.axisPointRange||b.usePercentage||p)&&y(b.min)&&y(b.max)&&(q=b.max-b.min)&&(!y(z)&&w&&(b.min-=q*w),!y(A)&&f&&(b.max+=q*f));l(c.softMin)&&!l(b.userMin)&&c.softMin<b.min&&(b.min=z=c.softMin);l(c.softMax)&&!l(b.userMax)&&c.softMax>b.max&&(b.max=A=c.softMax);l(c.floor)&&(b.min=Math.min(Math.max(b.min,c.floor),Number.MAX_VALUE));l(c.ceiling)&&(b.max=Math.max(Math.min(b.max,
153
+ c.ceiling),B(b.userMax,-Number.MAX_VALUE)));m&&y(b.dataMin)&&(g=g||0,!y(z)&&b.min<g&&b.dataMin>=g?b.min=b.options.minRange?Math.min(g,b.max-b.minRange):g:!y(A)&&b.max>g&&b.dataMax<=g&&(b.max=b.options.minRange?Math.max(g,b.min+b.minRange):g));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:p&&!D&&G===b.linkedParent.options.tickPixelInterval?D=b.linkedParent.tickInterval:B(D,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,n?1:(b.max-b.min)*G/Math.max(b.len,G));t&&
154
+ !d&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!D&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));d=B(c.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!D&&b.tickInterval<d&&(b.tickInterval=d);u||k||D||(b.tickInterval=F(b.tickInterval,null,e(b.tickInterval),B(c.allowDecimals,
155
+ !(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var d=this.options,b,c=d.tickPositions;b=this.getMinorTickInterval();var k=d.tickPositioner,e=d.startOnTick,u=d.endOnTick;this.tickmarkOffset=this.categories&&"between"===d.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&
156
+ y(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==d.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,!1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,d.units),this.min,this.max,d.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,
157
+ this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=b=k);this.paddedTicks=b.slice(0);this.trimTicks(b,e,u);this.isLinked||(this.single&&2>b.length&&!this.categories&&(this.min-=.5,this.max+=.5),c||k||this.adjustTickAmount());h(this,"afterSetTickPositions")},trimTicks:function(a,d,b){var q=a[0],c=a[a.length-1],k=this.minPointOffset||
158
+ 0;h(this,"trimTicks");if(!this.isLinked){if(d&&-Infinity!==q)this.min=q;else for(;this.min-k>a[0];)a.shift();if(b)this.max=c;else for(;this.max+k<a[a.length-1];)a.pop();0===a.length&&y(q)&&!this.options.tickPositions&&a.push((c+q)/2)}},alignToOthers:function(){var a={},d,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.isLog||this.chart[this.coll].forEach(function(b){var q=b.options,q=[b.horiz?q.left:q.top,q.width,q.height,q.pane].join();
159
+ b.series.length&&(a[q]?d=!0:a[q]=1)});return d},getTickAmount:function(){var a=this.options,d=a.tickAmount,b=a.tickPixelInterval;!y(a.tickInterval)&&this.len<b&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(d=2);!d&&this.alignToOthers()&&(d=Math.ceil(this.len/b)+1);4>d&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var a=this.options,d=this.tickInterval,b=this.tickPositions,c=this.tickAmount,k=this.finalTickAmt,e=b&&b.length,u=B(this.threshold,this.softThreshold?
160
+ 0:null),l;if(this.hasData()){if(e<c){for(l=this.min;b.length<c;)b.length%2||l===u?b.push(v(b[b.length-1]+d)):b.unshift(v(b[0]-d));this.transA*=(e-1)/(c-1);this.min=a.startOnTick?b[0]:Math.min(this.min,b[0]);this.max=a.endOnTick?b[b.length-1]:Math.max(this.max,b[b.length-1])}else e>c&&(this.tickInterval*=2,this.setTickPositions());if(y(k)){for(d=a=b.length;d--;)(3===k&&1===d%2||2>=k&&0<d&&d<a-1)&&b.splice(d,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||
161
+ a.isDirty||a.xAxis.isDirty}),d;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(d=this.len!==this.oldAxisLength)||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=d||this.min!==this.oldMin||this.max!==
162
+ this.oldMax)):this.cleanStacks&&this.cleanStacks();h(this,"afterSetScale")},setExtremes:function(a,d,b,c,k){var q=this,e=q.chart;b=B(b,!0);q.series.forEach(function(a){delete a.kdTree});k=f(k,{min:a,max:d});h(q,"setExtremes",k,function(){q.userMin=a;q.userMax=d;q.eventArgs=k;b&&e.redraw(c)})},zoom:function(a,d){var b=this.dataMin,q=this.dataMax,c=this.options,k=Math.min(b,B(c.min,b)),e=Math.max(q,B(c.max,q));a={newMin:a,newMax:d};h(this,"zoom",a,function(a){var d=a.newMin,c=a.newMax;if(d!==this.min||
163
+ c!==this.max)this.allowZoomOutside||(y(b)&&(d<k&&(d=k),d>e&&(d=e)),y(q)&&(c<k&&(c=k),c>e&&(c=e))),this.displayBtn=void 0!==d||void 0!==c,this.setExtremes(d,c,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var d=this.chart,b=this.options,c=b.offsets||[0,0,0,0],k=this.horiz,e=this.width=Math.round(a.relativeLength(B(b.width,d.plotWidth-c[3]+c[1]),d.plotWidth)),u=this.height=Math.round(a.relativeLength(B(b.height,d.plotHeight-c[0]+c[2]),d.plotHeight)),l=this.top=Math.round(a.relativeLength(B(b.top,
164
+ d.plotTop+c[0]),d.plotHeight,d.plotTop)),b=this.left=Math.round(a.relativeLength(B(b.left,d.plotLeft+c[3]),d.plotWidth,d.plotLeft));this.bottom=d.chartHeight-u-l;this.right=d.chartWidth-e-b;this.len=Math.max(k?e:u,0);this.pos=k?b:l},getExtremes:function(){var a=this.isLog;return{min:a?v(this.lin2log(this.min)):this.min,max:a?v(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var d=this.isLog,b=d?this.lin2log(this.min):
165
+ this.min,d=d?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=d:b>a?a=b:d<a&&(a=d);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var d=(B(a,0)-90*this.side+720)%360;a={align:"center"};h(this,"autoLabelAlign",a,function(a){15<d&&165>d?a.align="right":195<d&&345>d&&(a.align="left")});return a.align},tickSize:function(a){var d=this.options,b=d[a+"Length"],c=B(d[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0),q;c&&b&&("inside"===d[a+"Position"]&&(b=
166
+ -b),q=[b,c]);a={tickSize:q};h(this,"afterTickSize",a);return a.tickSize},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,d=this.horiz,b=this.tickInterval,c=b,k=this.len/(((this.categories?1:0)+this.max-this.min)/b),e,u=a.rotation,l=this.labelMetrics(),t,p=Number.MAX_VALUE,h,f=this.max-this.min,
167
+ w=function(a){var d=a/(k||1),d=1<d?Math.ceil(d):1;d*b>f&&Infinity!==a&&Infinity!==k&&(d=Math.ceil(f/b));return v(d*b)};d?(h=!a.staggerLines&&!a.step&&(y(u)?[u]:k<B(a.autoRotationLimit,80)&&a.autoRotation))&&h.forEach(function(a){var d;if(a===u||a&&-90<=a&&90>=a)t=w(Math.abs(l.h/Math.sin(z*a))),d=t+Math.abs(a/360),d<p&&(p=d,e=a,c=t)}):a.step||(c=w(l.h));this.autoRotation=h;this.labelRotation=B(e,u);return c},getSlotWidth:function(a){var d=this.chart,b=this.horiz,c=this.options.labels,k=Math.max(this.tickPositions.length-
168
+ (this.categories?0:1),1),q=d.margin[3];return a&&a.slotWidth||b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/k||!b&&(c.style&&parseInt(c.style.width,10)||q&&q-d.spacing[3]||.33*d.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,k=this.ticks,e=this.options.labels,u=e&&e.style||{},l=this.horiz,t=this.getSlotWidth(),p=Math.max(1,Math.round(t-2*(e.padding||5))),h={},f=this.labelMetrics(),w=e.style&&e.style.textOverflow,r,D,G=0,g;c(e.rotation)||
169
+ (h.rotation=e.rotation||0);b.forEach(function(a){(a=k[a])&&a.label&&a.label.textPxLength>G&&(G=a.label.textPxLength)});this.maxLabelLength=G;if(this.autoRotation)G>p&&G>f.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(t&&(r=p,!w))for(D="clip",p=b.length;!l&&p--;)if(g=b[p],g=k[g].label)g.styles&&"ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>t&&g.css({width:t+"px"}),g.getBBox().height>this.len/b.length-(f.h-f.f)&&(g.specificTextOverflow="ellipsis");h.rotation&&
170
+ (r=G>.5*a.chartHeight?.33*a.chartHeight:G,w||(D="ellipsis"));if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))h.align=this.labelAlign;b.forEach(function(a){var d=(a=k[a])&&a.label,b=u.width,c={};d&&(d.attr(h),a.shortenLabel?a.shortenLabel():r&&!b&&"nowrap"!==u.whiteSpace&&(r<d.textPxLength||"SPAN"===d.element.tagName)?(c.width=r,w||(c.textOverflow=d.specificTextOverflow||D),d.css(c)):d.styles&&d.styles.width&&!c.width&&!b&&d.css({width:null}),delete d.specificTextOverflow,a.rotation=
171
+ h.rotation)},this);this.tickRotCorr=d.rotCorr(f.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&y(this.min)&&y(this.max)},addTitle:function(a){var d=this.chart.renderer,b=this.horiz,c=this.opposite,k=this.options.title,q,e=this.chart.styledMode;this.axisTitle||((q=k.textAlign)||(q=(b?{low:"left",middle:"center",high:"right"}:{low:c?"right":"left",middle:"center",high:c?"left":"right"})[k.align]),this.axisTitle=
172
+ d.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:q}).addClass("highcharts-axis-title"),e||this.axisTitle.css(t(k.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);e||k.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var d=this.ticks;d[a]?d[a].addLabel():d[a]=new D(this,a)},getOffset:function(){var a=this,d=a.chart,b=d.renderer,c=a.options,k=a.tickPositions,e=a.ticks,u=a.horiz,l=
173
+ a.side,t=d.inverted&&!a.isZAxis?[1,0,3,2][l]:l,p,f,r=0,D,G=0,g=c.title,n=c.labels,F=0,m=d.axisOffset,d=d.clipOffset,v=[-1,1,1,-1][l],x=c.className,z=a.axisParent;p=a.hasData();a.showAxis=f=p||B(c.showEmpty,!0);a.staggerLines=a.horiz&&n.staggerLines;a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:c.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(x||"")).add(z),a.axisGroup=b.g("axis").attr({zIndex:c.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(x||"")).add(z),
174
+ a.labelGroup=b.g("axis-labels").attr({zIndex:n.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(x||"")).add(z));p||a.isLinked?(k.forEach(function(d,b){a.generateTick(d,b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===a.labelAlign,B(n.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&k.forEach(function(a){F=Math.max(e[a].getLabelSize(),F)}),a.staggerLines&&(F*=a.staggerLines),a.labelOffset=F*(a.opposite?-1:1)):w(e,function(a,
175
+ d){a.destroy();delete e[d]});g&&g.text&&!1!==g.enabled&&(a.addTitle(f),f&&!1!==g.reserveSpace&&(a.titleOffset=r=a.axisTitle.getBBox()[u?"height":"width"],D=g.offset,G=y(D)?0:B(g.margin,u?5:10)));a.renderLine();a.offset=v*B(c.offset,m[l]?m[l]+(c.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===l?-a.labelMetrics().h:2===l?a.tickRotCorr.y:0;G=Math.abs(F)+G;F&&(G=G-b+v*(u?B(n.y,a.tickRotCorr.y+8*v):n.x));a.axisTitleMargin=B(D,G);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(e,
176
+ k));u=this.tickSize("tick");m[l]=Math.max(m[l],a.axisTitleMargin+r+v*a.offset,G,k&&k.length&&u?u[0]+v*a.offset:0);c=c.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);d[t]=Math.max(d[t],c);h(this,"afterGetOffset")},getLinePath:function(a){var d=this.chart,b=this.opposite,c=this.offset,k=this.horiz,e=this.left+(b?this.width:0)+c,c=d.chartHeight-this.bottom-(b?this.height:0)+c;b&&(a*=-1);return d.renderer.crispLine(["M",k?this.left:e,k?c:this.top,"L",k?d.chartWidth-this.right:e,k?c:d.chartHeight-this.bottom],
177
+ a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,d=this.left,b=this.top,c=this.len,k=this.options.title,e=a?d:b,u=this.opposite,l=this.offset,t=k.x||0,p=k.y||0,f=this.axisTitle,w=this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,f),f=Math.max(f.getBBox(null,
178
+ 0).height-w.h-1,0),c={low:e+(a?0:c),middle:e+c/2,high:e+(a?c:0)}[k.align],d=(a?b+this.height:d)+(a?1:-1)*(u?-1:1)*this.axisTitleMargin+[-f,f,w.f,-f][this.side],a={x:a?c+t:d+(u?this.width:0)+l+t,y:a?d+p-(u?this.height:0)+l:c+p};h(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var d=this.chart.hasRendered&&l(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new D(this,a,"minor"));d&&b[a].isNew&&b[a].render(null,!0);b[a].render(null,!1,1)},renderTick:function(a,d){var b=
179
+ this.isLinked,c=this.ticks,k=this.chart.hasRendered&&l(this.oldMin);if(!b||a>=this.min&&a<=this.max)c[a]||(c[a]=new D(this,a)),k&&c[a].isNew&&c[a].render(d,!0,-1),c[a].render(d)},render:function(){var d=this,b=d.chart,c=d.options,k=d.isLog,e=d.isLinked,t=d.tickPositions,p=d.axisTitle,f=d.ticks,r=d.minorTicks,G=d.alternateBands,g=c.stackLabels,n=c.alternateGridColor,F=d.tickmarkOffset,B=d.axisLine,m=d.showAxis,v=A(b.renderer.globalAnimation),x,z;d.labelEdge.length=0;d.overlap=!1;[f,r,G].forEach(function(a){w(a,
180
+ function(a){a.isActive=!1})});if(d.hasData()||e)d.minorTickInterval&&!d.categories&&d.getMinorTickPositions().forEach(function(a){d.renderMinorTick(a)}),t.length&&(t.forEach(function(a,b){d.renderTick(a,b)}),F&&(0===d.min||d.single)&&(f[-1]||(f[-1]=new D(d,-1,null,!0)),f[-1].render(-1))),n&&t.forEach(function(c,e){z=void 0!==t[e+1]?t[e+1]+F:d.max-F;0===e%2&&c<d.max&&z<=d.max+(b.polar?-F:F)&&(G[c]||(G[c]=new a.PlotLineOrBand(d)),x=c+F,G[c].options={from:k?d.lin2log(x):x,to:k?d.lin2log(z):z,color:n},
181
+ G[c].render(),G[c].isActive=!0)}),d._addedPlotLB||((c.plotLines||[]).concat(c.plotBands||[]).forEach(function(a){d.addPlotBandOrLine(a)}),d._addedPlotLB=!0);[f,r,G].forEach(function(a){var d,c=[],k=v.duration;w(a,function(a,d){a.isActive||(a.render(d,!1,0),a.isActive=!1,c.push(d))});u(function(){for(d=c.length;d--;)a[c[d]]&&!a[c[d]].isActive&&(a[c[d]].destroy(),delete a[c[d]])},a!==G&&b.hasRendered&&k?k:0)});B&&(B[B.isPlaced?"animate":"attr"]({d:this.getLinePath(B.strokeWidth())}),B.isPlaced=!0,B[m?
182
+ "show":"hide"](!0));p&&m&&(c=d.getTitlePosition(),l(c.y)?(p[p.isNew?"attr":"animate"](c),p.isNew=!1):(p.attr("y",-9999),p.isNew=!0));g&&g.enabled&&d.renderStackTotals();d.isDirty=!1;h(this,"afterRender")},redraw:function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var d=this,b=d.stacks,c=d.plotLinesAndBands,k;h(this,"destroy",
183
+ {keepEvents:a});a||p(d);w(b,function(a,d){n(a);b[d]=null});[d.ticks,d.minorTicks,d.alternateBands].forEach(function(a){n(a)});if(c)for(a=c.length;a--;)c[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){d[a]&&(d[a]=d[a].destroy())});for(k in d.plotLinesAndBandsGroups)d.plotLinesAndBandsGroups[k]=d.plotLinesAndBandsGroups[k].destroy();w(d,function(a,b){-1===d.keepProps.indexOf(b)&&delete d[b]})},drawCrosshair:function(a,
184
+ d){var b,c=this.crosshair,k=B(c.snap,!0),e,u=this.cross;h(this,"drawCrosshair",{e:a,point:d});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(y(d)||!k)){k?y(d)&&(e=B(d.crosshairPos,this.isXAxis?d.plotX:this.len-d.plotY)):e=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);y(e)&&(b=this.getPlotLinePath({value:d&&(this.isXAxis?d.x:B(d.stackY,d.y)),translatedValue:e})||null);if(!y(b)){this.hideCrosshair();return}k=this.categories&&!this.isRadial;u||(this.cross=u=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
185
+ (k?"category ":"thin ")+c.className).attr({zIndex:B(c.zIndex,2)}).add(),this.chart.styledMode||(u.attr({stroke:c.color||(k?g("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":B(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&u.attr({dashstyle:c.dashStyle})));u.show().attr({d:b});k&&!c.width&&u.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:a,point:d})},hideCrosshair:function(){this.cross&&this.cross.hide();h(this,"afterHideCrosshair")}});
186
+ return a.Axis=G});I(H,"parts/DateTimeAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.getMagnitude,E=a.normalizeTickInterval,m=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};C.prototype.normalizeTimeTickInterval=function(a,v){var g=v||[["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,2]],["week",[1,2]],["month",[1,2,3,4,6]],
187
+ ["year",null]];v=g[g.length-1];var y=m[v[0]],z=v[1],n;for(n=0;n<g.length&&!(v=g[n],y=m[v[0]],z=v[1],g[n+1]&&a<=(y*z[z.length-1]+m[g[n+1][0]])/2);n++);y===m.year&&a<5*y&&(z=[1,2,5]);a=E(a/y,z,"year"===v[0]?Math.max(A(a/y),1):1);return{unitRange:y,count:a,unitName:v[0]}}});I(H,"parts/LogarithmicAxis.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.getMagnitude,E=a.normalizeTickInterval,m=a.pick;C.prototype.getLogTickPositions=function(a,v,x,y){var g=this.options,n=this.len,f=[];y||(this._minorAutoInterval=
188
+ null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,v,x);else if(.08<=a)for(var n=Math.floor(v),h,r,e,b,l,g=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];n<x+1&&!l;n++)for(r=g.length,h=0;h<r&&!l;h++)e=this.log2lin(this.lin2log(n)*g[h]),e>v&&(!y||b<=x)&&void 0!==b&&f.push(b),b>x&&(l=!0),b=e;else v=this.lin2log(v),x=this.lin2log(x),a=y?this.getMinorTickInterval():g.tickInterval,a=m("auto"===a?null:a,this._minorAutoInterval,g.tickPixelInterval/(y?5:1)*(x-v)/((y?n/this.tickPositions.length:
189
+ n)||1)),a=E(a,null,A(a)),f=this.getLinearTickPositions(a,v,x).map(this.log2lin),y||(this._minorAutoInterval=a/5);y||(this.tickInterval=a);return f};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}});I(H,"parts/PlotLineOrBand.js",[H["parts/Globals.js"],H["parts/Axis.js"]],function(a,C){var A=a.arrayMax,E=a.arrayMin,m=a.defined,g=a.destroyObjectProperties,v=a.erase,x=a.merge,y=a.pick;a.PlotLineOrBand=function(a,n){this.axis=a;n&&(this.options=
190
+ n,this.id=n.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var g=this,n=g.axis,f=n.horiz,h=g.options,r=h.label,e=g.label,b=h.to,l=h.from,c=h.value,t=m(l)&&m(b),F=m(c),w=g.svgElem,B=!w,p=[],d=h.color,k=y(h.zIndex,0),u=h.events,p={"class":"highcharts-plot-"+(t?"band ":"line ")+(h.className||"")},D={},G=n.chart.renderer,q=t?"bands":"lines";n.isLog&&(l=n.log2lin(l),b=n.log2lin(b),c=n.log2lin(c));n.chart.styledMode||(F?(p.stroke=d,p["stroke-width"]=h.width,h.dashStyle&&(p.dashstyle=
191
+ h.dashStyle)):t&&(d&&(p.fill=d),h.borderWidth&&(p.stroke=h.borderColor,p["stroke-width"]=h.borderWidth)));D.zIndex=k;q+="-"+k;(d=n.plotLinesAndBandsGroups[q])||(n.plotLinesAndBandsGroups[q]=d=G.g("plot-"+q).attr(D).add());B&&(g.svgElem=w=G.path().attr(p).add(d));if(F)p=n.getPlotLinePath({value:c,lineWidth:w.strokeWidth(),acrossPanes:h.acrossPanes});else if(t)p=n.getPlotBandPath(l,b,h);else return;(B||!w.d)&&p&&p.length?(w.attr({d:p}),u&&a.objectEach(u,function(a,d){w.on(d,function(a){u[d].apply(g,
192
+ [a])})})):w&&(p?(w.show(!0),w.animate({d:p})):w.d&&(w.hide(),e&&(g.label=e=e.destroy())));r&&m(r.text)&&p&&p.length&&0<n.width&&0<n.height&&!p.isFlat?(r=x({align:f&&t&&"center",x:f?!t&&4:10,verticalAlign:!f&&t&&"middle",y:f?t?16:10:t?6:-4,rotation:f&&!t&&90},r),this.renderLabel(r,p,t,k)):e&&e.hide();return g},renderLabel:function(a,g,f,h){var r=this.label,e=this.axis.chart.renderer;r||(r={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||
193
+ "")},r.zIndex=h,this.label=r=e.text(a.text,0,0,a.useHTML).attr(r).add(),this.axis.chart.styledMode||r.css(a.style));h=g.xBounds||[g[1],g[4],f?g[6]:g[1]];g=g.yBounds||[g[2],g[5],f?g[7]:g[2]];f=E(h);e=E(g);r.align(a,!1,{x:f,y:e,width:A(h)-f,height:A(g)-e});r.show(!0)},destroy:function(){v(this.axis.plotLinesAndBands,this);delete this.axis;g(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,g){var f=this.getPlotLinePath({value:g,force:!0,acrossPanes:this.options.acrossPanes}),h=this.getPlotLinePath({value:a,
194
+ force:!0,acrossPanes:this.options.acrossPanes}),r=[],e=this.horiz,b=1,l;a=a<this.min&&g<this.min||a>this.max&&g>this.max;if(h&&f)for(a&&(l=h.toString()===f.toString(),b=0),a=0;a<h.length;a+=6)e&&f[a+1]===h[a+1]?(f[a+1]+=b,f[a+4]+=b):e||f[a+2]!==h[a+2]||(f[a+2]+=b,f[a+5]+=b),r.push("M",h[a+1],h[a+2],"L",h[a+4],h[a+5],f[a+4],f[a+5],f[a+1],f[a+2],"z"),r.isFlat=l;return r},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},
195
+ addPlotBandOrLine:function(g,n){var f=(new a.PlotLineOrBand(this,g)).render(),h=this.userOptions;f&&(n&&(h[n]=h[n]||[],h[n].push(g)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var g=this.plotLinesAndBands,f=this.options,h=this.userOptions,r=g.length;r--;)g[r].id===a&&g[r].destroy();[f.plotLines||[],h.plotLines||[],f.plotBands||[],h.plotBands||[]].forEach(function(e){for(r=e.length;r--;)e[r].id===a&&v(e,e[r])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},
196
+ removePlotLine:function(a){this.removePlotBandOrLine(a)}})});I(H,"parts/Tooltip.js",[H["parts/Globals.js"]],function(a){var C=a.doc,A=a.extend,E=a.format,m=a.isNumber,g=a.merge,v=a.pick,x=a.splat,y=a.syncTimeout,z=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,f){this.chart=a;this.options=f;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=f.split&&!a.inverted;this.shared=f.shared||this.split;this.outside=v(f.outside,!(!a.scrollablePixelsX&&
197
+ !a.scrollablePixelsY))&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(f){var h=f&&f.tt;h&&(!h.isActive||a?f.tt=h.destroy():h.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},
198
+ {tagName:"feMergeNode","in":"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var g=this,f=this.chart.renderer,h=this.chart.styledMode,r=this.options,e,b;this.label||(this.outside&&(this.container=e=a.doc.createElement("div"),e.className="highcharts-tooltip-container",a.css(e,{position:"absolute",top:"1px",pointerEvents:r.style&&r.style.pointerEvents,zIndex:3}),a.doc.body.appendChild(e),
199
+ this.renderer=f=new a.Renderer(e,0,0)),this.split?this.label=f.g("tooltip"):(this.label=f.label("",0,0,r.shape||"callout",null,null,r.useHTML,null,"tooltip").attr({padding:r.padding,r:r.borderRadius}),h||this.label.attr({fill:r.backgroundColor,"stroke-width":r.borderWidth}).css(r.style).shadow(r.shadow)),h&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),this.outside&&(b={x:this.label.xSetter,y:this.label.ySetter},this.label.xSetter=function(a,c){b[c].call(this.label,
200
+ g.distance);e.style.left=a+"px"},this.label.ySetter=function(a,c){b[c].call(this.label,g.distance);e.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();g(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,g(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));
201
+ a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(g,f,h,r){var e=this,b=e.now,l=!1!==e.options.animation&&!e.isHidden&&(1<Math.abs(g-b.x)||1<Math.abs(f-b.y)),c=e.followPointer||1<e.len;A(b,{x:l?(2*b.x+g)/3:g,y:l?(b.y+f)/2:f,anchorX:c?void 0:l?(2*b.anchorX+h)/3:h,anchorY:c?void 0:l?(b.anchorY+r)/2:r});e.getLabel().attr(b);l&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(g,f,h,r)},32))},hide:function(g){var f=this;a.clearTimeout(this.hideTimer);
202
+ g=v(g,this.options.hideDelay,500);this.isHidden||(this.hideTimer=y(function(){f.getLabel()[g?"fadeOut":"hide"]();f.isHidden=!0},g))},getAnchor:function(a,f){var h=this.chart,r=h.pointer,e=h.inverted,b=h.plotTop,l=h.plotLeft,c=0,t=0,g,w;a=x(a);this.followPointer&&f?(void 0===f.chartX&&(f=r.normalize(f)),a=[f.chartX-h.plotLeft,f.chartY-b]):a[0].tooltipPos?a=a[0].tooltipPos:(a.forEach(function(a){g=a.series.yAxis;w=a.series.xAxis;c+=a.plotX+(!e&&w?w.left-l:0);t+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+
203
+ (!e&&g?g.top-b:0)}),c/=a.length,t/=a.length,a=[e?h.plotWidth-t:c,this.shared&&!e&&1<a.length&&f?f.chartY-b:e?h.plotHeight-c:t]);return a.map(Math.round)},getPosition:function(a,f,h){var r=this.chart,e=this.distance,b={},l=r.inverted&&h.h||0,c,t=this.outside,g=t?C.documentElement.clientWidth-2*e:r.chartWidth,w=t?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,C.documentElement.clientHeight):r.chartHeight,n=r.pointer.chartPosition,p=["y",
204
+ w,f,(t?n.top-e:0)+h.plotY+r.plotTop,t?0:r.plotTop,t?w:r.plotTop+r.plotHeight],d=["x",g,a,(t?n.left-e:0)+h.plotX+r.plotLeft,t?0:r.plotLeft,t?g:r.plotLeft+r.plotWidth],k=!this.followPointer&&v(h.ttBelow,!r.inverted===!!h.negative),u=function(a,d,c,u,q,t){var p=c<u-e,h=u+e+c<d,f=u-e-c;u+=e;if(k&&h)b[a]=u;else if(!k&&p)b[a]=f;else if(p)b[a]=Math.min(t-c,0>f-l?f:f-l);else if(h)b[a]=Math.max(q,u+l+c>d?u:u+l);else return!1},D=function(a,d,c,k){var u;k<e||k>d-e?u=!1:b[a]=k<c/2?1:k>d-c/2?d-c-2:k-c/2;return u},
205
+ G=function(a){var b=p;p=d;d=b;c=a},q=function(){!1!==u.apply(0,p)?!1!==D.apply(0,d)||c||(G(!0),q()):c?b.x=b.y=0:(G(!0),q())};(r.inverted||1<this.len)&&G();q();return b},defaultFormatter:function(a){var f=this.points||x(this),h;h=[a.tooltipFooterHeaderFormatter(f[0])];h=h.concat(a.bodyFormatter(f));h.push(a.tooltipFooterHeaderFormatter(f[0],!0));return h},refresh:function(g,f){var h=this.chart,r=this.options,e,b=g,l,c={},t,n=[];t=r.formatter||this.defaultFormatter;var c=this.shared,w=h.styledMode,
206
+ B=[];r.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=x(b)[0].series.tooltipOptions.followPointer,l=this.getAnchor(b,f),f=l[0],e=l[1],!c||b.series&&b.series.noSharedTooltip?c=b.getLabelConfig():(B=h.pointer.getActiveSeries(b),h.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===B.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");n.push(a.getLabelConfig())}),c={x:b[0].category,y:b[0].y},c.points=n,b=b[0]),this.len=n.length,t=t.call(c,this),
207
+ c=b.series,this.distance=v(c.tooltipOptions.distance,16),!1===t?this.hide():(h=this.getLabel(),this.isHidden&&h.attr({opacity:1}).show(),this.split?this.renderSplit(t,x(g)):(r.style.width&&!w||h.css({width:this.chart.spacingBox.width}),h.attr({text:t&&t.join?t.join(""):t}),h.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+v(b.colorIndex,c.colorIndex)),w||h.attr({stroke:r.borderColor||b.color||c.color||"#666666"}),this.updatePosition({plotX:f,plotY:e,negative:b.negative,ttBelow:b.ttBelow,
208
+ h:l[2]||0})),this.isHidden=!1),a.fireEvent(this,"refresh"))},renderSplit:function(g,f){var h=this,r=[],e=this.chart,b=e.renderer,l=!0,c=this.options,t=0,n,w=this.getLabel(),B=e.plotTop;a.isString(g)&&(g=[!1,g]);g.slice(0,f.length+1).forEach(function(a,d){if(!1!==a&&""!==a){d=f[d-1]||{isHeader:!0,plotX:f[0].plotX,plotY:e.plotHeight};var k=d.series||h,u=k.tt,p=d.series||{},g="highcharts-color-"+v(d.colorIndex,p.colorIndex,"none");u||(u={padding:c.padding,r:c.borderRadius},e.styledMode||(u.fill=c.backgroundColor,
209
+ u["stroke-width"]=c.borderWidth),k.tt=u=b.label(null,null,null,(d.isHeader?c.headerShape:c.shape)||"callout",null,null,c.useHTML).addClass("highcharts-tooltip-box "+g).attr(u).add(w));u.isActive=!0;u.attr({text:a});e.styledMode||u.css(c.style).shadow(c.shadow).attr({stroke:c.borderColor||d.color||p.color||"#333333"});a=u.getBBox();p=a.width+u.strokeWidth();d.isHeader?(t=a.height,e.xAxis[0].opposite&&(n=!0,B-=t),p=Math.max(0,Math.min(d.plotX+e.plotLeft-p/2,e.chartWidth+(e.scrollablePixelsX?e.scrollablePixelsX-
210
+ e.marginRight:0)-p))):p=d.plotX+e.plotLeft-v(c.distance,16)-p;0>p&&(l=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=B;d.isHeader&&(a=n?-t:e.plotHeight+t);r.push({target:a,rank:d.isHeader?1:0,size:k.tt.getBBox().height+1,point:d,x:p,tt:u})}});this.cleanSplit();c.positioner&&r.forEach(function(a){var d=c.positioner.call(h,a.tt.getBBox().width,a.size,a.point);a.x=d.x;a.align=0;a.target=d.y;a.rank=v(d.rank,a.rank)});a.distribute(r,e.plotHeight+t);r.forEach(function(a){var d=a.point,
211
+ b=d.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:l||d.isHeader||c.positioner?a.x:d.plotX+e.plotLeft+h.distance,y:a.pos+B,anchorX:d.isHeader?d.plotX+e.plotLeft:d.plotX+b.xAxis.pos,anchorY:d.isHeader?e.plotTop+e.plotHeight/2:d.plotY+b.yAxis.pos})})},updatePosition:function(a){var f=this.chart,h=this.getLabel(),r=(this.options.positioner||this.getPosition).call(this,h.width,h.height,a),e=a.plotX+f.plotLeft;a=a.plotY+f.plotTop;var b;this.outside&&(b=(this.options.borderWidth||0)+2*
212
+ this.distance,this.renderer.setSize(h.width+b,h.height+b,!1),e+=f.pointer.chartPosition.left-r.x,a+=f.pointer.chartPosition.top-r.y);this.move(Math.round(r.x),Math.round(r.y||0),e,a)},getDateFormat:function(a,f,h,r){var e=this.chart.time,b=e.dateFormat("%m-%d %H:%M:%S.%L",f),l,c,t={millisecond:15,second:12,minute:9,hour:6,day:3},g="millisecond";for(c in z){if(a===z.week&&+e.dateFormat("%w",f)===h&&"00:00:00.000"===b.substr(6)){c="week";break}if(z[c]>a){c=g;break}if(t[c]&&b.substr(t[c])!=="01-01 00:00:00.000".substr(t[c]))break;
213
+ "week"!==c&&(g=c)}c&&(l=e.resolveDTLFormat(r[c]).main);return l},getXDateFormat:function(a,f,h){f=f.dateTimeLabelFormats;var r=h&&h.closestPointRange;return(r?this.getDateFormat(r,a.x,h.options.startOfWeek,f):f.day)||f.year},tooltipFooterHeaderFormatter:function(g,f){var h=f?"footer":"header",r=g.series,e=r.tooltipOptions,b=e.xDateFormat,l=r.xAxis,c=l&&"datetime"===l.options.type&&m(g.key),t=e[h+"Format"];f={isFooter:f,labelConfig:g};a.fireEvent(this,"headerFormatter",f,function(a){c&&!b&&(b=this.getXDateFormat(g,
214
+ e,l));c&&b&&(g.point&&g.point.tooltipDateKeys||["key"]).forEach(function(a){t=t.replace("{point."+a+"}","{point."+a+":"+b+"}")});r.chart.styledMode&&(t=this.styledModeFormat(t));a.text=E(t,{point:g,series:r},this.chart.time)});return f.text},bodyFormatter:function(a){return a.map(function(a){var h=a.series.tooltipOptions;return(h[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,h[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style\x3d"font-size: 10px"',
215
+ 'class\x3d"highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class\x3d"highcharts-color-{$1.colorIndex}"')}}});I(H,"parts/Pointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.attr,E=a.charts,m=a.color,g=a.css,v=a.defined,x=a.extend,y=a.find,z=a.fireEvent,n=a.isNumber,f=a.isObject,h=a.offset,r=a.pick,e=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=c.chart.events&&
216
+ !!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,c.tooltip),this.followTouchMove=r(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,e=b.options.chart,l=e.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(l=r(e.pinchType,l));this.zoomX=a=/x/.test(l);this.zoomY=l=/y/.test(l);this.zoomHor=a&&!b||l&&b;this.zoomVert=l&&!b||a&&b;this.hasZoom=a||l},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:
217
+ a;b||(this.chartPosition=b=h(this.chart.container));return x(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,e){var c;a.forEach(function(a){var l=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,l);if((l=f(a,!0))&&!(l=
218
+ !f(c,!0)))var l=c.distX-a.distX,t=c.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),l=0<(0!==l&&b?l:0!==t?t:0!==d?d:c.series.index>a.series.index?-1:1);l&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,e=c.xAxis,c=c.yAxis,l=r(a.clientX,a.plotX),h=a.shapeArgs;if(e&&c)return b?{chartX:e.len+e.pos-l,chartY:c.len+c.pos-a.plotY}:{chartX:l+
219
+ e.pos,chartY:a.plotY+c.pos};if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}},getHoverData:function(a,b,e,h,w,g){var c,d=[];h=!(!h||!a);var k=b&&!b.stickyTracking?[b]:e.filter(function(a){return a.visible&&!(!w&&a.directTouch)&&r(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(c=h?a:this.findNearestKDPoint(k,w,g))&&c.series;c&&(w&&!b.noSharedTooltip?(k=e.filter(function(a){return a.visible&&!(!w&&a.directTouch)&&r(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),k.forEach(function(a){var b=
220
+ y(a.points,function(a){return a.x===c.x&&!a.isNull});f(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),d.push(b))})):d.push(c));return{hoverPoint:c,hoverSeries:b,hoverPoints:d}},runPointActions:function(b,c){var e=this.chart,l=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,h=l?l.shared:!1,f=c||e.hoverPoint,p=f&&f.series||e.hoverSeries,p=this.getHoverData(f,p,e.series,"touchmove"!==b.type&&(!!c||p&&p.directTouch&&this.isDirectTouch),h,b),d=[],k,f=p.hoverPoint;k=p.hoverPoints;c=(p=p.hoverSeries)&&
221
+ p.tooltipOptions.followPointer;h=h&&p&&!p.noSharedTooltip;if(f&&(f!==e.hoverPoint||l&&l.isHidden)){(e.hoverPoints||[]).forEach(function(a){-1===k.indexOf(a)&&a.setState()});if(e.hoverSeries!==p)p.onMouseOver();d=this.getActiveSeries(k);e.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===d.indexOf(a))&&a.setState("inactive",!0)});(k||[]).forEach(function(a){a.setState("hover")});e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!f.series)return;f.firePointEvent("mouseOver");e.hoverPoints=
222
+ k;e.hoverPoint=f;l&&l.refresh(h?k:f,b)}else c&&l&&!l.isHidden&&(f=l.getAnchor([{}],b),l.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(e.container.ownerDocument,"mousemove",function(d){var b=E[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(d)}));e.axes.forEach(function(d){var c=r(d.crosshair.snap,!0),e=c?a.find(k,function(a){return a.series[d.coll]===d}):void 0;e||!c?d.drawCrosshair(b,e):d.hideCrosshair()})},getActiveSeries:function(a){var b=[],e;(a||[]).forEach(function(a){e=
223
+ a.series;b.push(e);e.linkedParent&&b.push(e.linkedParent);e.linkedSeries&&(b=b.concat(e.linkedSeries));e.navigatorSeries&&b.push(e.navigatorSeries)});return b},reset:function(a,b){var c=this.chart,l=c.hoverSeries,h=c.hoverPoint,f=c.hoverPoints,p=c.tooltip,d=p&&p.shared?f:h;a&&d&&e(d).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(a=!1)});if(a)p&&d&&e(d).length&&(p.refresh(d),p.shared&&f?f.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,
224
+ a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):h&&(h.setState(h.state,!0),c.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,h)})));else{if(h)h.onMouseOut();f&&f.forEach(function(a){a.setState()});if(l)l.onMouseOut();p&&p.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,e;c.series.forEach(function(l){e=a||l.getPlotBox();
225
+ l.xAxis&&l.xAxis.zoomEnabled&&l.group&&(l.group.attr(e),l.markerGroup&&(l.markerGroup.attr(e),l.markerGroup.clip(b?c.clipRect:null)),l.dataLabelsGroup&&l.dataLabelsGroup.attr(e))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,e=b.options.chart,l=a.chartX,h=a.chartY,f=this.zoomHor,p=this.zoomVert,d=b.plotLeft,k=b.plotTop,u=b.plotWidth,
226
+ g=b.plotHeight,r,q=this.selectionMarker,n=this.mouseDownX,v=this.mouseDownY,x=e.panKey&&a[e.panKey+"Key"];q&&q.touch||(l<d?l=d:l>d+u&&(l=d+u),h<k?h=k:h>k+g&&(h=k+g),this.hasDragged=Math.sqrt(Math.pow(n-l,2)+Math.pow(v-h,2)),10<this.hasDragged&&(r=b.isInsidePlot(n-d,v-k),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&r&&!x&&!q&&(this.selectionMarker=q=b.renderer.rect(d,k,f?1:u,p?1:g,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),b.styledMode||q.attr({fill:e.selectionMarkerFill||m("#335cad").setOpacity(.25).get()})),
227
+ q&&f&&(l-=n,q.attr({width:Math.abs(l),x:(0<l?0:l)+n})),q&&p&&(l=h-v,q.attr({height:Math.abs(l),y:(0<l?0:l)+v})),r&&!q&&e.panning&&b.pan(a,e.panning)))},drop:function(a){var b=this,e=this.chart,l=this.hasPinched;if(this.selectionMarker){var h={originalEvent:a,xAxis:[],yAxis:[]},f=this.selectionMarker,p=f.attr?f.attr("x"):f.x,d=f.attr?f.attr("y"):f.y,k=f.attr?f.attr("width"):f.width,u=f.attr?f.attr("height"):f.height,r;if(this.hasDragged||l)e.axes.forEach(function(c){if(c.zoomEnabled&&v(c.min)&&(l||
228
+ b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,t="touchend"===a.type?c.minPixelPadding:0,f=c.toValue((e?p:d)+t),e=c.toValue((e?p+k:d+u)-t);h[c.coll].push({axis:c,min:Math.min(f,e),max:Math.max(f,e)});r=!0}}),r&&z(e,"selection",h,function(a){e.zoom(x(a,l?{animation:!1}:null))});n(e.index)&&(this.selectionMarker=this.selectionMarker.destroy());l&&this.scaleGroups()}e&&n(e.index)&&(g(e.container,{cursor:e._cursor}),e.cancelClick=10<this.hasDragged,e.mouseIsDown=this.hasDragged=this.hasPinched=
229
+ !1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){E[a.hoverChartIndex]&&E[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,e=this.chartPosition;a=this.normalize(a,e);!e||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=
230
+ E[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;v(a.hoverChartIndex)&&E[a.hoverChartIndex]&&E[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},
231
+ inClass:function(a,b){for(var c;a;){if(c=A(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,e=b.hoverPoint,l=b.plotLeft,
232
+ f=b.plotTop;a=this.normalize(a);b.cancelClick||(e&&this.inClass(a.target,"highcharts-tracker")?(z(e.series,"click",x(a,{point:e})),b.hoverPoint&&e.firePointEvent("click",a)):(x(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-l,a.chartY-f)&&z(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,e=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=
233
+ C(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(e,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(e,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=
234
+ a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,e){b[e]=null})}}});I(H,"parts/TouchPointer.js",[H["parts/Globals.js"]],function(a){var C=a.charts,A=a.extend,E=a.noop,m=a.pick;A(a.Pointer.prototype,{pinchTranslate:function(a,m,x,y,z,n){this.zoomHor&&this.pinchTranslateDirection(!0,a,m,x,y,z,n);this.zoomVert&&this.pinchTranslateDirection(!1,a,m,x,y,z,n)},pinchTranslateDirection:function(a,
235
+ m,x,y,z,n,f,h){var r=this.chart,e=a?"x":"y",b=a?"X":"Y",l="chart"+b,c=a?"width":"height",t=r["plot"+(a?"Left":"Top")],g,w,B=h||1,p=r.inverted,d=r.bounds[a?"h":"v"],k=1===m.length,u=m[0][l],D=x[0][l],G=!k&&m[1][l],q=!k&&x[1][l],K;x=function(){!k&&20<Math.abs(u-G)&&(B=h||Math.abs(D-q)/Math.abs(u-G));w=(t-D)/B+u;g=r["plot"+(a?"Width":"Height")]/B};x();m=w;m<d.min?(m=d.min,K=!0):m+g>d.max&&(m=d.max-g,K=!0);K?(D-=.8*(D-f[e][0]),k||(q-=.8*(q-f[e][1])),x()):f[e]=[D,q];p||(n[e]=w-t,n[c]=g);n=p?1/B:B;z[c]=
236
+ g;z[e]=m;y[p?a?"scaleY":"scaleX":"scale"+b]=B;y["translate"+b]=n*t+(D-n*u)},pinch:function(a){var g=this,x=g.chart,y=g.pinchDown,z=a.touches,n=z.length,f=g.lastValidTouch,h=g.hasZoom,r=g.selectionMarker,e={},b=1===n&&(g.inClass(a.target,"highcharts-tracker")&&x.runTrackerClick||g.runChartClick),l={};1<n&&(g.initiated=!0);h&&g.initiated&&!b&&a.preventDefault();[].map.call(z,function(a){return g.normalize(a)});"touchstart"===a.type?([].forEach.call(z,function(a,b){y[b]={chartX:a.chartX,chartY:a.chartY}}),
237
+ f.x=[y[0].chartX,y[1]&&y[1].chartX],f.y=[y[0].chartY,y[1]&&y[1].chartY],x.axes.forEach(function(a){if(a.zoomEnabled){var b=x.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(Math.min(m(a.options.min,a.dataMin),a.dataMin)),l=a.toPixels(Math.max(m(a.options.max,a.dataMax),a.dataMax)),p=Math.max(e,l);b.min=Math.min(a.pos,Math.min(e,l)-c);b.max=Math.max(a.pos+a.len,p+c)}}),g.res=!0):g.followTouchMove&&1===n?this.runPointActions(g.normalize(a)):y.length&&(r||(g.selectionMarker=r=A({destroy:E,touch:!0},
238
+ x.plotBox)),g.pinchTranslate(y,z,e,r,l,f),g.hasPinched=h,g.scaleGroups(e,l),g.res&&(g.res=!1,this.reset(!1,0)))},touch:function(g,v){var x=this.chart,y,z;if(x.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=x.index;1===g.touches.length?(g=this.normalize(g),(z=x.isInsidePlot(g.chartX-x.plotLeft,g.chartY-x.plotTop))&&!x.openMenu?(v&&this.runPointActions(g),"touchmove"===g.type&&(v=this.pinchDown,y=v[0]?4<=Math.sqrt(Math.pow(v[0].chartX-g.chartX,2)+Math.pow(v[0].chartY-
239
+ g.chartY,2)):!1),m(y,!0)&&this.pinch(g)):v&&this.reset()):2===g.touches.length&&this.pinch(g)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(g)}})});I(H,"parts/MSPointer.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.charts,E=a.css,m=a.doc,g=a.extend,v=a.noop,x=a.Pointer,y=a.removeEvent,z=a.win,n=a.wrap;if(!a.hasTouch&&(z.PointerEvent||
240
+ z.MSPointerEvent)){var f={},h=!!z.PointerEvent,r=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(f,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},e=function(b,e,c,f){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||(f(b),f=A[a.hoverChartIndex].pointer,f[e]({type:c,target:b.currentTarget,preventDefault:v,touches:r()}))};g(x.prototype,{onContainerPointerDown:function(a){e(a,"onContainerTouchStart","touchstart",
241
+ function(a){f[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){e(a,"onContainerTouchMove","touchmove",function(a){f[a.pointerId]={pageX:a.pageX,pageY:a.pageY};f[a.pointerId].target||(f[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){e(a,"onDocumentTouchEnd","touchend",function(a){delete f[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,h?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,
242
+ h?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(m,h?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});n(x.prototype,"init",function(a,e,c){a.call(this,e,c);this.hasZoom&&E(e.container,{"-ms-touch-action":"none","touch-action":"none"})});n(x.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});n(x.prototype,"destroy",function(a){this.batchMSEvents(y);a.call(this)})}});I(H,"parts/Legend.js",[H["parts/Globals.js"]],function(a){var C=
243
+ a.addEvent,A=a.css,E=a.discardElement,m=a.defined,g=a.fireEvent,v=a.isFirefox,x=a.marginNames,y=a.merge,z=a.pick,n=a.setAnimation,f=a.stableSort,h=a.win,r=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&
244
+ this.unchartrender())},setOptions:function(a){var b=z(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=y(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=z(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var e=this.chart;this.setOptions(y(!0,this.options,a));this.destroy();e.isDirtyLegend=e.isDirtyBox=!0;
245
+ z(b,!0)&&e.redraw();g(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var e=this.options,c=a.legendItem,f=a.legendLine,h=a.legendSymbol,r=this.itemHiddenStyle.color,e=b?e.itemStyle.color:r,n=b?a.color||r:r,p=a.options&&a.options.marker,d={fill:n};c&&c.css({fill:e,color:e});f&&f.attr({stroke:n});h&&(p&&h.isMarker&&(d=a.pointAttribs(),b||(d.stroke=d.fill=r)),h.attr(d))}g(this,"afterColorizeItem",{item:a,
246
+ visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,e=b.symbolPadding,b=!b.rtl,c=a._legendItemPos,f=c[0],c=c[1],h=a.checkbox;if((a=a.legendGroup)&&a.element)a[m(a.translateY)?"animate":"attr"]({translateX:b?f:this.legendWidth-f-2*e-4,translateY:c});h&&(h.x=f,h.y=c)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&
247
+ (a[b]=a[b].destroy())});b&&E(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,f=this.clipHeight||this.legendHeight,c=this.titleHeight;a&&(b=a.translateY,this.allItems.forEach(function(e){var h=e.checkbox,l;h&&(l=b+c+h.y+(this.scrollOffset||
248
+ 0)+3,A(h,{left:a.translateX+e.checkboxOffset+h.x-20+"px",top:l+"px",display:this.proximate||l>b-6&&l<b+f-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,f=a.title,c=0;f.text&&(this.title||(this.title=this.chart.renderer.label(f.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(f.style),this.title.add(this.group)),f.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),c=a.height,
249
+ this.offsetWidth=a.width,this.contentGroup.attr({translateY:c}));this.titleHeight=c},setText:function(e){var b=this.options;e.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,e,this.chart.time):b.labelFormatter.call(e)})},renderItem:function(a){var b=this.chart,e=b.renderer,c=this.options,f=this.symbolWidth,h=c.symbolPadding,r=this.itemStyle,g=this.itemHiddenStyle,p="horizontal"===c.layout?z(c.itemDistance,20):0,d=!c.rtl,k=a.legendItem,u=!a.series,D=!u&&a.series.drawLegendSymbol?a.series:
250
+ a,G=D.options,G=this.createCheckboxForItem&&G&&G.showCheckbox,p=f+h+p+(G?20:0),q=c.useHTML,n=a.options.className;k||(a.legendGroup=e.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+a.colorIndex+(n?" "+n:"")+(u?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=k=e.text("",d?f+h:-h,this.baseline||0,q),b.styledMode||k.css(y(a.visible?r:g)),k.attr({align:d?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=e.fontMetrics(b.styledMode?
251
+ 12:r.fontSize,k),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,k.attr("y",this.baseline)),this.symbolHeight=c.symbolHeight||this.fontMetrics.f,D.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,k,q));G&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&r.width||k.css({width:(c.itemWidth||this.widthOption||b.spacingBox.width)-p});this.setText(a);b=k.getBBox();a.itemWidth=a.checkboxOffset=c.itemWidth||a.legendItemWidth||b.width+p;this.maxItemWidth=
252
+ Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,e=this.padding,c="horizontal"===b.layout,f=a.itemHeight,h=b.itemMarginBottom||0,r=this.itemMarginTop,g=c?z(b.itemDistance,20):0,p=this.maxLegendWidth,b=b.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:a.itemWidth;c&&this.itemX-e+b>p&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=r+this.lastLineHeight+
253
+ h),this.lastLineHeight=0);this.lastItemY=r+this.itemY+h;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];c?this.itemX+=b:(this.itemY+=r+f+h,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((c?this.itemX-e-(a.checkbox?0:g):b)+e,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var e=b&&b.options;b&&z(e.showInLegend,m(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===e.legendType?b.data:
254
+ b)))});g(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var e=this.chart,c=this.options,f=this.getAlignment(),h=void 0!==e.options.title.margin?e.titleOffset+e.options.title.margin:0;f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(l,t){l.test(f)&&!m(a[t])&&(e[x[t]]=Math.max(e[x[t]],
255
+ e.legend[(t+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][t]*c[t%2?"x":"y"]+z(c.margin,12)+b[t]+(0===t&&(0===e.titleOffset?0:h))))})},proximatePositions:function(){var e=this.chart,b=[],f="left"===this.options.align;this.allItems.forEach(function(c){var h,l;l=f;var r;c.yAxis&&c.points&&(c.xAxis.options.reversed&&(l=!l),h=a.find(l?c.points:c.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),l=c.legendGroup.getBBox().height,r=c.yAxis.top-e.plotTop,c.visible?(h=h?h.plotY:c.yAxis.height,
256
+ h+=r-.3*l):h=r+c.yAxis.height,b.push({target:h,size:l,item:c}))},this);a.distribute(b,e.plotHeight);b.forEach(function(a){a.item._legendItemPos[1]=e.plotTop-e.spacing[0]+a.pos})},render:function(){var e=this.chart,b=e.renderer,h=this.group,c,t,r,w=this.box,n=this.options,p=this.padding;this.itemX=p;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(n.width,e.spacingBox.width-p);c=e.spacingBox.width-2*p-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,
257
+ 2))&&(c/=2);this.maxLegendWidth=this.widthOption||c;h||(this.group=h=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(h),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();c=this.getAllItems();f(c,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});n.reversed&&c.reverse();this.allItems=c;this.display=t=!!c.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;c.forEach(this.renderItem,
258
+ this);c.forEach(this.layoutItem,this);c=(this.widthOption||this.offsetWidth)+p;r=this.lastItemY+this.lastLineHeight+this.titleHeight;r=this.handleOverflow(r);r+=p;w||(this.box=w=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(h),w.isNew=!0);e.styledMode||w.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow);0<c&&0<r&&(w[w.isNew?"attr":"animate"](w.crisp.call({},{x:0,y:0,width:c,height:r},w.strokeWidth())),w.isNew=!1);
259
+ w[t?"show":"hide"]();e.styledMode&&"none"===h.getStyle("display")&&(c=r=0);this.legendWidth=c;this.legendHeight=r;t&&(b=e.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(w=b.y+e.titleOffset,b=y(b,{y:0<e.titleOffset?w+=e.options.title.margin:w})),h.align(y(n,{width:c,height:r,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,b));this.proximate||this.positionItems();g(this,"afterRender")},handleOverflow:function(a){var b=this,e=this.chart,c=e.renderer,h=this.options,f=h.y,r=this.padding,
260
+ f=e.spacingBox.height+("top"===h.verticalAlign?-f:f)-r,g=h.maxHeight,p,d=this.clipRect,k=h.navigation,u=z(k.animation,!0),D=k.arrowSize||12,G=this.nav,q=this.pages,n,m=this.allItems,v=function(a){"number"===typeof a?d.attr({height:a}):d&&(b.clipRect=d.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+r+"px,9999px,"+(r+a)+"px,0)":"auto")},L=function(a){b[a]=c.circle(0,0,1.3*D).translate(D/2,D/2).add(G);e.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");
261
+ return b[a]};"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(f/=2);g&&(f=Math.min(f,g));q.length=0;a>f&&!1!==k.enabled?(this.clipHeight=p=Math.max(f-20-this.titleHeight-r,0),this.currentPage=z(this.currentPage,1),this.fullHeight=a,m.forEach(function(a,d){var b=a._legendItemPos[1],c=Math.round(a.legendItem.getBBox().height),k=q.length;if(!k||b-q[k-1]>p&&(n||b)!==q[k-1])q.push(n||b),k++;a.pageIx=k-1;n&&(m[d-1].pageIx=k-1);d===m.length-1&&b+c-q[k-1]>p&&b!==n&&(q.push(b),a.pageIx=k);
262
+ b!==n&&(n=b)}),d||(d=b.clipRect=c.clipRect(0,r,9999,0),b.contentGroup.clip(d)),v(p),G||(this.nav=G=c.g().attr({zIndex:1}).add(this.group),this.up=c.symbol("triangle",0,0,D,D).add(G),L("upTracker").on("click",function(){b.scroll(-1,u)}),this.pager=c.text("",15,10).addClass("highcharts-legend-navigation"),e.styledMode||this.pager.css(k.style),this.pager.add(G),this.down=c.symbol("triangle-down",0,0,D,D).add(G),L("downTracker").on("click",function(){b.scroll(1,u)})),b.scroll(0),a=f):G&&(v(),this.nav=
263
+ G.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var e=this.pages,c=e.length,h=this.currentPage+a;a=this.clipHeight;var f=this.options.navigation,r=this.pager,g=this.padding;h>c&&(h=c);0<h&&(void 0!==b&&n(b,this.chart),this.nav.attr({translateX:g,translateY:a+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),
264
+ r.attr({text:h+"/"+c}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":h===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===h?f.inactiveColor:f.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===c?f.inactiveColor:f.activeColor}),this.downTracker.css({cursor:h===c?"default":"pointer"})),this.scrollOffset=-e[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
265
+ this.currentPage=h,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var e=a.symbolHeight,c=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(c?(a.symbolWidth-e)/2:0,a.baseline-e+1,c?e:a.symbolWidth,e,z(a.options.symbolRadius,e/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,e=b.marker,c=a.symbolWidth,h=a.symbolHeight,f=h/2,r=this.chart.renderer,g=this.legendGroup;a=a.baseline-Math.round(.3*
266
+ a.fontMetrics.b);var p={};this.chart.styledMode||(p={"stroke-width":b.lineWidth||0},b.dashStyle&&(p.dashstyle=b.dashStyle));this.legendLine=r.path(["M",0,a,"L",c,a]).addClass("highcharts-graph").attr(p).add(g);e&&!1!==e.enabled&&c&&(b=Math.min(z(e.radius,f),f),0===this.symbol.indexOf("url")&&(e=y(e,{width:h,height:h}),b=0),this.legendSymbol=e=r.symbol(this.symbol,c/2-b,a-b,2*b,2*b,e).addClass("highcharts-point").add(g),e.isMarker=!0)}};(/Trident\/7\.0/.test(h.navigator&&h.navigator.userAgent)||v)&&
267
+ r(a.Legend.prototype,"positionItem",function(a,b){var e=this,c=function(){b._legendItemPos&&a.call(e,b)};c();e.bubbleLegend||setTimeout(c)})});I(H,"parts/Chart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animate,E=a.animObject,m=a.attr,g=a.doc,v=a.Axis,x=a.createElement,y=a.defaultOptions,z=a.discardElement,n=a.charts,f=a.css,h=a.defined,r=a.extend,e=a.find,b=a.fireEvent,l=a.isNumber,c=a.isObject,t=a.isString,F=a.Legend,w=a.marginNames,B=a.merge,p=a.objectEach,d=a.Pointer,k=a.pick,
268
+ u=a.pInt,D=a.removeEvent,G=a.seriesTypes,q=a.splat,K=a.syncTimeout,N=a.win,O=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,d,b){return new O(a,d,b)};r(O.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(t(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(d,k){var e,u=d.series,q=d.plotOptions||{};b(this,"init",{args:arguments},function(){d.series=null;e=B(y,d);p(e.plotOptions,function(a,d){c(a)&&(a.tooltip=q[d]&&
269
+ B(q[d].tooltip)||void 0)});e.tooltip.userOptions=d.chart&&d.chart.forExport&&d.tooltip.userOptions||d.tooltip;e.series=d.series=u;this.userOptions=d;var h=e.chart,f=h.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=k;this.isResizing=0;this.options=e;this.axes=[];this.series=[];this.time=d.time&&Object.keys(d.time).length?new a.Time(d.time):a.time;this.styledMode=h.styledMode;this.hasCartesianSeries=h.showAxes;var l=this;l.index=n.length;n.push(l);
270
+ a.chartCount++;f&&p(f,function(d,b){a.isFunction(d)&&C(l,b,d)});l.xAxis=[];l.yAxis=[];l.pointCount=l.colorCounter=l.symbolCounter=0;b(l,"afterInit");l.firstRender()})},initSeries:function(d){var b=this.options.chart;(b=G[d.type||b.type||b.defaultSeriesType])||a.error(17,!0,this);b=new b;b.init(this,d);return b},orderSeries:function(a){var d=this.series;for(a=a||0;a<d.length;a++)d[a]&&(d[a].index=a,d[a].name=d[a].getName())},isInsidePlot:function(a,d,b){var c=b?d:a;a=b?a:d;return 0<=c&&c<=this.plotWidth&&
271
+ 0<=a&&a<=this.plotHeight},redraw:function(d){b(this,"beforeRedraw");var c=this.axes,k=this.series,e=this.pointer,u=this.legend,q=this.userOptions.legend,h=this.isDirtyLegend,f,p,l=this.hasCartesianSeries,t=this.isDirtyBox,g,D=this.renderer,G=D.isHidden(),w=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(d,this);G&&this.temporaryDisplay();this.layOutTitles();for(d=k.length;d--;)if(g=k[d],g.options.stacking&&(f=!0,g.isDirty)){p=!0;break}if(p)for(d=k.length;d--;)g=k[d],g.options.stacking&&
272
+ (g.isDirty=!0);k.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),h=!0):q&&(q.labelFormatter||q.labelFormat)&&(h=!0));a.isDirtyData&&b(a,"updatedData")});h&&u&&u.options.enabled&&(u.render(),this.isDirtyLegend=!1);f&&this.getStacks();l&&c.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();l&&(c.forEach(function(a){a.isDirty&&(t=!0)}),c.forEach(function(a){var d=a.min+","+a.max;a.extKey!==d&&(a.extKey=d,w.push(function(){b(a,"afterSetExtremes",
273
+ r(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(t||f)&&a.redraw()}));t&&this.drawChartBox();b(this,"predraw");k.forEach(function(a){(t||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);D.draw();b(this,"redraw");b(this,"render");G&&this.temporaryDisplay(!0);w.forEach(function(a){a.call()})},get:function(a){function d(d){return d.id===a||d.options&&d.options.id===a}var b,c=this.series,k;b=e(this.axes,d)||e(this.series,d);for(k=0;!b&&k<c.length;k++)b=e(c[k].points||[],d);return b},
274
+ getAxes:function(){var a=this,d=this.options,c=d.xAxis=q(d.xAxis||{}),d=d.yAxis=q(d.yAxis||{});b(this,"getAxes");c.forEach(function(a,d){a.index=d;a.isX=!0});d.forEach(function(a,d){a.index=d});c.concat(d).forEach(function(d){new v(a,d)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(d){a=a.concat((d[d.hasGroupedData?"points":"data"]||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},
275
+ setTitle:function(a,d,b){var c=this,k=c.options,e=c.styledMode,u;u=k.title=B(!e&&{style:{color:"#333333",fontSize:k.isStock?"16px":"18px"}},k.title,a);k=k.subtitle=B(!e&&{style:{color:"#666666"}},k.subtitle,d);[["title",a,u],["subtitle",d,k]].forEach(function(a,d){var b=a[0],k=c[b],u=a[1];a=a[2];k&&u&&(c[b]=k=k.destroy());a&&!k&&(c[b]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).add(),c[b].update=function(a){c.setTitle(!d&&a,d&&a)},e||c[b].css(a.style))});
276
+ c.layOutTitles(b)},layOutTitles:function(a){var d=0,b,c=this.renderer,e=this.spacingBox;["title","subtitle"].forEach(function(a){var b=this[a],k=this.options[a];a="title"===a?-3:k.verticalAlign?0:d+2;var u;b&&(this.styledMode||(u=k.style.fontSize),u=c.fontMetrics(u,b).b,b.css({width:(k.width||e.width+k.widthAdjust)+"px"}).align(r({y:a+u},k),!1,"spacingBox"),k.floating||k.verticalAlign||(d=Math.ceil(d+b.getBBox(k.useHTML).height)))},this);b=this.titleOffset!==d;this.titleOffset=d;!this.isDirtyBox&&
277
+ b&&(this.isDirtyBox=this.isDirtyLegend=b,this.hasRendered&&k(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var d=this.options.chart,b=d.width,d=d.height,c=this.renderTo;h(b)||(this.containerWidth=a.getStyle(c,"width"));h(d)||(this.containerHeight=a.getStyle(c,"height"));this.chartWidth=Math.max(0,b||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(d,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(d){var b=this.renderTo;
278
+ if(d)for(;b&&b.style;)b.hcOrigStyle&&(a.css(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(g.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){g.body.contains(b)||b.parentNode||(b.hcOrigDetached=!0,g.body.appendChild(b));if("none"===a.getStyle(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,height:b.style.height,overflow:b.style.overflow},d={display:"block",overflow:"hidden"},b!==this.renderTo&&(d.height=0),a.css(b,d),b.offsetWidth||
279
+ b.style.setProperty("display","block","important");b=b.parentNode;if(b===g.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d,c=this.options,k=c.chart,e,q;d=this.renderTo;var h=a.uniqueKey(),p,D;d||(this.renderTo=d=k.renderTo);t(d)&&(this.renderTo=d=g.getElementById(d));d||a.error(13,!0,this);e=u(m(d,"data-highcharts-chart"));l(e)&&n[e]&&n[e].hasRendered&&n[e].destroy();m(d,"data-highcharts-chart",this.index);d.innerHTML="";
280
+ k.skipClone||d.offsetWidth||this.temporaryDisplay();this.getChartSize();e=this.chartWidth;q=this.chartHeight;f(d,{overflow:"hidden"});this.styledMode||(p=r({position:"relative",overflow:"hidden",width:e+"px",height:q+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},k.style));this.container=d=x("div",{id:h},p,d);this._cursor=d.style.cursor;this.renderer=new (a[k.renderer]||a.Renderer)(d,e,q,null,k.forExport,c.exporting&&c.exporting.allowHTML,this.styledMode);
281
+ this.setClassName(k.className);if(this.styledMode)for(D in c.defs)this.renderer.definition(c.defs[D]);else this.renderer.setStyle(k.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var d=this.spacing,c=this.margin,k=this.titleOffset;this.resetMargins();k&&!h(c[0])&&(this.plotTop=Math.max(this.plotTop,k+this.options.title.margin+d[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,d);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=
282
+ this,d=a.axisOffset=[0,0,0,0],b=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});w.forEach(function(c,k){h(b[k])||(a[c]+=d[k])});a.setChartSize()},reflow:function(d){var b=this,c=b.options.chart,k=b.renderTo,e=h(c.width)&&h(c.height),u=c.width||a.getStyle(k,"width"),c=c.height||a.getStyle(k,"height"),k=d?d.target:N;if(!e&&!b.isPrinting&&u&&c&&(k===N||k===g)){if(u!==b.containerWidth||c!==b.containerHeight)a.clearTimeout(b.reflowTimeout),b.reflowTimeout=K(function(){b.container&&
283
+ b.setSize(void 0,void 0,!1)},d?100:0);b.containerWidth=u;b.containerHeight=c}},setReflow:function(a){var d=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(N,"resize",function(a){d.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(d,c,k){var e=this,u=e.renderer,q;e.isResizing+=1;a.setAnimation(k,e);e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;void 0!==d&&(e.options.chart.width=d);void 0!==c&&(e.options.chart.height=
284
+ c);e.getChartSize();e.styledMode||(q=u.globalAnimation,(q?A:f)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},q));e.setChartSize(!0);u.setSize(e.chartWidth,e.chartHeight,k);e.axes.forEach(function(a){a.isDirty=!0;a.setScale()});e.isDirtyLegend=!0;e.isDirtyBox=!0;e.layOutTitles();e.getMargins();e.redraw(k);e.oldChartHeight=null;b(e,"resize");K(function(){e&&b(e,"endResize",null,function(){--e.isResizing})},E(q).duration)},setChartSize:function(a){var d=this.inverted,c=this.renderer,
285
+ k=this.chartWidth,e=this.chartHeight,u=this.options.chart,q=this.spacing,h=this.clipOffset,f,p,l,t;this.plotLeft=f=Math.round(this.plotLeft);this.plotTop=p=Math.round(this.plotTop);this.plotWidth=l=Math.max(0,Math.round(k-f-this.marginRight));this.plotHeight=t=Math.max(0,Math.round(e-p-this.marginBottom));this.plotSizeX=d?t:l;this.plotSizeY=d?l:t;this.plotBorderWidth=u.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:q[3],y:q[0],width:k-q[3]-q[1],height:e-q[0]-q[2]};this.plotBox=c.plotBox={x:f,
286
+ y:p,width:l,height:t};k=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(k,h[3])/2);c=Math.ceil(Math.max(k,h[0])/2);this.clipBox={x:d,y:c,width:Math.floor(this.plotSizeX-Math.max(k,h[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(k,h[2])/2-c))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){b(this,"resetMargins");var a=this,d=a.options.chart;["margin","spacing"].forEach(function(b){var e=
287
+ d[b],u=c(e)?e:[e,e,e,e];["Top","Right","Bottom","Left"].forEach(function(c,e){a[b][e]=k(d[b+c],u[e])})});w.forEach(function(d,b){a[d]=k(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,d=this.renderer,c=this.chartWidth,k=this.chartHeight,e=this.chartBackground,u=this.plotBackground,q=this.plotBorder,h,f=this.styledMode,p=this.plotBGImage,l=a.backgroundColor,t=a.plotBackgroundColor,r=a.plotBackgroundImage,g,D=this.plotLeft,
288
+ G=this.plotTop,w=this.plotWidth,n=this.plotHeight,m=this.plotBox,K=this.clipRect,B=this.clipBox,F="animate";e||(this.chartBackground=e=d.rect().addClass("highcharts-background").add(),F="attr");if(f)h=g=e.strokeWidth();else{h=a.borderWidth||0;g=h+(a.shadow?8:0);l={fill:l||"none"};if(h||e["stroke-width"])l.stroke=a.borderColor,l["stroke-width"]=h;e.attr(l).shadow(a.shadow)}e[F]({x:g/2,y:g/2,width:c-g-h%2,height:k-g-h%2,r:a.borderRadius});F="animate";u||(F="attr",this.plotBackground=u=d.rect().addClass("highcharts-plot-background").add());
289
+ u[F](m);f||(u.attr({fill:t||"none"}).shadow(a.plotShadow),r&&(p?p.animate(m):this.plotBGImage=d.image(r,D,G,w,n).add()));K?K.animate({width:B.width,height:B.height}):this.clipRect=d.clipRect(B);F="animate";q||(F="attr",this.plotBorder=q=d.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f||q.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});q[F](q.crisp({x:D,y:G,width:w,height:n},-q.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=
290
+ this,d=a.options.chart,b,c=a.options.series,k,e;["inverted","angular","polar"].forEach(function(u){b=G[d.type||d.defaultSeriesType];e=d[u]||b&&b.prototype[u];for(k=c&&c.length;!e&&k--;)(b=G[c[k].type])&&b.prototype[u]&&(e=!0);a[u]=e})},linkSeries:function(){var a=this,d=a.series;d.forEach(function(a){a.linkedSeries.length=0});d.forEach(function(d){var b=d.options.linkedTo;t(b)&&(b=":previous"===b?a.series[d.index-1]:a.get(b))&&b.linkedParent!==d&&(b.linkedSeries.push(d),d.linkedParent=b,d.visible=
291
+ k(d.options.visible,b.options.visible,d.visible))});b(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,d=a.options.labels;d.items&&d.items.forEach(function(b){var c=r(d.style,b.style),k=u(c.left)+a.plotLeft,e=u(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(b.html,k,e).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,d=this.renderer,b=this.options,c=0,k,e,u;this.setTitle();
292
+ this.legend=new F(this,b.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();b=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return c=21,!0});k=this.plotHeight=Math.max(this.plotHeight-c,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();e=1.1<b/this.plotWidth;u=1.05<k/this.plotHeight;if(e||u)a.forEach(function(a){(a.horiz&&e||!a.horiz&&u)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&
293
+ a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=d.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var d=this;a=B(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,
294
+ zIndex:8}),d.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){d.credits=d.credits.destroy();d.addCredits(a)})},destroy:function(){var d=this,c=d.axes,k=d.series,e=d.container,u,q=e&&e.parentNode;b(d,"destroy");d.renderer.forExport?a.erase(n,d):n[d.index]=void 0;a.chartCount--;d.renderTo.removeAttribute("data-highcharts-chart");D(d);for(u=c.length;u--;)c[u]=c[u].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(u=k.length;u--;)k[u]=
295
+ k[u].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var b=d[a];b&&b.destroy&&(d[a]=b.destroy())});e&&(e.innerHTML="",D(e),q&&z(e));p(d,function(a,b){delete d[b]})},firstRender:function(){var c=this,k=c.options;if(!c.isReadyToRender||c.isReadyToRender()){c.getContainer();c.resetMargins();c.setChartSize();c.propFromSeries();c.getAxes();(a.isArray(k.series)?
296
+ k.series:[]).forEach(function(a){c.initSeries(a)});c.linkSeries();b(c,"beforeRender");d&&(c.pointer=new d(c,k));c.render();if(!c.renderer.imgCount&&c.onload)c.onload();c.temporaryDisplay(!0)}},onload:function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");h(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});I(H,"parts/ScrollablePlotArea.js",[H["parts/Globals.js"]],function(a){var C=
297
+ a.addEvent,A=a.Chart;C(A,"afterSetChartSize",function(A){var m=this.options.chart.scrollablePlotArea,g=m&&m.minWidth,m=m&&m.minHeight,v;if(!this.renderer.forExport){if(g){if(this.scrollablePixelsX=g=Math.max(0,g-this.chartWidth))this.plotWidth+=g,this.inverted?this.clipBox.height+=g:this.clipBox.width+=g,v={1:{name:"right",value:g}}}else m&&(this.scrollablePixelsY=g=Math.max(0,m-this.chartHeight))&&(this.plotHeight+=g,this.inverted?this.clipBox.width+=g:this.clipBox.height+=g,v={2:{name:"bottom",
298
+ value:g}});v&&!A.skipAxes&&this.axes.forEach(function(g){v[g.side]?g.getPlotLinePath=function(){var m=v[g.side].name,x=this[m],n;this[m]=x-v[g.side].value;n=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this[m]=x;return n}:(g.setAxisSize(),g.setAxisTranslation())})}});C(A,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});A.prototype.setUpScrolling=function(){var A={WebkitOverflowScrolling:"touch",
299
+ overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(A.overflowX="auto");this.scrollablePixelsY&&(A.overflowY="auto");this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},A,this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};A.prototype.moveFixedElements=function(){var a=this.container,m=this.fixedRenderer,g=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-reset-zoom .highcharts-subtitle .highcharts-title .highcharts-legend-checkbox".split(" "),
300
+ v;this.scrollablePixelsX&&!this.inverted?v=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?v=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?v=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(v=".highcharts-yaxis");g.push(v,v+"-labels");g.forEach(function(g){[].forEach.call(a.querySelectorAll(g),function(a){(a.namespaceURI===m.SVG_NS?m.box:m.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};A.prototype.applyFixed=function(){var A,m,g=!this.fixedDiv,v=
301
+ this.options.chart.scrollablePlotArea;g?(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=A=new a.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight),this.scrollableMask=A.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(a.pick(v.opacity,.85)).get(),
302
+ zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),C(this,"afterShowResetZoom",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);A=this.chartWidth+(this.scrollablePixelsX||0);m=this.chartHeight+(this.scrollablePixelsY||0);a.stop(this.container);this.container.style.width=A+"px";this.container.style.height=m+"px";this.renderer.boxWrapper.attr({width:A,height:m,viewBox:[0,0,A,m].join(" ")});this.chartBackground.attr({width:A,height:m});
303
+ this.scrollablePixelsY&&(this.scrollingContainer.style.height=this.chartHeight+"px");g&&(v.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*v.scrollPositionX),v.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*v.scrollPositionY));m=this.axisOffset;g=this.plotTop-m[0]-1;v=this.plotLeft-m[3]-1;A=this.plotTop+this.plotHeight+m[2]+1;m=this.plotLeft+this.plotWidth+m[1]+1;var x=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),y=this.plotTop+this.plotHeight-
304
+ (this.scrollablePixelsY||0),g=this.scrollablePixelsX?["M",0,g,"L",this.plotLeft-1,g,"L",this.plotLeft-1,A,"L",0,A,"Z","M",x,g,"L",this.chartWidth,g,"L",this.chartWidth,A,"L",x,A,"Z"]:this.scrollablePixelsY?["M",v,0,"L",v,this.plotTop-1,"L",m,this.plotTop-1,"L",m,0,"Z","M",v,y,"L",v,this.chartHeight,"L",m,this.chartHeight,"L",m,y,"Z"]:["M",0,0];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:g})}});I(H,"parts/Point.js",[H["parts/Globals.js"]],function(a){var C,A=a.extend,E=a.erase,
305
+ m=a.fireEvent,g=a.format,v=a.isArray,x=a.isNumber,y=a.pick,z=a.uniqueKey,n=a.defined,f=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,f,e){this.series=a;this.applyOptions(f,e);this.id=n(this.id)?this.id:z();this.resolveColor();a.chart.pointCount++;m(this,"afterInit");return this},resolveColor:function(){var a=this.series,f;f=a.chart.options.chart.colorCount;var e=a.chart.styledMode;e||this.options.color||(this.color=a.color);a.options.colorByPoint?(e||(f=a.options.colors||
306
+ a.chart.options.colors,this.color=this.color||f[a.colorCounter],f=f.length),e=a.colorCounter,a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=y(this.colorIndex,e)},applyOptions:function(a,f){var e=this.series,b=e.options.pointValKey||e.pointValKey;a=C.prototype.optionsToObject.call(this,a);A(this,a);this.options=this.options?A(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);if(this.isNull=y(this.isValid&&
307
+ !this.isValid(),null===this.x||!x(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===f&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===f?e.autoIncrement(this):f);return this},setNestedProperty:function(f,g,e){e.split(".").reduce(function(b,e,c,f){b[e]=f.length-1===c?g:a.isObject(b[e],!0)?b[e]:{};return b[e]},f);return f},optionsToObject:function(f){var h={},e=this.series,b=e.options.keys,l=b||e.pointArrayMap||
308
+ ["y"],c=l.length,t=0,g=0;if(x(f)||null===f)h[l[0]]=f;else if(v(f))for(!b&&f.length>c&&(e=typeof f[0],"string"===e?h.name=f[0]:"number"===e&&(h.x=f[0]),t++);g<c;)b&&void 0===f[t]||(0<l[g].indexOf(".")?a.Point.prototype.setNestedProperty(h,f[t],l[g]):h[l[g]]=f[t]),t++,g++;else"object"===typeof f&&(h=f,f.dataLabels&&(e._hasPointLabels=!0),f.marker&&(e._hasPointMarkers=!0));return h},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":
309
+ "")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,f=a.zones,a=a.zoneAxis||"y",e=0,b;for(b=f[e];this[a]>=b.value;)b=f[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},
310
+ destroy:function(){var a=this.series.chart,g=a.hoverPoints,e;a.pointCount--;g&&(this.setState(),E(g,this),g.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)f(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(e in this)this[e]=null},destroyElements:function(a){var f=this,e=[],b,h;a=a||{graphic:1,dataLabel:1};a.graphic&&e.push("graphic","shadowGroup");a.dataLabel&&e.push("dataLabel","dataLabelUpper","connector");
311
+ for(h=e.length;h--;)b=e[h],f[b]&&(f[b]=f[b].destroy());["dataLabel","connector"].forEach(function(b){var c=b+"s";a[b]&&f[c]&&(f[c].forEach(function(a){a.element&&a.destroy()}),delete f[c])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var f=this.series,e=f.tooltipOptions,b=y(e.valueDecimals,
312
+ ""),h=e.valuePrefix||"",c=e.valueSuffix||"";f.chart.styledMode&&(a=f.chart.tooltip.styledModeFormat(a));(f.pointArrayMap||["y"]).forEach(function(e){e="{point."+e;if(h||c)a=a.replace(RegExp(e+"}","g"),h+e+"}"+c);a=a.replace(RegExp(e+"}","g"),e+":,."+b+"f}")});return g(a,{point:this,series:this.series},f.chart.time)},firePointEvent:function(a,f,e){var b=this,h=this.series.options;(h.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&h.allowPointSelect&&
313
+ (e=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,f,e)},visible:!0}});I(H,"parts/Series.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animObject,E=a.arrayMax,m=a.arrayMin,g=a.correctFloat,v=a.defaultOptions,x=a.defaultPlotOptions,y=a.defined,z=a.erase,n=a.extend,f=a.fireEvent,h=a.isArray,r=a.isNumber,e=a.isString,b=a.merge,l=a.objectEach,c=a.pick,t=a.removeEvent,F=a.splat,w=a.SVGElement,B=a.syncTimeout,p=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,
314
+ allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},
315
+ verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",
316
+ cropShoulder:1,init:function(d,b){f(this,"init",{options:b});var k=this,e,p=d.series,q;k.chart=d;k.options=b=k.setOptions(b);k.linkedSeries=[];k.bindAxes();n(k,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;l(e,function(d,b){!a.isFunction(d)||k.hcEvents&&k.hcEvents[b]&&k.hcEvents[b].some(function(a){return a.fn===d})||C(k,b,d)});if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)d.runTrackerClick=!0;k.getColor();k.getSymbol();k.parallelArrays.forEach(function(a){k[a+
317
+ "Data"]||(k[a+"Data"]=[])});k.points||k.setData(b.data,!1);k.isCartesian&&(d.hasCartesianSeries=!0);p.length&&(q=p[p.length-1]);k._i=c(q&&q._i,-1)+1;d.orderSeries(this.insert(p));f(this,"afterInit")},insert:function(a){var d=this.options.index,b;if(r(d)){for(b=a.length;b--;)if(d>=c(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&a.unshift(this);b+=1}else a.push(this);return c(b,a.length-1)},bindAxes:function(){var d=this,b=d.options,c=d.chart,e;f(this,"bindAxes",null,function(){(d.axisTypes||
318
+ []).forEach(function(k){c[k].forEach(function(a){e=a.options;if(b[k]===e.index||void 0!==b[k]&&b[k]===e.id||void 0===b[k]&&0===e.index)d.insert(a.series),d[k]=a,a.isDirty=!0});d[k]||d.optionalAxis===k||a.error(18,!0,c)})})},updateParallelArrays:function(a,b){var d=a.series,c=arguments,k=r(b)?function(c){var k="y"===c&&d.toYData?d.toYData(a):a[c];d[c+"Data"][b]=k}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(c,2))};d.parallelArrays.forEach(k)},hasData:function(){return this.visible&&
319
+ void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,b=this.xIncrement,e,f=a.pointIntervalUnit,p=this.chart.time,b=c(b,a.pointStart,0);this.pointInterval=e=c(this.pointInterval,a.pointInterval,1);f&&(a=new p.Date(b),"day"===f?p.set("Date",a,p.get("Date",a)+e):"month"===f?p.set("Month",a,p.get("Month",a)+e):"year"===f&&p.set("FullYear",a,p.get("FullYear",a)+e),e=a.getTime()-b);this.xIncrement=b+e;return b},setOptions:function(a){var d=
320
+ this.chart,e=d.options,p=e.plotOptions,h=d.userOptions||{};a=b(a);var d=d.styledMode,q={plotOptions:p,userOptions:a};f(this,"setOptions",q);var l=h.plotOptions||{},g=q.plotOptions[this.type];this.userOptions=q.userOptions;h=b(g,p.series,h.plotOptions&&h.plotOptions[this.type],a);this.tooltipOptions=b(v.tooltip,v.plotOptions.series&&v.plotOptions.series.tooltip,v.plotOptions[this.type].tooltip,e.tooltip.userOptions,p.series&&p.series.tooltip,p[this.type].tooltip,a.tooltip);this.stickyTracking=c(a.stickyTracking,
321
+ l[this.type]&&l[this.type].stickyTracking,l.series&&l.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:h.stickyTracking);null===g.marker&&delete h.marker;this.zoneAxis=h.zoneAxis;e=this.zones=(h.zones||[]).slice();!h.negativeColor&&!h.negativeFillColor||h.zones||(p={value:h[this.zoneAxis+"Threshold"]||h.threshold||0,className:"highcharts-negative"},d||(p.color=h.negativeColor,p.fillColor=h.negativeFillColor),e.push(p));e.length&&y(e[e.length-1].value)&&e.push(d?{}:{color:this.color,
322
+ fillColor:this.fillColor});f(this,"afterSetOptions",{options:h});return h},getName:function(){return c(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,b,e){var d,k=this.chart,u=this.userOptions,f=a+"Index",p=a+"Counter",h=e?e.length:c(k.options.chart[a+"Count"],k[a+"Count"]);b||(d=c(u[f],u["_"+f]),y(d)||(k.series.length||(k[p]=0),u["_"+f]=d=k[p]%h,k[p]+=1),e&&(b=e[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?
323
+ this.options.color=null:this.getCyclic("color",this.options.color||x[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var d=a.id;a=a.x;var c=this.points,e,k;d&&(k=(d=this.chart.get(d))&&d.index,void 0!==k&&(e=!0));void 0===k&&r(a)&&(k=this.xData.indexOf(a,b));-1!==k&&void 0!==k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!e&&c[k]&&c[k].touched&&(k=void 0);return k},
324
+ drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(d){var b=this.options,c=this.points,e=[],f,q,p,h=this.requireSorting,l=d.length===c.length,g=!0;this.xIncrement=null;d.forEach(function(d,k){var u,q=a.defined(d)&&this.pointClass.prototype.optionsToObject.call({series:this},d)||{};u=q.x;if(q.id||r(u))if(u=this.findPointIndex(q,p),-1===u||void 0===u?e.push(d):c[u]&&d!==b.data[u]?(c[u].update(d,!1,null,!1),c[u].touched=!0,h&&(p=u+1)):c[u]&&(c[u].touched=!0),!l||k!==u||this.hasDerivedData)f=
325
+ !0},this);if(f)for(d=c.length;d--;)(q=c[d])&&!q.touched&&q.remove(!1);else l?d.forEach(function(a,d){c[d].update&&a!==c[d].y&&c[d].update(a,!1,null,!1)}):g=!1;c.forEach(function(a){a&&(a.touched=!1)});if(!g)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(d,b,u,f){var k=this,q=k.points,p=q&&q.length||0,l,g=k.options,t=k.chart,w=null,D=k.xAxis,n=g.turboThreshold,m=this.xData,B=this.yData,F=(l=k.pointArrayMap)&&l.length,v=g.keys,x=0,y=1,z;d=d||[];l=d.length;
326
+ b=c(b,!0);!1!==f&&l&&p&&!k.cropped&&!k.hasGroupedData&&k.visible&&!k.isSeriesBoosting&&(z=this.updateData(d));if(!z){k.xIncrement=null;k.colorCounter=0;this.parallelArrays.forEach(function(a){k[a+"Data"].length=0});if(n&&l>n){for(u=0;null===w&&u<l;)w=d[u],u++;if(r(w))for(u=0;u<l;u++)m[u]=this.autoIncrement(),B[u]=d[u];else if(h(w))if(F)for(u=0;u<l;u++)w=d[u],m[u]=w[0],B[u]=w.slice(1,F+1);else for(v&&(x=v.indexOf("x"),y=v.indexOf("y"),x=0<=x?x:0,y=0<=y?y:1),u=0;u<l;u++)w=d[u],m[u]=w[x],B[u]=w[y];else a.error(12,
327
+ !1,t)}else for(u=0;u<l;u++)void 0!==d[u]&&(w={series:k},k.pointClass.prototype.applyOptions.apply(w,[d[u]]),k.updateParallelArrays(w,u));B&&e(B[0])&&a.error(14,!0,t);k.data=[];k.options.data=k.userOptions.data=d;for(u=p;u--;)q[u]&&q[u].destroy&&q[u].destroy();D&&(D.minRange=D.userMinRange);k.isDirty=t.isDirtyBox=!0;k.isDirtyData=!!q;u=!1}"point"===g.legendType&&(this.processData(),this.generatePoints());b&&t.redraw(u)},processData:function(d){var b=this.xData,c=this.yData,e=b.length,f;f=0;var q,p,
328
+ h=this.xAxis,l,g=this.options;l=g.cropThreshold;var t=this.getExtremesFromAll||g.getExtremesFromAll,r=this.isCartesian,g=h&&h.val2lin,w=h&&h.isLog,n=this.requireSorting,m,B;if(r&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!d)return!1;h&&(d=h.getExtremes(),m=d.min,B=d.max);r&&this.sorted&&!t&&(!l||e>l||this.forceCrop)&&(b[e-1]<m||b[0]>B?(b=[],c=[]):this.yData&&(b[0]<m||b[e-1]>B)&&(f=this.cropData(this.xData,this.yData,m,B),b=f.xData,c=f.yData,f=f.start,q=!0));for(l=b.length||1;--l;)e=w?g(b[l])-
329
+ g(b[l-1]):b[l]-b[l-1],0<e&&(void 0===p||e<p)?p=e:0>e&&n&&(a.error(15,!1,this.chart),n=!1);this.cropped=q;this.cropStart=f;this.processedXData=b;this.processedYData=c;this.closestPointRange=p},cropData:function(a,b,e,f,p){var d=a.length,k=0,u=d,h;p=c(p,this.cropShoulder);for(h=0;h<d;h++)if(a[h]>=e){k=Math.max(0,h-p);break}for(e=h;e<d;e++)if(a[e]>f){u=e+p;break}return{xData:a.slice(k,u),yData:b.slice(k,u),start:k,end:u}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,e,p=this.processedXData,
330
+ q=this.processedYData,h=this.pointClass,l=p.length,g=this.cropStart||0,t,r=this.hasGroupedData,a=a.keys,w,m=[],B;c||r||(c=[],c.length=b.length,c=this.data=c);a&&r&&(this.options.keys=!1);for(B=0;B<l;B++)t=g+B,r?(w=(new h).init(this,[p[B]].concat(F(q[B]))),w.dataGroup=this.groupMap[B],w.dataGroup.options&&(w.options=w.dataGroup.options,n(w,w.dataGroup.options),delete w.dataLabels)):(w=c[t])||void 0===b[t]||(c[t]=w=(new h).init(this,b[t],p[B])),w&&(w.index=t,m[B]=w);this.options.keys=a;if(c&&(l!==(e=
331
+ c.length)||r))for(B=0;B<e;B++)B!==g||r||(B+=l),c[B]&&(c[B].destroyElements(),c[B].plotX=void 0);this.data=c;this.points=m;f(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:m(a),max:E(a)}},getExtremes:function(a){var d=this.yAxis,b=this.processedXData,c,e=[],q=0;c=this.xAxis.getExtremes();var p=c.min,l=c.max,g,t,w=this.requireSorting?this.cropShoulder:0,n,B;a=a||this.stackedYData||this.processedYData||[];c=a.length;for(B=0;B<c;B++)if(t=b[B],n=a[B],g=(r(n,!0)||h(n))&&(!d.positiveValuesOnly||
332
+ n.length||0<n),t=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(b[B+w]||t)>=p&&(b[B-w]||t)<=l,g&&t)if(g=n.length)for(;g--;)"number"===typeof n[g]&&(e[q++]=n[g]);else e[q++]=n;this.dataMin=m(e);this.dataMax=E(e);f(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,e=this.xAxis,p=e.categories,l=this.yAxis,q=this.points,t=q.length,w=!!this.modifyValue,n,m=this.pointPlacementToXValue(),
333
+ B=r(m),F=a.threshold,v=a.startFromThreshold?F:0,x,z,A,C,E=this.zoneAxis||"y",H=Number.MAX_VALUE;for(n=0;n<t;n++){var I=q[n],U=I.x;z=I.y;var T=I.low,X=b&&l.stacks[(this.negStacks&&z<(v?0:F)?"-":"")+this.stackKey],Y,V;l.positiveValuesOnly&&null!==z&&0>=z&&(I.isNull=!0);I.plotX=x=g(Math.min(Math.max(-1E5,e.translate(U,0,0,0,1,m,"flags"===this.type)),1E5));b&&this.visible&&!I.isNull&&X&&X[U]&&(C=this.getStackIndicator(C,U,this.index),Y=X[U],V=Y.points[C.key]);h(V)&&(T=V[0],z=V[1],T===v&&C.key===X[U].base&&
334
+ (T=c(r(F)&&F,l.min)),l.positiveValuesOnly&&0>=T&&(T=null),I.total=I.stackTotal=Y.total,I.percentage=Y.total&&I.y/Y.total*100,I.stackY=z,Y.setOffset(this.pointXOffset||0,this.barW||0));I.yBottom=y(T)?Math.min(Math.max(-1E5,l.translate(T,0,1,0,1)),1E5):null;w&&(z=this.modifyValue(z,I));I.plotY=z="number"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,l.translate(z,0,1,0,1)),1E5):void 0;I.isInside=void 0!==z&&0<=z&&z<=l.len&&0<=x&&x<=e.len;I.clientX=B?g(e.translate(U,0,0,0,1,m)):x;I.negative=I[E]<(a[E+
335
+ "Threshold"]||F||0);I.category=p&&void 0!==p[I.x]?p[I.x]:I.x;I.isNull||(void 0!==A&&(H=Math.min(H,Math.abs(x-A))),A=x);I.zone=this.zones.length&&I.getZone()}this.closestPointRangePx=H;f(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:c||!a.isNull})},getClipBox:function(a,b){var d=this.options,c=this.chart,e=c.inverted,k=this.xAxis,f=k&&this.yAxis;a&&!1===d.clip&&f?a=e?{y:-c.chartWidth+
336
+ f.len+f.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+k.len+k.pos}:{y:-f.pos,height:c.chartHeight,width:c.chartWidth,x:-k.pos}:(a=this.clipBox||c.clipBox,b&&(a.width=c.plotSizeX,a.x=0));return b?{width:a.width,x:a.x}:a},setClip:function(a){var d=this.chart,b=this.options,c=d.renderer,e=d.inverted,f=this.clipBox,p=this.getClipBox(a),h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,p.height,b.xAxis,b.yAxis].join(),l=d[h],g=d[h+"m"];l||(a&&(p.width=0,e&&(p.x=d.plotSizeX+
337
+ (!1!==b.clip?0:d.plotTop)),d[h+"m"]=g=c.clipRect(e?d.plotSizeX+99:-99,e?-d.plotLeft:-d.plotTop,99,e?d.chartWidth:d.chartHeight)),d[h]=l=c.clipRect(p),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);if(!1!==b.clip||a)this.group.clip(a||f?l:d.clipRect),this.markerGroup.clip(g),this.sharedClipKey=h;a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&d[h]&&(f||(d[h]=d[h].destroy()),d[h+"m"]&&(d[h+"m"]=d[h+"m"].destroy())))},
338
+ animate:function(a){var d=this.chart,b=A(this.options.animation),c,e;a?this.setClip(b):(c=this.sharedClipKey,a=d[c],e=this.getClipBox(b,!0),a&&a.animate(e,b),d[c+"m"]&&d[c+"m"].animate({width:e.width+99,x:e.x-(d.inverted?0:99)},b),this.animate=null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,e,f,p,q,h,l=this.options.marker,g,t,r,w=this[this.specialGroup]||this.markerGroup;e=this.xAxis;var n,m=c(l.enabled,
339
+ !e||e.isRadial?!0:null,this.closestPointRangePx>=l.enabledThreshold*l.radius);if(!1!==l.enabled||this._hasPointMarkers)for(e=0;e<a.length;e++)if(f=a[e],h=(q=f.graphic)?"animate":"attr",g=f.marker||{},t=!!f.marker,p=m&&void 0===g.enabled||g.enabled,r=!1!==f.isInside,p&&!f.isNull){p=c(g.symbol,this.symbol);n=this.markerAttribs(f,f.selected&&"select");q?q[r?"show":"hide"](!0).animate(n):r&&(0<n.width||f.hasImage)&&(f.graphic=q=b.renderer.symbol(p,n.x,n.y,n.width,n.height,t?g:l).add(w));if(q&&!b.styledMode)q[h](this.pointAttribs(f,
340
+ f.selected&&"select"));q&&q.addClass(f.getClassName(),!0)}else q&&(f.graphic=q.destroy())},markerAttribs:function(a,b){var d=this.options.marker,e=a.marker||{},k=e.symbol||d.symbol,f=c(e.radius,d.radius);b&&(d=d.states[b],b=e.states&&e.states[b],f=c(b&&b.radius,d&&d.radius,f+(d&&d.radiusPlus||0)));a.hasImage=k&&0===k.indexOf("url");a.hasImage&&(f=0);a={x:Math.floor(a.plotX)-f,y:a.plotY-f};f&&(a.width=a.height=2*f);return a},pointAttribs:function(a,b){var d=this.options.marker,e=a&&a.options,k=e&&
341
+ e.marker||{},f=this.color,p=e&&e.color,h=a&&a.color,e=c(k.lineWidth,d.lineWidth),l=a&&a.zone&&a.zone.color;a=1;f=p||l||h||f;p=k.fillColor||d.fillColor||f;f=k.lineColor||d.lineColor||f;b=b||"normal";d=d.states[b];b=k.states&&k.states[b]||{};e=c(b.lineWidth,d.lineWidth,e+c(b.lineWidthPlus,d.lineWidthPlus,0));p=b.fillColor||d.fillColor||p;f=b.lineColor||d.lineColor||f;a=c(b.opacity,d.opacity,a);return{stroke:f,"stroke-width":e,fill:p,opacity:a}},destroy:function(d){var b=this,c=b.chart,e=/AppleWebKit\/533/.test(p.navigator.userAgent),
342
+ h,q,g=b.data||[],r,n;f(b,"destroy");d||t(b);(b.axisTypes||[]).forEach(function(a){(n=b[a])&&n.series&&(z(n.series,b),n.isDirty=n.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(q=g.length;q--;)(r=g[q])&&r.destroy&&r.destroy();b.points=null;a.clearTimeout(b.animationTimeout);l(b,function(a,d){a instanceof w&&!a.survive&&(h=e&&"group"===d?"hide":"destroy",a[h]())});c.hoverSeries===b&&(c.hoverSeries=null);z(c.series,b);c.orderSeries();l(b,function(a,c){d&&"hcEvents"===c||delete b[c]})},
343
+ getGraphPath:function(a,b,c){var d=this,e=d.options,k=e.step,f,p=[],h=[],u;a=a||d.points;(f=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&f&&(k=4-k);!e.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(f,q){var l=f.plotX,g=f.plotY,t=a[q-1];(f.leftCliff||t&&t.rightCliff)&&!c&&(u=!0);f.isNull&&!y(b)&&0<q?u=!e.connectNulls:f.isNull&&!b?u=!0:(0===q||u?q=["M",f.plotX,f.plotY]:d.getPointSpline?q=d.getPointSpline(a,f,q):k?(q=1===k?["L",t.plotX,g]:2===k?["L",(t.plotX+l)/2,t.plotY,
344
+ "L",(t.plotX+l)/2,g]:["L",l,t.plotY],q.push("L",l,g)):q=["L",l,g],h.push(f.x),k&&(h.push(f.x),2===k&&h.push(f.x)),p.push.apply(p,q),u=!1)});p.xMap=h;return d.graphPath=p},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode,f=[["graph","highcharts-graph"]];e||f[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);f=a.getZonesGraphs(f);f.forEach(function(d,k){var f=d[0],p=a[f],h=p?"animate":"attr";p?(p.endX=a.preventGraphAnimation?
345
+ null:c.xMap,p.animate({d:c})):c.length&&(a[f]=p=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group));p&&!e&&(f={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?f.dashstyle=d[3]:"square"!==b.linecap&&(f["stroke-linecap"]=f["stroke-linejoin"]="round"),p[h](f).shadow(2>k&&b.shadow));p&&(p.startX=c.xMap,p.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(d,b){b=["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(d.className||
346
+ "")];this.chart.styledMode||b.push(d.color||this.color,d.dashStyle||this.options.dashStyle);a.push(b)},this);return a},applyZones:function(){var a=this,b=this.chart,e=b.renderer,f=this.zones,p,h,l=this.clips||[],g,t=this.graph,r=this.area,w=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],m,B,F=b.inverted,v,x,y,z,A=!1;f.length&&(t||r)&&n&&void 0!==n.min?(B=n.reversed,v=n.horiz,t&&!this.showLine&&t.hide(),r&&r.hide(),m=n.getExtremes(),f.forEach(function(d,k){p=B?v?b.plotWidth:
347
+ 0:v?0:n.toPixels(m.min)||0;p=Math.min(Math.max(c(h,p),0),w);h=Math.min(Math.max(Math.round(n.toPixels(c(d.value,m.max),!0)||0),0),w);A&&(p=h=n.toPixels(m.max));x=Math.abs(p-h);y=Math.min(p,h);z=Math.max(p,h);n.isXAxis?(g={x:F?z:y,y:0,width:x,height:w},v||(g.x=b.plotHeight-g.x)):(g={x:0,y:F?z:y,width:w,height:x},v&&(g.y=b.plotWidth-g.y));F&&e.isVML&&(g=n.isXAxis?{x:0,y:B?y:z,height:g.width,width:b.chartWidth}:{x:g.y-b.plotLeft-b.spacingBox.x,y:0,width:g.height,height:b.chartHeight});l[k]?l[k].animate(g):
348
+ l[k]=e.clipRect(g);t&&a["zone-graph-"+k].clip(l[k]);r&&a["zone-area-"+k].clip(l[k]);A=d.value>m.max;a.resetZones&&0===h&&(h=void 0)}),this.clips=l):a.visible&&(t&&t.show(!0),r&&r.show(!0))},invertGroups:function(a){function d(){["group","markerGroup"].forEach(function(d){b[d]&&(c.renderer.isVML&&b[d].attr({width:b.yAxis.len,height:b.xAxis.len}),b[d].width=b.yAxis.len,b[d].height=b.xAxis.len,b[d].invert(a))})}var b=this,c=b.chart,e;b.xAxis&&(e=C(c,"resize",d),C(b,"destroy",e),d(a),b.invertGroups=d)},
349
+ plotGroup:function(a,b,c,e,f){var d=this[a],k=!d;k&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(f));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(y(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[k?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;
350
+ a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,e=a.options,p=!!a.animate&&b.renderer.isSVG&&A(e.animation).duration,h=a.visible?"inherit":"hidden",l=e.zIndex,g=a.hasRendered,t=b.seriesGroup,r=b.inverted;f(this,"render");c=a.plotGroup("group","series",h,l,t);a.markerGroup=a.plotGroup("markerGroup","markers",h,l,t);p&&a.animate(!0);c.inverted=a.isCartesian||a.invertable?r:!1;a.drawGraph&&
351
+ (a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(r);!1===e.clip||a.sharedClipKey||g||c.clip(b.clipRect);p&&a.animate();g||(a.animationTimeout=B(function(){a.afterAnimate()},p));a.isDirty=!1;a.hasRendered=!0;f(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,e=this.group,f=this.xAxis,p=this.yAxis;e&&(a.inverted&&
352
+ e.attr({width:a.plotWidth,height:a.plotHeight}),e.animate({translateX:c(f&&f.left,a.plotLeft),translateY:c(p&&p.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var d=this.xAxis,c=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?c.len-a.chartX+c.pos:a.chartY-c.pos},b,a)},buildKDTree:function(a){function b(a,c,e){var k,f;if(f=a&&a.length)return k=d.kdAxisArray[c%
353
+ e],a.sort(function(a,b){return a[k]-b[k]}),f=Math.floor(f/2),{point:a[f],left:b(a.slice(0,f),c+1,e),right:b(a.slice(f+1),c+1,e)}}this.buildingKdTree=!0;var d=this,c=-1<d.options.findNearestPointBy.indexOf("y")?2:1;delete d.kdTree;B(function(){d.kdTree=b(d.getValidPoints(null,!d.directTouch),c,c);d.buildingKdTree=!1},d.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function d(a,b,c,h){var l=b.point,q=e.kdAxisArray[c%h],u,g,t=l;g=y(a[k])&&y(l[k])?Math.pow(a[k]-l[k],2):null;
354
+ u=y(a[f])&&y(l[f])?Math.pow(a[f]-l[f],2):null;u=(g||0)+(u||0);l.dist=y(u)?Math.sqrt(u):Number.MAX_VALUE;l.distX=y(g)?Math.sqrt(g):Number.MAX_VALUE;q=a[q]-l[q];u=0>q?"left":"right";g=0>q?"right":"left";b[u]&&(u=d(a,b[u],c+1,h),t=u[p]<t[p]?u:l);b[g]&&Math.sqrt(q*q)<t[p]&&(a=d(a,b[g],c+1,h),t=a[p]<t[p]?a:t);return t}var e=this,k=this.kdAxisArray[0],f=this.kdAxisArray[1],p=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(a,
355
+ this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);r(a)&&(a*=c(this.options.pointRange||this.xAxis.pointRange));return a}})});I(H,"parts/Stacking.js",[H["parts/Globals.js"]],function(a){var C=a.Axis,A=a.Chart,E=a.correctFloat,m=a.defined,g=a.destroyObjectProperties,v=a.format,x=a.objectEach,y=a.pick,z=a.Series;a.StackItem=function(a,f,h,g,e){var b=a.chart.inverted;this.axis=a;this.isNegative=h;this.options=f;this.x=g;this.total=null;this.points=
356
+ {};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:f.align||(b?h?"left":"right":"center"),verticalAlign:f.verticalAlign||(b?"middle":h?"bottom":"top"),y:y(f.y,b?4:h?14:-6),x:y(f.x,b?h?-6:6:0)};this.textAlign=f.textAlign||(b?h?"right":"left":"center")};a.StackItem.prototype={destroy:function(){g(this,this.axis)},render:function(a){var f=this.axis.chart,h=this.options,g=h.format,g=g?v(g,this,f.time):h.formatter.call(this);this.label?this.label.attr({text:g,visibility:"hidden"}):
357
+ this.label=f.renderer.text(g,null,null,h.useHTML).css(h.style).attr({align:this.textAlign,rotation:h.rotation,visibility:"hidden"}).add(a);this.label.labelrank=f.plotHeight},setOffset:function(a,f,h,g){var e=this.axis,b=e.chart;g=e.translate(e.usePercentage?100:g?g:this.total,0,0,0,1);h=e.translate(h?h:0);h=m(g)&&Math.abs(g-h);a=b.xAxis[0].translate(this.x)+a;e=m(g)&&this.getStackBox(b,this,a,g,f,h,e);(f=this.label)&&e&&(f.align(this.alignOptions,null,e),e=f.alignAttr,f[!1===this.options.crop||b.isInsidePlot(e.x,
358
+ e.y)?"show":"hide"](!0))},getStackBox:function(a,f,h,g,e,b,l){var c=f.axis.reversed,t=a.inverted;a=l.height+l.pos-(t?a.plotLeft:a.plotTop);f=f.isNegative&&!c||!f.isNegative&&c;return{x:t?f?g:g-b:h,y:t?a-h-e:f?a-g-b:a-g,width:t?b:e,height:t?e:b}}};A.prototype.getStacks=function(){var a=this;a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(f){!f.options.stacking||!0!==f.visible&&!1!==a.options.chart.ignoreHiddenSeries||(f.stackKey=f.type+y(f.options.stack,
359
+ ""))})};C.prototype.buildStacks=function(){var a=this.series,f=y(this.options.reversedStacks,!0),h=a.length,g;if(!this.isXAxis){this.usePercentage=!1;for(g=h;g--;)a[f?g:h-g-1].setStackedPoints();for(g=0;g<h;g++)a[g].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=this.chart,f=a.renderer,h=this.stacks,g=this.stackTotalGroup;g||(this.stackTotalGroup=g=f.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());g.translate(a.plotLeft,a.plotTop);x(h,function(a){x(a,function(a){a.render(g)})})};
360
+ C.prototype.resetStacks=function(){var a=this,f=a.stacks;a.isXAxis||x(f,function(f){x(f,function(h,e){h.touched<a.stacksTouched?(h.destroy(),delete f[e]):(h.total=null,h.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),x(a,function(a){x(a,function(a){a.cumulative=a.total})}))};z.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var g=this.processedXData,
361
+ f=this.processedYData,h=[],r=f.length,e=this.options,b=e.threshold,l=y(e.startFromThreshold&&b,0),c=e.stack,e=e.stacking,t=this.stackKey,F="-"+t,w=this.negStacks,B=this.yAxis,p=B.stacks,d=B.oldStacks,k,u,D,G,q,v,x;B.stacksTouched+=1;for(q=0;q<r;q++)v=g[q],x=f[q],k=this.getStackIndicator(k,v,this.index),G=k.key,D=(u=w&&x<(l?0:b))?F:t,p[D]||(p[D]={}),p[D][v]||(d[D]&&d[D][v]?(p[D][v]=d[D][v],p[D][v].total=null):p[D][v]=new a.StackItem(B,B.options.stackLabels,u,v,c)),D=p[D][v],null!==x?(D.points[G]=D.points[this.index]=
362
+ [y(D.cumulative,l)],m(D.cumulative)||(D.base=G),D.touched=B.stacksTouched,0<k.index&&!1===this.singleStacks&&(D.points[G][0]=D.points[this.index+","+v+",0"][0])):D.points[G]=D.points[this.index]=null,"percent"===e?(u=u?t:F,w&&p[u]&&p[u][v]?(u=p[u][v],D.total=u.total=Math.max(u.total,D.total)+Math.abs(x)||0):D.total=E(D.total+(Math.abs(x)||0))):D.total=E(D.total+(x||0)),D.cumulative=y(D.cumulative,l)+(x||0),null!==x&&(D.points[G].push(D.cumulative),h[q]=D.cumulative);"percent"===e&&(B.usePercentage=
363
+ !0);this.stackedYData=h;B.oldStacks={}}};z.prototype.modifyStacks=function(){var a=this,f=a.stackKey,h=a.yAxis.stacks,g=a.processedXData,e,b=a.options.stacking;a[b+"Stacker"]&&[f,"-"+f].forEach(function(f){for(var c=g.length,l,r;c--;)if(l=g[c],e=a.getStackIndicator(e,l,a.index,f),r=(l=h[f]&&h[f][l])&&l.points[e.key])a[b+"Stacker"](r,l,c)})};z.prototype.percentStacker=function(a,f,h){f=f.total?100/f.total:0;a[0]=E(a[0]*f);a[1]=E(a[1]*f);this.stackedYData[h]=a[1]};z.prototype.getStackIndicator=function(a,
364
+ f,h,g){!m(a)||a.x!==f||g&&a.key!==g?a={x:f,index:0,key:g}:a.index++;a.key=[h,f,a.index].join();return a}});I(H,"parts/Dynamics.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.animate,E=a.Axis,m=a.Chart,g=a.createElement,v=a.css,x=a.defined,y=a.erase,z=a.extend,n=a.fireEvent,f=a.isNumber,h=a.isObject,r=a.isArray,e=a.merge,b=a.objectEach,l=a.pick,c=a.Point,t=a.Series,F=a.seriesTypes,w=a.setAnimation,B=a.splat;a.cleanRecursively=function(c,d){var e={};b(c,function(b,k){if(h(c[k],!0)&&!c.nodeType&&
365
+ d[k])b=a.cleanRecursively(c[k],d[k]),Object.keys(b).length&&(e[k]=b);else if(h(c[k])||c[k]!==d[k])e[k]=c[k]});return e};z(m.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=l(b,!0),n(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();n(e,"afterAddSeries",{series:d});b&&e.redraw(c)}));return d},addAxis:function(a,b,c,f){var d=b?"xAxis":"yAxis",k=this.options;a=e(a,{index:this[d].length,isX:b});b=new E(this,a);k[d]=B(k[d]||{});k[d].push(a);l(c,!0)&&this.redraw(f);
366
+ return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,p=function(){e&&v(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=g("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=g("span",{className:"highcharts-loading-inner"},null,e),C(b,"redraw",p));e.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;b.styledMode||(v(e,z(f.style,{zIndex:10})),
367
+ v(b.loadingSpan,f.labelStyle),b.loadingShown||(v(e,{opacity:0,display:""}),A(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));b.loadingShown=!0;p()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||A(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){v(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
368
+ propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(c,d,k,h){var p=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},q,u,t,r,w=[];n(p,"update",{options:c});c.isResponsiveOptions||
369
+ p.setResponsive(!1,!0);c=a.cleanRecursively(c,p.options);e(!0,p.userOptions,c);if(q=c.chart){e(!0,p.options.chart,q);"className"in q&&p.setClassName(q.className);"reflow"in q&&p.setReflow(q.reflow);if("inverted"in q||"polar"in q||"type"in q)p.propFromSeries(),u=!0;"alignTicks"in q&&(u=!0);b(q,function(a,b){-1!==p.propsRequireUpdateSeries.indexOf("chart."+b)&&(t=!0);-1!==p.propsRequireDirtyBox.indexOf(b)&&(p.isDirtyBox=!0);-1!==p.propsRequireReflow.indexOf(b)&&(r=!0)});!p.styledMode&&"style"in q&&
370
+ p.renderer.setStyle(q.style)}!p.styledMode&&c.colors&&(this.options.colors=c.colors);c.plotOptions&&e(!0,this.options.plotOptions,c.plotOptions);c.time&&this.time===a.time&&(this.time=new a.Time(c.time));b(c,function(a,b){if(p[b]&&"function"===typeof p[b].update)p[b].update(a,!1);else if("function"===typeof p[g[b]])p[g[b]](a);"chart"!==b&&-1!==p.propsRequireUpdateSeries.indexOf(b)&&(t=!0)});this.collectionsWithUpdate.forEach(function(a){var b;c[a]&&("series"===a&&(b=[],p[a].forEach(function(a,d){a.options.isInternal||
371
+ b.push(l(a.options.index,d))})),B(c[a]).forEach(function(d,c){(c=x(d.id)&&p.get(d.id)||p[a][b?b[c]:c])&&c.coll===a&&(c.update(d,!1),k&&(c.touched=!0));!c&&k&&p.collectionsWithInit[a]&&(p.collectionsWithInit[a][0].apply(p,[d].concat(p.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)}),k&&p[a].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:w.push(a)}))});w.forEach(function(a){a.remove&&a.remove(!1)});u&&p.axes.forEach(function(a){a.update({},!1)});t&&p.series.forEach(function(a){a.update({},
372
+ !1)});c.loading&&e(!0,p.options.loading,c.loading);u=q&&q.width;q=q&&q.height;a.isString(q)&&(q=a.relativeLength(q,u||p.chartWidth));r||f(u)&&u!==p.chartWidth||f(q)&&q!==p.chartHeight?p.setSize(u,q,h):l(d,!0)&&p.redraw(h);n(p,"afterUpdate",{options:c,redraw:d,animation:h})},setSubtitle:function(a){this.setTitle(void 0,a)}});m.prototype.collectionsWithInit={xAxis:[m.prototype.addAxis,[!0]],yAxis:[m.prototype.addAxis,[!1]],series:[m.prototype.addSeries]};z(c.prototype,{update:function(a,b,c,e){function d(){k.applyOptions(a);
373
+ null===k.y&&p&&(k.graphic=p.destroy());h(a,!0)&&(p&&p.element&&a&&a.marker&&void 0!==a.marker.symbol&&(k.graphic=p.destroy()),a&&a.dataLabels&&k.dataLabel&&(k.dataLabel=k.dataLabel.destroy()),k.connector&&(k.connector=k.connector.destroy()));g=k.index;f.updateParallelArrays(k,g);t.data[g]=h(t.data[g],!0)||h(a,!0)?k.options:l(a,t.data[g]);f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(u.isDirtyBox=!0);"point"===t.legendType&&(u.isDirtyLegend=!0);b&&u.redraw(c)}var k=this,f=k.series,
374
+ p=k.graphic,g,u=f.chart,t=f.options;b=l(b,!0);!1===e?d():k.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});z(t.prototype,{addPoint:function(a,b,c,e,f){var d=this.options,k=this.data,p=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,g=d.data,u,t=this.xData,r,w,m;b=l(b,!0);u={series:this};this.pointClass.prototype.applyOptions.apply(u,[a]);m=u.x;w=t.length;if(this.requireSorting&&m<t[w-1])for(r=!0;w&&t[w-1]>m;)w--;this.updateParallelArrays(u,
375
+ "splice",w,0,0);this.updateParallelArrays(u,w);h&&u.name&&(h[m]=u.name);g.splice(w,0,a);r&&(this.data.splice(w,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(u,"shift"),g.shift()));!1!==f&&n(this,"addPoint",{point:u});this.isDirtyData=this.isDirty=!0;b&&p.redraw(e)},removePoint:function(a,b,c){var d=this,e=d.data,k=e[a],f=d.points,p=d.chart,h=function(){f&&f.length===e.length&&f.splice(a,1);e.splice(a,
376
+ 1);d.options.data.splice(a,1);d.updateParallelArrays(k||{series:d},"splice",a,1);k&&k.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&p.redraw()};w(c,p);b=l(b,!0);k?k.firePointEvent("remove",null,h):h()},remove:function(a,b,c,e){function d(){k.destroy(e);k.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();l(a,!0)&&f.redraw(b)}var k=this,f=k.chart;!1!==c?n(k,"remove",null,d):d()},update:function(b,d){b=a.cleanRecursively(b,this.userOptions);n(this,"update",{options:b});var c=this,f=c.chart,h=c.userOptions,
377
+ p,g=c.initialType||c.type,t=b.type||h.type||f.options.chart.type,r=!(this.hasDerivedData||b.dataGrouping||t&&t!==this.type||void 0!==b.pointStart||b.pointInterval||b.pointIntervalUnit||b.keys),w=F[g].prototype,m,B=["group","markerGroup","dataLabelsGroup","transformGroup"],v=["navigatorSeries","baseSeries"],x=c.finishedAnimating&&{animation:!1},y={};r&&(v.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY",
378
+ "maxY","minX","maxX"),!1!==b.visible&&v.push("area","graph"),c.parallelArrays.forEach(function(a){v.push(a+"Data")}),b.data&&this.setData(b.data,!1));b=e(h,x,{index:void 0===h.index?c.index:h.index,pointStart:l(h.pointStart,c.xData[0])},!r&&{data:c.options.data},b);v=B.concat(v);v.forEach(function(a){v[a]=c[a];delete c[a]});c.remove(!1,null,!1,!0);for(m in w)c[m]=void 0;F[t||g]?z(c,F[t||g].prototype):a.error(17,!0,f);v.forEach(function(a){c[a]=v[a]});c.init(f,b);r&&this.points&&(p=c.options,!1===
379
+ p.visible?(y.graphic=1,y.dataLabel=1):(p.marker&&!1===p.marker.enabled&&!c._hasPointMarkers&&(y.graphic=1),p.dataLabels&&!1===p.dataLabels.enabled&&!c._hasPointLabels&&(y.dataLabel=1)),this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(y).length&&a.destroyElements(y),!1===p.showInLegend&&a.legendItem&&f.legend.destroyItem(a))},this));b.zIndex!==h.zIndex&&B.forEach(function(a){c[a]&&c[a].attr({zIndex:b.zIndex})});c.initialType=g;f.linkSeries();n(this,"afterUpdate");l(d,!0)&&
380
+ f.redraw(r?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});z(E.prototype,{update:function(a,d){var c=this.chart,f=a&&a.events||{};a=e(this.userOptions,a);c.options[this.coll].indexOf&&(c.options[this.coll][c.options[this.coll].indexOf(this.userOptions)]=a);b(c.options[this.coll].events,function(a,b){"undefined"===typeof f[b]&&(f[b]=void 0)});this.destroy(!0);this.init(c,z(a,{events:f}));c.isDirtyBox=!0;l(d,!0)&&c.redraw()},remove:function(a){for(var b=
381
+ this.chart,c=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);y(b.axes,this);y(b[c],this);r(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];b[c].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;l(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});I(H,"parts/AreaSeries.js",[H["parts/Globals.js"]],function(a){var C=a.color,A=a.pick,E=a.Series,
382
+ m=a.seriesType;m("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var m=[],x=[],y=this.xAxis,z=this.yAxis,n=z.stacks[this.stackKey],f={},h=this.index,r=z.series,e=r.length,b,l=A(z.options.reversedStacks,!0)?1:-1,c;g=g||this.points;if(this.options.stacking){for(c=0;c<g.length;c++)g[c].leftNull=g[c].rightNull=null,f[g[c].x]=g[c];a.objectEach(n,function(a,b){null!==a.total&&x.push(b)});x.sort(function(a,b){return a-b});b=r.map(function(a){return a.visible});x.forEach(function(a,
383
+ g){var t=0,r,p;if(f[a]&&!f[a].isNull)m.push(f[a]),[-1,1].forEach(function(d){var k=1===d?"rightNull":"leftNull",t=0,w=n[x[g+d]];if(w)for(c=h;0<=c&&c<e;)r=w.points[c],r||(c===h?f[a][k]=!0:b[c]&&(p=n[a].points[c])&&(t-=p[1]-p[0])),c+=l;f[a][1===d?"rightCliff":"leftCliff"]=t});else{for(c=h;0<=c&&c<e;){if(r=n[a].points[c]){t=r[1];break}c+=l}t=z.translate(t,0,1,0,1);m.push({isNull:!0,plotX:y.translate(a,0,0,0,1),x:a,plotY:t,yBottom:t})}})}return m},getGraphPath:function(g){var m=E.prototype.getGraphPath,
384
+ x=this.options,y=x.stacking,z=this.yAxis,n,f,h=[],r=[],e=this.index,b,l=z.stacks[this.stackKey],c=x.threshold,t=z.getThreshold(x.threshold),F,x=a.pick(x.connectNulls,"percent"===y),w=function(a,f,d){var k=g[a];a=y&&l[k.x].points[e];var p=k[d+"Null"]||0;d=k[d+"Cliff"]||0;var w,n,k=!0;d||p?(w=(p?a[0]:a[1])+d,n=a[0]+d,k=!!p):!y&&g[f]&&g[f].isNull&&(w=n=c);void 0!==w&&(r.push({plotX:b,plotY:null===w?t:z.getThreshold(w),isNull:k,isCliff:!0}),h.push({plotX:b,plotY:null===n?t:z.getThreshold(n),doCurve:!1}))};
385
+ g=g||this.points;y&&(g=this.getStackPoints(g));for(n=0;n<g.length;n++)if(f=g[n].isNull,b=A(g[n].rectPlotX,g[n].plotX),F=A(g[n].yBottom,t),!f||x)x||w(n,n-1,"left"),f&&!y&&x||(r.push(g[n]),h.push({x:n,plotX:b,plotY:F})),x||w(n,n+1,"right");n=m.call(this,r,!0,!0);h.reversed=!0;f=m.call(this,h,!0,!0);f.length&&(f[0]="L");f=n.concat(f);m=m.call(this,r,!1,x);f.xMap=n.xMap;this.areaPath=f;return m},drawGraph:function(){this.areaPath=[];E.prototype.drawGraph.apply(this);var a=this,m=this.areaPath,x=this.options,
386
+ y=[["area","highcharts-area",this.color,x.fillColor]];this.zones.forEach(function(g,n){y.push(["zone-area-"+n,"highcharts-area highcharts-zone-area-"+n+" "+g.className,g.color||a.color,g.fillColor||x.fillColor])});y.forEach(function(g){var n=g[0],f=a[n],h=f?"animate":"attr",r={};f?(f.endX=a.preventGraphAnimation?null:m.xMap,f.animate({d:m})):(r.zIndex=0,f=a[n]=a.chart.renderer.path(m).addClass(g[1]).add(a.group),f.isArea=!0);a.chart.styledMode||(r.fill=A(g[3],C(g[2]).setOpacity(A(x.fillOpacity,.75)).get()));
387
+ f[h](r);f.startX=m.xMap;f.shiftUnit=x.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});I(H,"parts/SplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,E,m){var g=E.plotX,v=E.plotY,x=a[m-1];m=a[m+1];var y,z,n,f;if(x&&!x.isNull&&!1!==x.doCurve&&!E.isCliff&&m&&!m.isNull&&!1!==m.doCurve&&!E.isCliff){a=x.plotY;n=m.plotX;m=m.plotY;var h=0;y=(1.5*g+x.plotX)/2.5;z=(1.5*v+a)/2.5;n=(1.5*g+n)/2.5;f=(1.5*v+m)/2.5;n!==
388
+ y&&(h=(f-z)*(n-g)/(n-y)+v-f);z+=h;f+=h;z>a&&z>v?(z=Math.max(a,v),f=2*v-z):z<a&&z<v&&(z=Math.min(a,v),f=2*v-z);f>m&&f>v?(f=Math.max(m,v),z=2*v-f):f<m&&f<v&&(f=Math.min(m,v),z=2*v-f);E.rightContX=n;E.rightContY=f}E=["C",C(x.rightContX,x.plotX),C(x.rightContY,x.plotY),C(y,g),C(z,v),g,v];x.rightContX=x.rightContY=null;return E}})});I(H,"parts/AreaSplineSeries.js",[H["parts/Globals.js"]],function(a){var C=a.seriesTypes.area.prototype,A=a.seriesType;A("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,
389
+ getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});I(H,"parts/ColumnSeries.js",[H["parts/Globals.js"]],function(a){var C=a.animObject,A=a.color,E=a.extend,m=a.defined,g=a.isNumber,v=a.merge,x=a.pick,y=a.Series,z=a.seriesType,n=a.svg;z("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},
390
+ dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){y.prototype.init.apply(this,arguments);var a=this,h=a.chart;h.hasRendered&&h.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)})},getColumnMetrics:function(){var a=this,h=a.options,g=a.xAxis,e=a.yAxis,b=g.options.reversedStacks,
391
+ b=g.reversed&&!b||!g.reversed&&b,l,c={},t=0;!1===h.grouping?t=1:a.chart.series.forEach(function(b){var d=b.options,k=b.yAxis,f;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||e.len!==k.len||e.pos!==k.pos||(d.stacking?(l=b.stackKey,void 0===c[l]&&(c[l]=t++),f=c[l]):!1!==d.grouping&&(f=t++),b.columnIndex=f)});var n=Math.min(Math.abs(g.transA)*(g.ordinalSlope||h.pointRange||g.closestPointRange||g.tickInterval||1),g.len),w=n*h.groupPadding,m=(n-2*w)/(t||1),h=Math.min(h.maxPointWidth||
392
+ g.len,x(h.pointWidth,m*(1-2*h.pointPadding)));a.columnMetrics={width:h,offset:(m-h)/2+(w+((a.columnIndex||0)+(b?1:0))*m-n/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,h,g,e){var b=this.chart,f=this.borderWidth,c=-(f%2?.5:0),f=f%2?.5:1;b.inverted&&b.renderer.isVML&&(f+=1);this.options.crisp&&(g=Math.round(a+g)+c,a=Math.round(a)+c,g-=a);e=Math.round(h+e)+f;c=.5>=Math.abs(h)&&.5<e;h=Math.round(h)+f;e-=h;c&&e&&(--h,e+=1);return{x:a,y:h,width:g,height:e}},translate:function(){var a=this,h=
393
+ a.chart,g=a.options,e=a.dense=2>a.closestPointRange*a.xAxis.transA,e=a.borderWidth=x(g.borderWidth,e?0:1),b=a.yAxis,l=g.threshold,c=a.translatedThreshold=b.getThreshold(l),t=x(g.minPointLength,5),n=a.getColumnMetrics(),w=n.width,B=a.barW=Math.max(w,1+2*e),p=a.pointXOffset=n.offset,d=a.dataMin,k=a.dataMax;h.inverted&&(c-=.5);g.pointPadding&&(B=Math.ceil(B));y.prototype.translate.apply(a);a.points.forEach(function(e){var f=x(e.yBottom,c),g=999+Math.abs(f),q=w,g=Math.min(Math.max(-g,e.plotY),b.len+g),
394
+ u=e.plotX+p,r=B,n=Math.min(g,f),v,F=Math.max(g,f)-n;t&&Math.abs(F)<t&&(F=t,v=!b.reversed&&!e.negative||b.reversed&&e.negative,e.y===l&&a.dataMax<=l&&b.min<l&&d!==k&&(v=!v),n=Math.abs(n-c)>t?f-t:c-(v?t:0));m(e.options.pointWidth)&&(q=r=Math.ceil(e.options.pointWidth),u-=Math.round((q-w)/2));e.barX=u;e.pointWidth=q;e.tooltipPos=h.inverted?[b.len+b.pos-h.plotLeft-g,a.xAxis.len-u-r/2,F]:[u+r/2,g+b.pos-h.plotTop,F];e.shapeType=a.pointClass.prototype.shapeType||"rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?
395
+ [u,c,r,0]:[u,n,r,F])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,h){var f=this.options,e,b=this.pointAttrToOptions||{};e=b.stroke||"borderColor";var g=b["stroke-width"]||"borderWidth",c=a&&a.color||this.color,t=a&&a[e]||f[e]||this.color||c,n=a&&a[g]||f[g]||this[g]||0,b=a&&a.dashStyle||f.dashStyle,w=x(f.opacity,1),m;a&&this.zones.length&&(m=a.getZone(),c=
396
+ a.options.color||m&&m.color||this.color,m&&(t=m.borderColor||t,b=m.dashStyle||b,n=m.borderWidth||n));h&&(a=v(f.states[h],a.options.states&&a.options.states[h]||{}),h=a.brightness,c=a.color||void 0!==h&&A(c).brighten(a.brightness).get()||c,t=a[e]||t,n=a[g]||n,b=a.dashStyle||b,w=x(a.opacity,w));e={fill:c,stroke:t,"stroke-width":n,opacity:w};b&&(e.dashstyle=b);return e},drawPoints:function(){var a=this,h=this.chart,r=a.options,e=h.renderer,b=r.animationLimit||250,l;a.points.forEach(function(c){var f=
397
+ c.graphic,n=f&&h.pointCount<b?"animate":"attr";if(g(c.plotY)&&null!==c.y){l=c.shapeArgs;f&&f.element.nodeName!==c.shapeType&&(f=f.destroy());if(f)f[n](v(l));else c.graphic=f=e[c.shapeType](l).add(c.group||a.group);if(r.borderRadius)f[n]({r:r.borderRadius});h.styledMode||f[n](a.pointAttribs(c,c.selected&&"select")).shadow(!1!==c.allowShadow&&r.shadow,null,r.stacking&&!r.borderRadius);f.addClass(c.getClassName(),!0)}else f&&(c.graphic=f.destroy())})},animate:function(a){var f=this,g=this.yAxis,e=f.options,
398
+ b=this.chart.inverted,l={},c=b?"translateX":"translateY",t;n&&(a?(l.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(e.threshold))),b?l.translateX=a-g.len:l.translateY=a,f.clipBox&&f.setClip(),f.group.attr(l)):(t=f.group.attr(c),f.group.animate({scaleY:1},E(C(f.options.animation),{step:function(a,b){l[c]=t+b.pos*(g.pos-t);f.group.attr(l)}})),f.animate=null))},remove:function(){var a=this,h=a.chart;h.hasRendered&&h.series.forEach(function(f){f.type===a.type&&(f.isDirty=!0)});y.prototype.remove.apply(a,
399
+ arguments)}})});I(H,"parts/BarSeries.js",[H["parts/Globals.js"]],function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})});I(H,"parts/ScatterSeries.js",[H["parts/Globals.js"]],function(a){var C=a.Series,A=a.seriesType;A("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 10px"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},
400
+ {sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)},applyJitter:function(){var a=this,m=this.options.jitter,g=this.points.length;m&&this.points.forEach(function(v,x){["x","y"].forEach(function(y,z){var n,f="plot"+y.toUpperCase(),h,r;m[y]&&!v.isNull&&(n=a[y+"Axis"],r=m[y]*n.transA,n&&!n.isLog&&(h=Math.max(0,v[f]-r),n=Math.min(n.len,v[f]+r),z=1E4*
401
+ Math.sin(x+z*g),v[f]=h+(n-h)*(z-Math.floor(z)),"x"===y&&(v.clientX=v.plotX)))})})}});a.addEvent(C,"afterTranslate",function(){this.applyJitter&&this.applyJitter()})});I(H,"mixins/centered-series.js",[H["parts/Globals.js"]],function(a){var C=a.deg2rad,A=a.isNumber,E=a.pick,m=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,v=this.chart,x=2*(a.slicedOffset||0),y=v.plotWidth-2*x,v=v.plotHeight-2*x,z=a.center,z=[E(z[0],"50%"),E(z[1],"50%"),a.size||"100%",a.innerSize||0],
402
+ n=Math.min(y,v),f,h;for(f=0;4>f;++f)h=z[f],a=2>f||2===f&&/%$/.test(h),z[f]=m(h,[y,v,n,z[2]][f])+(a?x:0);z[3]>z[2]&&(z[3]=z[2]);return z},getStartAndEndRadians:function(a,m){a=A(a)?a:0;m=A(m)&&m>a&&360>m-a?m:a+360;return{start:C*(a+-90),end:C*(m+-90)}}}});I(H,"parts/PieSeries.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.CenteredSeriesMixin,E=a.defined,m=A.getStartAndEndRadians,g=a.merge,v=a.noop,x=a.pick,y=a.Point,z=a.Series,n=a.seriesType,f=a.setAnimation;n("pie","line",{center:[null,
403
+ null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,
404
+ directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var f=this,e=f.points,b=f.startAngleRad;a||(e.forEach(function(a){var c=a.graphic,e=a.shapeArgs;c&&(c.attr({r:a.startR||f.center[3]/2,start:b,end:b}),c.animate({r:e.r,start:e.start,end:e.end},f.options.animation))}),f.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,f=0,e=this.points,
405
+ b=e.length,g,c=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)g=e[a],f+=c&&!g.visible?0:g.isNull?0:g.y;this.total=f;for(a=0;a<b;a++)g=e[a],g.percentage=0<f&&(g.visible||!c)?g.y/f*100:0,g.total=f},generatePoints:function(){z.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,f,e){var b=this.center,h=this.radii?this.radii[e.index]:b[2]/2;return b[0]+(f?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-b[1])/(h+e.labelDistance),1),-1)))*(h+e.labelDistance)+(0<e.labelDistance?(f?-1:
406
+ 1)*this.options.dataLabels.padding:0)},translate:function(f){this.generatePoints();var g=0,e=this.options,b=e.slicedOffset,h=b+(e.borderWidth||0),c,t,n=m(e.startAngle,e.endAngle),w=this.startAngleRad=n.start,n=(this.endAngleRad=n.end)-w,B=this.points,p,d,k=e.dataLabels.distance,e=e.ignoreHiddenPoint,u,D=B.length,v;f||(this.center=f=this.getCenter());for(u=0;u<D;u++){v=B[u];c=w+g*n;if(!e||v.visible)g+=v.percentage/100;t=w+g*n;v.shapeType="arc";v.shapeArgs={x:f[0],y:f[1],r:f[2]/2,innerR:f[3]/2,start:Math.round(1E3*
407
+ c)/1E3,end:Math.round(1E3*t)/1E3};v.labelDistance=x(v.options.dataLabels&&v.options.dataLabels.distance,k);v.labelDistance=a.relativeLength(v.labelDistance,v.shapeArgs.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,v.labelDistance);t=(t+c)/2;t>1.5*Math.PI?t-=2*Math.PI:t<-Math.PI/2&&(t+=2*Math.PI);v.slicedTranslation={translateX:Math.round(Math.cos(t)*b),translateY:Math.round(Math.sin(t)*b)};p=Math.cos(t)*f[2]/2;d=Math.sin(t)*f[2]/2;v.tooltipPos=[f[0]+.7*p,f[1]+.7*d];v.half=t<-Math.PI/
408
+ 2||t>Math.PI/2?1:0;v.angle=t;c=Math.min(h,v.labelDistance/5);v.labelPosition={natural:{x:f[0]+p+Math.cos(t)*v.labelDistance,y:f[1]+d+Math.sin(t)*v.labelDistance},"final":{},alignment:0>v.labelDistance?"center":v.half?"right":"left",connectorPosition:{breakAt:{x:f[0]+p+Math.cos(t)*c,y:f[1]+d+Math.sin(t)*c},touchingSliceAt:{x:f[0]+p,y:f[1]+d}}}}},drawGraph:null,redrawPoints:function(){var a=this,f=a.chart,e=f.renderer,b,l,c,t,n=a.options.shadow;!n||a.shadowGroup||f.styledMode||(a.shadowGroup=e.g("shadow").attr({zIndex:-1}).add(a.group));
409
+ a.points.forEach(function(h){var w={};l=h.graphic;if(!h.isNull&&l){t=h.shapeArgs;b=h.getTranslate();if(!f.styledMode){var p=h.shadowGroup;n&&!p&&(p=h.shadowGroup=e.g("shadow").add(a.shadowGroup));p&&p.attr(b);c=a.pointAttribs(h,h.selected&&"select")}h.delayedRendering?(l.setRadialReference(a.center).attr(t).attr(b),f.styledMode||l.attr(c).attr({"stroke-linejoin":"round"}).shadow(n,p),h.delayedRendering=!1):(l.setRadialReference(a.center),f.styledMode||g(!0,w,c),g(!0,w,t,b),l.animate(w));l.attr({visibility:h.visible?
410
+ "inherit":"hidden"});l.addClass(h.getClassName())}else l&&(h.graphic=l.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(f){f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group),f.delayedRendering=!0)})},searchPoint:v,sortByAngle:function(a,f){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:A.getCenter,getSymbol:v},{init:function(){y.prototype.init.apply(this,
411
+ arguments);var a=this,f;a.name=x(a.name,"Slice");f=function(e){a.slice("select"===e.type)};C(a,"select",f);C(a,"unselect",f);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,f){var e=this,b=e.series,g=b.chart,c=b.options.ignoreHiddenPoint;f=x(f,c);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,b.options.data[b.data.indexOf(e)]=e.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(e[b])e[b][a?"show":"hide"](!0)}),
412
+ e.legendItem&&g.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),c&&(b.isDirty=!0),f&&g.redraw())},slice:function(a,g,e){var b=this.series;f(e,b.chart);x(g,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;b.options.data[b.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var f=
413
+ this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(f.x,f.y,f.r+a,f.r+a,{innerR:this.shapeArgs.r-1,start:f.start,end:f.end})},connectorShapes:{fixedOffset:function(a,f,e){var b=f.breakAt;f=f.touchingSliceAt;return["M",a.x,a.y].concat(e.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*b.x-f.x,2*b.y-f.y,b.x,b.y]:["L",b.x,b.y]).concat(["L",f.x,f.y])},straight:function(a,f){f=f.touchingSliceAt;return["M",a.x,a.y,"L",f.x,f.y]},crookedLine:function(f,g,e){g=
414
+ g.touchingSliceAt;var b=this.series,h=b.center[0],c=b.chart.plotWidth,t=b.chart.plotLeft,b=f.alignment,r=this.shapeArgs.r;e=a.relativeLength(e.crookDistance,1);e="left"===b?h+r+(c+t-h-r)*(1-e):t+(h-r)*e;h=["L",e,f.y];if("left"===b?e>f.x||e<g.x:e<f.x||e>g.x)h=[];return["M",f.x,f.y].concat(h).concat(["L",g.x,g.y])}},getConnectorPath:function(){var a=this.labelPosition,f=this.series.options.dataLabels,e=f.connectorShape,b=this.connectorShapes;b[e]&&(e=b[e]);return e.call(this,{x:a.final.x,y:a.final.y,
415
+ alignment:a.alignment},a.connectorPosition,f)}})});I(H,"parts/DataLabels.js",[H["parts/Globals.js"]],function(a){var C=a.arrayMax,A=a.defined,E=a.extend,m=a.format,g=a.merge,v=a.noop,x=a.pick,y=a.relativeLength,z=a.Series,n=a.seriesTypes,f=a.stableSort,h=a.isArray,r=a.splat;a.distribute=function(e,b,g){function c(a,b){return a.target-b.target}var h,l=!0,w=e,r=[],p;p=0;var d=w.reducedLen||b;for(h=e.length;h--;)p+=e[h].size;if(p>d){f(e,function(a,b){return(b.rank||0)-(a.rank||0)});for(p=h=0;p<=d;)p+=
416
+ e[h].size,h++;r=e.splice(h-1,e.length)}f(e,c);for(e=e.map(function(a){return{size:a.size,targets:[a.target],align:x(a.align,.5)}});l;){for(h=e.length;h--;)l=e[h],p=(Math.min.apply(0,l.targets)+Math.max.apply(0,l.targets))/2,l.pos=Math.min(Math.max(0,p-l.size*l.align),b-l.size);h=e.length;for(l=!1;h--;)0<h&&e[h-1].pos+e[h-1].size>e[h].pos&&(e[h-1].size+=e[h].size,e[h-1].targets=e[h-1].targets.concat(e[h].targets),e[h-1].align=.5,e[h-1].pos+e[h-1].size>b&&(e[h-1].pos=b-e[h-1].size),e.splice(h,1),l=
417
+ !0)}w.push.apply(w,r);h=0;e.some(function(d){var c=0;if(d.targets.some(function(){w[h].pos=d.pos+c;if(Math.abs(w[h].pos-w[h].target)>g)return w.slice(0,h+1).forEach(function(a){delete a.pos}),w.reducedLen=(w.reducedLen||b)-.1*b,w.reducedLen>.1*b&&a.distribute(w,b,g),!0;c+=w[h].size;h++}))return!0});f(w,c)};z.prototype.drawDataLabels=function(){function e(a,b){var d=b.filter;return d?(b=d.operator,a=a[d.property],d=d.value,"\x3e"===b&&a>d||"\x3c"===b&&a<d||"\x3e\x3d"===b&&a>=d||"\x3c\x3d"===b&&a<=
418
+ d||"\x3d\x3d"===b&&a==d||"\x3d\x3d\x3d"===b&&a===d?!0:!1):!0}function b(a,b){var d=[],c;if(h(a)&&!h(b))d=a.map(function(a){return g(a,b)});else if(h(b)&&!h(a))d=b.map(function(b){return g(a,b)});else if(h(a)||h(b))for(c=Math.max(a.length,b.length);c--;)d[c]=g(a[c],b[c]);else d=g(a,b);return d}var f=this,c=f.chart,t=f.options,n=t.dataLabels,w=f.points,v,p=f.hasRendered||0,d,k=a.animObject(t.animation).duration,u=Math.min(k,200),D=!c.renderer.forExport&&x(n.defer,0<u),G=c.renderer,n=b(b(c.options.plotOptions&&
419
+ c.options.plotOptions.series&&c.options.plotOptions.series.dataLabels,c.options.plotOptions&&c.options.plotOptions[f.type]&&c.options.plotOptions[f.type].dataLabels),n);a.fireEvent(this,"drawDataLabels");if(h(n)||n.enabled||f._hasPointLabels)d=f.plotGroup("dataLabelsGroup","data-labels",D&&!p?"hidden":"inherit",n.zIndex||6),D&&(d.attr({opacity:+p}),p||setTimeout(function(){var a=f.dataLabelsGroup;a&&(f.visible&&d.show(!0),a[t.animation?"animate":"attr"]({opacity:1},{duration:u}))},k-u)),w.forEach(function(k){v=
420
+ r(b(n,k.dlOptions||k.options&&k.options.dataLabels));v.forEach(function(b,g){var p=b.enabled&&(!k.isNull||k.dataLabelOnNull)&&e(k,b),h,l,u,q,w=k.dataLabels?k.dataLabels[g]:k.dataLabel,r=k.connectors?k.connectors[g]:k.connector,n=!w;p&&(h=k.getLabelConfig(),l=x(b[k.formatPrefix+"Format"],b.format),h=A(l)?m(l,h,c.time):(b[k.formatPrefix+"Formatter"]||b.formatter).call(h,b),l=b.style,u=b.rotation,c.styledMode||(l.color=x(b.color,l.color,f.color,"#000000"),"contrast"===l.color&&(k.contrastColor=G.getContrast(k.color||
421
+ f.color),l.color=b.inside||0>x(b.distance,k.labelDistance)||t.stacking?k.contrastColor:"#000000"),t.cursor&&(l.cursor=t.cursor)),q={r:b.borderRadius||0,rotation:u,padding:b.padding,zIndex:1},c.styledMode||(q.fill=b.backgroundColor,q.stroke=b.borderColor,q["stroke-width"]=b.borderWidth),a.objectEach(q,function(a,b){void 0===a&&delete q[b]}));!w||p&&A(h)?p&&A(h)&&(w?q.text=h:(k.dataLabels=k.dataLabels||[],w=k.dataLabels[g]=u?G.text(h,0,-9999).addClass("highcharts-data-label"):G.label(h,0,-9999,b.shape,
422
+ null,null,b.useHTML,null,"data-label"),g||(k.dataLabel=w),w.addClass(" highcharts-data-label-color-"+k.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),w.options=b,w.attr(q),c.styledMode||w.css(l).shadow(b.shadow),w.added||w.add(d),b.textPath&&!b.useHTML&&w.setTextPath(k.getDataLabelPath&&k.getDataLabelPath(w)||k.graphic,b.textPath),f.alignDataLabel(k,w,b,null,n)):(k.dataLabel=k.dataLabel&&k.dataLabel.destroy(),k.dataLabels&&(1===k.dataLabels.length?delete k.dataLabels:delete k.dataLabels[g]),
423
+ g||delete k.dataLabel,r&&(k.connector=k.connector.destroy(),k.connectors&&(1===k.connectors.length?delete k.connectors:delete k.connectors[g])))})});a.fireEvent(this,"afterDrawDataLabels")};z.prototype.alignDataLabel=function(a,b,f,c,g){var e=this.chart,h=this.isCartesian&&e.inverted,l=x(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),p=x(a.plotY,-9999),d=b.getBBox(),k,u=f.rotation,t=f.align,r=this.visible&&(a.series.forceDL||e.isInsidePlot(l,Math.round(p),h)||c&&e.isInsidePlot(l,h?c.x+1:c.y+c.height-1,h)),
424
+ q="justify"===x(f.overflow,"justify");if(r&&(k=e.renderer.fontMetrics(e.styledMode?void 0:f.style.fontSize,b).b,c=E({x:h?this.yAxis.len-p:l,y:Math.round(h?this.xAxis.len-l:p),width:0,height:0},c),E(f,{width:d.width,height:d.height}),u?(q=!1,l=e.renderer.rotCorr(k,u),l={x:c.x+f.x+c.width/2+l.x,y:c.y+f.y+{top:0,middle:.5,bottom:1}[f.verticalAlign]*c.height},b[g?"attr":"animate"](l).attr({align:t}),p=(u+720)%360,p=180<p&&360>p,"left"===t?l.y-=p?d.height:0:"center"===t?(l.x-=d.width/2,l.y-=d.height/2):
425
+ "right"===t&&(l.x-=d.width,l.y-=p?0:d.height),b.placed=!0,b.alignAttr=l):(b.align(f,null,c),l=b.alignAttr),q&&0<=c.height?a.isLabelJustified=this.justifyDataLabel(b,f,l,d,c,g):x(f.crop,!0)&&(r=e.isInsidePlot(l.x,l.y)&&e.isInsidePlot(l.x+d.width,l.y+d.height)),f.shape&&!u))b[g?"attr":"animate"]({anchorX:h?e.plotWidth-a.plotY:a.plotX,anchorY:h?e.plotHeight-a.plotX:a.plotY});r||(b.attr({y:-9999}),b.placed=!1)};z.prototype.justifyDataLabel=function(a,b,f,c,g,h){var e=this.chart,l=b.align,p=b.verticalAlign,
426
+ d,k,u=a.box?0:a.padding||0;d=f.x+u;0>d&&("right"===l?b.align="left":b.x=-d,k=!0);d=f.x+c.width-u;d>e.plotWidth&&("left"===l?b.align="right":b.x=e.plotWidth-d,k=!0);d=f.y+u;0>d&&("bottom"===p?b.verticalAlign="top":b.y=-d,k=!0);d=f.y+c.height-u;d>e.plotHeight&&("top"===p?b.verticalAlign="bottom":b.y=e.plotHeight-d,k=!0);k&&(a.placed=!h,a.align(b,null,g));return k};n.pie&&(n.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,
427
+ b,f,c){return a.getX(f<b.top+2||f>b.bottom-2?c:f,b.half,b)},justify:function(a,b,f){return f[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,f,c){a=a.getBBox().width;return b?a+c:f-a-c},alignToConnectors:function(a,b,f,c){var e=0,g;a.forEach(function(a){g=a.dataLabel.getBBox().width;g>e&&(e=g)});return b?e+c:f-e-c}},n.pie.prototype.drawDataLabels=function(){var e=this,b=e.data,f,c=e.chart,h=e.options.dataLabels,r=h.connectorPadding,w,n=c.plotWidth,p=c.plotHeight,d=c.plotLeft,k=
428
+ Math.round(c.chartWidth/3),u,m=e.center,v=m[2]/2,q=m[1],y,N,O,L,E=[[],[]],M,J,H,I,P=[0,0,0,0],S=e.dataLabelPositioners,W;e.visible&&(h.enabled||e._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),z.prototype.drawDataLabels.apply(e),b.forEach(function(a){a.dataLabel&&(a.visible?(E[a.half].push(a),a.dataLabel._pos=null,!A(h.style.width)&&!A(a.options.dataLabels&&
429
+ a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>k&&(a.dataLabel.css({width:.7*k}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),E.forEach(function(b,k){var g,l,u=b.length,t=[],w;if(u)for(e.sortByAngle(b,k-.5),0<e.maxLabelDistance&&(g=Math.max(0,q-v-e.maxLabelDistance),l=Math.min(q+v+e.maxLabelDistance,c.plotHeight),b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,
430
+ q-v-a.labelDistance),a.bottom=Math.min(q+v+a.labelDistance,c.plotHeight),w=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+w/2,size:w,rank:a.y},t.push(a.distributeBox))}),g=l+w-g,a.distribute(t,g,g/5)),I=0;I<u;I++){f=b[I];O=f.labelPosition;y=f.dataLabel;H=!1===f.visible?"hidden":"inherit";J=g=O.natural.y;t&&A(f.distributeBox)&&(void 0===f.distributeBox.pos?H="hidden":(L=f.distributeBox.size,J=S.radialDistributionY(f)));delete f.positionIndex;if(h.justify)M=
431
+ S.justify(f,v,m);else switch(h.alignTo){case "connectors":M=S.alignToConnectors(b,k,n,d);break;case "plotEdges":M=S.alignToPlotEdges(y,k,n,d);break;default:M=S.radialDistributionX(e,f,J,g)}y._attr={visibility:H,align:O.alignment};y._pos={x:M+h.x+({left:r,right:-r}[O.alignment]||0),y:J+h.y-10};O.final.x=M;O.final.y=J;x(h.crop,!0)&&(N=y.getBBox().width,g=null,M-N<r&&1===k?(g=Math.round(N-M+r),P[3]=Math.max(g,P[3])):M+N>n-r&&0===k&&(g=Math.round(M+N-n+r),P[1]=Math.max(g,P[1])),0>J-L/2?P[0]=Math.max(Math.round(-J+
432
+ L/2),P[0]):J+L/2>p&&(P[2]=Math.max(Math.round(J+L/2-p),P[2])),y.sideOverflow=g)}}),0===C(P)||this.verifyDataLabelOverflow(P))&&(this.placeDataLabels(),this.points.forEach(function(a){W=g(h,a.options.dataLabels);if(w=x(W.connectorWidth,1)){var b;u=a.connector;if((y=a.dataLabel)&&y._pos&&a.visible&&0<a.labelDistance){H=y._attr.visibility;if(b=!u)a.connector=u=c.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(e.dataLabelsGroup),
433
+ c.styledMode||u.attr({"stroke-width":w,stroke:W.connectorColor||a.color||"#666666"});u[b?"attr":"animate"]({d:a.getConnectorPath()});u.attr("visibility",H)}else u&&(a.connector=u.destroy())}}))},n.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,e;b&&a.visible&&((e=b._pos)?(b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),
434
+ b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](e),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},n.pie.prototype.alignDataLabel=v,n.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,c=e.center,f=e.minSize||80,g,h=null!==e.size;h||(null!==c[0]?g=Math.max(b[2]-Math.max(a[1],a[3]),f):(g=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2),null!==c[1]?g=Math.max(Math.min(g,b[2]-Math.max(a[0],a[2])),f):(g=Math.max(Math.min(g,b[2]-a[0]-a[2]),f),
435
+ b[1]+=(a[0]-a[2])/2),g<b[2]?(b[2]=g,b[3]=Math.min(y(e.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):h=!0);return h});n.column&&(n.column.prototype.alignDataLabel=function(a,b,f,c,h){var e=this.chart.inverted,l=a.series,t=a.dlBox||a.shapeArgs,p=x(a.below,a.plotY>x(this.translatedThreshold,l.yAxis.len)),d=x(f.inside,!!this.options.stacking);t&&(c=g(t),0>c.y&&(c.height+=c.y,c.y=0),t=c.y+c.height-l.yAxis.len,0<t&&(c.height-=t),e&&(c={x:l.yAxis.len-c.y-c.height,y:l.xAxis.len-
436
+ c.x-c.width,width:c.height,height:c.width}),d||(e?(c.x+=p?0:c.width,c.width=0):(c.y+=p?c.height:0,c.height=0)));f.align=x(f.align,!e||d?"center":p?"right":"left");f.verticalAlign=x(f.verticalAlign,e||d?"middle":p?"top":"bottom");z.prototype.alignDataLabel.call(this,a,b,f,c,h);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})});I(H,"modules/overlapping-datalabels.src.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,A=a.isArray,E=a.objectEach,m=a.pick,g=a.addEvent,v=a.fireEvent;
437
+ g(C,"render",function(){var a=[];(this.labelCollectors||[]).forEach(function(g){a=a.concat(g())});(this.yAxis||[]).forEach(function(g){g.options.stackLabels&&!g.options.stackLabels.allowOverlap&&E(g.stacks,function(g){E(g,function(g){a.push(g.label)})})});(this.series||[]).forEach(function(g){var v=g.options.dataLabels;g.visible&&(!1!==v.enabled||g._hasPointLabels)&&g.points.forEach(function(g){g.visible&&(A(g.dataLabels)?g.dataLabels:g.dataLabel?[g.dataLabel]:[]).forEach(function(f){var h=f.options;
438
+ f.labelrank=m(h.labelrank,g.labelrank,g.shapeArgs&&g.shapeArgs.height);h.allowOverlap||a.push(f)})})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var g=this,m=a.length,n=g.renderer,f,h,r,e,b,l,c=function(a,b,c,e,f,d,k,g){return!(f>a+c||f+k<a||d>b+e||d+g<b)};r=function(a){var b,c,e,f=a.box?0:a.padding||0;e=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,
439
+ e=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+f,y:b.y+(c.translateY||0)+f-e,width:a.width-2*f,height:a.height-2*f}};for(h=0;h<m;h++)if(f=a[h])f.oldOpacity=f.opacity,f.newOpacity=1,f.absoluteBox=r(f);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(h=0;h<m;h++)for(l=(r=a[h])&&r.absoluteBox,f=h+1;f<m;++f)if(b=(e=a[f])&&e.absoluteBox,l&&b&&r!==e&&0!==r.newOpacity&&0!==e.newOpacity&&(b=c(l.x,l.y,l.width,l.height,b.x,b.y,b.width,b.height)))(r.labelrank<e.labelrank?r:e).newOpacity=
440
+ 0;a.forEach(function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b),v(g,"afterHideOverlappingLabels")):a.attr({opacity:c})),a.isOld=!0)})}});I(H,"parts/Interaction.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.Chart,E=a.createElement,m=a.css,g=a.defaultOptions,v=a.defaultPlotOptions,x=a.extend,y=a.fireEvent,z=a.hasTouch,n=a.isObject,f=a.isArray,h=a.Legend,
441
+ r=a.merge,e=a.pick,b=a.Point,l=a.Series,c=a.seriesTypes,t=a.svg,F;F=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){var b=c.getPointFromEvent(a);void 0!==b&&(c.isDirectTouch=!0,b.onMouseOver(a))},e;a.points.forEach(function(a){e=f(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);e.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});a._hasTracking||(a.trackerGroups.forEach(function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",
442
+ d).on("mouseout",function(a){c.onTrackerMouseOut(a)});if(z)a[e].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[e].css(m).css({cursor:a.options.cursor})}}),a._hasTracking=!0);y(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,h=f.renderer,l=f.options.tooltip.snap,r=a.tracker,n,m=function(){if(f.hoverSeries!==a)a.onMouseOver()},v="rgba(192,192,192,"+(t?.0001:.002)+")";if(e&&!c)for(n=
443
+ e+1;n--;)"M"===d[n]&&d.splice(n+1,0,d[n+1]-l,d[n+2],"L"),(n&&"M"===d[n]||n===e)&&d.splice(n,0,"L",d[n-2]+l,d[n-1]);r?r.attr({d:d}):a.graph&&(a.tracker=h.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),f.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:v,fill:c?v:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*l)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",
444
+ m).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&!f.styledMode&&a.css({cursor:b.cursor});if(z)a.on("touchstart",m)}));y(this,"afterDrawTracker")}};c.column&&(c.column.prototype.drawTracker=F.drawTrackerPoint);c.pie&&(c.pie.prototype.drawTracker=F.drawTrackerPoint);c.scatter&&(c.scatter.prototype.drawTracker=F.drawTrackerPoint);x(h.prototype,{setItemEvents:function(a,c,e){var d=this,f=d.chart.renderer.boxWrapper,g=a instanceof b,h="highcharts-legend-"+(g?"point":"series")+"-active",
445
+ p=d.chart.styledMode;(e?c:a.legendGroup).on("mouseover",function(){d.allItems.forEach(function(b){a!==b&&b.setState("inactive",!g)});a.setState("hover");a.visible&&f.addClass(h);p||c.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.styledMode||c.css(r(a.visible?d.itemStyle:d.itemHiddenStyle));d.allItems.forEach(function(b){a!==b&&b.setState("",!g)});f.removeClass(h);a.setState()}).on("click",function(b){var d=function(){a.setVisible&&a.setVisible()};f.removeClass(h);b={browserEvent:b};a.firePointEvent?
446
+ a.firePointEvent("legendItemClick",b,d):y(a,"legendItemClick",b,d)})},createCheckboxForItem:function(a){a.checkbox=E("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){y(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});x(A.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=g.lang,d=b.options.chart.resetZoomButton,
447
+ e=d.theme,f=e.states,h="chart"===d.relativeTo||"spaceBox"===d.relativeTo?null:"plotBox";y(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,f&&f.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,h)});y(this,"afterShowResetZoom")},zoomOut:function(){y(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(b){var c=this,f,d=c.pointer,k=!1,g=c.inverted?d.mouseDownX:d.mouseDownY,
448
+ h;!b||b.resetSelection?(c.axes.forEach(function(a){f=a.zoom()}),d.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){var e=b.axis,h=c.inverted?e.left:e.top,p=c.inverted?h+e.width:h+e.height,l=e.isXAxis,u=!1;if(!l&&g>=h&&g<=p||l||!a.defined(g))u=!0;d[l?"zoomX":"zoomY"]&&u&&(f=e.zoom(b.min,b.max),e.displayBtn&&(k=!0))});h=c.resetZoomButton;k&&!h?c.showResetZoom():!k&&n(h)&&(c.resetZoomButton=h.destroy());f&&c.redraw(e(c.options.chart.animation,b&&b.animation,100>c.pointCount))},pan:function(a,
449
+ b){var c=this,d=c.hoverPoints,e;y(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",k=c[d],g=(b.pointRange||0)/2,h=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,p=b.getExtremes(),l=b.toValue(k-f,!0)+g*h,h=b.toValue(k+b.len-f,!0)-g*h,u=h<l,k=u?h:l,l=u?l:h,h=Math.min(p.dataMin,g?p.min:b.toValue(b.toPixels(p.min)-b.minPixelPadding)),
450
+ g=Math.max(p.dataMax,g?p.max:b.toValue(b.toPixels(p.max)+b.minPixelPadding)),u=h-k;0<u&&(l+=u,k=h);u=l-g;0<u&&(l=g,k-=u);b.series.length&&k!==p.min&&l!==p.max&&(b.setExtremes(k,l,!1,!1,{trigger:"pan"}),e=!0);c[d]=f});e&&c.redraw(!1);m(c.container,{cursor:"move"})})}});x(b.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[d.data.indexOf(c)]=c.options;c.setState(a&&
451
+ "select");b||f.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==c&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(f.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");
452
+ this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=r(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(c,d){a.isFunction(c)&&C(b,d,c)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,g=this.state,h=f.options.states[a||"normal"]||{},l=v[f.type].marker&&f.options.marker,q=l&&
453
+ !1===l.enabled,t=l&&l.states&&l.states[a||"normal"]||{},r=!1===t.enabled,n=f.stateMarkerGraphic,m=this.marker||{},w=f.chart,B=f.halo,F,z,A,C=l&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(r||q&&!1===t.enabled)||a&&m.states&&m.states[a]&&!1===m.states[a].enabled)){this.state=a;C&&(F=f.markerAttribs(this,a));if(this.graphic)g&&this.graphic.removeClass("highcharts-point-"+g),a&&this.graphic.addClass("highcharts-point-"+a),w.styledMode||(z=f.pointAttribs(this,
454
+ a),A=e(w.options.chart.animation,h.animation),f.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:z.opacity},A)}),this.connector&&this.connector.animate({opacity:z.opacity},A)),this.graphic.animate(z,A)),F&&this.graphic.animate(F,e(w.options.chart.animation,t.animation,l.animation)),n&&n.hide();else{if(a&&t){g=m.symbol||f.symbol;n&&n.currentSymbol!==g&&(n=n.destroy());if(n)n[b?"animate":"attr"]({x:F.x,y:F.y});else g&&(f.stateMarkerGraphic=n=w.renderer.symbol(g,
455
+ F.x,F.y,F.width,F.height).add(f.markerGroup),n.currentSymbol=g);!w.styledMode&&n&&n.attr(f.pointAttribs(this,a))}n&&(n[a&&w.isInsidePlot(c,d,w.inverted)?"show":"hide"](),n.element.point=this)}(a=h.halo)&&a.size?(B||(f.halo=B=w.renderer.path().add((this.graphic||n).parentGroup)),B.show()[b?"animate":"attr"]({d:this.haloPath(a.size)}),B.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),B.point=this,w.styledMode||B.attr(x({fill:this.color||
456
+ f.color,"fill-opacity":a.opacity},a.attributes))):B&&B.point&&B.point.haloPath&&B.animate({d:B.point.haloPath(0)},null,B.hide);y(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});x(l.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&y(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,
457
+ b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&y(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})},setState:function(a,b){var c=this,d=c.options,f=c.graph,g=d.inactiveOtherPoints,h=d.states,l=d.lineWidth,q=d.opacity,t=e(h[a||"normal"]&&h[a||"normal"].animation,c.chart.options.chart.animation),d=0;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&
458
+ (c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(h[a]&&!1===h[a].enabled)return;a&&(l=h[a].lineWidth||l+(h[a].lineWidthPlus||0),q=e(h[a].opacity,q));if(f&&!f.dashstyle)for(h={"stroke-width":l},f.animate(h,t);c["zone-graph-"+d];)c["zone-graph-"+d].attr(h),d+=1;g||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:q},t)})}b&&g&&c.points&&c.points.forEach(function(b){b.setState&&
459
+ b.setState(a)})},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&
460
+ a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);y(c,f);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);y(this,a?"select":"unselect")},drawTracker:F.drawTrackerGraph})});I(H,"parts/Responsive.js",[H["parts/Globals.js"]],function(a){var C=a.Chart,A=a.isArray,E=a.isObject,m=
461
+ a.pick,g=a.splat;C.prototype.setResponsive=function(g,m){var v=this.options.responsive,x=[],n=this.currentResponsive;!m&&v&&v.rules&&v.rules.forEach(function(f){void 0===f._id&&(f._id=a.uniqueKey());this.matchResponsiveRule(f,x,g)},this);m=a.merge.apply(0,x.map(function(f){return a.find(v.rules,function(a){return a._id===f}).chartOptions}));m.isResponsiveOptions=!0;x=x.toString()||void 0;x!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,g,!0),x?(n=this.currentOptions(m),n.isResponsiveOptions=!0,this.currentResponsive=
462
+ {ruleIds:x,mergedOptions:m,undoOptions:n},this.update(m,g,!0)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,g){var v=a.condition;(v.callback||function(){return this.chartWidth<=m(v.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=m(v.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=m(v.minWidth,0)&&this.chartHeight>=m(v.minHeight,0)}).call(this)&&g.push(a._id)};C.prototype.currentOptions=function(v){function x(n,f,h,r){var e;a.objectEach(n,function(a,l){if(!r&&-1<y.collectionsWithUpdate.indexOf(l))for(a=
463
+ g(a),h[l]=[],e=0;e<a.length;e++)f[l][e]&&(h[l][e]={},x(a[e],f[l][e],h[l][e],r+1));else E(a)?(h[l]=A(a)?[]:{},x(a,f[l]||{},h[l],r+1)):h[l]=m(f[l],null)})}var y=this,z={};x(v,this.options,z,0);return z}});I(H,"masters/highcharts.src.js",[H["parts/Globals.js"]],function(a){return a});I(H,"parts/Scrollbar.js",[H["parts/Globals.js"]],function(a){function C(a,e,c){this.init(a,e,c)}var A=a.addEvent,E=a.Axis,m=a.correctFloat,g=a.defaultOptions,v=a.defined,x=a.destroyObjectProperties,y=a.fireEvent,z=a.hasTouch,
464
+ n=a.merge,f=a.pick,h=a.removeEvent,r,e={height:a.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,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=n(!0,e,g.scrollbar);a.swapXY=r=function(a,e){var b=
465
+ a.length,f;if(e)for(e=0;e<b;e+=3)f=a[e+1],a[e+1]=a[e+2],a[e+2]=f;return a};C.prototype={init:function(a,g,c){this.scrollbarButtons=[];this.renderer=a;this.userOptions=g;this.options=n(e,g);this.chart=c;this.size=f(this.options.size,this.options.height);g.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,e=this.options,c=this.size,f=this.chart.styledMode,g;this.group=g=a.g("scrollbar").attr({zIndex:e.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,
466
+ r:e.trackBorderRadius||0,height:c,width:c}).add(g);f||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,width:c,r:e.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(r(["M",-3,c/4,"L",-3,2*c/3,"M",0,c/4,"L",0,2*c/3,
467
+ "M",3,c/4,"L",3,2*c/3],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:e.barBackgroundColor,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,
468
+ e,c,f){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=f;this.yOffset=g;b?(this.width=this.yOffset=c=g=this.size,this.xOffset=e=0,this.barWidth=f-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=f=e=this.size,this.barWidth=c-2*f,this.y+=this.options.margin);this.group[h]({translateX:a,translateY:this.y});this.track[h]({width:c,height:f});this.scrollbarButtons[1][h]({translateX:b?0:c-e,translateY:b?
469
+ f-g:0})},drawScrollbarButton:function(a){var b=this.renderer,c=this.scrollbarButtons,e=this.options,f=this.size,g;g=b.g().add(this.group);c.push(g);g=b.rect().addClass("highcharts-scrollbar-button").add(g);this.chart.styledMode||g.attr({stroke:e.buttonBorderColor,"stroke-width":e.buttonBorderWidth,fill:e.buttonBackgroundColor});g.attr(g.crisp({x:-.5,y:-.5,width:f+1,height:f+1,r:e.buttonBorderRadius},g.strokeWidth()));g=b.path(r(["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],
470
+ e.vertical)).addClass("highcharts-scrollbar-arrow").add(c[a]);this.chart.styledMode||g.attr({fill:e.buttonArrowColor})},setRange:function(a,e){var b=this.options,f=b.vertical,g=b.minWidth,h=this.barWidth,l,p,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";v(h)&&(a=Math.max(a,0),l=Math.ceil(h*a),this.calculatedWidth=p=m(h*Math.min(e,1)-l),p<g&&(l=(h-g+p)*a,p=g),g=Math.floor(l+this.xOffset+this.yOffset),h=p/2-.5,this.from=a,this.to=e,f?(this.scrollbarGroup[d]({translateY:g}),
471
+ this.scrollbar[d]({height:p}),this.scrollbarRifles[d]({translateY:h}),this.scrollbarTop=g,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:g}),this.scrollbar[d]({width:p}),this.scrollbarRifles[d]({translateX:h}),this.scrollbarLeft=g,this.scrollbarTop=0),12>=p?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 c=a.chart.pointer.normalize(b),
472
+ e=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]||(c=a.cursorToScrollbarPosition(c)[e],e=a[e],e=c-e,a.hasDragged=!0,a.updatePosition(f[0]+e,f[1]+e),a.hasDragged&&y(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&y(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=
473
+ 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=function(b){var c=m(a.to-a.from)*a.options.step;a.updatePosition(m(a.from-c),m(a.to-c));y(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);y(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};
474
+ 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>g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);y(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-
475
+ this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,e){1<e&&(a=m(1-m(e-a)),e=1);0>a&&(e=m(e-a),a=0);this.from=a;this.to=e},update:function(a){this.destroy();this.init(this.chart.renderer,n(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,c=this.scrollbarGroup.element,f=this.mouseDownHandler,g=this.mouseMoveHandler,h=this.mouseUpHandler,a=[[e[a[0]].element,"click",this.buttonToMinClick],[e[a[1]].element,"click",this.buttonToMaxClick],
476
+ [this.track.element,"click",this.trackClick],[c,"mousedown",f],[c.ownerDocument,"mousemove",g],[c.ownerDocument,"mouseup",h]];z&&a.push([c,"touchstart",f],[c.ownerDocument,"touchmove",g],[c.ownerDocument,"touchend",h]);a.forEach(function(a){A.apply(null,a)});this._events=a},removeEvents:function(){this._events.forEach(function(a){h.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&
477
+ this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,x(a.scrollbarButtons))}};a.Scrollbar||(A(E,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new C(b.chart.renderer,b.options.scrollbar,b.chart),A(b.scrollbar,"changed",function(e){var c=Math.min(f(b.options.min,b.min),b.min,b.dataMin),g=Math.max(f(b.options.max,b.max),
478
+ b.max,b.dataMax)-c,h;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(h=c+g*this.to,c+=g*this.from):(h=c+g*(1-this.from),c+=g*(1-this.to));f(this.options.liveRedraw,a.svg&&!a.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===e.DOMType||!v(e.DOMType)?b.setExtremes(c,h,!0,"mousemove"!==e.DOMType,e):this.setRange(this.from,this.to)}))}),A(E,"afterRender",function(){var a=Math.min(f(this.options.min,this.min),this.min,f(this.dataMin,this.min)),e=Math.max(f(this.options.max,this.max),this.max,f(this.dataMax,
479
+ this.max)),c=this.scrollbar,g=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,n=this.options.margin||0;c&&(this.horiz?(this.opposite||(h[1]+=g),c.position(this.left,this.top+this.height+2+h[1]-(this.opposite?n:0),this.width,this.height),this.opposite||(h[1]+=n),g=1):(this.opposite&&(h[0]+=g),c.position(this.left+this.width+2+h[0]-(this.opposite?0:n),this.top,this.width,this.height),this.opposite&&(h[0]+=n),g=0),h[g]+=c.size+c.options.margin,isNaN(a)||isNaN(e)||!v(this.min)||
480
+ !v(this.max)||this.min===this.max?c.setRange(0,1):(h=(this.min-a)/(e-a),a=(this.max-a)/(e-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?c.setRange(h,a):c.setRange(1-a,1-h)))}),A(E,"afterGetOffset",function(){var a=this.horiz?2:1,e=this.scrollbar;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=e.size+e.options.margin)}),a.Scrollbar=C)});I(H,"parts/Navigator.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}var A=a.addEvent,E=a.Axis,m=a.Chart,g=a.color,
481
+ v=a.defaultOptions,x=a.defined,y=a.destroyObjectProperties,z=a.erase,n=a.extend,f=a.hasTouch,h=a.isArray,r=a.isNumber,e=a.isTouchDevice,b=a.merge,l=a.pick,c=a.removeEvent,t=a.Scrollbar,F=a.Series,w,B=function(a){var b=[].filter.call(arguments,r);if(b.length)return Math[a].apply(0,b)};w=void 0===a.seriesTypes.areaspline?"line":"areaspline";n(v,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",
482
+ borderColor:"#999999"},maskFill:g("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:w,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["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,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",
483
+ 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,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,
484
+ tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,e,f){a=f.width/2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};E.prototype.toFixedRange=function(a,b,c,e){var d=this.chart&&this.chart.fixedRange;a=l(c,this.translate(a,!0,!this.horiz));b=l(e,this.translate(b,!0,!this.horiz));c=d&&(b-a)/d;.7<c&&1.3>c&&(e?a=b-d:b=a+d);r(a)&&r(b)||(a=b=void 0);return{min:a,max:b}};C.prototype=
485
+ {drawHandle:function(a,b,c,e){var d=this.navigatorOptions.handles.height;this.handles[b][e](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-d)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-d/2-1)})},drawOutline:function(a,b,c,e){var d=this.navigatorOptions.maskInside,f=this.outline.strokeWidth(),g=f/2,f=f%2/2,k=this.outlineHeight,h=this.scrollbarHeight,p=this.size,l=this.left-h,u=this.top;c?(l-=g,c=
486
+ u+b+f,b=u+a+f,a=["M",l+k,u-h-f,"L",l+k,c,"L",l,c,"L",l,b,"L",l+k,b,"L",l+k,u+p+h].concat(d?["M",l+k,c-g,"L",l+k,b+g]:[])):(a+=l+h-f,b+=l+h-f,u+=g,a=["M",l,u,"L",a,u,"L",a,u+k,"L",b,u+k,"L",b,u,"L",l+p+2*h,u].concat(d?["M",a-g,u,"L",b+g,u]:[]));this.outline[e]({d:a})},drawMasks:function(a,b,c,e){var d=this.left,f=this.top,g=this.height,k,h,p,l;c?(p=[d,d,d],l=[f,f+a,f+b],h=[g,g,g],k=[a,b-a,this.size-b]):(p=[d,d+a,d+b],l=[f,f,f],h=[a,b-a,this.size-b],k=[g,g,g]);this.shades.forEach(function(a,b){a[e]({x:p[b],
487
+ y:l[b],width:h[b],height:k[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,e=a.chart,f=e.renderer,g,h={cursor:e.inverted?"ns-resize":"ew-resize"};a.navigatorGroup=g=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!c,c,!c].forEach(function(d,c){a.shades[c]=f.rect().addClass("highcharts-navigator-mask"+(1===c?"-inside":"-outside")).add(g);e.styledMode||a.shades[c].attr({fill:d?b.maskFill:"rgba(0,0,0,0)"}).css(1===c&&h)});a.outline=f.path().addClass("highcharts-navigator-outline").add(g);
488
+ e.styledMode||a.outline.attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor});b.handles.enabled&&[0,1].forEach(function(d){b.handles.inverted=e.inverted;a.handles[d]=f.symbol(b.handles.symbols[d],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[d].attr({zIndex:7-d}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][d]).add(g);if(!e.styledMode){var c=b.handles;a.handles[d].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.lineWidth}).css(h)}})},
489
+ update:function(a){(this.series||[]).forEach(function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();b(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(b,d,c,e){var f=this.chart,g,k,h=this.scrollbarHeight,p,u=this.xAxis;g=u.fake?f.xAxis[0]:u;var t=this.navigatorEnabled,n,m=this.rendered;k=f.inverted;var w,v=f.xAxis[0].minRange,y=f.xAxis[0].options.maxRange;if(!this.hasDragged||x(c)){if(!r(b)||!r(d))if(m)c=0,e=l(u.width,g.width);else return;
490
+ this.left=l(u.left,f.plotLeft+h+(k?f.plotWidth:0));this.size=n=p=l(u.len,(k?f.plotHeight:f.plotWidth)-2*h);f=k?h:p+2*h;c=l(c,u.toPixels(b,!0));e=l(e,u.toPixels(d,!0));r(c)&&Infinity!==Math.abs(c)||(c=0,e=f);b=u.toValue(c,!0);d=u.toValue(e,!0);w=Math.abs(a.correctFloat(d-b));w<v?this.grabbedLeft?c=u.toPixels(d-v,!0):this.grabbedRight&&(e=u.toPixels(b+v,!0)):x(y)&&w>y&&(this.grabbedLeft?c=u.toPixels(d-y,!0):this.grabbedRight&&(e=u.toPixels(b+y,!0)));this.zoomedMax=Math.min(Math.max(c,e,0),n);this.zoomedMin=
491
+ Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0),n);this.range=this.zoomedMax-this.zoomedMin;n=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);t&&(this.navigatorGroup.attr({visibility:"visible"}),m=m&&!this.hasDragged?"animate":"attr",this.drawMasks(c,n,k,m),this.drawOutline(c,n,k,m),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,k,m),this.drawHandle(n,1,k,m)));this.scrollbar&&(k?(k=this.top-h,g=this.left-h+(t||!g.opposite?0:(g.titleOffset||0)+
492
+ g.axisTitleMargin),h=p+2*h):(k=this.top+(t?this.height:-h),g=this.left-h),this.scrollbar.position(g,k,f,h),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,e=[],g,h;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=h=function(b){a.onMouseUp(b)};e=a.getPartsEvents("mousedown");e.push(A(c,"mousemove",g),A(c.ownerDocument,"mouseup",h));f&&(e.push(A(c,"touchmove",g),A(c.ownerDocument,
493
+ "touchend",h)),e.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=e;a.series&&a.series[0]&&e.push(A(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(e,f){c.push(A(e.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var d=this.chart,c=this.xAxis,e=this.zoomedMin,f=this.left,
494
+ g=this.size,h=this.range,l=a.chartX,p,t;d.inverted&&(l=a.chartY,f=this.top);1===b?(this.grabbedCenter=l,this.fixedWidth=h,this.dragOffset=l-e):(a=l-f-h/2,0===b?a=Math.max(0,a):2===b&&a+h>=g&&(a=g-h,this.reversedExtremes?(a-=h,t=this.getUnionExtremes().dataMin):p=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=h,b=c.toFixedRange(a,a+h,t,p),x(b.min)&&d.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);
495
+ a=this.chart;var d=a.xAxis[0],c=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=c?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=c?d.max:d.min);a.fixedRange=null},onMouseMove:function(b){var d=this,c=d.chart,f=d.left,g=d.navigatorSize,h=d.range,p=d.dragOffset,t=c.inverted;b.touches&&0===b.touches[0].pageX||(b=c.pointer.normalize(b),c=b.chartX,t&&(f=d.top,c=b.chartY),d.grabbedLeft?(d.hasDragged=!0,d.render(0,
496
+ 0,c-f,d.otherHandlePos)):d.grabbedRight?(d.hasDragged=!0,d.render(0,0,d.otherHandlePos,c-f)):d.grabbedCenter&&(d.hasDragged=!0,c<p?c=p:c>g+p-h&&(c=g+p-h),d.render(0,0,c-p,c-p+h)),d.hasDragged&&d.scrollbar&&l(d.scrollbar.options.liveRedraw,a.svg&&!e&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){d.onMouseUp(b)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,e=this.scrollbar,f,g,h=a.DOMEvent||a;(!this.hasDragged||e&&e.hasDragged)&&"scrollbar"!==a.trigger||(e=this.getUnionExtremes(),
497
+ this.zoomedMin===this.otherHandlePos?f=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(g=this.fixedExtreme),this.zoomedMax===this.size&&(g=this.reversedExtremes?e.dataMin:e.dataMax),0===this.zoomedMin&&(f=this.reversedExtremes?e.dataMax:e.dataMin),c=c.toFixedRange(this.zoomedMin,this.zoomedMax,f,g),x(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:h}));"mousemove"!==a.DOMType&&(this.grabbedLeft=
498
+ this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){c(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&
499
+ c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var d=a.options,c=d.navigator,e=c.enabled,f=d.scrollbar,g=f.enabled,d=e?c.height:0,h=g?f.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=d;this.scrollbarHeight=h;this.scrollbarEnabled=g;this.navigatorEnabled=e;this.navigatorOptions=c;this.scrollbarOptions=f;this.outlineHeight=d+h;this.opposite=l(c.opposite,!e&&a.inverted);var p=this,e=p.baseSeries,f=a.xAxis.length,g=a.yAxis.length,n=
500
+ e&&e[0]&&e[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;p.navigatorEnabled?(p.xAxis=new E(a,b({breaks:n.options.breaks,ordinal:n.options.ordinal},c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[h,0,-h,0],width:d}:{offsets:[0,-h,0,h],height:d})),p.yAxis=new E(a,b(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:g,
501
+ isInternal:!0,zoomEnabled:!1},a.inverted?{width:d}:{height:d})),e||c.series.data?p.updateNavigatorSeries(!1):0===a.series.length&&(p.unbindRedraw=A(a,"beforeRedraw",function(){0<a.series.length&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())})),p.reversedExtremes=a.inverted&&!p.xAxis.reversed||!a.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()):p.xAxis={translate:function(b,d){var c=a.xAxis[0],e=c.getExtremes(),f=c.len-2*h,g=B("min",c.options.min,e.dataMin),c=B("max",c.options.max,
502
+ e.dataMax)-g;return d?b*c/f+g:f*(b-g)/c},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:E.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=p.scrollbar=new t(a.renderer,b(a.options.scrollbar,{margin:p.navigatorEnabled?0:10,vertical:a.inverted}),a),A(p.scrollbar,"changed",function(b){var d=p.size,c=d*this.to,d=d*this.from;p.hasDragged=p.scrollbar.hasDragged;p.render(0,0,d,c);(a.options.scrollbar.liveRedraw||"mousemove"!==
503
+ b.DOMType&&"touchmove"!==b.DOMType)&&setTimeout(function(){p.onMouseUp(b)})}));p.addBaseSeriesEvents();p.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,e=c.options,f=b.options,g;a&&null===b.dataMin||(g={dataMin:l(e&&e.min,B("min",f.min,b.dataMin,c.dataMin,c.min)),dataMax:l(e&&e.max,B("max",f.max,b.dataMax,c.dataMax,c.max))});return g},setBaseSeries:function(b,d){var c=this.chart,e=this.baseSeries=[];b=b||c.options&&c.options.navigator.baseSeries||(c.series.length?
504
+ a.find(c.series,function(a){return!a.options.isInternal}).index:0);(c.series||[]).forEach(function(a,d){a.options.isInternal||!a.options.showInNavigator&&(d!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,d)},updateNavigatorSeries:function(e,d){var f=this,g=f.chart,l=f.baseSeries,p,q,t=f.navigatorOptions.series,r,m={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",
505
+ showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},w=f.series=(f.series||[]).filter(function(a){var b=a.baseSeries;return 0>l.indexOf(b)?(b&&(c(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});l&&l.length&&l.forEach(function(a){var c=a.navigatorSeries,e=n({color:a.color,visible:a.visible},h(t)?v.navigator.series:t);c&&!1===f.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+l.length,p=a.options||{},r=p.navigatorOptions||{},
506
+ q=b(p,m,e,r),e=r.data||e.data,f.hasNavigatorData=f.hasNavigatorData||!!e,q.data=e||p.data&&p.data.slice(0),c&&c.options?c.update(q,d):(a.navigatorSeries=g.initSeries(q),a.navigatorSeries.baseSeries=a,w.push(a.navigatorSeries)))});if(t.data&&(!l||!l.length)||h(t))f.hasNavigatorData=!1,t=a.splat(t),t.forEach(function(a,d){m.name="Navigator "+(w.length+1);q=b(v.navigator.series,{color:g.series[d]&&!g.series[d].options.isInternal&&g.series[d].color||g.options.colors[d]||g.options.colors[0]},m,a);q.data=
507
+ a.data;q.data&&(f.hasNavigatorData=!0,w.push(g.initSeries(q)))});e&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&A(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){A(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});A(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&A(b,"updatedData",this.updatedDataHandler);
508
+ A(b,"remove",function(){this.navigatorSeries&&(z(a.series,this.navigatorSeries),x(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)},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=
509
+ this.chart.navigator,b=this.getExtremes(),c=b.dataMin,e=b.dataMax,b=b.max-b.min,f=a.stickToMin,g=a.stickToMax,h=l(this.options.overscroll,0),t,n,m=a.series&&a.series[0],w=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(f&&(n=c,t=n+b),g&&(t=e+h,f||(n=Math.max(t-b,a.getBaseSeriesMin(m&&m.xData?m.xData[0]:-Number.MAX_VALUE)))),w&&(f||g)&&r(n)&&(this.min=this.userMin=n,this.max=this.userMax=t));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,
510
+ b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=r(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(A(this.chart,"redraw",function(){var a=this.navigator,
511
+ b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)}),A(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&&(z(this.chart.xAxis,this.xAxis),z(this.chart.axes,this.xAxis));this.yAxis&&(z(this.chart.yAxis,
512
+ this.yAxis),z(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){y(a)},this)}};a.Navigator||(a.Navigator=C,A(E,"zoom",function(a){var b=this.chart.options,c=b.chart.zoomType,f=b.chart.pinchType,g=b.navigator,b=b.rangeSelector;
513
+ this.isXAxis&&(g&&g.enabled||b&&b.enabled)&&("y"===c?a.zoomed=!1:(!e&&"xy"===c||e&&"xy"===f)&&this.options.range&&(c=this.previousZoom,x(a.newMin)?this.previousZoom=[this.min,this.max]:c&&(a.newMin=c[0],a.newMax=c[1],delete this.previousZoom)));void 0!==a.zoomed&&a.preventDefault()}),A(m,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!e&&"x"===a.chart.zoomType||e&&"x"===a.chart.pinchType))return!1}),A(m,"beforeRender",function(){var a=
514
+ this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new C(this)}),A(m,"afterSetChartSize",function(){var a=this.legend,b=this.navigator,c,e,f,g;b&&(e=a&&a.options,f=b.xAxis,g=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():
515
+ 0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?a.legendHeight+l(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=b.left:f.options.top=g.options.top=b.top,f.setAxisSize(),g.setAxisSize()))}),A(m,"update",function(a){var d=a.options.navigator||{},c=a.options.scrollbar||{};this.navigator||this.scroller||!d.enabled&&!c.enabled||(b(!0,this.options.navigator,d),b(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)}),A(m,"afterUpdate",function(a){this.navigator||
516
+ this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new C(this),l(a.redraw,!0)&&this.redraw(a.animation))}),A(m,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),A(F,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),m.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}))});
517
+ I(H,"parts/OrdinalAxis.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.Axis,E=a.Chart,m=a.css,g=a.defined,v=a.extend,x=a.noop,y=a.pick,z=a.timeUnits;C(a.Series,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinalIndex});A.prototype.getTimeTicks=function(a,f,h,r,e,b,l){var c=0,t,n,m={},v,p,d,k=[],u=-Number.MAX_VALUE,x=this.options.tickPixelInterval,y=this.chart.time,q=[];if(!this.options.ordinal&&!this.options.breaks||!e||3>e.length||void 0===f)return y.getTimeTicks.apply(y,
518
+ arguments);p=e.length;for(t=0;t<p;t++){d=t&&e[t-1]>h;e[t]<f&&(c=t);if(t===p-1||e[t+1]-e[t]>5*b||d){if(e[t]>u){for(n=y.getTimeTicks(a,e[c],e[t],r);n.length&&n[0]<=u;)n.shift();n.length&&(u=n[n.length-1]);q.push(k.length);k=k.concat(n)}c=t+1}if(d)break}n=n.info;if(l&&n.unitRange<=z.hour){t=k.length-1;for(c=1;c<t;c++)y.dateFormat("%d",k[c])!==y.dateFormat("%d",k[c-1])&&(m[k[c]]="day",v=!0);v&&(m[k[0]]="day");n.higherRanks=m}n.segmentStarts=q;k.info=n;if(l&&g(x)){c=q=k.length;v=[];for(var A,y=[];c--;)t=
519
+ this.translate(k[c]),A&&(y[c]=A-t),v[c]=A=t;y.sort();y=y[Math.floor(y.length/2)];y<.6*x&&(y=null);c=k[q-1]>h?q-1:q;for(A=void 0;c--;)t=v[c],q=Math.abs(A-t),A&&q<.8*x&&(null===y||q<.8*y)?(m[k[c]]&&!m[k[c+1]]?(q=c+1,A=t):q=c,k.splice(q,1)):A=t}return k};v(A.prototype,{beforeSetTickPositions:function(){var a,f=[],g,r=!1,e,b=this.getExtremes(),l=b.min,c=b.max,t,m=this.isXAxis&&!!this.options.breaks,b=this.options.ordinal,w=Number.MAX_VALUE,v=this.chart.options.chart.ignoreHiddenSeries,p;if(b||m){this.series.forEach(function(b,
520
+ c){g=[];if(!(v&&!1===b.visible||!1===b.takeOrdinalPosition&&!m)&&(f=f.concat(b.processedXData),a=f.length,f.sort(function(a,b){return a-b}),w=Math.min(w,y(b.closestPointRange,w)),a)){for(c=0;c<a-1;)f[c]!==f[c+1]&&g.push(f[c+1]),c++;g[0]!==f[0]&&g.unshift(f[0]);f=g}b.isSeriesBoosting&&(p=!0)});p&&(f.length=0);a=f.length;if(2<a){e=f[1]-f[0];for(t=a-1;t--&&!r;)f[t+1]-f[t]!==e&&(r=!0);!this.options.keepOrdinalPadding&&(f[0]-l>e||c-f[f.length-1]>e)&&(r=!0)}else this.options.overscroll&&(2===a?w=f[1]-f[0]:
521
+ 1===a?(w=this.options.overscroll,f=[f[0],f[0]+w]):w=this.overscrollPointsRange);r?(this.options.overscroll&&(this.overscrollPointsRange=w,f=f.concat(this.getOverscrollPositions())),this.ordinalPositions=f,e=this.ordinal2lin(Math.max(l,f[0]),!0),t=Math.max(this.ordinal2lin(Math.min(c,f[f.length-1]),!0),1),this.ordinalSlope=c=(c-l)/(t-e),this.ordinalOffset=l-e*c):(this.overscrollPointsRange=y(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=
522
+ void 0)}this.isOrdinal=b&&r;this.groupIntervalFactor=null},val2lin:function(a,f){var g=this.ordinalPositions;if(g){var n=g.length,e,b;for(e=n;e--;)if(g[e]===a){b=e;break}for(e=n-1;e--;)if(a>g[e]||0===e){a=(a-g[e])/(g[e+1]-g[e]);b=e+a;break}f=f?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else f=a;return f},lin2val:function(a,f){var g=this.ordinalPositions;if(g){var n=this.ordinalSlope,e=this.ordinalOffset,b=g.length-1,l;if(f)0>a?a=g[0]:a>b?a=g[b]:(b=Math.floor(a),l=a-b);else for(;b--;)if(f=n*b+e,
523
+ a>=f){n=n*(b+1)+e;l=(a-f)/(n-f);break}return void 0!==l&&void 0!==g[b]?g[b]+(l?l*(g[b+1]-g[b]):0):a}return a},getExtendedPositions:function(){var a=this,f=a.chart,g=a.series[0].currentDataGrouping,r=a.ordinalIndex,e=g?g.count+g.unitName:"raw",b=a.options.overscroll,l=a.getExtremes(),c,t;r||(r=a.ordinalIndex={});r[e]||(c={series:[],chart:f,getExtremes:function(){return{min:l.dataMin,max:l.dataMax+b}},options:{ordinal:!0},val2lin:A.prototype.val2lin,ordinal2lin:A.prototype.ordinal2lin},a.series.forEach(function(b){t=
524
+ {xAxis:c,xData:b.xData.slice(),chart:f,destroyGroupedData:x};t.xData=t.xData.concat(a.getOverscrollPositions());t.options={dataGrouping:g?{enabled:!0,forced:!0,approximation:"open",units:[[g.unitName,[g.count]]]}:{enabled:!1}};b.processData.apply(t);c.series.push(t)}),a.beforeSetTickPositions.apply(c),r[e]=c.ordinalPositions);return r[e]},getOverscrollPositions:function(){var g=this.options.overscroll,f=this.overscrollPointsRange,h=[],r=this.dataMax;if(a.defined(f))for(h.push(r);r<=this.dataMax+g;)r+=
525
+ f,h.push(r);return h},getGroupIntervalFactor:function(a,f,g){var h;g=g.processedXData;var e=g.length,b=[];h=this.groupIntervalFactor;if(!h){for(h=0;h<e-1;h++)b[h]=g[h+1]-g[h];b.sort(function(a,b){return a-b});b=b[Math.floor(e/2)];a=Math.max(a,g[0]);f=Math.min(f,g[e-1]);this.groupIntervalFactor=h=e*b/(f-a)}return h},postProcessTickInterval:function(a){var f=this.ordinalSlope;return f?this.options.breaks?this.closestPointRange||a:a/(f/this.closestPointRange):a}});A.prototype.ordinal2lin=A.prototype.val2lin;
526
+ C(E,"pan",function(a){var f=this.xAxis[0],g=f.options.overscroll,n=a.originalEvent.chartX,e=!1;if(f.options.ordinal&&f.series.length){var b=this.mouseDownX,l=f.getExtremes(),c=l.dataMax,t=l.min,v=l.max,w=this.hoverPoints,x=f.closestPointRange||f.overscrollPointsRange,b=(b-n)/(f.translationSlope*(f.ordinalSlope||x)),p={ordinalPositions:f.getExtendedPositions()},x=f.lin2val,d=f.val2lin,k;p.ordinalPositions?1<Math.abs(b)&&(w&&w.forEach(function(a){a.setState()}),0>b?(w=p,k=f.ordinalPositions?f:p):(w=
527
+ f.ordinalPositions?f:p,k=p),p=k.ordinalPositions,c>p[p.length-1]&&p.push(c),this.fixedRange=v-t,b=f.toFixedRange(null,null,x.apply(w,[d.apply(w,[t,!0])+b,!0]),x.apply(k,[d.apply(k,[v,!0])+b,!0])),b.min>=Math.min(l.dataMin,t)&&b.max<=Math.max(c,v)+g&&f.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=n,m(this.container,{cursor:"move"})):e=!0}else e=!0;e?g&&(f.max=f.dataMax+g):a.preventDefault()});C(A,"foundExtremes",function(){this.isXAxis&&g(this.options.overscroll)&&this.max===this.dataMax&&
528
+ (!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&g(this.userMin)&&(this.min+=this.options.overscroll))});C(A,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)})});I(H,"modules/broken-axis.src.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.pick,E=a.extend,m=a.isArray,g=
529
+ a.find,v=a.fireEvent,x=a.Axis,y=a.Series,z=function(a,f){return g(f,function(f){return f.from<a&&a<f.to})};E(x.prototype,{isInBreak:function(a,f){var g=a.repeat||Infinity,m=a.from,e=a.to-a.from;f=f>=m?(f-m)%g:g-(m-f)%g;return a.inclusive?f<=e:f<e&&0!==f},isInAnyBreak:function(a,f){var g=this.options.breaks,m=g&&g.length,e,b,l;if(m){for(;m--;)this.isInBreak(g[m],a)&&(e=!0,b||(b=A(g[m].showPoints,!this.isXAxis)));l=e&&f?e&&!b:e}return l}});C(x,"afterInit",function(){"function"===typeof this.setBreaks&&
530
+ this.setBreaks(this.options.breaks,!1)});C(x,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,f=this.tickPositions.info,g=[],m;for(m=0;m<a.length;m++)this.isInAnyBreak(a[m])||g.push(a[m]);this.tickPositions=g;this.tickPositions.info=f}});C(x,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});x.prototype.setBreaks=function(a,f){function g(a){var b=a,f,g;for(g=0;g<e.breakArray.length;g++)if(f=e.breakArray[g],f.to<=a)b-=f.len;else if(f.from>=a)break;
531
+ else if(e.isInBreak(f,a)){b-=a-f.from;break}return b}function n(a){var b,f;for(f=0;f<e.breakArray.length&&!(b=e.breakArray[f],b.from>=a);f++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a}var e=this,b=m(a)&&!!a.length;e.isDirty=e.isBroken!==b;e.isBroken=b;e.options.breaks=e.userOptions.breaks=a;e.forceRedraw=!0;b||e.val2lin!==g||(delete e.val2lin,delete e.lin2val);b&&(e.userOptions.ordinal=!1,e.val2lin=g,e.lin2val=n,e.setExtremes=function(a,b,e,f,g){if(this.isBroken){for(var c,h=this.options.breaks;c=
532
+ z(a,h);)a=c.to;for(;c=z(b,h);)b=c.from;b<a&&(b=a)}x.prototype.setExtremes.call(this,a,b,e,f,g)},e.setAxisTranslation=function(a){x.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=e.options.breaks;var b=[],f=[],g=0,h,l,p=e.userMin||e.min,d=e.userMax||e.max,k=A(e.pointRangePadding,0),u,m;a.forEach(function(a){l=a.repeat||Infinity;e.isInBreak(a,p)&&(p+=a.to%l-p%l);e.isInBreak(a,d)&&(d-=d%l-a.from%l)});a.forEach(function(a){u=a.from;for(l=a.repeat||Infinity;u-l>p;)u-=
533
+ l;for(;u<p;)u+=l;for(m=u;m<d;m+=l)b.push({value:m,move:"in"}),b.push({value:m+(a.to-a.from),move:"out",size:a.breakSize})});b.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});h=0;u=p;b.forEach(function(a){h+="in"===a.move?1:-1;1===h&&"in"===a.move&&(u=a.value);0===h&&(f.push({from:u,to:a.value,len:a.value-u-(a.size||0)}),g+=a.value-u-(a.size||0))});e.breakArray=f;e.unitLength=d-p-g+k;v(e,"afterBreaks");e.staticScale?e.transA=e.staticScale:e.unitLength&&
534
+ (e.transA*=(d-e.min+k)/e.unitLength);k&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=p;e.max=d}});A(f,!0)&&this.chart.redraw()};C(y,"afterGeneratePoints",function(){var a=this.xAxis,f=this.yAxis,g=this.points,m,e=g.length,b=this.options.connectNulls,l;if(a&&f&&(a.options.breaks||f.options.breaks))for(;e--;)m=g[e],l=null===m.y&&!1===b,l||!a.isInAnyBreak(m.x,!0)&&!f.isInAnyBreak(m.y,!0)||(g.splice(e,1),this.data[e]&&this.data[e].destroyElements())});C(y,"afterRender",function(){this.drawBreaks(this.xAxis,
535
+ ["x"]);this.drawBreaks(this.yAxis,A(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,f){var g=this,m=g.points,e,b,l,c;a&&f.forEach(function(f){e=a.breakArray||[];b=a.isXAxis?a.min:A(g.options.threshold,a.min);m.forEach(function(g){c=A(g["stack"+f.toUpperCase()],g[f]);e.forEach(function(e){l=!1;if(b<e.from&&c>e.to||b>e.from&&c<e.from)l="pointBreak";else if(b<e.from&&c>e.from&&c<e.to||b>e.from&&c>e.to&&c<e.from)l="pointInBreak";l&&v(a,l,{point:g,brk:e})})})})};a.Series.prototype.gappedPath=
536
+ function(){var g=this.currentDataGrouping,f=g&&g.gapSize,g=this.options.gapSize,h=this.points.slice(),m=h.length-1,e=this.yAxis;if(g&&0<m)for("value"!==this.options.gapUnit&&(g*=this.closestPointRange),f&&f>g&&(g=f);m--;)h[m+1].x-h[m].x>g&&(f=(h[m].x+h[m+1].x)/2,h.splice(m+1,0,{isNull:!0,x:f}),this.options.stacking&&(f=e.stacks[this.stackKey][f]=new a.StackItem(e,e.options.stackLabels,!1,f,this.stack),f.total=0));return this.getGraphPath(h)}});I(H,"masters/modules/broken-axis.src.js",[],function(){});
537
+ I(H,"parts/DataGrouping.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.arrayMax,E=a.arrayMin,m=a.Axis,g=a.defaultPlotOptions,v=a.defined,x=a.extend,y=a.format,z=a.isNumber,n=a.merge,f=a.pick,h=a.Point,r=a.Series,e=a.Tooltip,b=a.approximations={sum:function(a){var b=a.length,d;if(!b&&a.hasNulls)d=null;else if(b)for(d=0;b--;)d+=a[b];return d},average:function(a){var d=a.length;a=b.sum(a);z(a)&&d&&(a/=d);return a},averages:function(){var a=[];[].forEach.call(arguments,function(d){a.push(b.average(d))});
538
+ return void 0===a[0]?void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?A(a):a.hasNulls?null:void 0},low:function(a){return a.length?E(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,d,c,e){a=b.open(a);d=b.high(d);c=b.low(c);e=b.close(e);if(z(a)||z(d)||z(c)||z(e))return[a,d,c,e]},range:function(a,d){a=b.low(a);d=b.high(d);if(z(a)||z(d))return[a,d];if(null===a&&null===d)return null}},
539
+ l=function(a,d,c,e){var f=this,g=f.data,h=f.options&&f.options.data,k=[],l=[],p=[],t=a.length,m,u,r=!!d,w=[],x=f.pointArrayMap,y=x&&x.length,B=["x"].concat(x||["y"]),D=0,F=0,G,A;e="function"===typeof e?e:b[e]?b[e]:b[f.getDGApproximation&&f.getDGApproximation()||"average"];y?x.forEach(function(){w.push([])}):w.push([]);G=y||1;for(A=0;A<=t&&!(a[A]>=c[0]);A++);for(A;A<=t;A++){for(;void 0!==c[D+1]&&a[A]>=c[D+1]||A===t;){m=c[D];f.dataGroupInfo={start:f.cropStart+F,length:w[0].length};u=e.apply(f,w);f.pointClass&&
540
+ !v(f.dataGroupInfo.options)&&(f.dataGroupInfo.options=n(f.pointClass.prototype.optionsToObject.call({series:f},f.options.data[f.cropStart+F])),B.forEach(function(a){delete f.dataGroupInfo.options[a]}));void 0!==u&&(k.push(m),l.push(u),p.push(f.dataGroupInfo));F=A;for(m=0;m<G;m++)w[m].length=0,w[m].hasNulls=!1;D+=1;if(A===t)break}if(A===t)break;if(x){m=f.cropStart+A;u=g&&g[m]||f.pointClass.prototype.applyOptions.apply({series:f},[h[m]]);var C;for(m=0;m<y;m++)C=u[x[m]],z(C)?w[m].push(C):null===C&&(w[m].hasNulls=
541
+ !0)}else m=r?d[A]:null,z(m)?w[0].push(m):null===m&&(w[0].hasNulls=!0)}return{groupedXData:k,groupedYData:l,groupMap:p}},c={approximations:b,groupData:l},t=r.prototype,F=t.processData,w=t.generatePoints,B={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",
542
+ "%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"]}},p={line:{},spline:{},area:{},areaspline:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},d=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",
543
+ [1,3,6]],["year",null]];t.getDGApproximation=function(){return a.seriesTypes.arearange&&this instanceof a.seriesTypes.arearange?"range":a.seriesTypes.ohlc&&this instanceof a.seriesTypes.ohlc?"ohlc":a.seriesTypes.column&&this instanceof a.seriesTypes.column?"sum":"average"};t.groupData=l;t.processData=function(){var a=this.chart,b=this.options.dataGrouping,c=!1!==this.allowDG&&b&&f(b.enabled,a.options.isStock),e=this.visible||!a.options.chart.ignoreHiddenSeries,g,h=this.currentDataGrouping,l,m=!1;
544
+ this.forceCrop=c;this.groupPixelWidth=null;this.hasProcessed=!0;c&&!this.requireSorting&&(this.requireSorting=m=!0);c=!1===F.apply(this,arguments)||!c;m&&(this.requireSorting=!1);if(!c){this.destroyGroupedData();var p,c=b.groupAll?this.xData:this.processedXData,n=b.groupAll?this.yData:this.processedYData,r=a.plotSizeX,a=this.xAxis,w=a.options.ordinal,x=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(x){this.isDirty=g=!0;this.points=null;m=a.getExtremes();l=m.min;var m=m.max,w=
545
+ w&&a.getGroupIntervalFactor(l,m,this)||1,x=x*(m-l)/r*w,r=a.getTimeTicks(a.normalizeTimeTickInterval(x,b.units||d),Math.min(l,c[0]),Math.max(m,c[c.length-1]),a.options.startOfWeek,c,this.closestPointRange),n=t.groupData.apply(this,[c,n,r,b.approximation]),c=n.groupedXData,w=n.groupedYData,y=0;if(b.smoothed&&c.length){p=c.length-1;for(c[p]=Math.min(c[p],m);p--&&0<p;)c[p]+=x/2;c[0]=Math.max(c[0],l)}for(p=1;p<r.length;p++)r.info.segmentStarts&&-1!==r.info.segmentStarts.indexOf(p)||(y=Math.max(r[p]-r[p-
546
+ 1],y));l=r.info;l.gapSize=y;this.closestPointRange=r.info.totalRange;this.groupMap=n.groupMap;if(v(c[0])&&c[0]<a.dataMin&&e){if(!v(a.options.min)&&a.min<=a.dataMin||a.min===a.dataMin)a.min=c[0];a.dataMin=c[0]}b.groupAll&&(b=this.cropData(c,w,a.min,a.max,1),c=b.xData,w=b.yData);this.processedXData=c;this.processedYData=w}else this.groupMap=null;this.hasGroupedData=g;this.currentDataGrouping=l;this.preventGraphAnimation=(h&&h.totalRange)!==(l&&l.totalRange)}};t.destroyGroupedData=function(){var a=this.groupedData;
547
+ (a||[]).forEach(function(b,d){b&&(a[d]=b.destroy?b.destroy():null)});this.groupedData=null};t.generatePoints=function(){w.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};C(h,"update",function(){if(this.dataGroup)return a.error(24,!1,this.series.chart),!1});C(e,"headerFormatter",function(a){var b=this.chart.time,d=a.labelConfig,c=d.series,e=c.tooltipOptions,f=c.options.dataGrouping,g=e.xDateFormat,h,k=c.xAxis,l,m=e[(a.isFooter?"footer":"header")+"Format"];
548
+ k&&"datetime"===k.options.type&&f&&z(d.key)&&(l=c.currentDataGrouping,f=f.dateTimeLabelFormats||B.dateTimeLabelFormats,l?(e=f[l.unitName],1===l.count?g=e[0]:(g=e[1],h=e[2])):!g&&f&&(g=this.getXDateFormat(d,e,k)),g=b.dateFormat(g,d.key),h&&(g+=b.dateFormat(h,d.key+l.totalRange-1)),c.chart.styledMode&&(m=this.styledModeFormat(m)),a.text=y(m,{point:x(d.point,{key:g}),series:c},b),a.preventDefault())});C(r,"destroy",t.destroyGroupedData);C(r,"afterSetOptions",function(a){a=a.options;var b=this.type,d=
549
+ this.chart.options.plotOptions,c=g[b].dataGrouping,e=this.useCommonDataGrouping&&B;if(p[b]||e)c||(c=n(B,p[b])),a.dataGrouping=n(e,c,d.series&&d.series.dataGrouping,d[b].dataGrouping,this.userOptions.dataGrouping)});C(m,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});m.prototype.getGroupPixelWidth=function(){var a=this.series,b=a.length,d,c=0,e=!1,g;for(d=b;d--;)(g=a[d].options.dataGrouping)&&(c=Math.max(c,f(g.groupPixelWidth,B.groupPixelWidth)));for(d=b;d--;)(g=a[d].options.dataGrouping)&&
550
+ a[d].hasProcessed&&(b=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||b>this.chart.plotSizeX/c||b&&g.forced)&&(e=!0);return e?c:0};m.prototype.setDataGrouping=function(a,b){var d;b=f(b,!0);a||(a={forced:!1,units:null});if(this instanceof m)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinalSlope=null;b&&this.chart.redraw()};return a.dataGrouping=c});I(H,"parts/OHLCSeries.js",[H["parts/Globals.js"]],
551
+ function(a){var C=a.Point,A=a.seriesType,E=a.seriesTypes;A("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}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,
552
+ a.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){E.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(a,g){g=E.column.prototype.pointAttribs.call(this,a,g);var m=this.options;delete g.fill;!a.options.color&&m.upColor&&a.open<a.close&&(g.stroke=m.upColor);return g},translate:function(){var a=this,g=a.yAxis,v=!!a.modifyValue,x=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];E.column.prototype.translate.apply(a);
553
+ a.points.forEach(function(m){[m.open,m.high,m.low,m.close,m.low].forEach(function(y,n){null!==y&&(v&&(y=a.modifyValue(y)),m[x[n]]=g.toPixels(y,!0))});m.tooltipPos[1]=m.plotHigh+g.pos-a.chart.plotTop})},drawPoints:function(){var a=this,g=a.chart;a.points.forEach(function(m){var v,y,z,n,f=m.graphic,h,r=!f;void 0!==m.plotY&&(f||(m.graphic=f=g.renderer.path().add(a.group)),g.styledMode||f.attr(a.pointAttribs(m,m.selected&&"select")),y=f.strokeWidth()%2/2,h=Math.round(m.plotX)-y,z=Math.round(m.shapeArgs.width/
554
+ 2),n=["M",h,Math.round(m.yBottom),"L",h,Math.round(m.plotHigh)],null!==m.open&&(v=Math.round(m.plotOpen)+y,n.push("M",h,v,"L",h-z,v)),null!==m.close&&(v=Math.round(m.plotClose)+y,n.push("M",h,v,"L",h+z,v)),f[r?"attr":"animate"]({d:n}).addClass(m.getClassName(),!0))})},animate:null},{getClassName:function(){return C.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})});I(H,"parts/CandlestickSeries.js",[H["parts/Globals.js"]],function(a){var C=
555
+ a.defaultPlotOptions,A=a.merge,E=a.seriesType,m=a.seriesTypes;E("candlestick","ohlc",A(C.column,{states:{hover:{lineWidth:2}},tooltip:C.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(a,v){var g=m.column.prototype.pointAttribs.call(this,a,v),y=this.options,z=a.open<a.close,n=y.lineColor||this.color;g["stroke-width"]=y.lineWidth;g.fill=a.options.color||(z?y.upColor||this.color:this.color);g.stroke=a.lineColor||(z?y.upLineColor||
556
+ n:n);v&&(a=y.states[v],g.fill=a.color||g.fill,g.stroke=a.lineColor||g.stroke,g["stroke-width"]=a.lineWidth||g["stroke-width"]);return g},drawPoints:function(){var a=this,m=a.chart,x=a.yAxis.reversed;a.points.forEach(function(g){var v=g.graphic,n,f,h,r,e,b,l,c=!v;void 0!==g.plotY&&(v||(g.graphic=v=m.renderer.path().add(a.group)),a.chart.styledMode||v.attr(a.pointAttribs(g,g.selected&&"select")).shadow(a.options.shadow),e=v.strokeWidth()%2/2,b=Math.round(g.plotX)-e,n=g.plotOpen,f=g.plotClose,h=Math.min(n,
557
+ f),n=Math.max(n,f),l=Math.round(g.shapeArgs.width/2),f=x?n!==g.yBottom:Math.round(h)!==Math.round(g.plotHigh),r=x?Math.round(h)!==Math.round(g.plotHigh):n!==g.yBottom,h=Math.round(h)+e,n=Math.round(n)+e,e=[],e.push("M",b-l,n,"L",b-l,h,"L",b+l,h,"L",b+l,n,"Z","M",b,h,"L",b,f?Math.round(x?g.yBottom:g.plotHigh):h,"M",b,n,"L",b,r?Math.round(x?g.plotHigh:g.yBottom):n),v[c?"attr":"animate"]({d:e}).addClass(g.getClassName(),!0))})}})});I(H,"mixins/on-series.js",[H["parts/Globals.js"]],function(a){var C=
558
+ a.defined,A=a.seriesTypes,E=a.stableSort;return{getPlotBox:function(){return a.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){A.column.prototype.translate.apply(this);var a=this,g=a.options,v=a.chart,x=a.points,y=x.length-1,z,n=g.onSeries,n=n&&v.get(n),g=g.onKey||"y",f=n&&n.options.step,h=n&&n.points,r=h&&h.length,e=v.inverted,b=a.xAxis,l=a.yAxis,c=0,t,F,w,B;if(n&&n.visible&&r)for(c=(n.pointXOffset||0)+(n.barW||0)/2,v=n.currentDataGrouping,
559
+ F=h[r-1].x+(v?v.totalRange:0),E(x,function(a,b){return a.x-b.x}),g="plot"+g[0].toUpperCase()+g.substr(1);r--&&x[y]&&!(t=h[r],v=x[y],v.y=t.y,t.x<=v.x&&void 0!==t[g]&&(v.x<=F&&(v.plotY=t[g],t.x<v.x&&!f&&(w=h[r+1])&&void 0!==w[g]&&(B=(v.x-t.x)/(w.x-t.x),v.plotY+=B*(w[g]-t[g]),v.y+=B*(w.y-t.y))),y--,r++,0>y)););x.forEach(function(f,d){var g;f.plotX+=c;if(void 0===f.plotY||e)0<=f.plotX&&f.plotX<=b.len?e?(f.plotY=b.translate(f.x,0,1,0,1),f.plotX=C(f.y)?l.translate(f.y,0,0,0,1):0):f.plotY=(b.opposite?0:
560
+ a.yAxis.len)+b.offset:f.shapeArgs={};(z=x[d-1])&&z.plotX===f.plotX&&(void 0===z.stackIndex&&(z.stackIndex=0),g=z.stackIndex+1);f.stackIndex=g});this.onSeries=n}}});I(H,"parts/FlagsSeries.js",[H["parts/Globals.js"],H["mixins/on-series.js"]],function(a,C){function A(a){h[a+"pin"]=function(e,b,f,c,g){var l=g&&g.anchorX;g=g&&g.anchorY;var m;"circle"===a&&c>f&&(e-=Math.round((c-f)/2),f=c);m=h[a](e,b,f,c);l&&g&&(m.push("M","circle"===a?e+f/2:m[1]+m[4]/2,b>g?b:b+c,"L",l,g),m=m.concat(h.circle(l-1,g-1,2,
561
+ 2)));return m}}var E=a.addEvent,m=a.merge,g=a.noop,v=a.defined,x=a.Renderer,y=a.Series,z=a.seriesType,n=a.TrackerMixin,f=a.VMLRenderer,h=a.SVGRenderer.prototype.symbols;z("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,
562
+ takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:y.prototype.init,pointAttribs:function(a,e){var b=this.options,f=a&&a.color||this.color,c=b.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||b.fillColor;e&&(a=b.states[e].fillColor,c=b.states[e].lineColor,g=b.states[e].lineWidth);return{fill:a||f,stroke:c||f,"stroke-width":g||b.lineWidth||0}},translate:C.translate,getPlotBox:C.getPlotBox,drawPoints:function(){var f=this.points,e=this.chart,b=e.renderer,g,c,h=e.inverted,n=this.options,
563
+ w=n.y,x,p,d,k,u,y,z=this.yAxis,q={},A=[],C;for(p=f.length;p--;)d=f[p],y=(h?d.plotY:d.plotX)>this.xAxis.len,g=d.plotX,k=d.stackIndex,x=d.options.shape||n.shape,c=d.plotY,void 0!==c&&(c=d.plotY+w-(void 0!==k&&k*n.stackDistance)),d.anchorX=k?void 0:d.plotX,u=k?void 0:d.plotY,C="flag"!==x,k=d.graphic,void 0!==c&&0<=g&&!y?(k||(k=d.graphic=b.label("",null,null,x,null,null,n.useHTML),e.styledMode||k.attr(this.pointAttribs(d)).css(m(n.style,d.style)),k.attr({align:C?"center":"left",width:n.width,height:n.height,
564
+ "text-align":n.textAlign}).addClass("highcharts-point").add(this.markerGroup),d.graphic.div&&(d.graphic.div.point=d),e.styledMode||k.shadow(n.shadow),k.isNew=!0),0<g&&(g-=k.strokeWidth()%2),x={y:c,anchorY:u},n.allowOverlapX&&(x.x=g,x.anchorX=d.anchorX),k.attr({text:d.options.title||n.title||"A"})[k.isNew?"attr":"animate"](x),n.allowOverlapX||(q[d.plotX]?q[d.plotX].size=Math.max(q[d.plotX].size,k.width):q[d.plotX]={align:C?.5:0,size:k.width,target:g,anchorX:g}),d.tooltipPos=[g,c+z.pos-e.plotTop]):
565
+ k&&(d.graphic=k.destroy());n.allowOverlapX||(a.objectEach(q,function(a){a.plotX=a.anchorX;A.push(a)}),a.distribute(A,h?z.len:this.xAxis.len,100),f.forEach(function(a){var b=a.graphic&&q[a.plotX];b&&(a.graphic[a.graphic.isNew?"attr":"animate"]({x:b.pos+b.align*b.size,anchorX:a.anchorX}),v(b.pos)?a.graphic.isNew=!1:(a.graphic.attr({x:-9999,anchorX:-9999}),a.graphic.isNew=!0))}));n.useHTML&&a.wrap(this.markerGroup,"on",function(b){return a.SVGElement.prototype.on.apply(b.apply(this,[].slice.call(arguments,
566
+ 1)),[].slice.call(arguments,1))})},drawTracker:function(){var a=this.points;n.drawTrackerPoint.apply(this);a.forEach(function(e){var b=e.graphic;b&&E(b.element,"mouseover",function(){0<e.stackIndex&&!e.raised&&(e._y=b.y,b.attr({y:e._y-8}),e.raised=!0);a.forEach(function(a){a!==e&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:function(a){a?this.setClip():this.animate=null},setClip:function(){y.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&
567
+ this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:g,invertGroups:g},{isValid:function(){return a.isNumber(this.y)||void 0===this.y}});h.flag=function(a,e,b,f,c){var g=c&&c.anchorX||a;c=c&&c.anchorY||e;return h.circle(g-1,c-1,2,2).concat(["M",g,c,"L",a,e+f,a,e,a+b,e,a+b,e+f,a,e+f,"Z"])};A("circle");A("square");x===f&&["flag","circlepin","squarepin"].forEach(function(a){f.prototype.symbols[a]=h[a]})});I(H,"parts/RangeSelector.js",[H["parts/Globals.js"]],function(a){function C(a){this.init(a)}
568
+ var A=a.addEvent,E=a.Axis,m=a.Chart,g=a.css,v=a.createElement,x=a.defaultOptions,y=a.defined,z=a.destroyObjectProperties,n=a.discardElement,f=a.extend,h=a.fireEvent,r=a.isNumber,e=a.merge,b=a.pick,l=a.pInt,c=a.splat;f(x,{rangeSelector:{verticalAlign:"top",buttonTheme:{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"}}});x.lang=e(x.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",
569
+ rangeSelectorTo:"To"});C.prototype={clickButton:function(a,e){var f=this.chart,g=this.buttonOptions[a],h=f.xAxis[0],d=f.scroller&&f.scroller.getUnionExtremes()||h||{},k=d.dataMin,l=d.dataMax,m,t=h&&Math.round(Math.min(h.max,b(l,h.max))),q=g.type,n,d=g._range,v,x,y,z=g.dataGrouping;if(null!==k&&null!==l){f.fixedRange=d;z&&(this.forcedDataGrouping=!0,E.prototype.setDataGrouping.call(h||{chart:this.chart},z,!1),this.frozenStates=g.preserveDataGrouping);if("month"===q||"year"===q)h?(q={range:g,max:t,
570
+ chart:f,dataMin:k,dataMax:l},m=h.minFromRange.call(q),r(q.newMax)&&(t=q.newMax)):d=g;else if(d)m=Math.max(t-d,k),t=Math.min(m+d,l);else if("ytd"===q)if(h)void 0===l&&(k=Number.MAX_VALUE,l=Number.MIN_VALUE,f.series.forEach(function(a){a=a.xData;k=Math.min(a[0],k);l=Math.max(a[a.length-1],l)}),e=!1),t=this.getYTDExtremes(l,k,f.time.useUTC),m=v=t.min,t=t.max;else{this.deferredYTDClick=a;return}else"all"===q&&h&&(m=k,t=l);m+=g._offsetMin;t+=g._offsetMax;this.setSelected(a);h?h.setExtremes(m,t,b(e,1),
571
+ null,{trigger:"rangeSelectorButton",rangeSelectorButton:g}):(n=c(f.options.xAxis)[0],y=n.range,n.range=d,x=n.min,n.min=v,A(f,"load",function(){n.range=y;n.min=x}))}},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=this,c=a.options.rangeSelector,e=c.buttons||[].concat(b.defaultButtons),
572
+ f=c.selected,d=function(){var a=b.minInput,d=b.maxInput;a&&a.blur&&h(a,"blur");d&&d.blur&&h(d,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=e;this.unMouseDown=A(a.container,"mousedown",d);this.unResize=A(a,"resize",d);e.forEach(b.computeButtonRange);void 0!==f&&e[f]&&this.clickButton(f,!1);A(a,"load",function(){a.xAxis&&a.xAxis[0]&&A(a.xAxis[0],"setExtremes",function(d){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&b.forcedDataGrouping&&
573
+ !b.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this,b=this.chart,c=b.xAxis[0],e=Math.round(c.max-c.min),f=!c.hasVisibleSeries,d=b.scroller&&b.scroller.getUnionExtremes()||c,g=d.dataMin,h=d.dataMax,b=a.getYTDExtremes(h,g,b.time.useUTC),l=b.min,m=b.max,q=a.selected,n=r(q),v=a.options.allButtonsEnabled,x=a.buttons;a.buttonOptions.forEach(function(b,d){var k=b._range,p=b.type,t=b.count||1,u=x[d],r=0,w=b._offsetMax-b._offsetMin;b=d===q;var y=k>h-g,z=k<c.minRange,
574
+ B=!1,A=!1,k=k===e;("month"===p||"year"===p)&&e+36E5>=864E5*{month:28,year:365}[p]*t-w&&e-36E5<=864E5*{month:31,year:366}[p]*t+w?k=!0:"ytd"===p?(k=m-l+w===e,B=!b):"all"===p&&(k=c.max-c.min>=h-g,A=!b&&n&&k);p=!v&&(y||z||A||f);t=b&&k||k&&!n&&!B||b&&a.frozenStates;p?r=3:t&&(n=!0,r=2);u.state!==r&&(u.setState(r),0===r&&q===d&&a.setSelected(null))})},computeButtonRange:function(a){var c=a.type,e=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[c])a._range=f[c]*e;else if("month"===
575
+ 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,f=this[a+"Input"];y(b)&&(f.previousValue=f.HCTime,f.HCTime=b);f.value=e.dateFormat(c.inputEditDateFormat||"%Y-%m-%d",f.HCTime);this[a+"DateBox"].attr({text:e.dateFormat(c.inputDateFormat||"%b %e, %Y",f.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+
576
+ "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(b){function c(){var a=y.value,b=(k.inputDateParser||Date.parse)(a),d=m.xAxis[0],c=m.scroller&&m.scroller.xAxis?m.scroller.xAxis:d,e=c.dataMin,c=c.dataMax;b!==y.previousValue&&(y.previousValue=b,r(b)||(b=a.split("-"),b=Date.UTC(l(b[0]),
577
+ l(b[1])-1,l(b[2]))),r(b)&&(m.time.useUTC||(b+=6E4*(new Date).getTimezoneOffset()),t?b>h.maxInput.HCTime?b=void 0:b<e&&(b=e):b<h.minInput.HCTime?b=void 0:b>c&&(b=c),void 0!==b&&d.setExtremes(t?b:d.min,t?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var h=this,m=h.chart,p=m.renderer.style||{},d=m.renderer,k=m.options.rangeSelector,n=h.div,t="min"===b,y,q,z=this.inputGroup;this[b+"Label"]=q=d.label(x.lang[t?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(z);
578
+ z.offset+=q.width+5;this[b+"DateBox"]=d=d.label("",z.offset).addClass("highcharts-range-input").attr({padding:2,width:k.inputBoxWidth||90,height:k.inputBoxHeight||17,"text-align":"center"}).on("click",function(){h.showInput(b);h[b+"Input"].focus()});m.styledMode||d.attr({stroke:k.inputBoxBorderColor||"#cccccc","stroke-width":1});d.add(z);z.offset+=d.width+(t?10:0);this[b+"Input"]=y=v("input",{name:b,className:"highcharts-range-selector",type:"text"},{top:m.plotTop+"px"},n);m.styledMode||(q.css(e(p,
579
+ k.labelStyle)),d.css(e({color:"#333333"},p,k.inputStyle)),g(y,f({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:p.fontSize,fontFamily:p.fontFamily,top:"-9999em"},k.inputStyle)));y.onfocus=function(){h.showInput(b)};y.onblur=function(){y===a.doc.activeElement&&c();h.hideInput(b);y.blur()};y.onchange=c;y.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:
580
+ 0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}},getYTDExtremes:function(a,b,c){var e=this.chart.time,f=new e.Date(a),d=e.get("FullYear",f);c=c?e.Date.UTC(d,0,1):+new e.Date(d,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 e=this,f=e.chart,g=f.renderer,d=f.container,h=f.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,m=x.lang,n=e.div,q=h.rangeSelector,t=b(h.chart.style&&h.chart.style.zIndex,
581
+ 0)+1,h=q.floating,r=e.buttons,n=e.inputGroup,y=q.buttonTheme,z=q.buttonPosition,A=q.inputPosition,C=q.inputEnabled,F=y&&y.states,E=f.plotLeft,H,I=e.buttonGroup,S;S=e.rendered;var W=e.options.verticalAlign,Q=f.legend,ca=Q&&Q.options,U=z.y,T=A.y,X=S||!1,Y=X?"animate":"attr",V=0,aa=0,Z;if(!1!==q.enabled){S||(e.group=S=g.g("range-selector-group").attr({zIndex:7}).add(),e.buttonGroup=I=g.g("range-selector-buttons").add(S),e.zoomText=g.text(m.rangeSelectorZoom,0,15).add(I),f.styledMode||(e.zoomText.css(q.labelStyle),
582
+ y["stroke-width"]=b(y["stroke-width"],0)),e.buttonOptions.forEach(function(a,b){r[b]=g.button(a.text,0,0,function(d){var c=a.events&&a.events.click,f;c&&(f=c.call(a,d));!1!==f&&e.clickButton(b);e.isActive=!0},y,F&&F.hover,F&&F.select,F&&F.disabled).attr({"text-align":"center"}).add(I)}),!1!==C&&(e.div=n=v("div",null,{position:"relative",height:0,zIndex:t}),d.parentNode.insertBefore(n,d),e.inputGroup=n=g.g("input-group").add(S),n.offset=0,e.drawInput("min"),e.drawInput("max")));e.zoomText[Y]({x:b(E+
583
+ z.x,E)});H=b(E+z.x,E)+e.zoomText.getBBox().width+5;e.buttonOptions.forEach(function(a,d){r[d][Y]({x:H});H+=r[d].width+b(q.buttonSpacing,5)});E=f.plotLeft-f.spacing[3];e.updateButtonStates();l&&this.titleCollision(f)&&"top"===W&&"right"===z.align&&z.y+I.getBBox().height-12<(l.y||0)+l.height&&(V=-40);"left"===z.align?Z=z.x-f.spacing[3]:"right"===z.align&&(Z=z.x+V-f.spacing[1]);I.align({y:z.y,width:I.getBBox().width,align:z.align,x:Z},!0,f.spacingBox);e.group.placed=X;e.buttonGroup.placed=X;!1!==C&&
584
+ (V=l&&this.titleCollision(f)&&"top"===W&&"right"===A.align&&A.y-n.getBBox().height-12<(l.y||0)+l.height+f.spacing[0]?-40:0,"left"===A.align?Z=E:"right"===A.align&&(Z=-Math.max(f.axisOffset[1],-V)),n.align({y:A.y,width:n.getBBox().width,align:A.align,x:A.x+Z-2},!0,f.spacingBox),d=n.alignAttr.translateX+n.alignOptions.x-V+n.getBBox().x+2,l=n.alignOptions.width,m=I.alignAttr.translateX+I.getBBox().x,Z=I.getBBox().width+20,(A.align===z.align||m+Z>d&&d+l>m&&U<T+n.getBBox().height)&&n.attr({translateX:n.alignAttr.translateX+
585
+ (f.axisOffset[1]>=-V?0:-V),translateY:n.alignAttr.translateY+I.getBBox().height+10}),e.setInputValue("min",a),e.setInputValue("max",c),e.inputGroup.placed=X);e.group.align({verticalAlign:W},!0,f.spacingBox);a=e.group.getBBox().height+20;c=e.group.alignAttr.translateY;"bottom"===W&&(Q=ca&&"bottom"===ca.verticalAlign&&ca.enabled&&!ca.floating?Q.legendHeight+b(ca.margin,10):0,a=a+Q-20,aa=c-a-(h?0:q.y)-10);if("top"===W)h&&(aa=0),f.titleOffset&&(aa=f.titleOffset+f.options.title.margin),aa+=f.margin[0]-
586
+ f.spacing[0]||0;else if("middle"===W)if(T===U)aa=0>T?c+void 0:c;else if(T||U)aa=0>T||0>U?aa-Math.min(T,U):c-a+NaN;e.group.translate(q.x,q.y+Math.floor(aa));!1!==C&&(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,e=a.buttonPosition.y,f=a.inputPosition.y;if(a.height)return a.height;a=b?b.getBBox(!0).height+13+c:0;b=Math.min(f,e);if(0>f&&0>e||0<f&&0<e)a+=Math.abs(b);return a},
587
+ titleCollision:function(a){return!(a.options.title.text||a.options.subtitle.text)},update:function(a){var b=this.chart;e(!0,b.options.rangeSelector,a);this.destroy();this.init(b);b.rangeSelector.render()},destroy:function(){var b=this,c=b.minInput,e=b.maxInput;b.unMouseDown();b.unResize();z(b.buttons);c&&(c.onfocus=c.onblur=c.onchange=null);e&&(e.onfocus=e.onblur=e.onchange=null);a.objectEach(b,function(a,c){a&&"chart"!==c&&(a.destroy?a.destroy():a.nodeType&&n(this[c]));a!==C.prototype[c]&&(b[c]=
588
+ null)},this)}};E.prototype.minFromRange=function(){var a=this.range,c={month:"Month",year:"FullYear"}[a.type],e,f=this.max,g,d,h=this.chart.time,l=function(a,b){var d=new h.Date(a),e=h.get(c,d);h.set(c,d,e+b);e===h.get(c,d)&&h.set("Date",d,0);return d.getTime()-a};r(a)?(e=f-a,d=a):(e=f+l(f,-a.count),this.chart&&(this.chart.fixedRange=f-e));g=b(this.dataMin,Number.MIN_VALUE);r(e)||(e=g);e<=g&&(e=g,void 0===d&&(d=l(e,a.count)),this.newMax=Math.min(e+d,this.dataMax));r(f)||(e=void 0);return e};a.RangeSelector||
589
+ (A(m,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new C(this))}),A(m,"beforeRender",function(){var a=this.axes,b=this.rangeSelector;b&&(r(b.deferredYTDClick)&&(b.clickButton(b.deferredYTDClick),delete b.deferredYTDClick),a.forEach(function(a){a.updateNames();a.setScale()}),this.getAxisMargins(),b.render(),a=b.options.verticalAlign,b.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}),A(m,"update",function(a){var b=
590
+ a.options.rangeSelector;a=this.rangeSelector;var c=this.extraBottomMargin,e=this.extraTopMargin;b&&b.enabled&&!y(a)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new C(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!==e)&&(this.isDirtyBox=!0)}),A(m,"render",function(){var a=
591
+ this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}),A(m,"getMargins",function(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}),m.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();r(c.min)&&e.render(c.min,c.max)}var c,e=a.rangeSelector,f,d;e&&(d=A(a.xAxis[0],"afterSetExtremes",
592
+ function(a){e.render(a.min,a.max)}),f=A(a,"redraw",b),b());A(a,"destroy",function(){e&&(f(),d())})}),a.RangeSelector=C)});I(H,"parts/StockChart.js",[H["parts/Globals.js"]],function(a){var C=a.addEvent,A=a.arrayMax,E=a.arrayMin,m=a.Axis,g=a.Chart,v=a.defined,x=a.extend,y=a.format,z=a.isNumber,n=a.isString,f=a.merge,h=a.pick,r=a.Point,e=a.Renderer,b=a.Series,l=a.splat,c=a.SVGRenderer,t=a.VMLRenderer,F=b.prototype,w=F.init,B=F.processData,p=r.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,
593
+ c,e){var d=n(b)||b.nodeName,k=arguments[d?1:0],m=k,p=k.series,r=a.getOptions(),u,t=h(k.navigator&&k.navigator.enabled,r.navigator.enabled,!0),v=t?{startOnTick:!1,endOnTick:!1}:null;k.xAxis=l(k.xAxis||{}).map(function(a,b){return f({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},r.xAxis,r.xAxis&&r.xAxis[b],a,{type:"datetime",categories:null},v)});k.yAxis=l(k.yAxis||{}).map(function(a,b){u=h(a.opposite,!0);return f({labels:{y:-2},opposite:u,
594
+ showLastLabel:!(!a.categories&&"category"!==a.type),title:{text:null}},r.yAxis,r.yAxis&&r.yAxis[b],a)});k.series=null;k=f({chart:{panning:!0,pinchType:"x"},navigator:{enabled:t},scrollbar:{enabled:h(r.scrollbar.enabled,!0)},rangeSelector:{enabled:h(r.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:h(r.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},k,{isStock:!0});k.series=m.series=p;return d?new g(b,k,e):new g(k,c)};C(b,"setOptions",function(b){function c(b){return a.seriesTypes[b]&&
595
+ d instanceof a.seriesTypes[b]}var d=this,e;this.chart.options.isStock&&(c("column")||c("columnrange")?e={borderWidth:0,shadow:!1}:!c("line")||c("scatter")||c("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(b.plotOptions[this.type]=f(b.plotOptions[this.type],e)))});C(m,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled&&(15===d.x&&(d.x=0),void 0===
596
+ d.align&&(d.align="right"),b[c]=this,a.align="right",a.preventDefault()))});C(m,"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]});C(m,"getPlotLinePath",function(b){function c(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return z(a)?[f[b][a]]:n(a)?[f.get(a)]:e.map(function(a){return a[b]})}var d=this,e=this.isLinked&&!this.series?this.linkedParent.series:this.series,f=d.chart,g=
597
+ f.renderer,l=d.left,m=d.top,p,r,t,w,x=[],y=[],A,B,C=b.translatedValue,E=b.value,F=b.force,H;if(f.options.isStock&&!1!==b.acrossPanes&&"xAxis"===d.coll||"yAxis"===d.coll)b.preventDefault(),y=c(d.coll),A=d.isXAxis?f.yAxis:f.xAxis,A.forEach(function(a){if(v(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=v(a.options[b])?f[b][a.options[b]]:f[b][0];d===b&&y.push(a)}}),B=y.length?[]:[d.isXAxis?f.yAxis[0]:f.xAxis[0]],y.forEach(function(b){-1!==B.indexOf(b)||a.find(B,
598
+ function(a){return a.pos===b.pos&&a.len===b.len})||B.push(b)}),H=h(C,d.translate(E,null,null,b.old)),z(H)&&(d.horiz?B.forEach(function(a){var b;r=a.pos;w=r+a.len;p=t=Math.round(H+d.transB);"pass"!==F&&(p<l||p>l+d.width)&&(F?p=t=Math.min(Math.max(l,p),l+d.width):b=!0);b||x.push("M",p,r,"L",t,w)}):B.forEach(function(a){var b;p=a.pos;t=p+a.len;r=w=Math.round(m+d.height-H);"pass"!==F&&(r<m||r>m+d.height)&&(F?r=w=Math.min(Math.max(m,r),d.top+d.height):b=!0);b||x.push("M",p,r,"L",t,w)})),b.path=0<x.length?
599
+ g.crispPolyLine(x,b.lineWidth||1):null});c.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};e===t&&(t.prototype.crispPolyLine=c.prototype.crispPolyLine);C(m,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});C(m,"afterDrawCrosshair",function(a){var b,c;if(v(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var d=
600
+ this.chart,e=this.options.crosshair.label,f=this.horiz;b=this.opposite;c=this.left;var g=this.top,l=this.crossLabel,m=e.format,n="",p="inside"===this.options.tickPosition,r=!1!==this.crosshair.snap,t=0,w=a.e||this.cross&&this.cross.e,z=a.point;a=this.lin2log;var A,B;this.isLog?(A=a(this.min),B=a(this.max)):(A=this.min,B=this.max);a=f?"center":b?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";l||(l=this.crossLabel=d.renderer.label(null,null,null,e.shape||"callout").addClass("highcharts-crosshair-label"+
601
+ (this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:e.align||a,padding:h(e.padding,8),r:h(e.borderRadius,3),zIndex:2}).add(this.labelGroup),d.styledMode||l.attr({fill:e.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:e.borderColor||"","stroke-width":e.borderWidth||0}).css(x({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},e.style)));f?(a=r?z.plotX+c:w.chartX,g+=b?0:this.height):(a=b?this.width+c:0,g=r?z.plotY+g:w.chartY);m||
602
+ e.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),m="{value"+(n?":"+n:"")+"}");n=r?z[this.isXAxis?"x":"y"]:this.toValue(f?w.chartX:w.chartY);l.attr({text:m?y(m,{value:n},d.time):e.formatter.call(this,n),x:a,y:g,visibility:n<A||n>B?"hidden":"visible"});e=l.getBBox();if(f){if(p&&!b||!p&&b)g=l.y-e.height}else g=l.y-e.height/2;f?(b=c-e.x,c=c+this.width-e.x):(b="left"===this.labelAlign?c:0,c="right"===this.labelAlign?c+this.width:d.chartWidth);l.translateX<b&&(t=b-l.translateX);l.translateX+e.width>=
603
+ c&&(t=-(l.translateX+e.width-c));l.attr({x:a+t,y:g,anchorX:f?a:this.opposite?0:d.chartWidth,anchorY:f?this.opposite?d.chartHeight:0:g+e.height/2})}});F.init=function(){w.apply(this,arguments);this.setCompare(this.options.compare)};F.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&&
604
+ (this.isDirty=!0)};F.processData=function(){var a,b=-1,c,e,f=!0===this.options.compareStart?0:1,g,h;B.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,e=this.processedYData,g=e.length,this.pointArrayMap&&(b=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),a=0;a<g-f;a++)if(h=e[a]&&-1<b?e[a][b]:e[a],z(h)&&c[a+f]>=this.xAxis.min&&0!==h){this.compareValue=h;break}};C(b,"afterGetExtremes",function(){if(this.modifyValue){var a=[this.modifyValue(this.dataMin),
605
+ this.modifyValue(this.dataMax)];this.dataMin=E(a);this.dataMax=A(a)}});m.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),h(b,!0)&&this.chart.redraw())};r.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,h(this.series.tooltipOptions.changeDecimals,2)));return p.apply(this,[b])};C(b,"render",function(){var a;this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||
606
+ (a=this.yAxis.len-(this.xAxis.axisLine?Math.floor(this.xAxis.axisLine.strokeWidth()/2):0),!this.clipBox&&this.animate?(this.clipBox=f(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=a):this.chart[this.sharedClipKey]&&(this.chart[this.sharedClipKey].animate({width:this.xAxis.len,height:a}),this.chart[this.sharedClipKey+"m"]&&this.chart[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});C(g,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(f(!0,this.options.scrollbar,
607
+ a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)})});I(H,"masters/modules/stock.src.js",[],function(){});I(H,"masters/highstock.src.js",[H["masters/highcharts.src.js"]],function(a){return a});H["masters/highstock.src.js"]._modules=H;return H["masters/highstock.src.js"]});
601
608
  //# sourceMappingURL=highstock.js.map