highcharts 6.1.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +29 -0
  3. package/css/highcharts.scss +25 -1
  4. package/css/themes/dark-unica.css +29 -0
  5. package/css/themes/grid-light.css +29 -0
  6. package/css/themes/sand-signika.css +29 -0
  7. package/es-modules/indicators/accumulation-distribution.src.js +1 -1
  8. package/es-modules/indicators/atr.src.js +1 -1
  9. package/es-modules/indicators/bollinger-bands.src.js +2 -2
  10. package/es-modules/indicators/cci.src.js +1 -1
  11. package/es-modules/indicators/cmf.src.js +1 -1
  12. package/es-modules/indicators/ema.src.js +1 -1
  13. package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  14. package/es-modules/indicators/indicators.src.js +29 -14
  15. package/es-modules/indicators/macd.src.js +4 -4
  16. package/es-modules/indicators/mfi.src.js +1 -1
  17. package/es-modules/indicators/momentum.src.js +2 -2
  18. package/es-modules/indicators/pivot-points.src.js +7 -2
  19. package/es-modules/indicators/price-envelopes.src.js +2 -2
  20. package/es-modules/indicators/psar.src.js +1 -1
  21. package/es-modules/indicators/roc.src.js +1 -1
  22. package/es-modules/indicators/rsi.src.js +1 -1
  23. package/es-modules/indicators/stochastic.src.js +9 -7
  24. package/es-modules/indicators/volume-by-price.src.js +1 -1
  25. package/es-modules/indicators/vwap.src.js +1 -1
  26. package/es-modules/indicators/wma.src.js +1 -1
  27. package/es-modules/indicators/zigzag.src.js +1 -1
  28. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  29. package/es-modules/masters/modules/annotations.src.js +1 -1
  30. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  31. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  32. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  33. package/es-modules/masters/modules/data.src.js +1 -1
  34. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  35. package/es-modules/masters/modules/export-data.src.js +1 -1
  36. package/es-modules/masters/modules/exporting.src.js +1 -1
  37. package/es-modules/masters/modules/funnel.src.js +1 -1
  38. package/es-modules/masters/modules/gantt.src.js +2 -1
  39. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  40. package/es-modules/masters/modules/heatmap.src.js +1 -1
  41. package/es-modules/masters/modules/item-series.src.js +1 -1
  42. package/es-modules/masters/modules/map.src.js +1 -1
  43. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  44. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  45. package/es-modules/masters/modules/sankey.src.js +1 -1
  46. package/es-modules/masters/modules/series-label.src.js +1 -1
  47. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  48. package/es-modules/masters/modules/stock.src.js +1 -1
  49. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  50. package/es-modules/masters/modules/treegrid.src.js +12 -0
  51. package/es-modules/masters/modules/variwide.src.js +1 -1
  52. package/es-modules/masters/modules/vector.src.js +1 -1
  53. package/es-modules/masters/modules/windbarb.src.js +1 -1
  54. package/es-modules/masters/modules/xrange.src.js +1 -1
  55. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  56. package/es-modules/masters/themes/dark-green.src.js +1 -1
  57. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  58. package/es-modules/masters/themes/gray.src.js +1 -1
  59. package/es-modules/masters/themes/grid-light.src.js +1 -1
  60. package/es-modules/masters/themes/grid.src.js +1 -1
  61. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  62. package/es-modules/masters/themes/skies.src.js +1 -1
  63. package/es-modules/mixins/centered-series.js +36 -5
  64. package/es-modules/mixins/on-series.js +1 -1
  65. package/es-modules/mixins/polygon.js +4 -4
  66. package/es-modules/modules/annotations.src.js +2 -2
  67. package/es-modules/modules/boost-canvas.src.js +19 -8
  68. package/es-modules/modules/boost.src.js +300 -137
  69. package/es-modules/modules/broken-axis.src.js +169 -134
  70. package/es-modules/modules/bullet.src.js +2 -2
  71. package/es-modules/modules/data.src.js +8 -6
  72. package/es-modules/modules/draggable-points.src.js +2257 -0
  73. package/es-modules/modules/drilldown.src.js +4 -2
  74. package/es-modules/modules/export-data.src.js +11 -1
  75. package/es-modules/modules/exporting.src.js +62 -36
  76. package/es-modules/modules/funnel.src.js +5 -5
  77. package/es-modules/modules/histogram.src.js +30 -28
  78. package/es-modules/modules/item-series.src.js +36 -11
  79. package/es-modules/modules/keyboard-navigation.src.js +81 -44
  80. package/es-modules/modules/no-data-to-display.src.js +5 -5
  81. package/es-modules/modules/oldie.src.js +14 -9
  82. package/es-modules/modules/overlapping-datalabels.src.js +45 -21
  83. package/es-modules/modules/parallel-coordinates.src.js +4 -3
  84. package/es-modules/modules/pareto.src.js +1 -1
  85. package/es-modules/modules/sankey.src.js +28 -10
  86. package/es-modules/modules/series-label.src.js +6 -6
  87. package/es-modules/modules/solid-gauge.src.js +10 -7
  88. package/es-modules/modules/static-scale.src.js +67 -28
  89. package/es-modules/modules/streamgraph.src.js +4 -4
  90. package/es-modules/modules/sunburst.src.js +4 -4
  91. package/es-modules/modules/tilemap.src.js +231 -134
  92. package/es-modules/modules/treemap.src.js +30 -27
  93. package/es-modules/modules/variable-pie.src.js +3 -3
  94. package/es-modules/modules/variwide.src.js +36 -24
  95. package/es-modules/modules/vector.src.js +98 -28
  96. package/es-modules/modules/windbarb.src.js +4 -4
  97. package/es-modules/modules/wordcloud.src.js +133 -48
  98. package/es-modules/modules/xrange.src.js +258 -78
  99. package/es-modules/parts/AreaSeries.js +83 -50
  100. package/es-modules/parts/AreaSplineSeries.js +66 -29
  101. package/es-modules/parts/Axis.js +2184 -745
  102. package/es-modules/parts/BarSeries.js +70 -53
  103. package/es-modules/parts/CandlestickSeries.js +20 -10
  104. package/es-modules/parts/Chart.js +349 -157
  105. package/es-modules/parts/Color.js +74 -25
  106. package/es-modules/parts/ColumnSeries.js +274 -147
  107. package/es-modules/parts/DataGrouping.js +36 -3
  108. package/es-modules/parts/DataLabels.js +318 -144
  109. package/es-modules/parts/DateTimeAxis.js +27 -5
  110. package/es-modules/parts/Dynamics.js +236 -144
  111. package/es-modules/parts/FlagsSeries.js +49 -7
  112. package/es-modules/parts/Globals.js +4 -3
  113. package/es-modules/parts/Html.js +82 -16
  114. package/es-modules/parts/Interaction.js +198 -65
  115. package/es-modules/parts/Legend.js +181 -31
  116. package/es-modules/parts/LogarithmicAxis.js +36 -3
  117. package/es-modules/parts/MSPointer.js +31 -4
  118. package/es-modules/parts/Navigator.js +479 -187
  119. package/es-modules/parts/OHLCSeries.js +11 -5
  120. package/es-modules/parts/Options.js +1052 -686
  121. package/es-modules/parts/OrdinalAxis.js +20 -6
  122. package/es-modules/parts/PieSeries.js +258 -142
  123. package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  124. package/es-modules/parts/PlotLineOrBand.js +671 -35
  125. package/es-modules/parts/Point.js +189 -73
  126. package/es-modules/parts/Pointer.js +263 -62
  127. package/es-modules/parts/RangeSelector.js +601 -91
  128. package/es-modules/parts/Responsive.js +82 -36
  129. package/es-modules/parts/ScatterSeries.js +59 -27
  130. package/es-modules/parts/ScrollablePlotArea.js +30 -9
  131. package/es-modules/parts/Scrollbar.js +284 -113
  132. package/es-modules/parts/Series.js +1105 -836
  133. package/es-modules/parts/SplineSeries.js +53 -31
  134. package/es-modules/parts/Stacking.js +108 -7
  135. package/es-modules/parts/StockChart.js +26 -8
  136. package/es-modules/parts/SvgRenderer.js +1251 -613
  137. package/es-modules/parts/Tick.js +164 -30
  138. package/es-modules/parts/Time.js +171 -71
  139. package/es-modules/parts/Tooltip.js +271 -49
  140. package/es-modules/parts/TouchPointer.js +70 -3
  141. package/es-modules/parts/Utilities.js +1024 -429
  142. package/es-modules/parts-3d/Axis.js +4 -3
  143. package/es-modules/parts-3d/Chart.js +8 -9
  144. package/es-modules/parts-3d/Column.js +1 -1
  145. package/es-modules/parts-3d/Math.js +1 -1
  146. package/es-modules/parts-3d/Pie.js +1 -1
  147. package/es-modules/parts-3d/SVGRenderer.js +13 -10
  148. package/es-modules/parts-3d/Scatter.js +4 -4
  149. package/es-modules/parts-3d/Series.js +1 -1
  150. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  151. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  152. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  153. package/es-modules/parts-gantt/GanttChart.js +111 -0
  154. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  155. package/es-modules/parts-gantt/GridAxis.js +965 -0
  156. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  157. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  158. package/es-modules/parts-gantt/Tree.js +146 -0
  159. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  160. package/es-modules/parts-map/ColorAxis.js +4 -5
  161. package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  162. package/es-modules/parts-map/GeoJSON.js +1 -1
  163. package/es-modules/parts-map/HeatmapSeries.js +126 -55
  164. package/es-modules/parts-map/Map.js +144 -51
  165. package/es-modules/parts-map/MapAxis.js +1 -1
  166. package/es-modules/parts-map/MapBubbleSeries.js +6 -5
  167. package/es-modules/parts-map/MapLineSeries.js +4 -4
  168. package/es-modules/parts-map/MapNavigation.js +50 -12
  169. package/es-modules/parts-map/MapPointSeries.js +3 -3
  170. package/es-modules/parts-map/MapPointer.js +1 -1
  171. package/es-modules/parts-map/MapSeries.js +7 -7
  172. package/es-modules/parts-more/AreaRangeSeries.js +82 -40
  173. package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  174. package/es-modules/parts-more/BoxPlotSeries.js +3 -3
  175. package/es-modules/parts-more/BubbleSeries.js +9 -4
  176. package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  177. package/es-modules/parts-more/ErrorBarSeries.js +6 -4
  178. package/es-modules/parts-more/GaugeSeries.js +3 -3
  179. package/es-modules/parts-more/Pane.js +3 -2
  180. package/es-modules/parts-more/Polar.js +1 -1
  181. package/es-modules/parts-more/PolygonSeries.js +3 -3
  182. package/es-modules/parts-more/RadialAxis.js +5 -4
  183. package/es-modules/parts-more/WaterfallSeries.js +9 -4
  184. package/es-modules/supplemental.docs.js +0 -1955
  185. package/es-modules/themes/dark-blue.js +1 -1
  186. package/es-modules/themes/dark-green.js +1 -1
  187. package/es-modules/themes/dark-unica.js +1 -1
  188. package/es-modules/themes/gray.js +1 -1
  189. package/es-modules/themes/grid-light.js +1 -1
  190. package/es-modules/themes/grid.js +1 -1
  191. package/es-modules/themes/sand-signika.js +1 -1
  192. package/es-modules/themes/skies.js +1 -1
  193. package/highcharts-3d.js +77 -75
  194. package/highcharts-3d.js.map +1 -8
  195. package/highcharts-3d.src.js +39 -32
  196. package/highcharts-gantt.js +503 -0
  197. package/highcharts-gantt.js.map +1 -0
  198. package/highcharts-gantt.src.js +49289 -0
  199. package/highcharts-more.js +66 -64
  200. package/highcharts-more.js.map +1 -8
  201. package/highcharts-more.src.js +135 -75
  202. package/highcharts.js +413 -403
  203. package/highcharts.js.map +1 -8
  204. package/highcharts.src.js +11114 -4781
  205. package/highmaps.js +442 -433
  206. package/highmaps.js.map +1 -8
  207. package/highmaps.src.js +10740 -4598
  208. package/highstock.js +553 -540
  209. package/highstock.js.map +1 -8
  210. package/highstock.src.js +12807 -5343
  211. package/indicators/accumulation-distribution.js +4 -3
  212. package/indicators/accumulation-distribution.js.map +1 -8
  213. package/indicators/accumulation-distribution.src.js +6 -2
  214. package/indicators/atr.js +4 -3
  215. package/indicators/atr.js.map +1 -8
  216. package/indicators/atr.src.js +6 -2
  217. package/indicators/bollinger-bands.js +7 -6
  218. package/indicators/bollinger-bands.js.map +1 -8
  219. package/indicators/bollinger-bands.src.js +7 -3
  220. package/indicators/cci.js +4 -3
  221. package/indicators/cci.js.map +1 -8
  222. package/indicators/cci.src.js +6 -2
  223. package/indicators/cmf.js +5 -4
  224. package/indicators/cmf.js.map +1 -8
  225. package/indicators/cmf.src.js +6 -2
  226. package/indicators/ema.js +4 -3
  227. package/indicators/ema.js.map +1 -8
  228. package/indicators/ema.src.js +6 -2
  229. package/indicators/ichimoku-kinko-hyo.js +10 -9
  230. package/indicators/ichimoku-kinko-hyo.js.map +1 -8
  231. package/indicators/ichimoku-kinko-hyo.src.js +6 -2
  232. package/indicators/indicators.js +6 -5
  233. package/indicators/indicators.js.map +1 -8
  234. package/indicators/indicators.src.js +34 -15
  235. package/indicators/macd.js +11 -10
  236. package/indicators/macd.js.map +1 -8
  237. package/indicators/macd.src.js +10 -6
  238. package/indicators/mfi.js +5 -3
  239. package/indicators/mfi.js.map +1 -8
  240. package/indicators/mfi.src.js +6 -2
  241. package/indicators/momentum.js +4 -3
  242. package/indicators/momentum.js.map +1 -8
  243. package/indicators/momentum.src.js +7 -3
  244. package/indicators/pivot-points.js +8 -7
  245. package/indicators/pivot-points.js.map +1 -8
  246. package/indicators/pivot-points.src.js +12 -3
  247. package/indicators/price-envelopes.js +7 -6
  248. package/indicators/price-envelopes.js.map +1 -8
  249. package/indicators/price-envelopes.src.js +7 -3
  250. package/indicators/psar.js +5 -4
  251. package/indicators/psar.js.map +1 -8
  252. package/indicators/psar.src.js +6 -2
  253. package/indicators/roc.js +4 -3
  254. package/indicators/roc.js.map +1 -8
  255. package/indicators/roc.src.js +6 -2
  256. package/indicators/rsi.js +4 -3
  257. package/indicators/rsi.js.map +1 -8
  258. package/indicators/rsi.src.js +6 -2
  259. package/indicators/stochastic.js +7 -5
  260. package/indicators/stochastic.js.map +1 -8
  261. package/indicators/stochastic.src.js +14 -8
  262. package/indicators/volume-by-price.js +13 -12
  263. package/indicators/volume-by-price.js.map +1 -8
  264. package/indicators/volume-by-price.src.js +6 -2
  265. package/indicators/vwap.js +4 -3
  266. package/indicators/vwap.js.map +1 -8
  267. package/indicators/vwap.src.js +6 -2
  268. package/indicators/wma.js +4 -3
  269. package/indicators/wma.js.map +1 -8
  270. package/indicators/wma.src.js +6 -2
  271. package/indicators/zigzag.js +5 -3
  272. package/indicators/zigzag.js.map +1 -8
  273. package/indicators/zigzag.src.js +6 -2
  274. package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
  275. package/js/es-modules/indicators/atr.src.js +1 -1
  276. package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
  277. package/js/es-modules/indicators/cci.src.js +1 -1
  278. package/js/es-modules/indicators/cmf.src.js +1 -1
  279. package/js/es-modules/indicators/ema.src.js +1 -1
  280. package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  281. package/js/es-modules/indicators/indicators.src.js +29 -14
  282. package/js/es-modules/indicators/macd.src.js +4 -4
  283. package/js/es-modules/indicators/mfi.src.js +1 -1
  284. package/js/es-modules/indicators/momentum.src.js +2 -2
  285. package/js/es-modules/indicators/pivot-points.src.js +7 -2
  286. package/js/es-modules/indicators/price-envelopes.src.js +2 -2
  287. package/js/es-modules/indicators/psar.src.js +1 -1
  288. package/js/es-modules/indicators/roc.src.js +1 -1
  289. package/js/es-modules/indicators/rsi.src.js +1 -1
  290. package/js/es-modules/indicators/stochastic.src.js +9 -7
  291. package/js/es-modules/indicators/volume-by-price.src.js +1 -1
  292. package/js/es-modules/indicators/vwap.src.js +1 -1
  293. package/js/es-modules/indicators/wma.src.js +1 -1
  294. package/js/es-modules/indicators/zigzag.src.js +1 -1
  295. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  296. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  297. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  298. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  299. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  300. package/js/es-modules/masters/modules/data.src.js +1 -1
  301. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  302. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  305. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  306. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  307. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  308. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  309. package/js/es-modules/masters/modules/map.src.js +1 -1
  310. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  311. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  312. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  313. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  314. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  315. package/js/es-modules/masters/modules/stock.src.js +1 -1
  316. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  317. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  318. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  319. package/js/es-modules/masters/modules/vector.src.js +1 -1
  320. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  321. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  322. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  323. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  324. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  325. package/js/es-modules/masters/themes/gray.src.js +1 -1
  326. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  327. package/js/es-modules/masters/themes/grid.src.js +1 -1
  328. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  329. package/js/es-modules/masters/themes/skies.src.js +1 -1
  330. package/js/es-modules/mixins/centered-series.js +36 -5
  331. package/js/es-modules/mixins/on-series.js +1 -1
  332. package/js/es-modules/mixins/polygon.js +4 -4
  333. package/js/es-modules/modules/annotations.src.js +2 -2
  334. package/js/es-modules/modules/boost-canvas.src.js +19 -8
  335. package/js/es-modules/modules/boost.src.js +300 -137
  336. package/js/es-modules/modules/broken-axis.src.js +169 -134
  337. package/js/es-modules/modules/bullet.src.js +2 -2
  338. package/js/es-modules/modules/data.src.js +8 -6
  339. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  340. package/js/es-modules/modules/drilldown.src.js +4 -2
  341. package/js/es-modules/modules/export-data.src.js +11 -1
  342. package/js/es-modules/modules/exporting.src.js +62 -36
  343. package/js/es-modules/modules/funnel.src.js +5 -5
  344. package/js/es-modules/modules/histogram.src.js +30 -28
  345. package/js/es-modules/modules/item-series.src.js +36 -11
  346. package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
  347. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  348. package/js/es-modules/modules/oldie.src.js +14 -9
  349. package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
  350. package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
  351. package/js/es-modules/modules/pareto.src.js +1 -1
  352. package/js/es-modules/modules/sankey.src.js +23 -7
  353. package/js/es-modules/modules/series-label.src.js +6 -6
  354. package/js/es-modules/modules/solid-gauge.src.js +8 -5
  355. package/js/es-modules/modules/static-scale.src.js +67 -28
  356. package/js/es-modules/modules/streamgraph.src.js +4 -4
  357. package/js/es-modules/modules/sunburst.src.js +4 -4
  358. package/js/es-modules/modules/tilemap.src.js +231 -134
  359. package/js/es-modules/modules/treemap.src.js +29 -26
  360. package/js/es-modules/modules/variable-pie.src.js +3 -3
  361. package/js/es-modules/modules/variwide.src.js +36 -24
  362. package/js/es-modules/modules/vector.src.js +98 -28
  363. package/js/es-modules/modules/windbarb.src.js +4 -4
  364. package/js/es-modules/modules/wordcloud.src.js +133 -48
  365. package/js/es-modules/modules/xrange.src.js +256 -69
  366. package/js/es-modules/parts/AreaSeries.js +83 -50
  367. package/js/es-modules/parts/AreaSplineSeries.js +66 -29
  368. package/js/es-modules/parts/Axis.js +2089 -694
  369. package/js/es-modules/parts/BarSeries.js +70 -53
  370. package/js/es-modules/parts/CandlestickSeries.js +20 -10
  371. package/js/es-modules/parts/Chart.js +349 -157
  372. package/js/es-modules/parts/Color.js +74 -25
  373. package/js/es-modules/parts/ColumnSeries.js +241 -128
  374. package/js/es-modules/parts/DataGrouping.js +36 -3
  375. package/js/es-modules/parts/DataLabels.js +287 -116
  376. package/js/es-modules/parts/DateTimeAxis.js +27 -5
  377. package/js/es-modules/parts/Dynamics.js +236 -144
  378. package/js/es-modules/parts/FlagsSeries.js +49 -7
  379. package/js/es-modules/parts/Globals.js +4 -3
  380. package/js/es-modules/parts/Html.js +82 -16
  381. package/js/es-modules/parts/Interaction.js +187 -67
  382. package/js/es-modules/parts/Legend.js +181 -31
  383. package/js/es-modules/parts/LogarithmicAxis.js +36 -3
  384. package/js/es-modules/parts/MSPointer.js +31 -4
  385. package/js/es-modules/parts/Navigator.js +432 -162
  386. package/js/es-modules/parts/OHLCSeries.js +5 -5
  387. package/js/es-modules/parts/Options.js +855 -592
  388. package/js/es-modules/parts/OrdinalAxis.js +20 -6
  389. package/js/es-modules/parts/PieSeries.js +247 -134
  390. package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  391. package/js/es-modules/parts/PlotLineOrBand.js +671 -35
  392. package/js/es-modules/parts/Point.js +182 -70
  393. package/js/es-modules/parts/Pointer.js +263 -62
  394. package/js/es-modules/parts/RangeSelector.js +579 -91
  395. package/js/es-modules/parts/Responsive.js +82 -36
  396. package/js/es-modules/parts/ScatterSeries.js +58 -27
  397. package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
  398. package/js/es-modules/parts/Scrollbar.js +201 -71
  399. package/js/es-modules/parts/Series.js +995 -745
  400. package/js/es-modules/parts/SplineSeries.js +53 -31
  401. package/js/es-modules/parts/Stacking.js +108 -7
  402. package/js/es-modules/parts/StockChart.js +26 -8
  403. package/js/es-modules/parts/SvgRenderer.js +1208 -598
  404. package/js/es-modules/parts/Tick.js +164 -30
  405. package/js/es-modules/parts/Time.js +171 -71
  406. package/js/es-modules/parts/Tooltip.js +276 -49
  407. package/js/es-modules/parts/TouchPointer.js +70 -3
  408. package/js/es-modules/parts/Utilities.js +1024 -429
  409. package/js/es-modules/parts-3d/Axis.js +4 -3
  410. package/js/es-modules/parts-3d/Chart.js +8 -9
  411. package/js/es-modules/parts-3d/Column.js +1 -1
  412. package/js/es-modules/parts-3d/Math.js +1 -1
  413. package/js/es-modules/parts-3d/Pie.js +1 -1
  414. package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
  415. package/js/es-modules/parts-3d/Scatter.js +4 -4
  416. package/js/es-modules/parts-3d/Series.js +1 -1
  417. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  418. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  419. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  420. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  421. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  422. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  423. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  424. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  425. package/js/es-modules/parts-gantt/Tree.js +146 -0
  426. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  427. package/js/es-modules/parts-map/ColorAxis.js +4 -5
  428. package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  429. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  430. package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
  431. package/js/es-modules/parts-map/Map.js +136 -47
  432. package/js/es-modules/parts-map/MapAxis.js +1 -1
  433. package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
  434. package/js/es-modules/parts-map/MapLineSeries.js +4 -4
  435. package/js/es-modules/parts-map/MapNavigation.js +50 -12
  436. package/js/es-modules/parts-map/MapPointSeries.js +3 -3
  437. package/js/es-modules/parts-map/MapPointer.js +1 -1
  438. package/js/es-modules/parts-map/MapSeries.js +5 -5
  439. package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
  440. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  441. package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
  442. package/js/es-modules/parts-more/BubbleSeries.js +9 -4
  443. package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  444. package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
  445. package/js/es-modules/parts-more/GaugeSeries.js +3 -3
  446. package/js/es-modules/parts-more/Pane.js +3 -2
  447. package/js/es-modules/parts-more/Polar.js +1 -1
  448. package/js/es-modules/parts-more/PolygonSeries.js +3 -3
  449. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  450. package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
  451. package/js/es-modules/supplemental.docs.js +0 -1955
  452. package/js/es-modules/themes/dark-blue.js +1 -1
  453. package/js/es-modules/themes/dark-green.js +1 -1
  454. package/js/es-modules/themes/dark-unica.js +1 -1
  455. package/js/es-modules/themes/gray.js +1 -1
  456. package/js/es-modules/themes/grid-light.js +1 -1
  457. package/js/es-modules/themes/grid.js +1 -1
  458. package/js/es-modules/themes/sand-signika.js +1 -1
  459. package/js/es-modules/themes/skies.js +1 -1
  460. package/js/highcharts-3d.js +75 -74
  461. package/js/highcharts-3d.js.map +1 -8
  462. package/js/highcharts-3d.src.js +39 -32
  463. package/js/highcharts-gantt.js +480 -0
  464. package/js/highcharts-gantt.js.map +1 -0
  465. package/js/highcharts-gantt.src.js +47011 -0
  466. package/js/highcharts-more.js +63 -61
  467. package/js/highcharts-more.js.map +1 -8
  468. package/js/highcharts-more.src.js +135 -75
  469. package/js/highcharts.js +396 -387
  470. package/js/highcharts.js.map +1 -8
  471. package/js/highcharts.src.js +10765 -4659
  472. package/js/highmaps.js +419 -411
  473. package/js/highmaps.js.map +1 -8
  474. package/js/highmaps.src.js +10198 -4285
  475. package/js/highstock.js +529 -516
  476. package/js/highstock.js.map +1 -8
  477. package/js/highstock.src.js +12108 -4962
  478. package/js/indicators/accumulation-distribution.js +4 -3
  479. package/js/indicators/accumulation-distribution.js.map +1 -8
  480. package/js/indicators/accumulation-distribution.src.js +6 -2
  481. package/js/indicators/atr.js +4 -3
  482. package/js/indicators/atr.js.map +1 -8
  483. package/js/indicators/atr.src.js +6 -2
  484. package/js/indicators/bollinger-bands.js +7 -6
  485. package/js/indicators/bollinger-bands.js.map +1 -8
  486. package/js/indicators/bollinger-bands.src.js +7 -3
  487. package/js/indicators/cci.js +4 -3
  488. package/js/indicators/cci.js.map +1 -8
  489. package/js/indicators/cci.src.js +6 -2
  490. package/js/indicators/cmf.js +5 -4
  491. package/js/indicators/cmf.js.map +1 -8
  492. package/js/indicators/cmf.src.js +6 -2
  493. package/js/indicators/ema.js +4 -3
  494. package/js/indicators/ema.js.map +1 -8
  495. package/js/indicators/ema.src.js +6 -2
  496. package/js/indicators/ichimoku-kinko-hyo.js +10 -9
  497. package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
  498. package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
  499. package/js/indicators/indicators.js +6 -5
  500. package/js/indicators/indicators.js.map +1 -8
  501. package/js/indicators/indicators.src.js +34 -15
  502. package/js/indicators/macd.js +11 -10
  503. package/js/indicators/macd.js.map +1 -8
  504. package/js/indicators/macd.src.js +10 -6
  505. package/js/indicators/mfi.js +5 -3
  506. package/js/indicators/mfi.js.map +1 -8
  507. package/js/indicators/mfi.src.js +6 -2
  508. package/js/indicators/momentum.js +4 -3
  509. package/js/indicators/momentum.js.map +1 -8
  510. package/js/indicators/momentum.src.js +7 -3
  511. package/js/indicators/pivot-points.js +8 -7
  512. package/js/indicators/pivot-points.js.map +1 -8
  513. package/js/indicators/pivot-points.src.js +12 -3
  514. package/js/indicators/price-envelopes.js +7 -6
  515. package/js/indicators/price-envelopes.js.map +1 -8
  516. package/js/indicators/price-envelopes.src.js +7 -3
  517. package/js/indicators/psar.js +5 -4
  518. package/js/indicators/psar.js.map +1 -8
  519. package/js/indicators/psar.src.js +6 -2
  520. package/js/indicators/roc.js +4 -3
  521. package/js/indicators/roc.js.map +1 -8
  522. package/js/indicators/roc.src.js +6 -2
  523. package/js/indicators/rsi.js +4 -3
  524. package/js/indicators/rsi.js.map +1 -8
  525. package/js/indicators/rsi.src.js +6 -2
  526. package/js/indicators/stochastic.js +7 -5
  527. package/js/indicators/stochastic.js.map +1 -8
  528. package/js/indicators/stochastic.src.js +14 -8
  529. package/js/indicators/volume-by-price.js +13 -12
  530. package/js/indicators/volume-by-price.js.map +1 -8
  531. package/js/indicators/volume-by-price.src.js +6 -2
  532. package/js/indicators/vwap.js +4 -3
  533. package/js/indicators/vwap.js.map +1 -8
  534. package/js/indicators/vwap.src.js +6 -2
  535. package/js/indicators/wma.js +4 -3
  536. package/js/indicators/wma.js.map +1 -8
  537. package/js/indicators/wma.src.js +6 -2
  538. package/js/indicators/zigzag.js +5 -3
  539. package/js/indicators/zigzag.js.map +1 -8
  540. package/js/indicators/zigzag.src.js +6 -2
  541. package/js/modules/accessibility.js +52 -51
  542. package/js/modules/accessibility.js.map +1 -8
  543. package/js/modules/accessibility.src.js +86 -45
  544. package/js/modules/annotations.js +22 -21
  545. package/js/modules/annotations.js.map +1 -8
  546. package/js/modules/annotations.src.js +8 -4
  547. package/js/modules/arrow-symbols.js +13 -0
  548. package/js/modules/arrow-symbols.js.map +1 -0
  549. package/js/modules/arrow-symbols.src.js +138 -0
  550. package/js/modules/boost-canvas.js +15 -13
  551. package/js/modules/boost-canvas.js.map +1 -8
  552. package/js/modules/boost-canvas.src.js +24 -9
  553. package/js/modules/boost.js +57 -52
  554. package/js/modules/boost.js.map +1 -8
  555. package/js/modules/boost.src.js +305 -138
  556. package/js/modules/broken-axis.js +12 -10
  557. package/js/modules/broken-axis.js.map +1 -8
  558. package/js/modules/broken-axis.src.js +175 -136
  559. package/js/modules/bullet.js +3 -2
  560. package/js/modules/bullet.js.map +1 -8
  561. package/js/modules/bullet.src.js +7 -3
  562. package/js/modules/current-date-indicator.js +13 -0
  563. package/js/modules/current-date-indicator.js.map +1 -0
  564. package/js/modules/current-date-indicator.src.js +120 -0
  565. package/js/modules/data.js +25 -24
  566. package/js/modules/data.js.map +1 -8
  567. package/js/modules/data.src.js +14 -8
  568. package/js/modules/drag-panes.js +9 -8
  569. package/js/modules/drag-panes.js.map +1 -8
  570. package/js/modules/drag-panes.src.js +5 -1
  571. package/js/modules/draggable-points.js +38 -0
  572. package/js/modules/draggable-points.js.map +1 -0
  573. package/js/modules/draggable-points.src.js +2281 -0
  574. package/js/modules/drilldown.js +20 -19
  575. package/js/modules/drilldown.js.map +1 -8
  576. package/js/modules/drilldown.src.js +9 -3
  577. package/js/modules/export-data.js +20 -19
  578. package/js/modules/export-data.js.map +1 -8
  579. package/js/modules/export-data.src.js +17 -3
  580. package/js/modules/exporting.js +24 -23
  581. package/js/modules/exporting.js.map +1 -8
  582. package/js/modules/exporting.src.js +68 -38
  583. package/js/modules/funnel.js +8 -6
  584. package/js/modules/funnel.js.map +1 -8
  585. package/js/modules/funnel.src.js +11 -7
  586. package/js/modules/gantt.js +81 -18
  587. package/js/modules/gantt.js.map +1 -8
  588. package/js/modules/gantt.src.js +5494 -372
  589. package/js/modules/grid-axis.js +16 -10
  590. package/js/modules/grid-axis.js.map +1 -8
  591. package/js/modules/grid-axis.src.js +735 -293
  592. package/js/modules/heatmap.js +22 -21
  593. package/js/modules/heatmap.js.map +1 -8
  594. package/js/modules/heatmap.src.js +137 -62
  595. package/js/modules/histogram-bellcurve.js +9 -8
  596. package/js/modules/histogram-bellcurve.js.map +1 -8
  597. package/js/modules/histogram-bellcurve.src.js +35 -29
  598. package/js/modules/item-series.js +6 -4
  599. package/js/modules/item-series.js.map +1 -8
  600. package/js/modules/item-series.src.js +42 -13
  601. package/js/modules/map.js +63 -62
  602. package/js/modules/map.js.map +1 -8
  603. package/js/modules/map.src.js +353 -145
  604. package/js/modules/no-data-to-display.js +5 -4
  605. package/js/modules/no-data-to-display.js.map +1 -8
  606. package/js/modules/no-data-to-display.src.js +10 -6
  607. package/js/modules/offline-exporting.js +14 -13
  608. package/js/modules/offline-exporting.js.map +1 -8
  609. package/js/modules/offline-exporting.src.js +6 -2
  610. package/js/modules/oldie.js +29 -27
  611. package/js/modules/oldie.js.map +1 -8
  612. package/js/modules/oldie.src.js +20 -11
  613. package/js/modules/overlapping-datalabels.js +4 -3
  614. package/js/modules/overlapping-datalabels.js.map +1 -8
  615. package/js/modules/overlapping-datalabels.src.js +6 -2
  616. package/js/modules/parallel-coordinates.js +10 -9
  617. package/js/modules/parallel-coordinates.js.map +1 -8
  618. package/js/modules/parallel-coordinates.src.js +9 -4
  619. package/js/modules/pareto.js +5 -4
  620. package/js/modules/pareto.js.map +1 -8
  621. package/js/modules/pareto.src.js +6 -2
  622. package/js/modules/pathfinder.js +34 -0
  623. package/js/modules/pathfinder.js.map +1 -0
  624. package/js/modules/pathfinder.src.js +2106 -0
  625. package/js/modules/pattern-fill.js +13 -12
  626. package/js/modules/pattern-fill.js.map +1 -8
  627. package/js/modules/pattern-fill.src.js +5 -1
  628. package/js/modules/sankey.js +13 -12
  629. package/js/modules/sankey.js.map +1 -8
  630. package/js/modules/sankey.src.js +29 -9
  631. package/js/modules/series-label.js +17 -15
  632. package/js/modules/series-label.js.map +1 -8
  633. package/js/modules/series-label.src.js +12 -8
  634. package/js/modules/solid-gauge.js +9 -8
  635. package/js/modules/solid-gauge.js.map +1 -8
  636. package/js/modules/solid-gauge.src.js +14 -7
  637. package/js/modules/static-scale.js +4 -3
  638. package/js/modules/static-scale.js.map +1 -8
  639. package/js/modules/static-scale.src.js +69 -26
  640. package/js/modules/stock.js +136 -132
  641. package/js/modules/stock.js.map +1 -8
  642. package/js/modules/stock.src.js +1543 -499
  643. package/js/modules/streamgraph.js +4 -3
  644. package/js/modules/streamgraph.js.map +1 -8
  645. package/js/modules/streamgraph.src.js +10 -6
  646. package/js/modules/sunburst.js +40 -39
  647. package/js/modules/sunburst.js.map +1 -8
  648. package/js/modules/sunburst.src.js +38 -31
  649. package/js/modules/tilemap.js +19 -18
  650. package/js/modules/tilemap.js.map +1 -8
  651. package/js/modules/tilemap.src.js +363 -190
  652. package/js/modules/treegrid.js +51 -0
  653. package/js/modules/treegrid.js.map +1 -0
  654. package/js/modules/treegrid.src.js +2759 -0
  655. package/js/modules/treemap.js +27 -26
  656. package/js/modules/treemap.js.map +1 -8
  657. package/js/modules/treemap.src.js +34 -27
  658. package/js/modules/variable-pie.js +8 -7
  659. package/js/modules/variable-pie.js.map +1 -8
  660. package/js/modules/variable-pie.src.js +8 -4
  661. package/js/modules/variwide.js +8 -7
  662. package/js/modules/variwide.js.map +1 -8
  663. package/js/modules/variwide.src.js +42 -26
  664. package/js/modules/vector.js +7 -6
  665. package/js/modules/vector.js.map +1 -8
  666. package/js/modules/vector.src.js +104 -30
  667. package/js/modules/windbarb.js +11 -10
  668. package/js/modules/windbarb.js.map +1 -8
  669. package/js/modules/windbarb.src.js +11 -7
  670. package/js/modules/wordcloud.js +18 -15
  671. package/js/modules/wordcloud.js.map +1 -8
  672. package/js/modules/wordcloud.src.js +142 -53
  673. package/js/modules/xrange.js +12 -10
  674. package/js/modules/xrange.js.map +1 -8
  675. package/js/modules/xrange.src.js +262 -71
  676. package/js/themes/avocado.js +3 -2
  677. package/js/themes/avocado.js.map +1 -8
  678. package/js/themes/avocado.src.js +5 -1
  679. package/js/themes/dark-blue.js +9 -8
  680. package/js/themes/dark-blue.js.map +1 -8
  681. package/js/themes/dark-blue.src.js +7 -3
  682. package/js/themes/dark-green.js +9 -8
  683. package/js/themes/dark-green.js.map +1 -8
  684. package/js/themes/dark-green.src.js +7 -3
  685. package/js/themes/dark-unica.js +9 -7
  686. package/js/themes/dark-unica.js.map +1 -8
  687. package/js/themes/dark-unica.src.js +7 -3
  688. package/js/themes/gray.js +10 -8
  689. package/js/themes/gray.js.map +1 -8
  690. package/js/themes/gray.src.js +7 -3
  691. package/js/themes/grid-light.js +5 -4
  692. package/js/themes/grid-light.js.map +1 -8
  693. package/js/themes/grid-light.src.js +7 -3
  694. package/js/themes/grid.js +6 -5
  695. package/js/themes/grid.js.map +1 -8
  696. package/js/themes/grid.src.js +7 -3
  697. package/js/themes/sand-signika.js +6 -5
  698. package/js/themes/sand-signika.js.map +1 -8
  699. package/js/themes/sand-signika.src.js +7 -3
  700. package/js/themes/skies.js +6 -5
  701. package/js/themes/skies.js.map +1 -8
  702. package/js/themes/skies.src.js +7 -3
  703. package/js/themes/sunset.js +3 -2
  704. package/js/themes/sunset.js.map +1 -8
  705. package/js/themes/sunset.src.js +5 -1
  706. package/modules/accessibility.js +53 -51
  707. package/modules/accessibility.js.map +1 -8
  708. package/modules/accessibility.src.js +86 -45
  709. package/modules/annotations.js +24 -22
  710. package/modules/annotations.js.map +1 -8
  711. package/modules/annotations.src.js +8 -4
  712. package/modules/arrow-symbols.js +13 -0
  713. package/modules/arrow-symbols.js.map +1 -0
  714. package/modules/arrow-symbols.src.js +138 -0
  715. package/modules/boost-canvas.js +15 -13
  716. package/modules/boost-canvas.js.map +1 -8
  717. package/modules/boost-canvas.src.js +24 -9
  718. package/modules/boost.js +57 -52
  719. package/modules/boost.js.map +1 -8
  720. package/modules/boost.src.js +305 -138
  721. package/modules/broken-axis.js +12 -10
  722. package/modules/broken-axis.js.map +1 -8
  723. package/modules/broken-axis.src.js +175 -136
  724. package/modules/bullet.js +6 -5
  725. package/modules/bullet.js.map +1 -8
  726. package/modules/bullet.src.js +7 -3
  727. package/modules/current-date-indicator.js +13 -0
  728. package/modules/current-date-indicator.js.map +1 -0
  729. package/modules/current-date-indicator.src.js +120 -0
  730. package/modules/data.js +25 -24
  731. package/modules/data.js.map +1 -8
  732. package/modules/data.src.js +14 -8
  733. package/modules/drag-panes.js +9 -8
  734. package/modules/drag-panes.js.map +1 -8
  735. package/modules/drag-panes.src.js +5 -1
  736. package/modules/draggable-points.js +38 -0
  737. package/modules/draggable-points.js.map +1 -0
  738. package/modules/draggable-points.src.js +2281 -0
  739. package/modules/drilldown.js +16 -15
  740. package/modules/drilldown.js.map +1 -8
  741. package/modules/drilldown.src.js +9 -3
  742. package/modules/export-data.js +20 -19
  743. package/modules/export-data.js.map +1 -8
  744. package/modules/export-data.src.js +17 -3
  745. package/modules/exporting.js +23 -21
  746. package/modules/exporting.js.map +1 -8
  747. package/modules/exporting.src.js +68 -38
  748. package/modules/funnel.js +8 -7
  749. package/modules/funnel.js.map +1 -8
  750. package/modules/funnel.src.js +11 -7
  751. package/modules/gantt.js +84 -19
  752. package/modules/gantt.js.map +1 -8
  753. package/modules/gantt.src.js +5557 -379
  754. package/modules/grid-axis.js +17 -10
  755. package/modules/grid-axis.js.map +1 -8
  756. package/modules/grid-axis.src.js +736 -293
  757. package/modules/heatmap.js +22 -21
  758. package/modules/heatmap.js.map +1 -8
  759. package/modules/heatmap.src.js +139 -63
  760. package/modules/histogram-bellcurve.js +9 -8
  761. package/modules/histogram-bellcurve.js.map +1 -8
  762. package/modules/histogram-bellcurve.src.js +35 -29
  763. package/modules/item-series.js +6 -4
  764. package/modules/item-series.js.map +1 -8
  765. package/modules/item-series.src.js +42 -13
  766. package/modules/map.js +65 -64
  767. package/modules/map.js.map +1 -8
  768. package/modules/map.src.js +365 -152
  769. package/modules/no-data-to-display.js +5 -4
  770. package/modules/no-data-to-display.js.map +1 -8
  771. package/modules/no-data-to-display.src.js +10 -6
  772. package/modules/offline-exporting.js +14 -12
  773. package/modules/offline-exporting.js.map +1 -8
  774. package/modules/offline-exporting.src.js +6 -2
  775. package/modules/oldie.js +29 -27
  776. package/modules/oldie.js.map +1 -8
  777. package/modules/oldie.src.js +20 -11
  778. package/modules/overlapping-datalabels.js +4 -3
  779. package/modules/overlapping-datalabels.js.map +1 -8
  780. package/modules/overlapping-datalabels.src.js +6 -2
  781. package/modules/parallel-coordinates.js +10 -9
  782. package/modules/parallel-coordinates.js.map +1 -8
  783. package/modules/parallel-coordinates.src.js +9 -4
  784. package/modules/pareto.js +5 -4
  785. package/modules/pareto.js.map +1 -8
  786. package/modules/pareto.src.js +6 -2
  787. package/modules/pathfinder.js +35 -0
  788. package/modules/pathfinder.js.map +1 -0
  789. package/modules/pathfinder.src.js +2128 -0
  790. package/modules/pattern-fill.js +13 -12
  791. package/modules/pattern-fill.js.map +1 -8
  792. package/modules/pattern-fill.src.js +5 -1
  793. package/modules/sankey.js +13 -12
  794. package/modules/sankey.js.map +1 -8
  795. package/modules/sankey.src.js +34 -12
  796. package/modules/series-label.js +17 -15
  797. package/modules/series-label.js.map +1 -8
  798. package/modules/series-label.src.js +12 -8
  799. package/modules/solid-gauge.js +9 -8
  800. package/modules/solid-gauge.js.map +1 -8
  801. package/modules/solid-gauge.src.js +16 -9
  802. package/modules/static-scale.js +4 -3
  803. package/modules/static-scale.js.map +1 -8
  804. package/modules/static-scale.src.js +69 -26
  805. package/modules/stock.js +143 -139
  806. package/modules/stock.js.map +1 -8
  807. package/modules/stock.src.js +1701 -566
  808. package/modules/streamgraph.js +4 -3
  809. package/modules/streamgraph.js.map +1 -8
  810. package/modules/streamgraph.src.js +10 -6
  811. package/modules/sunburst.js +42 -41
  812. package/modules/sunburst.js.map +1 -8
  813. package/modules/sunburst.src.js +39 -32
  814. package/modules/tilemap.js +18 -17
  815. package/modules/tilemap.js.map +1 -8
  816. package/modules/tilemap.src.js +365 -191
  817. package/modules/treegrid.js +52 -0
  818. package/modules/treegrid.js.map +1 -0
  819. package/modules/treegrid.src.js +2797 -0
  820. package/modules/treemap.js +29 -28
  821. package/modules/treemap.js.map +1 -8
  822. package/modules/treemap.src.js +35 -28
  823. package/modules/variable-pie.js +8 -7
  824. package/modules/variable-pie.js.map +1 -8
  825. package/modules/variable-pie.src.js +8 -4
  826. package/modules/variwide.js +8 -7
  827. package/modules/variwide.js.map +1 -8
  828. package/modules/variwide.src.js +42 -26
  829. package/modules/vector.js +7 -6
  830. package/modules/vector.js.map +1 -8
  831. package/modules/vector.src.js +104 -30
  832. package/modules/windbarb.js +11 -10
  833. package/modules/windbarb.js.map +1 -8
  834. package/modules/windbarb.src.js +11 -7
  835. package/modules/wordcloud.js +18 -15
  836. package/modules/wordcloud.js.map +1 -8
  837. package/modules/wordcloud.src.js +142 -53
  838. package/modules/xrange.js +13 -11
  839. package/modules/xrange.js.map +1 -8
  840. package/modules/xrange.src.js +264 -80
  841. package/package.json +1 -1
  842. package/themes/avocado.js +3 -2
  843. package/themes/avocado.js.map +1 -8
  844. package/themes/avocado.src.js +5 -1
  845. package/themes/dark-blue.js +9 -8
  846. package/themes/dark-blue.js.map +1 -8
  847. package/themes/dark-blue.src.js +7 -3
  848. package/themes/dark-green.js +9 -8
  849. package/themes/dark-green.js.map +1 -8
  850. package/themes/dark-green.src.js +7 -3
  851. package/themes/dark-unica.js +9 -7
  852. package/themes/dark-unica.js.map +1 -8
  853. package/themes/dark-unica.src.js +7 -3
  854. package/themes/gray.js +10 -8
  855. package/themes/gray.js.map +1 -8
  856. package/themes/gray.src.js +7 -3
  857. package/themes/grid-light.js +5 -4
  858. package/themes/grid-light.js.map +1 -8
  859. package/themes/grid-light.src.js +7 -3
  860. package/themes/grid.js +6 -5
  861. package/themes/grid.js.map +1 -8
  862. package/themes/grid.src.js +7 -3
  863. package/themes/sand-signika.js +6 -5
  864. package/themes/sand-signika.js.map +1 -8
  865. package/themes/sand-signika.src.js +7 -3
  866. package/themes/skies.js +6 -5
  867. package/themes/skies.js.map +1 -8
  868. package/themes/skies.src.js +7 -3
  869. package/themes/sunset.js +3 -2
  870. package/themes/sunset.js.map +1 -8
  871. package/themes/sunset.src.js +5 -1
package/js/highmaps.js CHANGED
@@ -1,420 +1,428 @@
1
1
  /*
2
- Highmaps JS v6.1.1 (2018-06-27)
2
+ Highmaps JS v6.2.0 (2018-10-17)
3
3
 
4
4
  (c) 2011-2016 Torstein Honsi
5
5
 
6
6
  License: www.highcharts.com/license
7
7
  */
8
- (function(S,I){"object"===typeof module&&module.exports?module.exports=S.document?I(S):I:S.Highcharts=I(S)})("undefined"!==typeof window?window:this,function(S){var I=function(){var a="undefined"===typeof S?window:S,y=a.document,z=a.navigator&&a.navigator.userAgent||"",B=y&&y.createElementNS&&!!y.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,l=/(edge|msie|trident)/i.test(z)&&!a.opera,f=-1!==z.indexOf("Firefox"),h=-1!==z.indexOf("Chrome"),r=f&&4>parseInt(z.split("Firefox/")[1],
9
- 10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.1.1",deg2rad:2*Math.PI/360,doc:y,hasBidiBug:r,hasTouch:y&&void 0!==y.documentElement.ontouchstart,isMS:l,isWebKit:-1!==z.indexOf("AppleWebKit"),isFirefox:f,isChrome:h,isSafari:!h&&-1!==z.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(z),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:B,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},
10
- charts:[]}}();(function(a){a.timers=[];var y=a.charts,z=a.doc,B=a.win;a.error=function(l,f){l=a.isNumber(l)?"Highcharts error #"+l+": www.highcharts.com/errors/"+l:l;if(f)throw Error(l);B.console&&console.log(l)};a.Fx=function(a,f,h){this.options=f;this.elem=a;this.prop=h};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],h=[],r=this.now,v=a.length,n;if(1===r)h=this.toD;else if(v===f.length&&1>r)for(;v--;)n=parseFloat(a[v]),h[v]=isNaN(n)?f[v]:r*parseFloat(f[v]-n)+n;else h=f;this.elem.attr("d",
11
- h,null,!0)},update:function(){var a=this.elem,f=this.prop,h=this.now,r=this.options.step;if(this[f+"Setter"])this[f+"Setter"]();else a.attr?a.element&&a.attr(f,h,null,!0):a.style[f]=h+this.unit;r&&r.call(a,h,this)},run:function(l,f,h){var r=this,v=r.options,n=function(a){return n.stopped?!1:r.step(a)},e=B.requestAnimationFrame||function(a){setTimeout(a,13)},k=function(){for(var d=0;d<a.timers.length;d++)a.timers[d]()||a.timers.splice(d--,1);a.timers.length&&e(k)};l!==f||this.elem["forceAnimate:"+
12
- this.prop]?(this.startTime=+new Date,this.start=l,this.end=f,this.unit=h,this.now=this.start,this.pos=0,n.elem=this.elem,n.prop=this.prop,n()&&1===a.timers.push(n)&&e(k)):(delete v.curAnim[this.prop],v.complete&&0===a.keys(v.curAnim).length&&v.complete.call(this.elem))},step:function(l){var f=+new Date,h,r=this.options,v=this.elem,n=r.complete,e=r.duration,k=r.curAnim;v.attr&&!v.element?l=!1:l||f>=e+this.startTime?(this.now=this.end,this.pos=1,this.update(),h=k[this.prop]=!0,a.objectEach(k,function(a){!0!==
13
- a&&(h=!1)}),h&&n&&n.call(v),l=!1):(this.pos=r.easing((f-this.startTime)/e),this.now=this.start+(this.end-this.start)*this.pos,this.update(),l=!0);return l},initPath:function(l,f,h){function r(a){var b,c;for(g=a.length;g--;)b="M"===a[g]||"L"===a[g],c=/[a-zA-Z]/.test(a[g+3]),b&&c&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])}function v(a,b){for(;a.length<c;){a[0]=b[c-a.length];var e=a.slice(0,p);[].splice.apply(a,[0,0].concat(e));q&&(e=a.slice(a.length-p),[].splice.apply(a,[a.length,0].concat(e)),g--)}a[0]=
14
- "M"}function n(a,g){for(var e=(c-a.length)/p;0<e&&e--;)b=a.slice().splice(a.length/F-p,p*F),b[0]=g[c-p-e*p],u&&(b[p-6]=b[p-2],b[p-5]=b[p-1]),[].splice.apply(a,[a.length/F,0].concat(b)),q&&e--}f=f||"";var e,k=l.startX,d=l.endX,u=-1<f.indexOf("C"),p=u?7:3,c,b,g;f=f.split(" ");h=h.slice();var q=l.isArea,F=q?2:1,K;u&&(r(f),r(h));if(k&&d){for(g=0;g<k.length;g++)if(k[g]===d[0]){e=g;break}else if(k[0]===d[d.length-k.length+g]){e=g;K=!0;break}void 0===e&&(f=[])}f.length&&a.isNumber(e)&&(c=h.length+e*F*p,
15
- K?(v(f,h),n(h,f)):(v(h,f),n(f,h)));return[f,h]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.merge=function(){var l,f=arguments,h,r={},v=function(h,e){"object"!==typeof h&&(h={});a.objectEach(e,function(k,d){!a.isObject(k,!0)||a.isClass(k)||a.isDOMElement(k)?h[d]=e[d]:h[d]=v(h[d]||{},k)});return h};!0===f[0]&&(r=f[1],f=Array.prototype.slice.call(f,2));h=f.length;for(l=0;l<h;l++)r=v(r,
16
- f[l]);return r};a.pInt=function(a,f){return parseInt(a,f||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(l,f){return!!l&&"object"===typeof l&&(!f||!a.isArray(l))};a.isDOMElement=function(l){return a.isObject(l)&&"number"===typeof l.nodeType};a.isClass=function(l){var f=l&&l.constructor;return!(!a.isObject(l,!0)||a.isDOMElement(l)||!f||!f.name||"Object"===
17
- f.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,f){for(var h=a.length;h--;)if(a[h]===f){a.splice(h,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(l,f,h){var r;a.isString(f)?a.defined(h)?l.setAttribute(f,h):l&&l.getAttribute&&((r=l.getAttribute(f))||"class"!==f||(r=l.getAttribute(f+"Name"))):a.defined(f)&&a.isObject(f)&&a.objectEach(f,function(a,h){l.setAttribute(h,a)});return r};a.splat=function(l){return a.isArray(l)?
18
- l:[l]};a.syncTimeout=function(a,f,h){if(f)return setTimeout(a,f,h);a.call(0,h)};a.clearTimeout=function(l){a.defined(l)&&clearTimeout(l)};a.extend=function(a,f){var h;a||(a={});for(h in f)a[h]=f[h];return a};a.pick=function(){var a=arguments,f,h,r=a.length;for(f=0;f<r;f++)if(h=a[f],void 0!==h&&null!==h)return h};a.css=function(l,f){a.isMS&&!a.svg&&f&&void 0!==f.opacity&&(f.filter="alpha(opacity\x3d"+100*f.opacity+")");a.extend(l.style,f)};a.createElement=function(l,f,h,r,v){l=z.createElement(l);var n=
19
- a.css;f&&a.extend(l,f);v&&n(l,{padding:0,border:"none",margin:0});h&&n(l,h);r&&r.appendChild(l);return l};a.extendClass=function(l,f){var h=function(){};h.prototype=new l;a.extend(h.prototype,f);return h};a.pad=function(a,f,h){return Array((f||2)+1-String(a).replace("-","").length).join(h||0)+a};a.relativeLength=function(a,f,h){return/%$/.test(a)?f*parseFloat(a)/100+(h||0):parseFloat(a)};a.wrap=function(a,f,h){var l=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments),f=arguments,e=this;
20
- e.proceed=function(){l.apply(e,arguments.length?arguments:f)};a.unshift(l);a=h.apply(this,a);e.proceed=null;return a}};a.formatSingle=function(l,f,h){var r=/\.([0-9])/,v=a.defaultOptions.lang;/f$/.test(l)?(h=(h=l.match(r))?h[1]:-1,null!==f&&(f=a.numberFormat(f,h,v.decimalPoint,-1<l.indexOf(",")?v.thousandsSep:""))):f=(h||a.time).dateFormat(l,f);return f};a.format=function(l,f,h){for(var r="{",v=!1,n,e,k,d,u=[],p;l;){r=l.indexOf(r);if(-1===r)break;n=l.slice(0,r);if(v){n=n.split(":");e=n.shift().split(".");
21
- d=e.length;p=f;for(k=0;k<d;k++)p&&(p=p[e[k]]);n.length&&(p=a.formatSingle(n.join(":"),p,h));u.push(p)}else u.push(n);l=l.slice(r+1);r=(v=!v)?"}":"{"}u.push(l);return u.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(l,f,h,r,v){var n,e=l;h=a.pick(h,1);n=l/h;f||(f=v?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(1===h?f=a.grep(f,function(a){return 0===a%1}):.1>=h&&(f=[1/h])));for(r=0;r<f.length&&!(e=f[r],v&&e*h>=l||
22
- !v&&n<=(f[r]+(f[r+1]||f[r]))/2);r++);return e=a.correctFloat(e*h,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,f){var h=a.length,l,v;for(v=0;v<h;v++)a[v].safeI=v;a.sort(function(a,e){l=f(a,e);return 0===l?a.safeI-e.safeI:l});for(v=0;v<h;v++)delete a[v].safeI};a.arrayMin=function(a){for(var f=a.length,h=a[0];f--;)a[f]<h&&(h=a[f]);return h};a.arrayMax=function(a){for(var f=a.length,h=a[0];f--;)a[f]>h&&(h=a[f]);return h};a.destroyObjectProperties=function(l,f){a.objectEach(l,function(a,
23
- r){a&&a!==f&&a.destroy&&a.destroy();delete l[r]})};a.discardElement=function(l){var f=a.garbageBin;f||(f=a.createElement("div"));l&&f.appendChild(l);f.innerHTML=""};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(l,f){f.renderer.globalAnimation=a.pick(l,f.options.chart.animation,!0)};a.animObject=function(l){return a.isObject(l)?a.merge(l):{duration:l?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,
24
- year:314496E5};a.numberFormat=function(l,f,h,r){l=+l||0;f=+f;var v=a.defaultOptions.lang,n=(l.toString().split(".")[1]||"").split("e")[0].length,e,k,d=l.toString().split("e");-1===f?f=Math.min(n,20):a.isNumber(f)?f&&d[1]&&0>d[1]&&(e=f+ +d[1],0<=e?(d[0]=(+d[0]).toExponential(e).split("e")[0],f=e):(d[0]=d[0].split(".")[0]||0,l=20>f?(d[0]*Math.pow(10,d[1])).toFixed(f):0,d[1]=0)):f=2;k=(Math.abs(d[1]?d[0]:l)+Math.pow(10,-Math.max(f,n)-1)).toFixed(f);n=String(a.pInt(k));e=3<n.length?n.length%3:0;h=a.pick(h,
25
- v.decimalPoint);r=a.pick(r,v.thousandsSep);l=(0>l?"-":"")+(e?n.substr(0,e)+r:"");l+=n.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+r);f&&(l+=h+k.slice(-f));d[1]&&0!==+l&&(l+="e"+d[1]);return l};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(l,f,h){if("width"===f)return Math.max(0,Math.min(l.offsetWidth,l.scrollWidth)-a.getStyle(l,"padding-left")-a.getStyle(l,"padding-right"));if("height"===f)return Math.max(0,Math.min(l.offsetHeight,l.scrollHeight)-a.getStyle(l,"padding-top")-
26
- a.getStyle(l,"padding-bottom"));B.getComputedStyle||a.error(27,!0);if(l=B.getComputedStyle(l,void 0))l=l.getPropertyValue(f),a.pick(h,"opacity"!==f)&&(l=a.pInt(l));return l};a.inArray=function(l,f,h){return(a.indexOfPolyfill||Array.prototype.indexOf).call(f,l,h)};a.grep=function(l,f){return(a.filterPolyfill||Array.prototype.filter).call(l,f)};a.find=Array.prototype.find?function(a,f){return a.find(f)}:function(a,f){var h,l=a.length;for(h=0;h<l;h++)if(f(a[h],h))return a[h]};a.some=function(l,f,h){return(a.somePolyfill||
27
- Array.prototype.some).call(l,f,h)};a.map=function(a,f){for(var h=[],l=0,v=a.length;l<v;l++)h[l]=f.call(a[l],a[l],l,a);return h};a.keys=function(l){return(a.keysPolyfill||Object.keys).call(void 0,l)};a.reduce=function(l,f,h){return(a.reducePolyfill||Array.prototype.reduce).apply(l,2<arguments.length?[f,h]:[f])};a.offset=function(a){var f=z.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(B.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+
28
- (B.pageXOffset||f.scrollLeft)-(f.clientLeft||0)}};a.stop=function(l,f){for(var h=a.timers.length;h--;)a.timers[h].elem!==l||f&&f!==a.timers[h].prop||(a.timers[h].stopped=!0)};a.each=function(l,f,h){return(a.forEachPolyfill||Array.prototype.forEach).call(l,f,h)};a.objectEach=function(a,f,h){for(var l in a)a.hasOwnProperty(l)&&f.call(h||a[l],a[l],l,a)};a.addEvent=function(l,f,h,r){var v,n=l.addEventListener||a.addEventListenerPolyfill;v="function"===typeof l&&l.prototype?l.prototype.protoEvents=l.prototype.protoEvents||
29
- {}:l.hcEvents=l.hcEvents||{};a.Point&&l instanceof a.Point&&l.series&&l.series.chart&&(l.series.chart.runTrackerClick=!0);n&&n.call(l,f,h,!1);v[f]||(v[f]=[]);v[f].push(h);r&&a.isNumber(r.order)&&(h.order=r.order,v[f].sort(function(a,k){return a.order-k.order}));return function(){a.removeEvent(l,f,h)}};a.removeEvent=function(l,f,h){function r(e,d){var k=l.removeEventListener||a.removeEventListenerPolyfill;k&&k.call(l,e,d,!1)}function v(e){var d,k;l.nodeName&&(f?(d={},d[f]=!0):d=e,a.objectEach(d,function(a,
30
- c){if(e[c])for(k=e[c].length;k--;)r(c,e[c][k])}))}var n,e;a.each(["protoEvents","hcEvents"],function(k){var d=l[k];d&&(f?(n=d[f]||[],h?(e=a.inArray(h,n),-1<e&&(n.splice(e,1),d[f]=n),r(f,h)):(v(d),d[f]=[])):(v(d),l[k]={}))})};a.fireEvent=function(l,f,h,r){var v,n,e,k,d;h=h||{};z.createEvent&&(l.dispatchEvent||l.fireEvent)?(v=z.createEvent("Events"),v.initEvent(f,!0,!0),a.extend(v,h),l.dispatchEvent?l.dispatchEvent(v):l.fireEvent(f,v)):a.each(["protoEvents","hcEvents"],function(u){if(l[u])for(n=l[u][f]||
31
- [],e=n.length,h.target||a.extend(h,{preventDefault:function(){h.defaultPrevented=!0},target:l,type:f}),k=0;k<e;k++)(d=n[k])&&!1===d.call(l,h)&&h.preventDefault()});r&&!h.defaultPrevented&&r.call(l,h)};a.animate=function(l,f,h){var r,v="",n,e,k;a.isObject(h)||(k=arguments,h={duration:k[2],easing:k[3],complete:k[4]});a.isNumber(h.duration)||(h.duration=400);h.easing="function"===typeof h.easing?h.easing:Math[h.easing]||Math.easeInOutSine;h.curAnim=a.merge(f);a.objectEach(f,function(d,k){a.stop(l,k);
32
- e=new a.Fx(l,h,k);n=null;"d"===k?(e.paths=e.initPath(l,l.d,f.d),e.toD=f.d,r=0,n=1):l.attr?r=l.attr(k):(r=parseFloat(a.getStyle(l,k))||0,"opacity"!==k&&(v="px"));n||(n=d);n&&n.match&&n.match("px")&&(n=n.replace(/px/g,""));e.run(r,n,v)})};a.seriesType=function(l,f,h,r,v){var n=a.getOptions(),e=a.seriesTypes;n.plotOptions[l]=a.merge(n.plotOptions[f],h);e[l]=a.extendClass(e[f]||function(){},r);e[l].prototype.type=l;v&&(e[l].prototype.pointClass=a.extendClass(a.Point,v));return e[l]};a.uniqueKey=function(){var a=
33
- Math.random().toString(36).substring(2,9),f=0;return function(){return"highcharts-"+a+"-"+f++}}();B.jQuery&&(B.jQuery.fn.highcharts=function(){var l=[].slice.call(arguments);if(this[0])return l[0]?(new (a[a.isString(l[0])?l.shift():"Chart"])(this[0],l[0],l[1]),this):y[a.attr(this[0],"data-highcharts-chart")]})})(I);(function(a){var y=a.each,z=a.isNumber,B=a.map,l=a.merge,f=a.pInt;a.Color=function(h){if(!(this instanceof a.Color))return new a.Color(h);this.init(h)};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*\)/,
34
- 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:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(h){var f,v,n,e;if((this.input=h=this.names[h&&h.toLowerCase?h.toLowerCase():""]||h)&&h.stops)this.stops=B(h.stops,function(e){return new a.Color(e[1])});else if(h&&h.charAt&&"#"===h.charAt()&&(f=h.length,h=parseInt(h.substr(1),
35
- 16),7===f?v=[(h&16711680)>>16,(h&65280)>>8,h&255,1]:4===f&&(v=[(h&3840)>>4|(h&3840)>>8,(h&240)>>4|h&240,(h&15)<<4|h&15,1])),!v)for(n=this.parsers.length;n--&&!v;)e=this.parsers[n],(f=e.regex.exec(h))&&(v=e.parse(f));this.rgba=v||[]},get:function(a){var h=this.input,f=this.rgba,n;this.stops?(n=l(h),n.stops=[].concat(n.stops),y(this.stops,function(e,k){n.stops[k]=[n.stops[k][0],e.get(a)]})):n=f&&z(f[0])?"rgb"===a||!a&&1===f[3]?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===a?f[3]:"rgba("+f.join(",")+")":h;
36
- return n},brighten:function(a){var h,l=this.rgba;if(this.stops)y(this.stops,function(h){h.brighten(a)});else if(z(a)&&0!==a)for(h=0;3>h;h++)l[h]+=f(255*a),0>l[h]&&(l[h]=0),255<l[h]&&(l[h]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,f){var h=this.rgba,n=a.rgba;n.length&&h&&h.length?(a=1!==n[3]||1!==h[3],f=(a?"rgba(":"rgb(")+Math.round(n[0]+(h[0]-n[0])*(1-f))+","+Math.round(n[1]+(h[1]-n[1])*(1-f))+","+Math.round(n[2]+(h[2]-n[2])*(1-f))+(a?","+(n[3]+(h[3]-
37
- n[3])*(1-f)):"")+")"):f=a.input||"none";return f}};a.color=function(f){return new a.Color(f)}})(I);(function(a){var y=a.defined,z=a.each,B=a.extend,l=a.merge,f=a.pick,h=a.timeUnits,r=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(h){var n=f(h&&h.useUTC,!0),e=this;this.options=h=l(!0,this.options||{},h);this.Date=h.Date||r.Date;this.timezoneOffset=(this.useUTC=n)&&h.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=
38
- !(n&&!h.getTimezoneOffset&&!h.timezone))||this.timezoneOffset?(this.get=function(a,d){var k=d.getTime(),p=k-e.getTimezoneOffset(d);d.setTime(p);a=d["getUTC"+a]();d.setTime(k);return a},this.set=function(k,d,h){var p;if(-1!==a.inArray(k,["Milliseconds","Seconds","Minutes"]))d["set"+k](h);else p=e.getTimezoneOffset(d),p=d.getTime()-p,d.setTime(p),d["setUTC"+k](h),k=e.getTimezoneOffset(d),p=d.getTime()+k,d.setTime(p)}):n?(this.get=function(a,e){return e["getUTC"+a]()},this.set=function(a,e,h){return e["setUTC"+
39
- a](h)}):(this.get=function(a,e){return e["get"+a]()},this.set=function(a,e,h){return e["set"+a](h)})},makeTime:function(h,n,e,k,d,u){var p,c,b;this.useUTC?(p=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(p),p+=c,b=this.getTimezoneOffset(p),c!==b?p+=b-c:c-36E5!==this.getTimezoneOffset(p-36E5)||a.isSafari||(p-=36E5)):p=(new this.Date(h,n,f(e,1),f(k,0),f(d,0),f(u,0))).getTime();return p},timezoneOffsetFunction:function(){var h=this,f=this.options,e=r.moment;if(!this.useUTC)return function(a){return 6E4*
40
- (new Date(a)).getTimezoneOffset()};if(f.timezone){if(e)return function(a){return 6E4*-e.tz(a,f.timezone).utcOffset()};a.error(25)}return this.useUTC&&f.getTimezoneOffset?function(a){return 6E4*f.getTimezoneOffset(a)}:function(){return 6E4*(h.timezoneOffset||0)}},dateFormat:function(h,f,e){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||"";h=a.pick(h,"%Y-%m-%d %H:%M:%S");var k=this,d=new this.Date(f),u=this.get("Hours",d),p=this.get("Day",d),c=this.get("Date",d),b=this.get("Month",
41
- d),g=this.get("FullYear",d),q=a.defaultOptions.lang,F=q.weekdays,n=q.shortWeekdays,C=a.pad,d=a.extend({a:n?n[p]:F[p].substr(0,3),A:F[p],d:C(c),e:C(c,2," "),w:p,b:q.shortMonths[b],B:q.months[b],m:C(b+1),o:b+1,y:g.toString().substr(2,2),Y:g,H:C(u),k:u,I:C(u%12||12),l:u%12||12,M:C(k.get("Minutes",d)),p:12>u?"AM":"PM",P:12>u?"am":"pm",S:C(d.getSeconds()),L:C(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(d,function(a,b){for(;-1!==h.indexOf("%"+b);)h=h.replace("%"+b,"function"===typeof a?a.call(k,f):
42
- a)});return e?h.substr(0,1).toUpperCase()+h.substr(1):h},getTimeTicks:function(a,n,e,k){var d=this,u=[],p={},c,b=new d.Date(n),g=a.unitRange,q=a.count||1,F;if(y(n)){d.set("Milliseconds",b,g>=h.second?0:q*Math.floor(d.get("Milliseconds",b)/q));g>=h.second&&d.set("Seconds",b,g>=h.minute?0:q*Math.floor(d.get("Seconds",b)/q));g>=h.minute&&d.set("Minutes",b,g>=h.hour?0:q*Math.floor(d.get("Minutes",b)/q));g>=h.hour&&d.set("Hours",b,g>=h.day?0:q*Math.floor(d.get("Hours",b)/q));g>=h.day&&d.set("Date",b,g>=
43
- h.month?1:q*Math.floor(d.get("Date",b)/q));g>=h.month&&(d.set("Month",b,g>=h.year?0:q*Math.floor(d.get("Month",b)/q)),c=d.get("FullYear",b));g>=h.year&&d.set("FullYear",b,c-c%q);g===h.week&&d.set("Date",b,d.get("Date",b)-d.get("Day",b)+f(k,1));c=d.get("FullYear",b);k=d.get("Month",b);var l=d.get("Date",b),C=d.get("Hours",b);n=b.getTime();d.variableTimezone&&(F=e-n>4*h.month||d.getTimezoneOffset(n)!==d.getTimezoneOffset(e));b=b.getTime();for(n=1;b<e;)u.push(b),b=g===h.year?d.makeTime(c+n*q,0):g===
44
- h.month?d.makeTime(c,k+n*q):!F||g!==h.day&&g!==h.week?F&&g===h.hour&&1<q?d.makeTime(c,k,l,C+n*q):b+g*q:d.makeTime(c,k,l+n*q*(g===h.day?1:7)),n++;u.push(b);g<=h.hour&&1E4>u.length&&z(u,function(a){0===a%18E5&&"000000000"===d.dateFormat("%H%M%S%L",a)&&(p[a]="day")})}u.info=B(a,{higherRanks:p,totalRange:g*q});return u}}})(I);(function(a){var y=a.merge;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
8
+ (function(O,K){"object"===typeof module&&module.exports?module.exports=O.document?K(O):K:"function"===typeof define&&define.amd?define(function(){return K(O)}):O.Highcharts=K(O)})("undefined"!==typeof window?window:this,function(O){var K=function(){var a="undefined"===typeof O?window:O,z=a.document,y=a.navigator&&a.navigator.userAgent||"",C=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,m=/(edge|msie|trident)/i.test(y)&&!a.opera,d=-1!==y.indexOf("Firefox"),
9
+ e=-1!==y.indexOf("Chrome"),u=d&&4>parseInt(y.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.2.0",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:u,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:m,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:d,isChrome:e,isSafari:!e&&-1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop",
10
+ "marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var z=a.charts,y=a.doc,C=a.win;a.error=function(m,d){m=a.isNumber(m)?"Highcharts error #"+m+": www.highcharts.com/errors/"+m:m;if(d)throw Error(m);C.console&&console.log(m)};a.Fx=function(a,d,e){this.options=d;this.elem=a;this.prop=e};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],e=[],u=this.now,w=a.length,q;if(1===u)e=this.toD;else if(w===d.length&&1>u)for(;w--;)q=parseFloat(a[w]),
11
+ e[w]=isNaN(q)?d[w]:u*parseFloat(d[w]-q)+q;else e=d;this.elem.attr("d",e,null,!0)},update:function(){var a=this.elem,d=this.prop,e=this.now,u=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,e,null,!0):a.style[d]=e+this.unit;u&&u.call(a,e,this)},run:function(m,d,e){var u=this,w=u.options,q=function(a){return q.stopped?!1:u.step(a)},h=C.requestAnimationFrame||function(a){setTimeout(a,13)},p=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--,
12
+ 1);a.timers.length&&h(p)};m!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=m,this.end=d,this.unit=e,this.now=this.start,this.pos=0,q.elem=this.elem,q.prop=this.prop,q()&&1===a.timers.push(q)&&h(p)):(delete w.curAnim[this.prop],w.complete&&0===a.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(m){var d=+new Date,e,u=this.options,w=this.elem,q=u.complete,h=u.duration,p=u.curAnim;w.attr&&!w.element?m=!1:m||d>=h+this.startTime?(this.now=this.end,this.pos=
13
+ 1,this.update(),e=p[this.prop]=!0,a.objectEach(p,function(a){!0!==a&&(e=!1)}),e&&q&&q.call(w),m=!1):(this.pos=u.easing((d-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,d,e){function u(a){var b,c;for(l=a.length;l--;)b="M"===a[l]||"L"===a[l],c=/[a-zA-Z]/.test(a[l+3]),b&&c&&a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])}function w(a,b){for(;a.length<c;){a[0]=b[c-a.length];var f=a.slice(0,n);[].splice.apply(a,[0,0].concat(f));g&&(f=
14
+ a.slice(a.length-n),[].splice.apply(a,[a.length,0].concat(f)),l--)}a[0]="M"}function q(a,f){for(var l=(c-a.length)/n;0<l&&l--;)b=a.slice().splice(a.length/E-n,n*E),b[0]=f[c-n-l*n],t&&(b[n-6]=b[n-2],b[n-5]=b[n-1]),[].splice.apply(a,[a.length/E,0].concat(b)),g&&l--}d=d||"";var h,p=m.startX,f=m.endX,t=-1<d.indexOf("C"),n=t?7:3,c,b,l;d=d.split(" ");e=e.slice();var g=m.isArea,E=g?2:1,x;t&&(u(d),u(e));if(p&&f){for(l=0;l<p.length;l++)if(p[l]===f[0]){h=l;break}else if(p[0]===f[f.length-p.length+l]){h=l;x=
15
+ !0;break}void 0===h&&(d=[])}d.length&&a.isNumber(h)&&(c=e.length+h*E*n,x?(w(d,e),q(e,d)):(w(e,d),q(d,e)));return[d,e]},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,d=arguments,e,u={},w=function(e,h){"object"!==typeof e&&(e={});a.objectEach(h,function(p,f){!a.isObject(p,!0)||a.isClass(p)||a.isDOMElement(p)?e[f]=h[f]:e[f]=w(e[f]||{},
16
+ p)});return e};!0===d[0]&&(u=d[1],d=Array.prototype.slice.call(d,2));e=d.length;for(m=0;m<e;m++)u=w(u,d[m]);return u};a.pInt=function(a,d){return parseInt(a,d||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,d){return!!m&&"object"===typeof m&&(!d||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&&"number"===typeof m.nodeType};a.isClass=function(m){var d=
17
+ m&&m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var e=a.length;e--;)if(a[e]===d){a.splice(e,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(m,d,e){var u;a.isString(d)?a.defined(e)?m.setAttribute(d,e):m&&m.getAttribute&&((u=m.getAttribute(d))||"class"!==d||(u=m.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&
18
+ a.objectEach(d,function(a,e){m.setAttribute(e,a)});return u};a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,d,e){if(d)return setTimeout(a,d,e);a.call(0,e)};a.clearTimeout=function(m){a.defined(m)&&clearTimeout(m)};a.extend=function(a,d){var e;a||(a={});for(e in d)a[e]=d[e];return a};a.pick=function(){var a=arguments,d,e,u=a.length;for(d=0;d<u;d++)if(e=a[d],void 0!==e&&null!==e)return e};a.css=function(m,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+
19
+ 100*d.opacity+")");a.extend(m.style,d)};a.createElement=function(m,d,e,u,w){m=y.createElement(m);var q=a.css;d&&a.extend(m,d);w&&q(m,{padding:0,border:"none",margin:0});e&&q(m,e);u&&u.appendChild(m);return m};a.extendClass=function(m,d){var e=function(){};e.prototype=new m;a.extend(e.prototype,d);return e};a.pad=function(a,d,e){return Array((d||2)+1-String(a).replace("-","").length).join(e||0)+a};a.relativeLength=function(a,d,e){return/%$/.test(a)?d*parseFloat(a)/100+(e||0):parseFloat(a)};a.wrap=
20
+ function(a,d,e){var m=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,h=this;h.proceed=function(){m.apply(h,arguments.length?arguments:d)};a.unshift(m);a=e.apply(this,a);h.proceed=null;return a}};a.datePropsToTimestamps=function(m){a.objectEach(m,function(d,e){a.isObject(d)&&"function"===typeof d.getTime?m[e]=d.getTime():(a.isObject(d)||a.isArray(d))&&a.datePropsToTimestamps(d)})};a.formatSingle=function(m,d,e){var u=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(m)?(e=
21
+ (e=m.match(u))?e[1]:-1,null!==d&&(d=a.numberFormat(d,e,w.decimalPoint,-1<m.indexOf(",")?w.thousandsSep:""))):d=(e||a.time).dateFormat(m,d);return d};a.format=function(m,d,e){for(var u="{",w=!1,q,h,p,f,t=[],n;m;){u=m.indexOf(u);if(-1===u)break;q=m.slice(0,u);if(w){q=q.split(":");h=q.shift().split(".");f=h.length;n=d;for(p=0;p<f;p++)n&&(n=n[h[p]]);q.length&&(n=a.formatSingle(q.join(":"),n,e));t.push(n)}else t.push(q);m=m.slice(u+1);u=(w=!w)?"}":"{"}t.push(m);return t.join("")};a.getMagnitude=function(a){return Math.pow(10,
22
+ Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(m,d,e,u,w){var q,h=m;e=a.pick(e,1);q=m/e;d||(d=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===e?d=a.grep(d,function(a){return 0===a%1}):.1>=e&&(d=[1/e])));for(u=0;u<d.length&&!(h=d[u],w&&h*e>=m||!w&&q<=(d[u]+(d[u+1]||d[u]))/2);u++);return h=a.correctFloat(h*e,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var e=a.length,m,w;for(w=0;w<e;w++)a[w].safeI=w;a.sort(function(a,h){m=d(a,h);return 0===m?
23
+ a.safeI-h.safeI:m});for(w=0;w<e;w++)delete a[w].safeI};a.arrayMin=function(a){for(var d=a.length,e=a[0];d--;)a[d]<e&&(e=a[d]);return e};a.arrayMax=function(a){for(var d=a.length,e=a[0];d--;)a[d]>e&&(e=a[d]);return e};a.destroyObjectProperties=function(m,d){a.objectEach(m,function(a,u){a&&a!==d&&a.destroy&&a.destroy();delete m[u]})};a.discardElement=function(m){var d=a.garbageBin;d||(d=a.createElement("div"));m&&d.appendChild(m);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||
24
+ 14))};a.setAnimation=function(m,d){d.renderer.globalAnimation=a.pick(m,d.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,d,e,u){m=+m||0;d=+d;var w=a.defaultOptions.lang,q=(m.toString().split(".")[1]||"").split("e")[0].length,h,p,f=m.toString().split("e");-1===d?d=Math.min(q,20):a.isNumber(d)?d&&f[1]&&0>f[1]&&
25
+ (h=d+ +f[1],0<=h?(f[0]=(+f[0]).toExponential(h).split("e")[0],d=h):(f[0]=f[0].split(".")[0]||0,m=20>d?(f[0]*Math.pow(10,f[1])).toFixed(d):0,f[1]=0)):d=2;p=(Math.abs(f[1]?f[0]:m)+Math.pow(10,-Math.max(d,q)-1)).toFixed(d);q=String(a.pInt(p));h=3<q.length?q.length%3:0;e=a.pick(e,w.decimalPoint);u=a.pick(u,w.thousandsSep);m=(0>m?"-":"")+(h?q.substr(0,h)+u:"");m+=q.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+u);d&&(m+=e+p.slice(-d));f[1]&&0!==+m&&(m+="e"+f[1]);return m};Math.easeInOutSine=function(a){return-.5*
26
+ (Math.cos(Math.PI*a)-1)};a.getStyle=function(m,d,e){if("width"===d)return Math.max(0,Math.min(m.offsetWidth,m.scrollWidth)-a.getStyle(m,"padding-left")-a.getStyle(m,"padding-right"));if("height"===d)return Math.max(0,Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,"padding-top")-a.getStyle(m,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(m=C.getComputedStyle(m,void 0))m=m.getPropertyValue(d),a.pick(e,"opacity"!==d)&&(m=a.pInt(m));return m};a.inArray=function(m,d,e){return(a.indexOfPolyfill||
27
+ Array.prototype.indexOf).call(d,m,e)};a.grep=function(m,d){return(a.filterPolyfill||Array.prototype.filter).call(m,d)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:function(a,d){var e,m=a.length;for(e=0;e<m;e++)if(d(a[e],e))return a[e]};a.some=function(m,d,e){return(a.somePolyfill||Array.prototype.some).call(m,d,e)};a.map=function(a,d){for(var e=[],m=0,w=a.length;m<w;m++)e[m]=d.call(a[m],a[m],m,a);return e};a.keys=function(m){return(a.keysPolyfill||Object.keys).call(void 0,m)};a.reduce=
28
+ function(m,d,e){return(a.reducePolyfill||Array.prototype.reduce).apply(m,2<arguments.length?[d,e]:[d])};a.offset=function(a){var d=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(C.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(m,d){for(var e=a.timers.length;e--;)a.timers[e].elem!==m||d&&d!==a.timers[e].prop||(a.timers[e].stopped=!0)};a.each=function(m,d,e){return(a.forEachPolyfill||
29
+ Array.prototype.forEach).call(m,d,e)};a.objectEach=function(a,d,e){for(var m in a)a.hasOwnProperty(m)&&d.call(e||a[m],a[m],m,a)};a.addEvent=function(m,d,e,u){var w,q=m.addEventListener||a.addEventListenerPolyfill;w="function"===typeof m&&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);q&&q.call(m,d,e,!1);w[d]||(w[d]=[]);w[d].push(e);u&&a.isNumber(u.order)&&(e.order=
30
+ u.order,w[d].sort(function(a,p){return a.order-p.order}));return function(){a.removeEvent(m,d,e)}};a.removeEvent=function(m,d,e){function u(h,f){var p=m.removeEventListener||a.removeEventListenerPolyfill;p&&p.call(m,h,f,!1)}function w(h){var f,p;m.nodeName&&(d?(f={},f[d]=!0):f=h,a.objectEach(f,function(a,c){if(h[c])for(p=h[c].length;p--;)u(c,h[c][p])}))}var q,h;a.each(["protoEvents","hcEvents"],function(p){var f=m[p];f&&(d?(q=f[d]||[],e?(h=a.inArray(e,q),-1<h&&(q.splice(h,1),f[d]=q),u(d,e)):(w(f),
31
+ f[d]=[])):(w(f),m[p]={}))})};a.fireEvent=function(m,d,e,u){var w,q,h,p,f;e=e||{};y.createEvent&&(m.dispatchEvent||m.fireEvent)?(w=y.createEvent("Events"),w.initEvent(d,!0,!0),a.extend(w,e),m.dispatchEvent?m.dispatchEvent(w):m.fireEvent(d,w)):a.each(["protoEvents","hcEvents"],function(t){if(m[t])for(q=m[t][d]||[],h=q.length,e.target||a.extend(e,{preventDefault:function(){e.defaultPrevented=!0},target:m,type:d}),p=0;p<h;p++)(f=q[p])&&!1===f.call(m,e)&&e.preventDefault()});u&&!e.defaultPrevented&&u.call(m,
32
+ e)};a.animate=function(m,d,e){var u,w="",q,h,p;a.isObject(e)||(p=arguments,e={duration:p[2],easing:p[3],complete:p[4]});a.isNumber(e.duration)||(e.duration=400);e.easing="function"===typeof e.easing?e.easing:Math[e.easing]||Math.easeInOutSine;e.curAnim=a.merge(d);a.objectEach(d,function(f,p){a.stop(m,p);h=new a.Fx(m,e,p);q=null;"d"===p?(h.paths=h.initPath(m,m.d,d.d),h.toD=d.d,u=0,q=1):m.attr?u=m.attr(p):(u=parseFloat(a.getStyle(m,p))||0,"opacity"!==p&&(w="px"));q||(q=f);q&&q.match&&q.match("px")&&
33
+ (q=q.replace(/px/g,""));h.run(u,q,w)})};a.seriesType=function(m,d,e,u,w){var q=a.getOptions(),h=a.seriesTypes;q.plotOptions[m]=a.merge(q.plotOptions[d],e);h[m]=a.extendClass(h[d]||function(){},u);h[m].prototype.type=m;w&&(h[m].prototype.pointClass=a.extendClass(a.Point,w));return h[m]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();C.jQuery&&(C.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]?
34
+ (new (a[a.isString(m[0])?m.shift():"Chart"])(this[0],m[0],m[1]),this):z[a.attr(this[0],"data-highcharts-chart")]})})(K);(function(a){var z=a.each,y=a.isNumber,C=a.map,m=a.merge,d=a.pInt;a.Color=function(e){if(!(this instanceof a.Color))return new a.Color(e);this.init(e)};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[d(a[1]),d(a[2]),d(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*\)/,
35
+ parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(e){var d,w,q,h;if((this.input=e=this.names[e&&e.toLowerCase?e.toLowerCase():""]||e)&&e.stops)this.stops=C(e.stops,function(h){return new a.Color(h[1])});else if(e&&e.charAt&&"#"===e.charAt()&&(d=e.length,e=parseInt(e.substr(1),16),7===d?w=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===d&&(w=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])),!w)for(q=this.parsers.length;q--&&!w;)h=this.parsers[q],
36
+ (d=h.regex.exec(e))&&(w=h.parse(d));this.rgba=w||[]},get:function(a){var e=this.input,d=this.rgba,q;this.stops?(q=m(e),q.stops=[].concat(q.stops),z(this.stops,function(h,p){q.stops[p]=[q.stops[p][0],h.get(a)]})):q=d&&y(d[0])?"rgb"===a||!a&&1===d[3]?"rgb("+d[0]+","+d[1]+","+d[2]+")":"a"===a?d[3]:"rgba("+d.join(",")+")":e;return q},brighten:function(a){var e,m=this.rgba;if(this.stops)z(this.stops,function(e){e.brighten(a)});else if(y(a)&&0!==a)for(e=0;3>e;e++)m[e]+=d(255*a),0>m[e]&&(m[e]=0),255<m[e]&&
37
+ (m[e]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var e=this.rgba,q=a.rgba;q.length&&e&&e.length?(a=1!==q[3]||1!==e[3],d=(a?"rgba(":"rgb(")+Math.round(q[0]+(e[0]-q[0])*(1-d))+","+Math.round(q[1]+(e[1]-q[1])*(1-d))+","+Math.round(q[2]+(e[2]-q[2])*(1-d))+(a?","+(q[3]+(e[3]-q[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(e){return new a.Color(e)}})(K);(function(a){var z=a.defined,y=a.each,C=a.extend,m=a.merge,d=a.pick,e=a.timeUnits,u=
38
+ a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var e=d(a&&a.useUTC,!0),h=this;this.options=a=m(!0,this.options||{},a);this.Date=a.Date||u.Date;this.timezoneOffset=(this.useUTC=e)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(e&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var p=f.getTime(),n=p-h.getTimezoneOffset(f);f.setTime(n);a=f["getUTC"+a]();f.setTime(p);return a},
39
+ this.set=function(a,f,t){var n;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%60)f["set"+a](t);else n=h.getTimezoneOffset(f),n=f.getTime()-n,f.setTime(n),f["setUTC"+a](t),a=h.getTimezoneOffset(f),n=f.getTime()+a,f.setTime(n)}):e?(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(e,q,h,p,f,t){var n,c,b;this.useUTC?
40
+ (n=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(n),n+=c,b=this.getTimezoneOffset(n),c!==b?n+=b-c:c-36E5!==this.getTimezoneOffset(n-36E5)||a.isSafari||(n-=36E5)):n=(new this.Date(e,q,d(h,1),d(p,0),d(f,0),d(t,0))).getTime();return n},timezoneOffsetFunction:function(){var e=this,d=this.options,h=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(d.timezone){if(h)return function(a){return 6E4*-h.tz(a,d.timezone).utcOffset()};a.error(25)}return this.useUTC&&
41
+ d.getTimezoneOffset?function(a){return 6E4*d.getTimezoneOffset(a)}:function(){return 6E4*(e.timezoneOffset||0)}},dateFormat:function(e,d,h){if(!a.defined(d)||isNaN(d))return a.defaultOptions.lang.invalidDate||"";e=a.pick(e,"%Y-%m-%d %H:%M:%S");var p=this,f=new this.Date(d),t=this.get("Hours",f),n=this.get("Day",f),c=this.get("Date",f),b=this.get("Month",f),l=this.get("FullYear",f),g=a.defaultOptions.lang,E=g.weekdays,x=g.shortWeekdays,q=a.pad,f=a.extend({a:x?x[n]:E[n].substr(0,3),A:E[n],d:q(c),e:q(c,
42
+ 2," "),w:n,b:g.shortMonths[b],B:g.months[b],m:q(b+1),o:b+1,y:l.toString().substr(2,2),Y:l,H:q(t),k:t,I:q(t%12||12),l:t%12||12,M:q(p.get("Minutes",f)),p:12>t?"AM":"PM",P:12>t?"am":"pm",S:q(f.getSeconds()),L:q(Math.floor(d%1E3),3)},a.dateFormats);a.objectEach(f,function(a,b){for(;-1!==e.indexOf("%"+b);)e=e.replace("%"+b,"function"===typeof a?a.call(p,d):a)});return h?e.substr(0,1).toUpperCase()+e.substr(1):e},resolveDTLFormat:function(e){return a.isObject(e,!0)?e:(e=a.splat(e),{main:e[0],from:e[1],
43
+ to:e[2]})},getTimeTicks:function(a,q,h,p){var f=this,t=[],n,c={},b;n=new f.Date(q);var l=a.unitRange,g=a.count||1,E;p=d(p,1);if(z(q)){f.set("Milliseconds",n,l>=e.second?0:g*Math.floor(f.get("Milliseconds",n)/g));l>=e.second&&f.set("Seconds",n,l>=e.minute?0:g*Math.floor(f.get("Seconds",n)/g));l>=e.minute&&f.set("Minutes",n,l>=e.hour?0:g*Math.floor(f.get("Minutes",n)/g));l>=e.hour&&f.set("Hours",n,l>=e.day?0:g*Math.floor(f.get("Hours",n)/g));l>=e.day&&f.set("Date",n,l>=e.month?1:g*Math.floor(f.get("Date",
44
+ n)/g));l>=e.month&&(f.set("Month",n,l>=e.year?0:g*Math.floor(f.get("Month",n)/g)),b=f.get("FullYear",n));l>=e.year&&f.set("FullYear",n,b-b%g);l===e.week&&(b=f.get("Day",n),f.set("Date",n,f.get("Date",n)-b+p+(b<p?-7:0)));b=f.get("FullYear",n);p=f.get("Month",n);var x=f.get("Date",n),m=f.get("Hours",n);q=n.getTime();f.variableTimezone&&(E=h-q>4*e.month||f.getTimezoneOffset(q)!==f.getTimezoneOffset(h));q=n.getTime();for(n=1;q<h;)t.push(q),q=l===e.year?f.makeTime(b+n*g,0):l===e.month?f.makeTime(b,p+n*
45
+ g):!E||l!==e.day&&l!==e.week?E&&l===e.hour&&1<g?f.makeTime(b,p,x,m+n*g):q+l*g:f.makeTime(b,p,x+n*g*(l===e.day?1:7)),n++;t.push(q);l<=e.hour&&1E4>t.length&&y(t,function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(c[a]="day")})}t.info=C(a,{higherRanks:c,totalRange:l*g});return t}}})(K);(function(a){var z=a.merge;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
45
46
  shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),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:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},
46
47
  width:null,height:null},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:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,
47
48
  y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",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 class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},
48
- credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(z){a.defaultOptions=y(!0,a.defaultOptions,z);a.time.update(y(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(y(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(z,y,l){return a.time.dateFormat(z,
49
- y,l)}})(I);(function(a){var y,z,B=a.addEvent,l=a.animate,f=a.attr,h=a.charts,r=a.color,v=a.css,n=a.createElement,e=a.defined,k=a.deg2rad,d=a.destroyObjectProperties,u=a.doc,p=a.each,c=a.extend,b=a.erase,g=a.grep,q=a.hasTouch,F=a.inArray,K=a.isArray,C=a.isFirefox,H=a.isMS,x=a.isObject,w=a.isString,E=a.isWebKit,D=a.merge,L=a.noop,J=a.objectEach,m=a.pick,A=a.pInt,N=a.removeEvent,t=a.splat,G=a.stop,T=a.svg,Q=a.SVG_NS,O=a.symbolSizes,P=a.win;y=a.SVGElement=function(){return this};c(y.prototype,{opacity:1,
50
- SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,b){this.element="span"===b?n(b):u.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,c,t){c=a.animObject(m(c,this.renderer.globalAnimation,!0));0!==c.duration?(t&&(c.complete=t),l(this,b,c)):(this.attr(b,null,t),c.step&&c.step.call(this));return this},complexColor:function(b,m,c){var t=this.renderer,g,M,A,q,d,w,
51
- k,h,G,f,x,N=[],E;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?M="radialGradient":b.linearGradient&&(M="linearGradient");M&&(A=b[M],d=t.gradients,k=b.stops,f=c.radialReference,K(A)&&(b[M]=A={x1:A[0],y1:A[1],x2:A[2],y2:A[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===M&&f&&!e(A.gradientUnits)&&(q=A,A=D(A,t.getRadialAttr(f,q),{gradientUnits:"userSpaceOnUse"})),J(A,function(a,b){"id"!==b&&N.push(b,a)}),J(k,function(a){N.push(a)}),N=N.join(","),d[N]?x=d[N].attr("id"):
52
- (A.id=x=a.uniqueKey(),d[N]=w=t.createElement(M).attr(A).add(t.defs),w.radAttr=q,w.stops=[],p(k,function(b){0===b[1].indexOf("rgba")?(g=a.color(b[1]),h=g.get("rgb"),G=g.get("a")):(h=b[1],G=1);b=t.createElement("stop").attr({offset:b[0],"stop-color":h,"stop-opacity":G}).add(w);w.stops.push(b)})),E="url("+t.url+"#"+x+")",c.setAttribute(m,E),c.gradient=N,b.toString=function(){return E})})},applyTextOutline:function(m){var c=this.element,t,g,A,e,M;-1!==m.indexOf("contrast")&&(m=m.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));
53
- m=m.split(" ");g=m[m.length-1];if((A=m[0])&&"none"!==A&&a.svg){this.fakeTS=!0;m=[].slice.call(c.getElementsByTagName("tspan"));this.ySetter=this.xSetter;A=A.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,m){return 2*b+m});for(M=m.length;M--;)t=m[M],"highcharts-text-outline"===t.getAttribute("class")&&b(m,c.removeChild(t));e=c.firstChild;p(m,function(a,b){0===b&&(a.setAttribute("x",c.getAttribute("x")),b=c.getAttribute("y"),a.setAttribute("y",b||0),null===b&&c.setAttribute("y",0));a=a.cloneNode(1);f(a,{"class":"highcharts-text-outline",
54
- fill:g,stroke:g,"stroke-width":A,"stroke-linejoin":"round"});c.insertBefore(a,e)})}},attr:function(a,b,m,c){var t,g=this.element,A,e=this,M,q;"string"===typeof a&&void 0!==b&&(t=a,a={},a[t]=b);"string"===typeof a?e=(this[a+"Getter"]||this._defaultGetter).call(this,a,g):(J(a,function(b,m){M=!1;c||G(this,m);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(m)&&(A||(this.symbolAttr(a),A=!0),M=!0);!this.rotation||"x"!==m&&"y"!==m||(this.doTransform=!0);M||(q=this[m+"Setter"]||
55
- this._defaultSetter,q.call(this,b,m,g))},this),this.afterSetters());m&&m.call(this);return e},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var m=this.attr("class")||"";-1===m.indexOf(a)&&(b||(a=(m+(m?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==F(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=
56
- this;p("x y r start end width height innerR anchorX anchorY".split(" "),function(c){b[c]=m(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var m;b=b||a.strokeWidth||0;m=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+m;a.y=Math.floor(a.y||this.y||0)+m;a.width=Math.floor((a.width||this.width||0)-2*m);a.height=Math.floor((a.height||this.height||0)-
57
- 2*m);e(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,m={},t=this.element,g,e="",q,d=!b,M=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&J(a,function(a,c){a!==b[c]&&(m[c]=a,d=!0)});d&&(b&&(a=c(b,m)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===t.nodeName.toLowerCase()&&a.width&&(g=this.textWidth=A(a.width))),this.styles=a,g&&!T&&this.renderer.forExport&&delete a.width,t.namespaceURI===this.SVG_NS?(q=function(a,b){return"-"+
58
- b.toLowerCase()},J(a,function(a,b){-1===F(b,M)&&(e+=b.replace(/([A-Z])/g,q)+":"+a+";")}),e&&f(t,"style",e)):v(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 P.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=A(a):(b=u.createElementNS(Q,"rect"),f(b,{width:a,"stroke-width":0}),
59
- this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var m=this,c=m.element;q&&"click"===a?(c.ontouchstart=function(a){m.touchEventFired=Date.now();a.preventDefault();b.call(c,a)},c.onclick=function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100<Date.now()-(m.touchEventFired||0))&&b.call(c,a)}):c["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=
60
- a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,t=this.scaleY,g=this.inverted,A=this.rotation,q=this.matrix,d=this.element;g&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];e(q)&&a.push("matrix("+q.join(",")+")");g?a.push("rotate(90) scale(-1,1)"):
61
- A&&a.push("rotate("+A+" "+m(this.rotationOriginX,d.getAttribute("x"),0)+" "+m(this.rotationOriginY,d.getAttribute("y")||0)+")");(e(c)||e(t))&&a.push("scale("+m(c,1)+" "+m(t,1)+")");a.length&&d.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,c,t){var g,A,e,q,d={};A=this.renderer;e=A.alignedObjects;var k,p;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!t||w(t))this.alignTo=g=t||"renderer",b(e,this),e.push(this),
62
- t=null}else a=this.alignOptions,c=this.alignByTranslate,g=this.alignTo;t=m(t,A[g],A);g=a.align;A=a.verticalAlign;e=(t.x||0)+(a.x||0);q=(t.y||0)+(a.y||0);"right"===g?k=1:"center"===g&&(k=2);k&&(e+=(t.width-(a.width||0))/k);d[c?"translateX":"x"]=Math.round(e);"bottom"===A?p=1:"middle"===A&&(p=2);p&&(q+=(t.height-(a.height||0))/p);d[c?"translateY":"y"]=Math.round(q);this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this},getBBox:function(a,b){var t,g=this.renderer,A,q=this.element,
63
- d=this.styles,w,M=this.textStr,D,h=g.cache,G=g.cacheKeys,f;b=m(b,this.rotation);A=b*k;w=q&&y.prototype.getStyle.call(q,"font-size");e(M)&&(f=M.toString(),-1===f.indexOf("\x3c")&&(f=f.replace(/[0-9]/g,"0")),f+=["",b||0,w,this.textWidth,d&&d.textOverflow].join());f&&!a&&(t=h[f]);if(!t){if(q.namespaceURI===this.SVG_NS||g.forExport){try{(D=this.fakeTS&&function(a){p(q.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&D("none"),t=q.getBBox?c({},q.getBBox()):{width:q.offsetWidth,
64
- height:q.offsetHeight},D&&D("")}catch(X){}if(!t||0>t.width)t={width:0,height:0}}else t=this.htmlGetBBox();g.isSVG&&(a=t.width,g=t.height,d&&"11px"===d.fontSize&&17===Math.round(g)&&(t.height=g=14),b&&(t.width=Math.abs(g*Math.sin(A))+Math.abs(a*Math.cos(A)),t.height=Math.abs(g*Math.cos(A))+Math.abs(a*Math.sin(A))));if(f&&0<t.height){for(;250<G.length;)delete h[G.shift()];h[f]||G.push(f);h[f]=t}}return t},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},
65
- fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,m=this.element,c;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(m);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=
66
- this,m=a.element||{},c=a.renderer.isSVG&&"SPAN"===m.nodeName&&a.parentGroup,t=m.ownerSVGElement,g=a.clipPath;m.onclick=m.onmouseout=m.onmouseover=m.onmousemove=m.point=null;G(a);g&&t&&(p(t.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),m=g.element.id;(-1<b.indexOf("(#"+m+")")||-1<b.indexOf('("#'+m+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=g.destroy());if(a.stops){for(t=0;t<a.stops.length;t++)a.stops[t]=a.stops[t].destroy();a.stops=null}for(a.safeRemoveChild(m);c&&
67
- c.div&&0===c.div.childNodes.length;)m=c.parentGroup,a.safeRemoveChild(c.div),delete c.div,c=m;a.alignTo&&b(a.renderer.alignedObjects,a);J(a,function(b,m){delete a[m]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=m(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,b,m){a&&a.join&&(a=a.join(" "));
68
- /(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(m.setAttribute(b,a),this[b]=a)},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,m){this[b]=a;m.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=u.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(u.createTextNode(String(m(a),
69
- "").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))},fillSetter:function(a,b,m){"string"===typeof a?m.setAttribute(b,a):a&&this.complexColor(a,b,m)},visibilitySetter:function(a,b,m){"inherit"===a?m.removeAttribute(b):this[b]!==a&&m.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var m=this.renderer,c=this.parentGroup,t=(c||m).element||m.box,g,q=this.element,
70
- d,w,m=t===m.box;g=this.added;var k;e(a)?(q.setAttribute("data-z-index",a),a=+a,this[b]===a&&(g=!1)):e(this[b])&&q.removeAttribute("data-z-index");this[b]=a;if(g){(a=this.zIndex)&&c&&(c.handleZ=!0);b=t.childNodes;for(k=b.length-1;0<=k&&!d;k--)if(c=b[k],g=c.getAttribute("data-z-index"),w=!e(g),c!==q)if(0>a&&w&&!m&&!k)t.insertBefore(q,b[k]),d=!0;else if(A(g)<=a||w&&(!e(a)||0<=a))t.insertBefore(q,b[k+1]||null),d=!0;d||(t.insertBefore(q,b[m?3:0]||null),d=!0)}return d},_defaultSetter:function(a,b,m){m.setAttribute(b,
71
- a)}});y.prototype.yGetter=y.prototype.xGetter;y.prototype.translateXSetter=y.prototype.translateYSetter=y.prototype.rotationSetter=y.prototype.verticalAlignSetter=y.prototype.rotationOriginXSetter=y.prototype.rotationOriginYSetter=y.prototype.scaleXSetter=y.prototype.scaleYSetter=y.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};z=a.SVGRenderer=function(){this.init.apply(this,arguments)};c(z.prototype,{Element:y,SVG_NS:Q,init:function(a,b,m,c,t,g){var A;c=this.createElement("svg").attr({version:"1.1",
72
- "class":"highcharts-root"});A=c.element;a.appendChild(A);f(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&f(A,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=A;this.boxWrapper=c;this.alignedObjects=[];this.url=(C||E)&&u.getElementsByTagName("base").length?P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highmaps 6.1.1"));this.defs=this.createElement("defs").add();
73
- this.allowHTML=g;this.forExport=t;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,m,!1);var e;C&&a.getBoundingClientRect&&(b=function(){v(a,{left:0,top:0});e=a.getBoundingClientRect();v(a,{left:Math.ceil(e.left)-e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},b(),this.unSubPixelFix=B(P,"resize",b))},definition:function(a){function b(a,c){var g;p(t(a),function(a){var t=m.createElement(a.tagName),A={};J(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&
74
- (A[b]=a)});t.attr(A);t.add(c||m.defs);a.textContent&&t.element.appendChild(u.createTextNode(a.textContent));b(a.children||[],t);g=t});return g}var m=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;
75
- b.init(this,a);return b},draw:L,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},getSpanWidth:function(a){return a.getBBox(!0).width},applyEllipsis:function(a,b,m,c){var t=a.rotation,g=m,A,e=0,q=m.length,d=function(a){b.removeChild(b.firstChild);a&&b.appendChild(u.createTextNode(a))},w;a.rotation=0;g=this.getSpanWidth(a,b);if(w=g>c){for(;e<=q;)A=Math.ceil((e+q)/2),g=m.substring(0,A)+"\u2026",d(g),g=this.getSpanWidth(a,b),e===q?e=q+1:g>c?q=A-1:e=A;0===
76
- q&&d("")}a.rotation=t;return w},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,c=this,t=c.forExport,e=m(a.textStr,"").toString(),q=-1!==e.indexOf("\x3c"),d=b.childNodes,w,k=f(b,"x"),D=a.styles,h=a.textWidth,G=D&&D.lineHeight,x=D&&D.textOutline,N=D&&"ellipsis"===D.textOverflow,E=D&&"nowrap"===D.whiteSpace,C,n=d.length,l=h&&!a.added&&this.box,L=function(a){return G?A(G):c.fontMetrics(void 0,a.getAttribute("style")?a:
77
- b).h},H=function(a,b){J(c.escapes,function(m,c){b&&-1!==F(m,b)||(a=a.toString().replace(new RegExp(m,"g"),c))});return a},M=function(a,b){var m;m=a.indexOf("\x3c");a=a.substring(m,a.indexOf("\x3e")-m);m=a.indexOf(b+"\x3d");if(-1!==m&&(m=m+b.length+1,b=a.charAt(m),'"'===b||"'"===b))return a=a.substring(m+1),a.substring(0,a.indexOf(b))},D=[e,N,E,G,x,D&&D.fontSize,h].join();if(D!==a.textCache){for(a.textCache=D;n--;)b.removeChild(d[n]);q||x||N||h||-1!==e.indexOf(" ")?(l&&l.appendChild(b),e=q?e.replace(/<(b|strong)>/g,
78
- '\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[e],e=g(e,function(a){return""!==a}),p(e,function(m,g){var A,e=0;m=m.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");A=m.split("|||");p(A,function(m){if(""!==m||1===A.length){var q={},d=u.createElementNS(c.SVG_NS,"tspan"),p,D;(p=M(m,"class"))&&
79
- f(d,"class",p);if(p=M(m,"style"))p=p.replace(/(;| |^)color([ :])/,"$1fill$2"),f(d,"style",p);(D=M(m,"href"))&&!t&&(f(d,"onclick",'location.href\x3d"'+D+'"'),f(d,"class","highcharts-anchor"));m=H(m.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==m){d.appendChild(u.createTextNode(m));e?q.dx=0:g&&null!==k&&(q.x=k);f(d,q);b.appendChild(d);!e&&C&&(!T&&t&&v(d,{display:"block"}),f(d,"dy",L(d)));if(h){q=m.replace(/([^\^])-/g,"$1- ").split(" ");D=1<A.length||g||1<q.length&&!E;var G=[],x,F=L(d),n=a.rotation;
80
- for(N&&(w=c.applyEllipsis(a,d,m,h));!N&&D&&(q.length||G.length);)a.rotation=0,x=c.getSpanWidth(a,d),m=x>h,void 0===w&&(w=m),m&&1!==q.length?(d.removeChild(d.firstChild),G.unshift(q.pop())):(q=G,G=[],q.length&&!E&&(d=u.createElementNS(Q,"tspan"),f(d,{dy:F,x:k}),p&&f(d,"style",p),b.appendChild(d)),x>h&&(h=x+1)),q.length&&d.appendChild(u.createTextNode(q.join(" ").replace(/- /g,"-")));a.rotation=n}e++}}});C=C||b.childNodes.length}),N&&w&&a.attr("title",H(a.textStr,["\x26lt;","\x26gt;"])),l&&l.removeChild(b),
81
- x&&a.applyTextOutline&&a.applyTextOutline(x)):b.appendChild(u.createTextNode(H(e)))}},getContrast:function(a){a=r(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,m,c,t,g,A,e,q){var d=this.label(a,b,m,q,null,null,null,null,"button"),w=0;d.attr(D({padding:8,r:2},t));B(d.element,H?"mouseover":"mouseenter",function(){3!==w&&d.setState(1)});B(d.element,H?"mouseout":"mouseleave",function(){3!==w&&d.setState(w)});d.setState=function(a){1!==a&&(d.state=w=a);d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
82
- ["normal","hover","pressed","disabled"][a||0])};return d.on("click",function(a){3!==w&&c.call(d,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};K(a)?b.d=a:x(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,m){a=x(a)?a:{x:a,y:b,r:m};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,m){m.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,m,c,
83
- t,g){x(a)?(c=a,b=c.y,m=c.r,a=c.x):c={innerR:c,start:t,end:g};a=this.symbol("arc",a,b,m,m,c);a.r=m;return a},rect:function(a,b,m,c,t,g){t=x(a)?a.r:t;g=this.createElement("rect");a=x(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(m,0),height:Math.max(c,0)};t&&(a.r=t);g.rSetter=function(a,b,m){f(m,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,c){var t=this.alignedObjects,g=t.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+
84
- this.attr("width")+" "+this.attr("height")})},duration:m(c,!0)?void 0:0});g--;)t[g].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,m,t,g,A){var e={preserveAspectRatio:"none"},d,q=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},w=function(b){q(d.element,a);A.call(d,b)};1<arguments.length&&c(e,{x:b,y:m,width:t,height:g});d=this.createElement("image").attr(e);
85
- A?(q(d.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),e=new P.Image,B(e,"load",w),e.src=a,e.complete&&w({})):q(d.element,a);return d},symbol:function(a,b,t,g,A,d){var q=this,w,k=/^url\((.*?)\)$/,D=k.test(a),G=!D&&(this.symbols[a]?a:"circle"),f=G&&this.symbols[G],x=e(b)&&f&&f.call(this.symbols,Math.round(b),Math.round(t),g,A,d),N,E;f?(w=this.path(x),c(w,{symbolName:G,x:b,y:t,width:g,height:A}),d&&c(w,d)):D&&(N=a.match(k)[1],w=this.image(N),w.imgwidth=m(O[N]&&
86
- O[N].width,d&&d.width),w.imgheight=m(O[N]&&O[N].height,d&&d.height),E=function(){w.attr({width:w.width,height:w.height})},p(["width","height"],function(a){w[a+"Setter"]=function(a,b){var m={},c=this["img"+b],t="width"===b?"translateX":"translateY";this[b]=a;e(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(m[t]=((this[b]||0)-c)/2,this.attr(m)))}}),e(b)&&w.attr({x:b,y:t}),w.isImg=!0,e(w.imgwidth)&&e(w.imgheight)?E():(w.attr({width:0,height:0}),n("img",{onload:function(){var a=
87
- h[q.chartIndex];0===this.width&&(v(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this));O[N]={width:this.width,height:this.height};w.imgwidth=this.width;w.imgheight=this.height;w.element&&E();this.parentNode&&this.parentNode.removeChild(this);q.imgCount--;if(!q.imgCount&&a&&a.onload)a.onload()},src:N}),this.imgCount++));return w},symbols:{circle:function(a,b,m,c){return this.arc(a+m/2,b+c/2,m/2,c/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,m,c){return["M",a,b,"L",a+m,b,a+
88
- m,b+c,a,b+c,"Z"]},triangle:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,m,c){return["M",a,b,"L",a+m,b,a+m/2,b+c,"Z"]},diamond:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c/2,a+m/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,c,t,g){var A=g.start,d=g.r||c,q=g.r||t||c,w=g.end-.001;c=g.innerR;t=m(g.open,.001>Math.abs(g.end-g.start-2*Math.PI));var k=Math.cos(A),p=Math.sin(A),D=Math.cos(w),w=Math.sin(w);g=.001>g.end-A-Math.PI?0:1;d=["M",a+d*k,b+q*p,"A",d,q,0,g,1,a+
89
- d*D,b+q*w];e(c)&&d.push(t?"M":"L",a+c*D,b+c*w,"A",c,c,0,g,0,a+c*k,b+c*p);d.push(t?"":"Z");return d},callout:function(a,b,m,c,t){var g=Math.min(t&&t.r||0,m,c),A=g+6,e=t&&t.anchorX;t=t&&t.anchorY;var d;d=["M",a+g,b,"L",a+m-g,b,"C",a+m,b,a+m,b,a+m,b+g,"L",a+m,b+c-g,"C",a+m,b+c,a+m,b+c,a+m-g,b+c,"L",a+g,b+c,"C",a,b+c,a,b+c,a,b+c-g,"L",a,b+g,"C",a,b,a,b,a+g,b];e&&e>m?t>b+A&&t<b+c-A?d.splice(13,3,"L",a+m,t-6,a+m+6,t,a+m,t+6,a+m,b+c-g):d.splice(13,3,"L",a+m,c/2,e,t,a+m,c/2,a+m,b+c-g):e&&0>e?t>b+A&&t<b+c-
90
- A?d.splice(33,3,"L",a,t+6,a-6,t,a,t-6,a,b+g):d.splice(33,3,"L",a,c/2,e,t,a,c/2,a,b+g):t&&t>c&&e>a+A&&e<a+m-A?d.splice(23,3,"L",e+6,b+c,e,b+c+6,e-6,b+c,a+g,b+c):t&&0>t&&e>a+A&&e<a+m-A&&d.splice(3,3,"L",e-6,b,e,b-6,e+6,b,m-g,b);return d}},clipRect:function(b,m,c,t){var g=a.uniqueKey(),A=this.createElement("clipPath").attr({id:g}).add(this.defs);b=this.rect(b,m,c,t,0).add(A);b.id=g;b.clipPath=A;b.count=0;return b},text:function(a,b,m,c){var t={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,
91
- b,m);t.x=Math.round(b||0);m&&(t.y=Math.round(m));if(a||0===a)t.text=a;a=this.createElement("text").attr(t);c||(a.xSetter=function(a,b,m){var c=m.getElementsByTagName("tspan"),t,g=m.getAttribute(b),A;for(A=0;A<c.length;A++)t=c[A],t.getAttribute(b)===g&&t.setAttribute(b,a);m.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&y.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?A(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,
92
- b:Math.round(.8*b),f:a}},rotCorr:function(a,b,m){var c=a;b&&m&&(c=Math.max(c*Math.cos(b*k),4));return{x:-a/3*Math.sin(b*k),y:c}},label:function(b,m,t,g,A,d,q,w,k){var h=this,G=h.g("button"!==k&&"label"),f=G.text=h.text("",0,0,q).attr({zIndex:1}),x,E,C=0,u=3,F=0,n,l,T,L,H,Q={},K,J=/^url\((.*?)\)$/.test(g),v=J,r,O,P,M;k&&G.addClass("highcharts-"+k);v=!0;r=function(){return x.strokeWidth()%2/2};O=function(){var a=f.element.style,b={};E=(void 0===n||void 0===l||H)&&e(f.textStr)&&f.getBBox();G.width=(n||
93
- E.width||0)+2*u+F;G.height=(l||E.height||0)+2*u;K=u+h.fontMetrics(a&&a.fontSize,f).b;v&&(x||(G.box=x=h.symbols[g]||J?h.symbol(g):h.rect(),x.addClass(("button"===k?"":"highcharts-label-box")+(k?" highcharts-"+k+"-box":"")),x.add(G),a=r(),b.x=a,b.y=(w?-K:0)+a),b.width=Math.round(G.width),b.height=Math.round(G.height),x.attr(c(b,Q)),Q={})};P=function(){var a=F+u,b;b=w?0:K;e(n)&&E&&("center"===H||"right"===H)&&(a+={center:.5,right:1}[H]*(n-E.width));if(a!==f.x||b!==f.y)f.attr("x",a),f.hasBoxWidthChanged&&
94
- (E=f.getBBox(!0),O()),void 0!==b&&f.attr("y",b);f.x=a;f.y=b};M=function(a,b){x?x.attr(a,b):Q[a]=b};G.onAdd=function(){f.add(G);G.attr({text:b||0===b?b:"",x:m,y:t});x&&e(A)&&G.attr({anchorX:A,anchorY:d})};G.widthSetter=function(b){n=a.isNumber(b)?b:null};G.heightSetter=function(a){l=a};G["text-alignSetter"]=function(a){H=a};G.paddingSetter=function(a){e(a)&&a!==u&&(u=G.padding=a,P())};G.paddingLeftSetter=function(a){e(a)&&a!==F&&(F=a,P())};G.alignSetter=function(a){a={left:0,center:.5,right:1}[a];
95
- a!==C&&(C=a,E&&G.attr({x:T}))};G.textSetter=function(a){void 0!==a&&f.textSetter(a);O();P()};G["stroke-widthSetter"]=function(a,b){a&&(v=!0);this["stroke-width"]=a;M(b,a)};G.rSetter=function(a,b){M(b,a)};G.anchorXSetter=function(a,b){A=G.anchorX=a;M(b,Math.round(a)-r()-T)};G.anchorYSetter=function(a,b){d=G.anchorY=a;M(b,a-L)};G.xSetter=function(a){G.x=a;C&&(a-=C*((n||E.width)+2*u),G["forceAnimate:x"]=!0);T=Math.round(a);G.attr("translateX",T)};G.ySetter=function(a){L=G.y=Math.round(a);G.attr("translateY",
96
- L)};var z=G.css;return c(G,{css:function(a){if(a){var b={};a=D(a);p(G.textProps,function(m){void 0!==a[m]&&(b[m]=a[m],delete a[m])});f.css(b);"width"in b&&O()}return z.call(G,a)},getBBox:function(){return{width:E.width+2*u,height:E.height+2*u,x:E.x-u,y:E.y-u}},destroy:function(){N(G.element,"mouseenter");N(G.element,"mouseleave");f&&(f=f.destroy());x&&(x=x.destroy());y.prototype.destroy.call(G);G=h=O=P=M=null}})}});a.Renderer=z})(I);(function(a){var y=a.attr,z=a.createElement,B=a.css,l=a.defined,
97
- f=a.each,h=a.extend,r=a.isFirefox,v=a.isMS,n=a.isWebKit,e=a.pick,k=a.pInt,d=a.SVGRenderer,u=a.win,p=a.wrap;h(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.htmlUpdateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=h(this.styles,a);B(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,
98
- height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,g=this.x||0,e=this.y||0,d=this.textAlign||"left",p={left:0,center:.5,right:1}[d],h=this.styles,u=h&&h.whiteSpace;B(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&f(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var h=this.rotation,x=this.textWidth&&k(this.textWidth),w=[h,d,b.innerHTML,this.textWidth,this.textAlign].join(),E;(E=x!==this.oldTextWidth)&&
99
- !(E=x>this.oldTextWidth)&&((E=this.textPxLength)||(B(b,{width:"",whiteSpace:u||"nowrap"}),E=b.offsetWidth),E=E>x);E&&/[ \-]/.test(b.textContent||b.innerText)?(B(b,{width:x+"px",display:"block",whiteSpace:u||"normal"}),this.oldTextWidth=x,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;w!==this.cTT&&(u=a.fontMetrics(b.style.fontSize).b,l(h)&&h!==(this.oldRotation||0)&&this.setSpanRotation(h,p,u),this.getSpanCorrection(!l(h)&&this.textPxLength||b.offsetWidth,u,p,h,d));B(b,{left:g+(this.xCorr||
100
- 0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=w;this.oldRotation=h}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,g){var c={},e=this.renderer.getTransformKey();c[e]=c.transform="rotate("+a+"deg)";c[e+(r?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+g+"px";B(this.element,c)},getSpanCorrection:function(a,b,g){this.xCorr=-a*g;this.yCorr=-b}});h(d.prototype,{getTransformKey:function(){return v&&!/Edge/.test(u.navigator.userAgent)?"-ms-transform":n?"-webkit-transform":r?"MozTransform":u.opera?
101
- "-o-transform":""},html:function(a,b,g){var c=this.createElement("span"),d=c.element,k=c.renderer,u=k.isSVG,n=function(a,b){f(["opacity","visibility"],function(c){p(a,c+"Setter",function(a,c,g,m){a.call(this,c,g,m);b[g]=c})});a.addedSetters=!0};c.textSetter=function(a){a!==d.innerHTML&&delete this.bBox;this.textStr=a;d.innerHTML=e(a,"");c.doTransform=!0};u&&n(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.doTransform=!0};c.afterSetters=
102
- function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};c.attr({text:a,x:Math.round(b),y:Math.round(g)}).css({position:"absolute"});d.style.whiteSpace="nowrap";c.css=c.htmlCss;u&&(c.add=function(a){var b,g=k.box.parentNode,e=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)e.push(a),a=a.parentGroup;f(e.reverse(),function(a){function d(b,c){a[c]=b;"translateX"===c?m.left=b+"px":m.top=b+"px";a.doTransform=!0}var m,A=y(a.element,"class");A&&(A={className:A});b=a.div=a.div||z("div",
103
- A,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||g);m=b.style;h(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){e[0].div&&c.on.apply({element:e[0].div},arguments);return a},translateXSetter:d,translateYSetter:d});a.addedSetters||n(a,m)})}}else b=g;b.appendChild(d);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});
104
- return c}})})(I);(function(a){var y=a.correctFloat,z=a.defined,B=a.destroyObjectProperties,l=a.fireEvent,f=a.isNumber,h=a.pick,r=a.deg2rad;a.Tick=function(a,h,e,k){this.axis=a;this.pos=h;this.type=e||"";this.isNewLabel=this.isNew=!0;e||k||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,f=a.options,e=a.chart,k=a.categories,d=a.names,u=this.pos,p=f.labels,c=a.tickPositions,b=u===c[0],g=u===c[c.length-1],d=k?h(k[u],d[u],u):u,k=this.label,c=c.info,q;a.isDatetimeAxis&&c&&(q=f.dateTimeLabelFormats[c.higherRanks[u]||
105
- c.unitName]);this.isFirst=b;this.isLast=g;f=a.labelFormatter.call({axis:a,chart:e,isFirst:b,isLast:g,dateTimeLabelFormat:q,value:a.isLog?y(a.lin2log(d)):d,pos:u});if(z(k))k&&k.attr({text:f});else{if(this.label=k=z(f)&&p.enabled?e.renderer.text(f,0,0,p.useHTML).add(a.labelGroup):null)k.textPxLength=k.getBBox().width;this.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var f=this.axis,e=f.options.labels,k=a.x,
106
- d=f.chart.chartWidth,u=f.chart.spacing,p=h(f.labelLeft,Math.min(f.pos,u[3])),u=h(f.labelRight,Math.max(f.isRadial?0:f.pos+f.len,d-u[1])),c=this.label,b=this.rotation,g={left:0,center:.5,right:1}[f.labelAlign||c.attr("align")],q=c.getBBox().width,F=f.getSlotWidth(this),l=F,C=1,H,x={};if(b||!1===e.overflow)0>b&&k-g*q<p?H=Math.round(k/Math.cos(b*r)-p):0<b&&k+g*q>u&&(H=Math.round((d-k)/Math.cos(b*r)));else if(d=k+(1-g)*q,k-g*q<p?l=a.x+l*(1-g)-p:d>u&&(l=u-a.x+l*g,C=-1),l=Math.min(F,l),l<F&&"center"===
107
- f.labelAlign&&(a.x+=C*(F-l-g*(F-Math.min(q,l)))),q>l||f.autoRotation&&(c.styles||{}).width)H=l;H&&(x.width=H,(e.style||{}).textOverflow||(x.textOverflow="ellipsis"),c.css(x))},getPosition:function(f,h,e,k){var d=this.axis,u=d.chart,p=k&&u.oldChartHeight||u.chartHeight;f={x:f?a.correctFloat(d.translate(h+e,null,null,k)+d.transB):d.left+d.offset+(d.opposite?(k&&u.oldChartWidth||u.chartWidth)-d.right-d.left:0),y:f?p-d.bottom+d.offset-(d.opposite?d.height:0):a.correctFloat(p-d.translate(h+e,null,null,
108
- k)-d.transB)};l(this,"afterGetPosition",{pos:f});return f},getLabelPosition:function(a,f,e,k,d,h,p,c){var b=this.axis,g=b.transA,q=b.reversed,u=b.staggerLines,n=b.tickRotCorr||{x:0,y:0},C=d.y,H=k||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),x={};z(C)||(C=0===b.side?e.rotation?-8:-e.getBBox().height:2===b.side?n.y+8:Math.cos(e.rotation*r)*(n.y-e.getBBox(!1,0).height/2));a=a+d.x+H+n.x-(h&&k?h*g*(q?-1:1):0);f=f+C-(h&&!k?h*g*(q?1:-1):0);u&&(e=p/(c||1)%u,b.opposite&&(e=u-e-1),
109
- f+=b.labelOffset/u*e);x.x=a;x.y=Math.round(f);l(this,"afterGetLabelPosition",{pos:x});return x},getMarkPath:function(a,f,e,k,d,h){return h.crispLine(["M",a,f,"L",a+(d?0:-e),f+(d?e:0)],k)},renderGridLine:function(a,f,e){var k=this.axis,d=this.gridLine,h={},p=this.pos,c=this.type,b=k.tickmarkOffset,g=k.chart.renderer;d||(c||(h.zIndex=1),a&&(h.opacity=0),this.gridLine=d=g.path().attr(h).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(k.gridGroup));if(!a&&d&&(a=k.getPlotLinePath(p+b,d.strokeWidth()*
110
- e,a,!0)))d[this.isNew?"attr":"animate"]({d:a,opacity:f})},renderMark:function(a,f,e){var k=this.axis,d=k.chart.renderer,h=this.type,p=k.tickSize(h?h+"Tick":"tick"),c=this.mark,b=!c,g=a.x;a=a.y;p&&(k.opposite&&(p[0]=-p[0]),b&&(this.mark=c=d.path().addClass("highcharts-"+(h?h+"-":"")+"tick").add(k.axisGroup)),c[b?"attr":"animate"]({d:this.getMarkPath(g,a,p[0],c.strokeWidth()*e,k.horiz,d),opacity:f}))},renderLabel:function(a,l,e,k){var d=this.axis,u=d.horiz,p=d.options,c=this.label,b=p.labels,g=b.step,
111
- d=d.tickmarkOffset,q=!0,F=a.x;a=a.y;c&&f(F)&&(c.xy=a=this.getLabelPosition(F,a,c,u,b,d,k,g),this.isFirst&&!this.isLast&&!h(p.showFirstLabel,1)||this.isLast&&!this.isFirst&&!h(p.showLastLabel,1)?q=!1:!u||b.step||b.rotation||l||0===e||this.handleOverflow(a),g&&k%g&&(q=!1),q&&f(a.y)?(a.opacity=e,c[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(f,l,e){var k=this.axis,d=k.horiz,u=this.getPosition(d,this.pos,k.tickmarkOffset,l),p=u.x,c=
112
- u.y,k=d&&p===k.pos+k.len||!d&&c===k.pos?-1:1;e=h(e,1);this.isActive=!0;this.renderGridLine(l,e,k);this.renderMark(u,e,k);this.renderLabel(u,l,e,f);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){B(this,this.axis)}}})(I);var W=function(a){var y=a.addEvent,z=a.animObject,B=a.arrayMax,l=a.arrayMin,f=a.correctFloat,h=a.defaultOptions,r=a.defined,v=a.deg2rad,n=a.destroyObjectProperties,e=a.each,k=a.extend,d=a.fireEvent,u=a.format,p=a.getMagnitude,c=a.grep,b=a.inArray,g=a.isArray,q=a.isNumber,
113
- F=a.isString,K=a.merge,C=a.normalizeTickInterval,H=a.objectEach,x=a.pick,w=a.removeEvent,E=a.splat,D=a.syncTimeout,L=a.Tick,J=function(){this.init.apply(this,arguments)};a.extend(J.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,
114
- tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],
115
- x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var m=c.isX,t=this;t.chart=a;t.horiz=a.inverted&&!t.isZAxis?!m:m;t.isXAxis=m;t.coll=t.coll||(m?"xAxis":"yAxis");d(this,"init",{userOptions:c});t.opposite=c.opposite;t.side=c.side||(t.horiz?t.opposite?0:2:t.opposite?1:3);t.setOptions(c);var g=this.options,A=g.type;t.labelFormatter=g.labels.formatter||t.defaultLabelFormatter;t.userOptions=c;t.minPixelPadding=0;t.reversed=g.reversed;
116
- t.visible=!1!==g.visible;t.zoomEnabled=!1!==g.zoomEnabled;t.hasNames="category"===A||!0===g.categories;t.categories=g.categories||t.hasNames;t.names||(t.names=[],t.names.keys={});t.plotLinesAndBandsGroups={};t.isLog="logarithmic"===A;t.isDatetimeAxis="datetime"===A;t.positiveValuesOnly=t.isLog&&!t.allowNegativeLog;t.isLinked=r(g.linkedTo);t.ticks={};t.labelEdge=[];t.minorTicks={};t.plotLinesAndBands=[];t.alternateBands={};t.len=0;t.minRange=t.userMinRange=g.minRange||g.maxZoom;t.range=g.range;t.offset=
117
- g.offset||0;t.stacks={};t.oldStacks={};t.stacksTouched=0;t.max=null;t.min=null;t.crosshair=x(g.crosshair,E(a.options.tooltip.crosshairs)[m?0:1],!1);c=t.options.events;-1===b(t,a.axes)&&(m?a.axes.splice(a.xAxis.length,0,t):a.axes.push(t),a[t.coll].push(t));t.series=t.series||[];a.inverted&&!t.isZAxis&&m&&void 0===t.reversed&&(t.reversed=!0);H(c,function(a,b){y(t,b,a)});t.lin2log=g.linearToLogConverter||t.lin2log;t.isLog&&(t.val2lin=t.log2lin,t.lin2val=t.lin2log);d(this,"afterInit")},setOptions:function(a){this.options=
118
- K(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],K(h[this.coll],a));d(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,c=this.value,g=b.chart.time,t=b.categories,e=this.dateTimeLabelFormat,d=h.lang,q=d.numericSymbols,d=d.numericSymbolMagnitude||1E3,w=q&&q.length,k,f=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;
119
- if(f)k=u(f,this,g);else if(t)k=c;else if(e)k=g.dateFormat(e,c);else if(w&&1E3<=b)for(;w--&&void 0===k;)g=Math.pow(d,w+1),b>=g&&0===10*c%g&&null!==q[w]&&0!==c&&(k=a.numberFormat(c/g,-1)+q[w]);void 0===k&&(k=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return k},getSeriesExtremes:function(){var a=this,b=a.chart;d(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,
120
- function(m){if(m.visible||!b.options.chart.ignoreHiddenSeries){var t=m.options,g=t.threshold,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=g&&(g=null);if(a.isXAxis)t=m.xData,t.length&&(m=l(t),e=B(t),q(m)||m instanceof Date||(t=c(t,q),m=l(t),e=B(t)),t.length&&(a.dataMin=Math.min(x(a.dataMin,t[0],m),m),a.dataMax=Math.max(x(a.dataMax,t[0],e),e)));else if(m.getExtremes(),e=m.dataMax,m=m.dataMin,r(m)&&r(e)&&(a.dataMin=Math.min(x(a.dataMin,m),m),a.dataMax=Math.max(x(a.dataMax,e),e)),r(g)&&(a.threshold=
121
- g),!t.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});d(this,"afterGetSeriesExtremes")},translate:function(a,b,c,t,g,e){var m=this.linkedParent||this,d=1,A=0,w=t?m.oldTransA:m.transA;t=t?m.oldMin:m.min;var k=m.minPixelPadding;g=(m.isOrdinal||m.isBroken||m.isLog&&g)&&m.lin2val;w||(w=m.transA);c&&(d*=-1,A=m.len);m.reversed&&(d*=-1,A-=d*(m.sector||m.len));b?(a=(a*d+A-k)/w+t,g&&(a=m.lin2val(a))):(g&&(a=m.val2lin(a)),a=q(t)?d*(a-t)*w+A+d*k+(q(e)?w*e:0):void 0);return a},toPixels:function(a,
122
- b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,t,g){var m=this.chart,e=this.left,d=this.top,A,w,k=c&&m.oldChartHeight||m.chartHeight,f=c&&m.oldChartWidth||m.chartWidth,h;A=this.transB;var p=function(a,b,c){if(a<b||a>c)t?a=Math.min(Math.max(b,a),c):h=!0;return a};g=x(g,this.translate(a,null,null,c));g=Math.min(Math.max(-1E5,g),1E5);a=c=Math.round(g+A);A=w=Math.round(k-
123
- g-A);q(g)?this.horiz?(A=d,w=k-this.bottom,a=c=p(a,e,e+this.width)):(a=e,c=f-this.right,A=w=p(A,d,d+this.height)):(h=!0,t=!1);return h&&!t?null:m.renderer.crispLine(["M",a,A,"L",c,w],b||1)},getLinearTickPositions:function(a,b,c){var m,g=f(Math.floor(b/a)*a);c=f(Math.ceil(c/a)*a);var e=[],d;f(g+a)===g&&(d=20);if(this.single)return[b];for(b=g;b<=c;){e.push(b);b=f(b+a,d);if(b===m)break;m=b}return e},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?x(a.minorTickInterval,"auto"):
124
- !1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,t=a.minorTickInterval,g=[],d=a.pointRangePadding||0,q=a.min-d,d=a.max+d,w=d-q;if(w&&w/t<a.len/3)if(a.isLog)e(this.paddedTicks,function(b,c,m){c&&g.push.apply(g,a.getLogTickPositions(t,m[c-1],m[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())g=g.concat(a.getTimeTicks(a.normalizeTimeTickInterval(t),q,d,b.startOfWeek));else for(b=q+(c[0]-q)%t;b<=d&&b!==g[0];b+=
125
- t)g.push(b);0!==g.length&&a.trimTicks(g);return g},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,t,g,d,q,w,k,f,h;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(r(a.min)||r(a.max)?this.minRange=null:(e(this.series,function(a){k=a.xData;for(q=f=a.xIncrement?1:k.length-1;0<q;q--)if(w=k[q]-k[q-1],void 0===d||w<d)d=w}),this.minRange=Math.min(5*d,this.dataMax-this.dataMin)));c-b<this.minRange&&(g=this.dataMax-this.dataMin>=this.minRange,h=this.minRange,t=(h-c+b)/2,t=[b-t,x(a.min,
126
- b-t)],g&&(t[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=B(t),c=[b+h,x(a.max,b+h)],g&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=l(c),c-b<h&&(t[0]=c-h,t[1]=x(a.min,c-h),b=B(t)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:e(this.series,function(b){var c=b.closestPointRange,m=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&r(c)&&m&&(a=r(a)?Math.min(a,c):c)});return a},nameToX:function(a){var c=g(this.categories),m=c?this.categories:
127
- this.names,t=a.options.x,d;a.series.requireSorting=!1;r(t)||(t=!1===this.options.uniqueNames?a.series.autoIncrement():c?b(a.name,m):x(m.keys[a.name],-1));-1===t?c||(d=m.length):d=t;void 0!==d&&(this.names[d]=a.name,this.names.keys[a.name]=d);return d},updateNames:function(){var b=this,c=this.names;0<c.length&&(e(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,e(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();
128
- e(a.points,function(c,m){var g;c.options&&(g=b.nameToX(c),void 0!==g&&g!==c.x&&(c.x=g,a.xData[m]=g))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,m=b.axisPointRange||0,g,q=0,w=0,k=b.linkedParent,f=!!b.categories,h=b.transA,p=b.isXAxis;if(p||f||m)g=b.getClosest(),k?(q=k.minPointOffset,w=k.pointRangePadding):e(b.series,function(a){var c=f?1:p?x(a.options.pointRange,g,0):b.axisPointRange||0;a=a.options.pointPlacement;m=Math.max(m,c);b.single||(q=Math.max(q,F(a)?0:c/2),w=Math.max(w,"on"===
129
- a?0:c))}),k=b.ordinalSlope&&g?b.ordinalSlope/g:1,b.minPointOffset=q*=k,b.pointRangePadding=w*=k,b.pointRange=Math.min(m,c),p&&(b.closestPointRange=g);a&&(b.oldTransA=h);b.translationSlope=b.transA=h=b.options.staticScale||b.len/(c+w||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=h*q;d(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,m=c.chart,g=c.options,w=c.isLog,k=c.isDatetimeAxis,h=c.isXAxis,D=c.isLinked,E=g.maxPadding,
130
- u=g.minPadding,l=g.tickInterval,F=g.tickPixelInterval,H=c.categories,n=q(c.threshold)?c.threshold:null,L=c.softThreshold,K,J,v,z;k||H||D||this.getTickAmount();v=x(c.userMin,g.min);z=x(c.userMax,g.max);D?(c.linkedParent=m[c.coll][g.linkedTo],m=c.linkedParent.getExtremes(),c.min=x(m.min,m.dataMin),c.max=x(m.max,m.dataMax),g.type!==c.linkedParent.options.type&&a.error(11,1)):(!L&&r(n)&&(c.dataMin>=n?(K=n,u=0):c.dataMax<=n&&(J=n,E=0)),c.min=x(v,K,c.dataMin),c.max=x(z,J,c.dataMax));w&&(c.positiveValuesOnly&&
131
- !b&&0>=Math.min(c.min,x(c.dataMin,c.min))&&a.error(10,1),c.min=f(c.log2lin(c.min),15),c.max=f(c.log2lin(c.max),15));c.range&&r(c.max)&&(c.userMin=c.min=v=Math.max(c.dataMin,c.minFromRange()),c.userMax=z=c.max,c.range=null);d(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(H||c.axisPointRange||c.usePercentage||D)&&r(c.min)&&r(c.max)&&(m=c.max-c.min)&&(!r(v)&&u&&(c.min-=m*u),!r(z)&&E&&(c.max+=m*E));q(g.softMin)&&!q(c.userMin)&&(c.min=Math.min(c.min,g.softMin));q(g.softMax)&&
132
- !q(c.userMax)&&(c.max=Math.max(c.max,g.softMax));q(g.floor)&&(c.min=Math.max(c.min,g.floor));q(g.ceiling)&&(c.max=Math.min(c.max,g.ceiling));L&&r(c.dataMin)&&(n=n||0,!r(v)&&c.min<n&&c.dataMin>=n?c.min=n:!r(z)&&c.max>n&&c.dataMax<=n&&(c.max=n));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:D&&!l&&F===c.linkedParent.options.tickPixelInterval?l=c.linkedParent.tickInterval:x(l,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(c.max-c.min)*F/Math.max(c.len,F));h&&
133
- !b&&e(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!l&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=x(g.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!l&&c.tickInterval<b&&(c.tickInterval=b);k||w||l||(c.tickInterval=C(c.tickInterval,null,p(c.tickInterval),x(g.allowDecimals,
134
- !(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions;b=this.getMinorTickInterval();var g=a.tickPositioner,e=a.startOnTick,q=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&
135
- r(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.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=
136
- 1)),this.tickPositions=b,g&&(g=g.apply(this,[this.min,this.max])))&&(this.tickPositions=b=g);this.paddedTicks=b.slice(0);this.trimTicks(b,e,q);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||g||this.adjustTickAmount());d(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var m=a[0],g=a[a.length-1],d=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==m)this.min=m;else for(;this.min-d>a[0];)a.shift();if(c)this.max=g;else for(;this.max+d<a[a.length-1];)a.pop();
137
- 0===a.length&&r(m)&&!this.options.tickPositions&&a.push((g+m)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||e(this.chart[this.coll],function(c){var m=c.options,m=[c.horiz?m.left:m.top,m.width,m.height,m.pane].join();c.series.length&&(a[m]?b=!0:a[m]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!r(a.tickInterval)&&this.len<c&&!this.isRadial&&
138
- !this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,g=this.finalTickAmt,d=b&&b.length,e=x(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(d<c){for(;b.length<c;)b.length%2||this.min===e?b.push(f(b[b.length-1]+a)):b.unshift(f(b[0]-a));this.transA*=(d-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else d>
139
- c&&(this.tickInterval*=2,this.setTickPositions());if(r(g)){for(a=c=b.length;a--;)(3===g&&1===a%2||2>=g&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;e(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?
140
- (this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();d(this,"afterSetScale")},setExtremes:function(a,b,c,g,q){var m=this,t=m.chart;c=x(c,!0);e(m.series,function(a){delete a.kdTree});q=k(q,{min:a,max:b});d(m,"setExtremes",q,function(){m.userMin=a;m.userMax=b;m.eventArgs=q;c&&
141
- t.redraw(g)})},zoom:function(a,b){var c=this.dataMin,g=this.dataMax,m=this.options,d=Math.min(c,x(m.min,c)),m=Math.max(g,x(m.max,g));if(a!==this.min||b!==this.max)this.allowZoomOutside||(r(c)&&(a<d&&(a=d),a>m&&(a=m)),r(g)&&(b<d&&(b=d),b>m&&(b=m))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,g=c.offsets||[0,0,0,0],t=this.horiz,d=this.width=Math.round(a.relativeLength(x(c.width,b.plotWidth-g[3]+
142
- g[1]),b.plotWidth)),e=this.height=Math.round(a.relativeLength(x(c.height,b.plotHeight-g[0]+g[2]),b.plotHeight)),q=this.top=Math.round(a.relativeLength(x(c.top,b.plotTop+g[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(x(c.left,b.plotLeft+g[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-q;this.right=b.chartWidth-d-c;this.len=Math.max(t?d:e,0);this.pos=t?c:q},getExtremes:function(){var a=this.isLog;return{min:a?f(this.lin2log(this.min)):this.min,max:a?f(this.lin2log(this.max)):
143
- this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(x(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],g=x(b[a+"Width"],"tick"===
144
- a&&this.isXAxis?1:0);if(g&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,g]},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,b=this.horiz,c=this.tickInterval,g=c,d=this.len/(((this.categories?1:0)+this.max-this.min)/c),q,w=a.rotation,k=this.labelMetrics(),h,p=Number.MAX_VALUE,D,E=function(a){a/=
145
- d||1;a=1<a?Math.ceil(a):1;return f(a*c)};b?(D=!a.staggerLines&&!a.step&&(r(w)?[w]:d<x(a.autoRotationLimit,80)&&a.autoRotation))&&e(D,function(a){var b;if(a===w||a&&-90<=a&&90>=a)h=E(Math.abs(k.h/Math.sin(v*a))),b=h+Math.abs(a/360),b<p&&(p=b,q=a,g=h)}):a.step||(g=E(k.h));this.autoRotation=D;this.labelRotation=x(q,w);return g},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,g=Math.max(this.tickPositions.length-(this.categories?0:1),1),d=a.margin[3];return b&&2>(c.step||0)&&
146
- !c.rotation&&(this.staggerLines||1)*this.len/g||!b&&(c.style&&parseInt(c.style.width,10)||d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,g=this.ticks,d=this.options.labels,q=d&&d.style||{},w=this.horiz,k=this.getSlotWidth(),h=Math.max(1,Math.round(k-2*(d.padding||5))),f={},p=this.labelMetrics(),D=d.style&&d.style.textOverflow,x,E,u=0,C;F(d.rotation)||(f.rotation=d.rotation||0);e(c,function(a){(a=g[a])&&a.label&&a.label.textPxLength>
147
- u&&(u=a.label.textPxLength)});this.maxLabelLength=u;if(this.autoRotation)u>h&&u>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(k&&(x=h,!D))for(E="clip",h=c.length;!w&&h--;)if(C=c[h],C=g[C].label)C.styles&&"ellipsis"===C.styles.textOverflow?C.css({textOverflow:"clip"}):C.textPxLength>k&&C.css({width:k+"px"}),C.getBBox().height>this.len/c.length-(p.h-p.f)&&(C.specificTextOverflow="ellipsis");f.rotation&&(x=u>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight,D||(E="ellipsis"));if(this.labelAlign=
148
- d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;e(c,function(a){var b=(a=g[a])&&a.label,c=q.width,m={};b&&(b.attr(f),x&&!c&&"nowrap"!==q.whiteSpace&&(x<b.textPxLength||"SPAN"===b.element.tagName)?(m.width=x,D||(m.textOverflow=b.specificTextOverflow||E),b.css(m)):b.styles&&b.styles.width&&!m.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(p.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||
149
- r(this.min)&&r(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,g=this.opposite,m=this.options.title,d;this.axisTitle||((d=m.textAlign)||(d=(c?{low:"left",middle:"center",high:"right"}:{low:g?"right":"left",middle:"center",high:g?"left":"right"})[m.align]),this.axisTitle=b.text(m.text,0,0,m.useHTML).attr({zIndex:7,rotation:m.rotation||0,align:d}).addClass("highcharts-axis-title").add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle.css({width:this.len});
150
- this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new L(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,g=a.options,d=a.tickPositions,q=a.ticks,w=a.horiz,k=a.side,h=b.inverted&&!a.isZAxis?[1,0,3,2][k]:k,f,p,D=0,E,C=0,u=g.title,l=g.labels,F=0,n=b.axisOffset,b=b.clipOffset,L=[-1,1,1,-1][k],K=g.className,J=a.axisParent,v=this.tickSize("tick");f=a.hasData();a.showAxis=p=f||x(g.showEmpty,!0);a.staggerLines=a.horiz&&l.staggerLines;a.axisGroup||
151
- (a.gridGroup=c.g("grid").attr({zIndex:g.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(K||"")).add(J),a.axisGroup=c.g("axis").attr({zIndex:g.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(K||"")).add(J),a.labelGroup=c.g("axis-labels").attr({zIndex:l.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(K||"")).add(J));f||a.isLinked?(e(d,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===k||2===k||{1:"left",3:"right"}[k]===
152
- a.labelAlign,x(l.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&e(d,function(a){F=Math.max(q[a].getLabelSize(),F)}),a.staggerLines&&(F*=a.staggerLines),a.labelOffset=F*(a.opposite?-1:1)):H(q,function(a,b){a.destroy();delete q[b]});u&&u.text&&!1!==u.enabled&&(a.addTitle(p),p&&!1!==u.reserveSpace&&(a.titleOffset=D=a.axisTitle.getBBox()[w?"height":"width"],E=u.offset,C=r(E)?0:x(u.margin,w?5:10)));a.renderLine();a.offset=L*x(g.offset,n[k]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};
153
- c=0===k?-a.labelMetrics().h:2===k?a.tickRotCorr.y:0;C=Math.abs(F)+C;F&&(C=C-c+L*(w?x(l.y,a.tickRotCorr.y+8*L):l.x));a.axisTitleMargin=x(E,C);n[k]=Math.max(n[k],a.axisTitleMargin+D+L*a.offset,C,f&&d.length&&v?v[0]+L*a.offset:0);g=g.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[h]=Math.max(b[h],g)},getLinePath:function(a){var b=this.chart,c=this.opposite,g=this.offset,d=this.horiz,m=this.left+(c?this.width:0)+g,g=b.chartHeight-this.bottom-(c?this.height:0)+g;c&&(a*=-1);return b.renderer.crispLine(["M",
154
- d?this.left:m,d?g:this.top,"L",d?b.chartWidth-this.right:m,d?g:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,g=this.len,d=this.options.title,e=a?b:c,q=this.opposite,w=this.offset,k=d.x||0,f=d.y||0,h=this.axisTitle,p=this.chart.renderer.fontMetrics(d.style&&d.style.fontSize,h),h=Math.max(h.getBBox(null,0).height-p.h-
155
- 1,0),g={low:e+(a?0:g),middle:e+g/2,high:e+(a?g:0)}[d.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+[-h,h,p.f,-h][this.side];return{x:a?g+k:b+(q?this.width:0)+w+k,y:a?b+f-(q?this.height:0)+w:g+f}},renderMinorTick:function(a){var b=this.chart.hasRendered&&q(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new L(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,g=this.ticks,d=this.chart.hasRendered&&q(this.oldMin);
156
- if(!c||a>=this.min&&a<=this.max)g[a]||(g[a]=new L(this,a)),d&&g[a].isNew&&g[a].render(b,!0,.1),g[a].render(b)},render:function(){var b=this,c=b.chart,g=b.options,t=b.isLog,w=b.isLinked,k=b.tickPositions,h=b.axisTitle,f=b.ticks,p=b.minorTicks,E=b.alternateBands,x=g.stackLabels,C=g.alternateGridColor,u=b.tickmarkOffset,l=b.axisLine,F=b.showAxis,n=z(c.renderer.globalAnimation),K,J;b.labelEdge.length=0;b.overlap=!1;e([f,p,E],function(a){H(a,function(a){a.isActive=!1})});if(b.hasData()||w)b.minorTickInterval&&
157
- !b.categories&&e(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),k.length&&(e(k,function(a,c){b.renderTick(a,c)}),u&&(0===b.min||b.single)&&(f[-1]||(f[-1]=new L(b,-1,null,!0)),f[-1].render(-1))),C&&e(k,function(g,d){J=void 0!==k[d+1]?k[d+1]+u:b.max-u;0===d%2&&g<b.max&&J<=b.max+(c.polar?-u:u)&&(E[g]||(E[g]=new a.PlotLineOrBand(b)),K=g+u,E[g].options={from:t?b.lin2log(K):K,to:t?b.lin2log(J):J,color:C},E[g].render(),E[g].isActive=!0)}),b._addedPlotLB||(e((g.plotLines||[]).concat(g.plotBands||
158
- []),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);e([f,p,E],function(a){var b,g=[],d=n.duration;H(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,g.push(b))});D(function(){for(b=g.length;b--;)a[g[b]]&&!a[g[b]].isActive&&(a[g[b]].destroy(),delete a[g[b]])},a!==E&&c.hasRendered&&d?d:0)});l&&(l[l.isPlaced?"animate":"attr"]({d:this.getLinePath(l.strokeWidth())}),l.isPlaced=!0,l[F?"show":"hide"](!0));h&&F&&(g=b.getTitlePosition(),q(g.y)?(h[h.isNew?"attr":"animate"](g),h.isNew=!1):
159
- (h.attr("y",-9999),h.isNew=!0));x&&x.enabled&&b.renderStackTotals();b.isDirty=!1;d(this,"afterRender")},redraw:function(){this.visible&&(this.render(),e(this.plotLinesAndBands,function(a){a.render()}));e(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var c=this,g=c.stacks,t=c.plotLinesAndBands,m;d(this,"destroy",{keepEvents:a});a||w(c);H(g,function(a,b){n(a);g[b]=null});e([c.ticks,c.minorTicks,c.alternateBands],function(a){n(a)});
160
- if(t)for(a=t.length;a--;)t[a].destroy();e("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){c[a]&&(c[a]=c[a].destroy())});for(m in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[m]=c.plotLinesAndBandsGroups[m].destroy();H(c,function(a,g){-1===b(g,c.keepProps)&&delete c[g]})},drawCrosshair:function(a,b){var c,g=this.crosshair,e=x(g.snap,!0),m,q=this.cross;d(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==
161
- (r(b)||!e)){e?r(b)&&(m=x(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):m=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);r(m)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:x(b.stackY,b.y)),null,null,null,m)||null);if(!r(c)){this.hideCrosshair();return}e=this.categories&&!this.isRadial;q||(this.cross=q=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(e?"category ":"thin ")+g.className).attr({zIndex:x(g.zIndex,2)}).add());q.show().attr({d:c});e&&
162
- !g.width&&q.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();d(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=J}(I);(function(a){var y=a.Axis,z=a.getMagnitude,B=a.map,l=a.normalizeTickInterval,f=a.pick;y.prototype.getLogTickPositions=function(a,r,v,n){var e=this.options,k=this.len,d=[];n||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),d=this.getLinearTickPositions(a,r,v);else if(.08<=a)for(var k=
163
- Math.floor(r),h,p,c,b,g,e=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];k<v+1&&!g;k++)for(p=e.length,h=0;h<p&&!g;h++)c=this.log2lin(this.lin2log(k)*e[h]),c>r&&(!n||b<=v)&&void 0!==b&&d.push(b),b>v&&(g=!0),b=c;else r=this.lin2log(r),v=this.lin2log(v),a=n?this.getMinorTickInterval():e.tickInterval,a=f("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(n?5:1)*(v-r)/((n?k/this.tickPositions.length:k)||1)),a=l(a,null,z(a)),d=B(this.getLinearTickPositions(a,r,v),this.log2lin),n||(this._minorAutoInterval=
164
- a/5);n||(this.tickInterval=a);return d};y.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};y.prototype.lin2log=function(a){return Math.pow(10,a)}})(I);(function(a,y){var z=a.arrayMax,B=a.arrayMin,l=a.defined,f=a.destroyObjectProperties,h=a.each,r=a.erase,v=a.merge,n=a.pick;a.PlotLineOrBand=function(a,k){this.axis=a;k&&(this.options=k,this.id=k.id)};a.PlotLineOrBand.prototype={render:function(){var e=this,k=e.axis,d=k.horiz,f=e.options,h=f.label,c=e.label,b=f.to,g=f.from,q=f.value,F=l(g)&&
165
- l(b),K=l(q),C=e.svgElem,H=!C,x=[],w=n(f.zIndex,0),E=f.events,x={"class":"highcharts-plot-"+(F?"band ":"line ")+(f.className||"")},D={},L=k.chart.renderer,J=F?"bands":"lines",m;k.isLog&&(g=k.log2lin(g),b=k.log2lin(b),q=k.log2lin(q));D.zIndex=w;J+="-"+w;(m=k.plotLinesAndBandsGroups[J])||(k.plotLinesAndBandsGroups[J]=m=L.g("plot-"+J).attr(D).add());H&&(e.svgElem=C=L.path().attr(x).add(m));if(K)x=k.getPlotLinePath(q,C.strokeWidth());else if(F)x=k.getPlotBandPath(g,b,f);else return;H&&x&&x.length?(C.attr({d:x}),
166
- E&&a.objectEach(E,function(a,b){C.on(b,function(a){E[b].apply(e,[a])})})):C&&(x?(C.show(),C.animate({d:x})):(C.hide(),c&&(e.label=c=c.destroy())));h&&l(h.text)&&x&&x.length&&0<k.width&&0<k.height&&!x.isFlat?(h=v({align:d&&F&&"center",x:d?!F&&4:10,verticalAlign:!d&&F&&"middle",y:d?F?16:10:F?6:-4,rotation:d&&!F&&90},h),this.renderLabel(h,x,F,w)):c&&c.hide();return e},renderLabel:function(a,k,d,f){var e=this.label,c=this.axis.chart.renderer;e||(e={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+
167
- (d?"band":"line")+"-label "+(a.className||"")},e.zIndex=f,this.label=e=c.text(a.text,0,0,a.useHTML).attr(e).add());f=k.xBounds||[k[1],k[4],d?k[6]:k[1]];k=k.yBounds||[k[2],k[5],d?k[7]:k[2]];d=B(f);c=B(k);e.align(a,!1,{x:d,y:c,width:z(f)-d,height:z(k)-c});e.show()},destroy:function(){r(this.axis.plotLinesAndBands,this);delete this.axis;f(this)}};a.extend(y.prototype,{getPlotBandPath:function(a,k){var d=this.getPlotLinePath(k,null,null,!0),e=this.getPlotLinePath(a,null,null,!0),f=[],c=this.horiz,b=1,
168
- g;a=a<this.min&&k<this.min||a>this.max&&k>this.max;if(e&&d)for(a&&(g=e.toString()===d.toString(),b=0),a=0;a<e.length;a+=6)c&&d[a+1]===e[a+1]?(d[a+1]+=b,d[a+4]+=b):c||d[a+2]!==e[a+2]||(d[a+2]+=b,d[a+5]+=b),f.push("M",e[a+1],e[a+2],"L",e[a+4],e[a+5],d[a+4],d[a+5],d[a+1],d[a+2],"z"),f.isFlat=g;return f},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(e,k){var d=(new a.PlotLineOrBand(this,
169
- e)).render(),f=this.userOptions;d&&(k&&(f[k]=f[k]||[],f[k].push(e)),this.plotLinesAndBands.push(d));return d},removePlotBandOrLine:function(a){for(var e=this.plotLinesAndBands,d=this.options,f=this.userOptions,p=e.length;p--;)e[p].id===a&&e[p].destroy();h([d.plotLines||[],f.plotLines||[],d.plotBands||[],f.plotBands||[]],function(c){for(p=c.length;p--;)c[p].id===a&&r(c,c[p])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(I,W);
170
- (function(a){var y=a.doc,z=a.each,B=a.extend,l=a.format,f=a.isNumber,h=a.map,r=a.merge,v=a.pick,n=a.splat,e=a.syncTimeout,k=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split;this.outside=e.outside&&!this.split},cleanSplit:function(a){z(this.chart.series,function(d){var e=d&&d.tt;e&&(!e.isActive||
171
- a?d.tt=e.destroy():e.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"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+
172
- a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var d=this.chart.renderer,e=this.options,k;this.label||(this.outside&&(this.container=k=a.doc.createElement("div"),k.className="highcharts-tooltip-container",a.css(k,{position:"absolute",top:"1px",pointerEvents:"none"}),a.doc.body.appendChild(k),this.renderer=d=new a.Renderer(k,0,0)),this.label=this.split?d.g("tooltip"):d.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),
173
- this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){k.style.left=a+"px"},this.label.ySetter=function(a){k.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();r(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,r(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&
174
- this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(d,e,k,c){var b=this,g=b.now,q=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(d-g.x)||1<Math.abs(e-g.y)),f=b.followPointer||1<b.len;B(g,{x:q?(2*g.x+d)/3:d,y:q?(g.y+e)/2:e,anchorX:f?void 0:q?(2*g.anchorX+k)/3:k,anchorY:f?void 0:q?(g.anchorY+c)/2:c});b.getLabel().attr(g);
175
- q&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(d,e,k,c)},32))},hide:function(d){var k=this;a.clearTimeout(this.hideTimer);d=v(d,this.options.hideDelay,500);this.isHidden||(this.hideTimer=e(function(){k.getLabel()[d?"fadeOut":"hide"]();k.isHidden=!0},d))},getAnchor:function(a,e){var d,c=this.chart,b=c.inverted,g=c.plotTop,q=c.plotLeft,k=0,f=0,C,l;a=n(a);d=a[0].tooltipPos;this.followPointer&&e&&(void 0===e.chartX&&(e=c.pointer.normalize(e)),d=[e.chartX-c.plotLeft,
176
- e.chartY-g]);d||(z(a,function(a){C=a.series.yAxis;l=a.series.xAxis;k+=a.plotX+(!b&&l?l.left-q:0);f+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&C?C.top-g:0)}),k/=a.length,f/=a.length,d=[b?c.plotWidth-f:k,this.shared&&!b&&1<a.length&&e?e.chartY-g:b?c.plotHeight-k:f]);return h(d,Math.round)},getPosition:function(a,e,k){var c=this.chart,b=this.distance,g={},d=c.inverted&&k.h||0,f,h=this.outside,p=h?y.documentElement.clientWidth-2*b:c.chartWidth,l=h?Math.max(y.body.scrollHeight,y.documentElement.scrollHeight,
177
- y.body.offsetHeight,y.documentElement.offsetHeight,y.documentElement.clientHeight):c.chartHeight,x=c.pointer.chartPosition,w=["y",l,e,(h?x.top-b:0)+k.plotY+c.plotTop,h?0:c.plotTop,h?l:c.plotTop+c.plotHeight],E=["x",p,a,(h?x.left-b:0)+k.plotX+c.plotLeft,h?0:c.plotLeft,h?p:c.plotLeft+c.plotWidth],D=!this.followPointer&&v(k.ttBelow,!c.inverted===!!k.negative),n=function(a,c,e,m,q,k){var t=e<m-b,w=m+b+e<c,f=m-b-e;m+=b;if(D&&w)g[a]=m;else if(!D&&t)g[a]=f;else if(t)g[a]=Math.min(k-e,0>f-d?f:f-d);else if(w)g[a]=
178
- Math.max(q,m+d+e>c?m:m+d);else return!1},u=function(a,c,d,e){var t;e<b||e>c-b?t=!1:g[a]=e<d/2?1:e>c-d/2?c-d-2:e-d/2;return t},m=function(a){var b=w;w=E;E=b;f=a},A=function(){!1!==n.apply(0,w)?!1!==u.apply(0,E)||f||(m(!0),A()):f?g.x=g.y=0:(m(!0),A())};(c.inverted||1<this.len)&&m();A();return g},defaultFormatter:function(a){var d=this.points||n(this),e;e=[a.tooltipFooterHeaderFormatter(d[0])];e=e.concat(a.bodyFormatter(d));e.push(a.tooltipFooterHeaderFormatter(d[0],!0));return e},refresh:function(d,
179
- e){var k,c=this.options,b=d,g,q={},f=[];k=c.formatter||this.defaultFormatter;var q=this.shared,h;c.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=n(b)[0].series.tooltipOptions.followPointer,g=this.getAnchor(b,e),e=g[0],c=g[1],!q||b.series&&b.series.noSharedTooltip?q=b.getLabelConfig():(z(b,function(a){a.setState("hover");f.push(a.getLabelConfig())}),q={x:b[0].category,y:b[0].y},q.points=f,b=b[0]),this.len=f.length,q=k.call(q,this),h=b.series,this.distance=v(h.tooltipOptions.distance,
180
- 16),!1===q?this.hide():(k=this.getLabel(),this.isHidden&&k.attr({opacity:1}).show(),this.split?this.renderSplit(q,n(d)):(k.css({width:this.chart.spacingBox.width}),k.attr({text:q&&q.join?q.join(""):q}),k.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+v(b.colorIndex,h.colorIndex)),this.updatePosition({plotX:e,plotY:c,negative:b.negative,ttBelow:b.ttBelow,h:g[2]||0})),this.isHidden=!1))},renderSplit:function(d,e){var k=this,c=[],b=this.chart,g=b.renderer,q=!0,f=this.options,h=0,
181
- C=this.getLabel();a.isString(d)&&(d=[!1,d]);z(d.slice(0,e.length+1),function(a,d){if(!1!==a){d=e[d-1]||{isHeader:!0,plotX:e[0].plotX};var w=d.series||k,p=w.tt,D="highcharts-color-"+v(d.colorIndex,(d.series||{}).colorIndex,"none");p||(w.tt=p=g.label(null,null,null,"callout",null,null,f.useHTML).addClass("highcharts-tooltip-box "+D).attr({padding:f.padding,r:f.borderRadius}).add(C));p.isActive=!0;p.attr({text:a});a=p.getBBox();D=a.width+p.strokeWidth();d.isHeader?(h=a.height,D=Math.max(0,Math.min(d.plotX+
182
- b.plotLeft-D/2,b.chartWidth-D))):D=d.plotX+b.plotLeft-v(f.distance,16)-D;0>D&&(q=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=b.plotTop;c.push({target:d.isHeader?b.plotHeight+h:a,rank:d.isHeader?1:0,size:w.tt.getBBox().height+1,point:d,x:D,tt:p})}});this.cleanSplit();a.distribute(c,b.plotHeight+h);z(c,function(a){var c=a.point,g=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:q||c.isHeader?a.x:c.plotX+b.plotLeft+v(f.distance,16),y:a.pos+b.plotTop,anchorX:c.isHeader?
183
- c.plotX+b.plotLeft:c.plotX+g.xAxis.pos,anchorY:c.isHeader?a.pos+b.plotTop-15:c.plotY+g.yAxis.pos})})},updatePosition:function(a){var d=this.chart,e=this.getLabel(),c=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a),b=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;var g;this.outside&&(g=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(e.width+g,e.height+g,!1),b+=d.pointer.chartPosition.left-c.x,a+=d.pointer.chartPosition.top-c.y);this.move(Math.round(c.x),Math.round(c.y||
184
- 0),b,a)},getDateFormat:function(a,e,f,c){var b=this.chart.time,g=b.dateFormat("%m-%d %H:%M:%S.%L",e),d,h,p={millisecond:15,second:12,minute:9,hour:6,day:3},C="millisecond";for(h in k){if(a===k.week&&+b.dateFormat("%w",e)===f&&"00:00:00.000"===g.substr(6)){h="week";break}if(k[h]>a){h=C;break}if(p[h]&&g.substr(p[h])!=="01-01 00:00:00.000".substr(p[h]))break;"week"!==h&&(C=h)}h&&(d=c[h]);return d},getXDateFormat:function(a,e,k){e=e.dateTimeLabelFormats;var c=k&&k.closestPointRange;return(c?this.getDateFormat(c,
185
- a.x,k.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){e=e?"footer":"header";var d=a.series,c=d.tooltipOptions,b=c.xDateFormat,g=d.xAxis,k=g&&"datetime"===g.options.type&&f(a.key),h=c[e+"Format"];k&&!b&&(b=this.getXDateFormat(a,c,g));k&&b&&z(a.point&&a.point.tooltipDateKeys||["key"],function(a){h=h.replace("{point."+a+"}","{point."+a+":"+b+"}")});return l(h,{point:a,series:d},this.chart.time)},bodyFormatter:function(a){return h(a,function(a){var d=a.series.tooltipOptions;
186
- return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"])})}}})(I);(function(a){var y=a.addEvent,z=a.attr,B=a.charts,l=a.css,f=a.defined,h=a.each,r=a.extend,v=a.find,n=a.fireEvent,e=a.isNumber,k=a.isObject,d=a.offset,u=a.pick,p=a.splat,c=a.Tooltip;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,g){this.options=g;this.chart=a;this.runChartClick=g.chart.events&&!!g.chart.events.click;this.pinchDown=
187
- [];this.lastValidTouch={};c&&(a.tooltip=new c(a,g.tooltip),this.followTouchMove=u(g.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,d=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(d=u(c.pinchType,d));this.zoomX=a=/x/.test(d);this.zoomY=d=/y/.test(d);this.zoomHor=a&&!b||d&&b;this.zoomVert=d&&!b||a&&b;this.hasZoom=a||d},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=
188
- c=d(this.chart.container));return r(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};h(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,d){var b;h(a,function(a){var g=!(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(d,g);if((g=k(a,!0))&&!(g=!k(b,!0)))var g=b.distX-a.distX,e=
189
- b.dist-a.dist,f=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),g=0<(0!==g&&c?g:0!==e?e:0!==f?f:b.series.index>a.series.index?-1:1);g&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,g=b.xAxis,b=b.yAxis,d=u(a.clientX,a.plotX),e=a.shapeArgs;if(g&&b)return c?{chartX:g.len+g.pos-d,chartY:b.len+b.pos-a.plotY}:{chartX:d+g.pos,chartY:a.plotY+b.pos};if(e&&
190
- e.x&&e.y)return{chartX:e.x,chartY:e.y}},getHoverData:function(b,c,d,e,f,p,l){var g,w=[],q=l&&l.isBoosting;e=!(!e||!b);l=c&&!c.stickyTracking?[c]:a.grep(d,function(a){return a.visible&&!(!f&&a.directTouch)&&u(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(g=e?b:this.findNearestKDPoint(l,f,p))&&g.series;g&&(f&&!c.noSharedTooltip?(l=a.grep(d,function(a){return a.visible&&!(!f&&a.directTouch)&&u(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),h(l,function(a){var b=v(a.points,function(a){return a.x===
191
- g.x&&!a.isNull});k(b)&&(q&&(b=a.getPoint(b)),w.push(b))})):w.push(g));return{hoverPoint:g,hoverSeries:c,hoverPoints:w}},runPointActions:function(b,c){var g=this.chart,d=g.tooltip&&g.tooltip.options.enabled?g.tooltip:void 0,e=d?d.shared:!1,k=c||g.hoverPoint,f=k&&k.series||g.hoverSeries,f=this.getHoverData(k,f,g.series,!!c||f&&f.directTouch&&this.isDirectTouch,e,b,{isBoosting:g.isBoosting}),p,k=f.hoverPoint;p=f.hoverPoints;c=(f=f.hoverSeries)&&f.tooltipOptions.followPointer;e=e&&f&&!f.noSharedTooltip;
192
- if(k&&(k!==g.hoverPoint||d&&d.isHidden)){h(g.hoverPoints||[],function(b){-1===a.inArray(b,p)&&b.setState()});h(p||[],function(a){a.setState("hover")});if(g.hoverSeries!==f)f.onMouseOver();g.hoverPoint&&g.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;k.firePointEvent("mouseOver");g.hoverPoints=p;g.hoverPoint=k;d&&d.refresh(e?p:k,b)}else c&&d&&!d.isHidden&&(k=d.getAnchor([{}],b),d.updatePosition({plotX:k[0],plotY:k[1]}));this.unDocMouseMove||(this.unDocMouseMove=y(g.container.ownerDocument,
193
- "mousemove",function(b){var c=B[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));h(g.axes,function(c){var g=u(c.crosshair.snap,!0),d=g?a.find(p,function(a){return a.series[c.coll]===c}):void 0;d||!g?c.drawCrosshair(b,d):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,g=b.hoverSeries,d=b.hoverPoint,e=b.hoverPoints,k=b.tooltip,f=k&&k.shared?e:d;a&&f&&h(p(f),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)k&&f&&(k.refresh(f),d&&(d.setState(d.state,!0),h(b.axes,
194
- function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();e&&h(e,function(a){a.setState()});if(g)g.onMouseOut();k&&k.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());h(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,g;h(b.series,function(d){g=a||d.getPlotBox();d.xAxis&&d.xAxis.zoomEnabled&&d.group&&(d.group.attr(g),d.markerGroup&&(d.markerGroup.attr(g),d.markerGroup.clip(c?b.clipRect:
195
- null)),d.dataLabelsGroup&&d.dataLabelsGroup.attr(g))});b.clipRect.attr(c||b.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,c=b.options.chart,d=a.chartX,e=a.chartY,k=this.zoomHor,f=this.zoomVert,h=b.plotLeft,w=b.plotTop,p=b.plotWidth,D=b.plotHeight,l,n=this.selectionMarker,m=this.mouseDownX,u=this.mouseDownY,r=c.panKey&&a[c.panKey+"Key"];n&&n.touch||
196
- (d<h?d=h:d>h+p&&(d=h+p),e<w?e=w:e>w+D&&(e=w+D),this.hasDragged=Math.sqrt(Math.pow(m-d,2)+Math.pow(u-e,2)),10<this.hasDragged&&(l=b.isInsidePlot(m-h,u-w),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!r&&!n&&(this.selectionMarker=n=b.renderer.rect(h,w,k?1:p,f?1:D,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add()),n&&k&&(d-=m,n.attr({width:Math.abs(d),x:(0<d?0:d)+m})),n&&f&&(d=e-u,n.attr({height:Math.abs(d),y:(0<d?0:d)+u})),l&&!n&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=
197
- this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var k={originalEvent:a,xAxis:[],yAxis:[]},p=this.selectionMarker,u=p.attr?p.attr("x"):p.x,x=p.attr?p.attr("y"):p.y,w=p.attr?p.attr("width"):p.width,E=p.attr?p.attr("height"):p.height,D;if(this.hasDragged||d)h(c.axes,function(c){if(c.zoomEnabled&&f(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var g=c.horiz,e="touchend"===a.type?c.minPixelPadding:0,h=c.toValue((g?u:x)+e),g=c.toValue((g?u+w:x+E)-e);k[c.coll].push({axis:c,min:Math.min(h,
198
- g),max:Math.max(h,g)});D=!0}}),D&&n(c,"selection",k,function(a){c.zoom(r(a,d?{animation:!1}:null))});e(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());d&&this.scaleGroups()}c&&e(c.index)&&(l(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.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){B[a.hoverChartIndex]&&
199
- B[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=B[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;f(a.hoverChartIndex)&&B[a.hoverChartIndex]&&B[a.hoverChartIndex].mouseIsDown||
200
- (a.hoverChartIndex=c.index);b=this.normalize(b);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)},inClass:function(a,c){for(var b;a;){if(b=z(a,"class")){if(-1!==b.indexOf(c))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=
201
- !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,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(n(c.series,"click",r(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&n(b,"click",a)))},
202
- setDOMEvents:function(){var b=this,c=b.chart.container,d=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=y(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=y(d,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},
203
- a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=y(d,"touchend",b.onDocumentTouchEnd)))},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,c){b[c]=null})}}})(I);(function(a){var y=a.charts,z=a.each,B=a.extend,l=a.map,
204
- f=a.noop,h=a.pick;B(a.Pointer.prototype,{pinchTranslate:function(a,f,h,e,k,d){this.zoomHor&&this.pinchTranslateDirection(!0,a,f,h,e,k,d);this.zoomVert&&this.pinchTranslateDirection(!1,a,f,h,e,k,d)},pinchTranslateDirection:function(a,f,h,e,k,d,l,p){var c=this.chart,b=a?"x":"y",g=a?"X":"Y",q="chart"+g,n=a?"width":"height",u=c["plot"+(a?"Left":"Top")],C,H,x=p||1,w=c.inverted,E=c.bounds[a?"h":"v"],D=1===f.length,L=f[0][q],J=h[0][q],m=!D&&f[1][q],A=!D&&h[1][q],r;h=function(){!D&&20<Math.abs(L-m)&&(x=p||
205
- Math.abs(J-A)/Math.abs(L-m));H=(u-J)/x+L;C=c["plot"+(a?"Width":"Height")]/x};h();f=H;f<E.min?(f=E.min,r=!0):f+C>E.max&&(f=E.max-C,r=!0);r?(J-=.8*(J-l[b][0]),D||(A-=.8*(A-l[b][1])),h()):l[b]=[J,A];w||(d[b]=H-u,d[n]=C);d=w?1/x:x;k[n]=C;k[b]=f;e[w?a?"scaleY":"scaleX":"scale"+g]=x;e["translate"+g]=d*u+(J-d*L)},pinch:function(a){var r=this,n=r.chart,e=r.pinchDown,k=a.touches,d=k.length,u=r.lastValidTouch,p=r.hasZoom,c=r.selectionMarker,b={},g=1===d&&(r.inClass(a.target,"highcharts-tracker")&&n.runTrackerClick||
206
- r.runChartClick),q={};1<d&&(r.initiated=!0);p&&r.initiated&&!g&&a.preventDefault();l(k,function(a){return r.normalize(a)});"touchstart"===a.type?(z(k,function(a,b){e[b]={chartX:a.chartX,chartY:a.chartY}}),u.x=[e[0].chartX,e[1]&&e[1].chartX],u.y=[e[0].chartY,e[1]&&e[1].chartY],z(n.axes,function(a){if(a.zoomEnabled){var b=n.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,g=a.toPixels(h(a.options.min,a.dataMin)),d=a.toPixels(h(a.options.max,a.dataMax)),e=Math.max(g,d);b.min=Math.min(a.pos,Math.min(g,d)-
207
- c);b.max=Math.max(a.pos+a.len,e+c)}}),r.res=!0):r.followTouchMove&&1===d?this.runPointActions(r.normalize(a)):e.length&&(c||(r.selectionMarker=c=B({destroy:f,touch:!0},n.plotBox)),r.pinchTranslate(e,k,b,c,q,u),r.hasPinched=p,r.scaleGroups(b,q),r.res&&(r.res=!1,this.reset(!1,0)))},touch:function(f,l){var n=this.chart,e,k;if(n.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=n.index;1===f.touches.length?(f=this.normalize(f),(k=n.isInsidePlot(f.chartX-n.plotLeft,
208
- f.chartY-n.plotTop))&&!n.openMenu?(l&&this.runPointActions(f),"touchmove"===f.type&&(l=this.pinchDown,e=l[0]?4<=Math.sqrt(Math.pow(l[0].chartX-f.chartX,2)+Math.pow(l[0].chartY-f.chartY,2)):!1),h(e,!0)&&this.pinch(f)):l&&this.reset()):2===f.touches.length&&this.pinch(f)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(f){y[a.hoverChartIndex]&&y[a.hoverChartIndex].pointer.drop(f)}})})(I);(function(a){var y=
209
- a.addEvent,z=a.charts,B=a.css,l=a.doc,f=a.extend,h=a.noop,r=a.Pointer,v=a.removeEvent,n=a.win,e=a.wrap;if(!a.hasTouch&&(n.PointerEvent||n.MSPointerEvent)){var k={},d=!!n.PointerEvent,u=function(){var c=[];c.item=function(a){return this[a]};a.objectEach(k,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c},p=function(c,b,g,d){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!z[a.hoverChartIndex]||(d(c),d=z[a.hoverChartIndex].pointer,d[b]({type:g,target:c.currentTarget,
210
- preventDefault:h,touches:u()}))};f(r.prototype,{onContainerPointerDown:function(a){p(a,"onContainerTouchStart","touchstart",function(a){k[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){p(a,"onContainerTouchMove","touchmove",function(a){k[a.pointerId]={pageX:a.pageX,pageY:a.pageY};k[a.pointerId].target||(k[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){p(a,"onDocumentTouchEnd","touchend",function(a){delete k[a.pointerId]})},
211
- batchMSEvents:function(a){a(this.chart.container,d?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,d?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(l,d?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});e(r.prototype,"init",function(a,b,g){a.call(this,b,g);this.hasZoom&&B(b.container,{"-ms-touch-action":"none","touch-action":"none"})});e(r.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(y)});
212
- e(r.prototype,"destroy",function(a){this.batchMSEvents(v);a.call(this)})}})(I);(function(a){var y=a.addEvent,z=a.css,B=a.discardElement,l=a.defined,f=a.each,h=a.fireEvent,r=a.isFirefox,v=a.marginNames,n=a.merge,e=a.pick,k=a.setAnimation,d=a.stableSort,u=a.win,p=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(),y(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=
213
- y(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=e(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=e(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(n(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=
214
- !0;e(b,!0)&&c.redraw();h(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");h(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){f(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;if((a=a.legendGroup)&&a.element)a[l(a.translateY)?"animate":"attr"]({translateX:b?
215
- e:this.legendWidth-e-2*c-4,translateY:d});f&&(f.x=e,f.y=d)},destroyItem:function(a){var b=a.checkbox;f(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&B(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}f(this.getAllItems(),function(b){f(["legendItem","legendGroup"],a,b)});f("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,
216
- b,g=this.clipHeight||this.legendHeight,d=this.titleHeight;a&&(b=a.translateY,f(this.allItems,function(c){var e=c.checkbox,f;e&&(f=b+d+e.y+(this.scrollOffset||0)+3,z(e,{left:a.translateX+c.checkboxOffset+e.x-20+"px",top:f+"px",display:f>b-6&&f<b+g-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,g=a.title,d=0;g.text&&(this.title||(this.title=this.chart.renderer.label(g.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),
217
- d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c,this.chart.time):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,f=this.symbolWidth,k=d.symbolPadding,h="horizontal"===d.layout?e(d.itemDistance,20):0,p=!d.rtl,l=a.legendItem,w=!a.series,E=!w&&a.series.drawLegendSymbol?a.series:a,D=E.options,D=this.createCheckboxForItem&&
218
- D&&D.showCheckbox,h=f+k+h+(D?20:0),n=d.useHTML,u=a.options.className;l||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+E.type+"-series highcharts-color-"+a.colorIndex+(u?" "+u:"")+(w?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=l=c.text("",p?f+k:-k,this.baseline||0,n).attr({align:p?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(12,l),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,l.attr("y",this.baseline)),
219
- this.symbolHeight=d.symbolHeight||this.fontMetrics.f,E.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,l,n),D&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);l.css({width:(d.itemWidth||d.width||b.spacingBox.width)-h});this.setText(a);b=l.getBBox();a.itemWidth=a.checkboxOffset=d.itemWidth||a.legendItemWidth||b.width+h;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||
220
- b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,c=this.padding,d="horizontal"===b.layout,f=a.itemHeight,k=b.itemMarginBottom||0,h=this.itemMarginTop,p=d?e(b.itemDistance,20):0,l=b.width,w=l||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&this.totalItemWidth>w?this.maxItemWidth:a.itemWidth;d&&this.itemX-c+b>w&&(this.itemX=c,this.itemY+=h+this.lastLineHeight+k,this.lastLineHeight=0);this.lastItemY=h+this.itemY+k;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=
221
- [this.itemX,this.itemY];d?this.itemX+=b:(this.itemY+=h+f+k,this.lastLineHeight=f);this.offsetWidth=l||Math.max((d?this.itemX-c-(a.checkbox?0:p):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(b){var c=b&&b.options;b&&e(c.showInLegend,l(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.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":
222
- a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,d=this.options,k=this.getAlignment();k&&f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(g,f){g.test(k)&&!l(a[f])&&(c[v[f]]=Math.max(c[v[f]],c.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*d[f%2?"x":"y"]+e(d.margin,12)+b[f]+(0===f&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var c=
223
- this.chart,b=[],d="left"===this.options.align;f(this.allItems,function(g){var e,f;e=d;g.xAxis&&g.points&&(g.xAxis.options.reversed&&(e=!e),e=a.find(e?g.points:g.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),f=g.legendGroup.getBBox().height,b.push({target:g.visible?e.plotY-.3*f:c.plotHeight,size:f,item:g}))},this);a.distribute(b,c.plotHeight);f(b,function(a){a.item._legendItemPos[1]=c.plotTop-c.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,g=this.group,e,
224
- k,h,p=this.box,l=this.options,x=this.padding;this.itemX=x;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;g||(this.group=g=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(g),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();e=this.getAllItems();d(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});l.reversed&&e.reverse();this.allItems=e;this.display=k=!!e.length;this.itemHeight=this.totalItemWidth=
225
- this.maxItemWidth=this.lastLineHeight=0;f(e,this.renderItem,this);f(e,this.layoutItem,this);e=(l.width||this.offsetWidth)+x;h=this.lastItemY+this.lastLineHeight+this.titleHeight;h=this.handleOverflow(h);h+=x;p||(this.box=p=b.rect().addClass("highcharts-legend-box").attr({r:l.borderRadius}).add(g),p.isNew=!0);0<e&&0<h&&(p[p.isNew?"attr":"animate"](p.crisp.call({},{x:0,y:0,width:e,height:h},p.strokeWidth())),p.isNew=!1);p[k?"show":"hide"]();"none"===g.getStyle("display")&&(e=h=0);this.legendWidth=e;
226
- this.legendHeight=h;k&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=n(b,{y:b.y+a.titleOffset+a.options.title.margin})),g.align(n(l,{width:e,height:h,verticalAlign:this.proximate?"top":l.verticalAlign}),!0,b));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,k=this.options,h=k.y,p=this.padding,c=c.spacingBox.height+("top"===k.verticalAlign?-h:h)-p,h=k.maxHeight,l,x=this.clipRect,w=k.navigation,E=e(w.animation,!0),D=w.arrowSize||12,
227
- n=this.nav,u=this.pages,m,A=this.allItems,r=function(a){"number"===typeof a?x.attr({height:a}):x&&(b.clipRect=x.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+p+"px,9999px,"+(p+a)+"px,0)":"auto")};"horizontal"!==k.layout||"middle"===k.verticalAlign||k.floating||(c/=2);h&&(c=Math.min(c,h));u.length=0;a>c&&!1!==w.enabled?(this.clipHeight=l=Math.max(c-20-this.titleHeight-p,0),this.currentPage=e(this.currentPage,1),this.fullHeight=a,f(A,function(a,b){var c=
228
- a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),g=u.length;if(!g||c-u[g-1]>l&&(m||c)!==u[g-1])u.push(m||c),g++;a.pageIx=g-1;m&&(A[b-1].pageIx=g-1);b===A.length-1&&c+d-u[g-1]>l&&(u.push(c),a.pageIx=g);c!==m&&(m=c)}),x||(x=b.clipRect=d.clipRect(0,p,9999,0),b.contentGroup.clip(x)),r(l),n||(this.nav=n=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,D,D).on("click",function(){b.scroll(-1,E)}).add(n),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").add(n),
229
- this.down=d.symbol("triangle-down",0,0,D,D).on("click",function(){b.scroll(1,E)}).add(n)),b.scroll(0),a=c):n&&(r(),this.nav=n.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length;a=this.currentPage+a;var e=this.clipHeight,f=this.pager,h=this.padding;a>d&&(a=d);0<a&&(void 0!==b&&k(b,this.chart),this.nav.attr({translateX:h,translateY:e+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":
230
- "highcharts-legend-nav-active"}),f.attr({text:a+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,d=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-c)/2:0,a.baseline-
231
- c+1,d?c:a.symbolWidth,c,e(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,d=a.symbolWidth,f=a.symbolHeight;c=f/2;var k=this.chart.renderer,h=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);this.legendLine=k.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr({}).add(h);b&&!1!==b.enabled&&d&&(c=Math.min(e(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=n(b,{width:f,height:f}),
232
- c=0),this.legendSymbol=b=k.symbol(this.symbol,d/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(h),b.isMarker=!0)}};(/Trident\/7\.0/.test(u.navigator.userAgent)||r)&&p(a.Legend.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)})})(I);(function(a){var y=a.addEvent,z=a.animObject,B=a.attr,l=a.doc,f=a.Axis,h=a.createElement,r=a.defaultOptions,v=a.discardElement,n=a.charts,e=a.defined,k=a.each,d=a.extend,u=a.find,p=a.fireEvent,c=a.grep,
233
- b=a.isNumber,g=a.isObject,q=a.isString,F=a.Legend,K=a.marginNames,C=a.merge,H=a.objectEach,x=a.Pointer,w=a.pick,E=a.pInt,D=a.removeEvent,L=a.seriesTypes,J=a.splat,m=a.syncTimeout,A=a.win,N=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new N(a,b,c)};d(N.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(q(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var d,g,e=b.series,f=b.plotOptions||{};p(this,
234
- "init",{args:arguments},function(){b.series=null;d=C(r,b);for(g in d.plotOptions)d.plotOptions[g].tooltip=f[g]&&C(f[g].tooltip)||void 0;d.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;d.series=b.series=e;this.userOptions=b;var k=d.chart,m=k.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=c;this.isResizing=0;this.options=d;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;
235
- this.hasCartesianSeries=k.showAxes;var h=this;h.index=n.length;n.push(h);a.chartCount++;m&&H(m,function(a,b){y(h,b,a)});h.xAxis=[];h.yAxis=[];h.pointCount=h.colorCounter=h.symbolCounter=0;p(h,"afterInit");h.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=L[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,
236
- b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){p(this,"beforeRedraw");var c=this.axes,g=this.series,e=this.pointer,f=this.legend,m=this.isDirtyLegend,h,t,w=this.hasCartesianSeries,D=this.isDirtyBox,l,q=this.renderer,E=q.isHidden(),x=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);E&&this.temporaryDisplay();this.layOutTitles();for(b=g.length;b--;)if(l=g[b],l.options.stacking&&(h=!0,l.isDirty)){t=!0;break}if(t)for(b=g.length;b--;)l=
237
- g[b],l.options.stacking&&(l.isDirty=!0);k(g,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),m=!0);a.isDirtyData&&p(a,"updatedData")});m&&f.options.enabled&&(f.render(),this.isDirtyLegend=!1);h&&this.getStacks();w&&k(c,function(a){a.updateNames();a.setScale()});this.getMargins();w&&(k(c,function(a){a.isDirty&&(D=!0)}),k(c,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,x.push(function(){p(a,"afterSetExtremes",d(a.eventArgs,a.getExtremes()));delete a.eventArgs}));
238
- (D||h)&&a.redraw()}));D&&this.drawChartBox();p(this,"predraw");k(g,function(a){(D||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);q.draw();p(this,"redraw");p(this,"render");E&&this.temporaryDisplay(!0);k(x,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,d=this.series,g;c=u(this.axes,b)||u(this.series,b);for(g=0;!c&&g<d.length;g++)c=u(d[g].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=J(b.xAxis||
239
- {}),b=b.yAxis=J(b.yAxis||{});p(this,"getAxes");k(c,function(a,b){a.index=b;a.isX=!0});k(b,function(a,b){a.index=b});c=c.concat(b);k(c,function(b){new f(a,b)});p(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];k(this.series,function(b){a=a.concat(c(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return c(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var d=this,g=d.options,e;e=g.title=C(g.title,a);g=g.subtitle=C(g.subtitle,b);
240
- k([["title",a,e],["subtitle",b,g]],function(a,b){var c=a[0],g=d[c],e=a[1];a=a[2];g&&e&&(d[c]=g=g.destroy());a&&!g&&(d[c]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),d[c].update=function(a){d.setTitle(!b&&a,b&&a)})});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,g=this.renderer,e=this.spacingBox;k(["title","subtitle"],function(a){var c=this[a],f=this.options[a];a="title"===a?-3:f.verticalAlign?0:b+2;var k;c&&(k=g.fontMetrics(k,
241
- c).b,c.css({width:(f.width||e.width+f.widthAdjust)+"px"}).align(d({y:a+k},f),!1,"spacingBox"),f.floating||f.verticalAlign||(b=Math.ceil(b+c.getBBox(f.useHTML).height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&w(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,d=this.renderTo;e(c)||(this.containerWidth=a.getStyle(d,"width"));e(b)||(this.containerHeight=
242
- a.getStyle(d,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(l.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){l.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,l.body.appendChild(c));
243
- if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===l.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,d=this.options,g=d.chart,e,f;c=this.renderTo;var k=a.uniqueKey(),
244
- m;c||(this.renderTo=c=g.renderTo);q(c)&&(this.renderTo=c=l.getElementById(c));c||a.error(13,!0);e=E(B(c,"data-highcharts-chart"));b(e)&&n[e]&&n[e].hasRendered&&n[e].destroy();B(c,"data-highcharts-chart",this.index);c.innerHTML="";g.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();e=this.chartWidth;f=this.chartHeight;this.container=c=h("div",{id:k},void 0,c);this._cursor=c.style.cursor;this.renderer=new (a[g.renderer]||a.Renderer)(c,e,f,null,g.forExport,d.exporting&&d.exporting.allowHTML);
245
- this.setClassName(g.className);for(m in d.defs)this.renderer.definition(d.defs[m]);this.renderer.chartIndex=this.index;p(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();d&&!e(c[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,b);p(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],
246
- c=a.margin;a.hasCartesianSeries&&k(a.axes,function(a){a.visible&&a.getOffset()});k(K,function(d,g){e(c[g])||(a[d]+=b[g])});a.setChartSize()},reflow:function(b){var c=this,d=c.options.chart,g=c.renderTo,f=e(d.width)&&e(d.height),k=d.width||a.getStyle(g,"width"),d=d.height||a.getStyle(g,"height"),g=b?b.target:A;if(!f&&!c.isPrinting&&k&&d&&(g===A||g===l)){if(k!==c.containerWidth||d!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=m(function(){c.container&&c.setSize(void 0,void 0,!1)},
247
- b?100:0);c.containerWidth=k;c.containerHeight=d}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=y(A,"resize",function(a){b.reflow(a)}),y(this,"destroy",this.unbindReflow))},setSize:function(b,c,d){var g=this,e=g.renderer;g.isResizing+=1;a.setAnimation(d,g);g.oldChartHeight=g.chartHeight;g.oldChartWidth=g.chartWidth;void 0!==b&&(g.options.chart.width=b);void 0!==c&&(g.options.chart.height=c);g.getChartSize();
248
- g.setChartSize(!0);e.setSize(g.chartWidth,g.chartHeight,d);k(g.axes,function(a){a.isDirty=!0;a.setScale()});g.isDirtyLegend=!0;g.isDirtyBox=!0;g.layOutTitles();g.getMargins();g.redraw(d);g.oldChartHeight=null;p(g,"resize");m(function(){g&&p(g,"endResize",null,function(){--g.isResizing})},z(void 0).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,g=this.chartHeight,e=this.options.chart,f=this.spacing,m=this.clipOffset,h,w,t,D;this.plotLeft=h=Math.round(this.plotLeft);
249
- this.plotTop=w=Math.round(this.plotTop);this.plotWidth=t=Math.max(0,Math.round(d-h-this.marginRight));this.plotHeight=D=Math.max(0,Math.round(g-w-this.marginBottom));this.plotSizeX=b?D:t;this.plotSizeY=b?t:D;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:d-f[3]-f[1],height:g-f[0]-f[2]};this.plotBox=c.plotBox={x:h,y:w,width:t,height:D};d=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(d,m[3])/2);c=Math.ceil(Math.max(d,m[0])/2);this.clipBox={x:b,
250
- y:c,width:Math.floor(this.plotSizeX-Math.max(d,m[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,m[2])/2-c))};a||k(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});p(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;k(["margin","spacing"],function(c){var d=b[c],e=g(d)?d:[d,d,d,d];k(["Top","Right","Bottom","Left"],function(d,g){a[c][g]=w(b[c+d],e[g])})});k(K,function(b,c){a[b]=w(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,
251
- 0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,g=this.chartBackground,e=this.plotBackground,f=this.plotBorder,k,m,h=this.plotLeft,w=this.plotTop,D=this.plotWidth,l=this.plotHeight,q=this.plotBox,E=this.clipRect,x=this.clipBox,n="animate";g||(this.chartBackground=g=b.rect().addClass("highcharts-background").add(),n="attr");k=m=g.strokeWidth();g[n]({x:m/2,y:m/2,width:c-m-k%2,height:d-m-k%2,r:a.borderRadius});n="animate";
252
- e||(n="attr",this.plotBackground=e=b.rect().addClass("highcharts-plot-background").add());e[n](q);E?E.animate({width:x.width,height:x.height}):this.clipRect=b.clipRect(x);n="animate";f||(n="attr",this.plotBorder=f=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f[n](f.crisp({x:h,y:w,width:D,height:l},-f.strokeWidth()));this.isDirtyBox=!1;p(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,g,e;k(["inverted","angular","polar"],
253
- function(f){c=L[b.type||b.defaultSeriesType];e=b[f]||c&&c.prototype[f];for(g=d&&d.length;!e&&g--;)(c=L[d[g].type])&&c.prototype[f]&&(e=!0);a[f]=e})},linkSeries:function(){var a=this,b=a.series;k(b,function(a){a.linkedSeries.length=0});k(b,function(b){var c=b.options.linkedTo;q(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=w(b.options.visible,c.options.visible,b.visible))});p(this,"afterLinkSeries")},renderSeries:function(){k(this.series,
254
- function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&k(b.items,function(c){var g=d(b.style,c.style),e=E(g.left)+a.plotLeft,f=E(g.top)+a.plotTop+12;delete g.left;delete g.top;a.renderer.text(c.html,e,f).attr({zIndex:2}).css(g).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d,g,e;this.setTitle();this.legend=new F(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;d=this.plotHeight=
255
- Math.max(this.plotHeight-21,0);k(a,function(a){a.setScale()});this.getAxisMargins();g=1.1<c/this.plotWidth;e=1.05<d/this.plotHeight;if(g||e)k(a,function(a){(a.horiz&&g||!a.horiz&&e)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&k(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=
256
- !0},addCredits:function(a){var b=this;a=C(!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&&(A.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,d=b.series,g=b.container,e,f=g&&g.parentNode;p(b,"destroy");b.renderer.forExport?
257
- a.erase(n,b):n[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");D(b);for(e=c.length;e--;)c[e]=c[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=d.length;e--;)d[e]=d[e].destroy();k("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});g&&(g.innerHTML="",D(g),
258
- f&&v(g));H(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();k(b.series||[],function(b){a.initSeries(b)});a.linkSeries();p(a,"beforeRender");x&&(a.pointer=new x(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){k([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,
259
- [this])},this);p(this,"load");p(this,"render");e(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(I);(function(a){var y,z=a.each,B=a.extend,l=a.erase,f=a.fireEvent,h=a.format,r=a.isArray,v=a.isNumber,n=a.pick,e=a.removeEvent;a.Point=y=function(){};a.Point.prototype={init:function(a,d,e){var k=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(d,e);a.options.colorByPoint?(d=a.colorCounter,a.colorCounter++,a.colorCounter===k&&(a.colorCounter=0)):d=a.colorIndex;
260
- this.colorIndex=n(this.colorIndex,d);a.chart.pointCount++;f(this,"afterInit");return this},applyOptions:function(a,d){var e=this.series,f=e.options.pointValKey||e.pointValKey;a=y.prototype.optionsToObject.call(this,a);B(this,a);this.options=this.options?B(this.options,a):a;a.group&&delete this.group;f&&(this.y=this[f]);this.isNull=n(this.isValid&&!this.isValid(),null===this.x||!v(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));
261
- void 0===this.x&&e&&(this.x=void 0===d?e.autoIncrement(this):d);return this},setNestedProperty:function(e,d,f){f=f.split(".");a.reduce(f,function(e,c,b,g){e[c]=g.length-1===b?d:a.isObject(e[c],!0)?e[c]:{};return e[c]},e);return e},optionsToObject:function(e){var d={},f=this.series,k=f.options.keys,c=k||f.pointArrayMap||["y"],b=c.length,g=0,h=0;if(v(e)||null===e)d[c[0]]=e;else if(r(e))for(!k&&e.length>b&&(f=typeof e[0],"string"===f?d.name=e[0]:"number"===f&&(d.x=e[0]),g++);h<b;)k&&void 0===e[g]||(0<
262
- c[h].indexOf(".")?a.Point.prototype.setNestedProperty(d,e[g],c[h]):d[c[h]]=e[g]),g++,h++;else"object"===typeof e&&(d=e,e.dataLabels&&(f._hasPointLabels=!0),e.marker&&(f._hasPointMarkers=!0));return d},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:"")+
263
- (this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||"y",e=0,f;for(f=d[e];this[a]>=f.value;)f=d[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?f.color:this.nonZonedColor;return f},destroy:function(){var a=this.series.chart,d=a.hoverPoints,f;a.pointCount--;d&&(this.setState(),l(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();
264
- if(this.graphic||this.dataLabel)e(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,e=6;e--;)d=a[e],this[d]&&(this[d]=this[d].destroy())},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||
265
- this.stackTotal}},tooltipFormatter:function(a){var d=this.series,e=d.tooltipOptions,f=n(e.valueDecimals,""),c=e.valuePrefix||"",b=e.valueSuffix||"";z(d.pointArrayMap||["y"],function(d){d="{point."+d;if(c||b)a=a.replace(RegExp(d+"}","g"),c+d+"}"+b);a=a.replace(RegExp(d+"}","g"),d+":,."+f+"f}")});return h(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,d,e){var h=this,c=this.series.options;(c.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();
266
- "click"===a&&c.allowPointSelect&&(e=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});f(this,a,d,e)},visible:!0}})(I);(function(a){var y=a.addEvent,z=a.animObject,B=a.arrayMax,l=a.arrayMin,f=a.correctFloat,h=a.defaultOptions,r=a.defined,v=a.each,n=a.erase,e=a.extend,k=a.fireEvent,d=a.grep,u=a.isArray,p=a.isNumber,c=a.isString,b=a.merge,g=a.objectEach,q=a.pick,F=a.removeEvent,K=a.splat,C=a.SVGElement,H=a.syncTimeout,x=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,
267
- showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10}},select:{marker:{}}},
268
- 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",init:function(a,b){var c=this,d,f=a.series,m;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();e(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});d=b.events;g(d,function(a,b){y(c,b,a)});if(d&&d.click||b.point&&b.point.events&&b.point.events.click||
269
- b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();v(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);f.length&&(m=f[f.length-1]);c._i=q(m&&m._i,-1)+1;a.orderSeries(this.insert(f));k(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(p(b)){for(c=a.length;c--;)if(b>=q(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return q(c,a.length-1)},bindAxes:function(){var b=
270
- this,c=b.options,d=b.chart,g;v(b.axisTypes||[],function(e){v(d[e],function(a){g=a.options;if(c[e]===g.index||void 0!==c[e]&&c[e]===g.id||void 0===c[e]&&0===g.index)b.insert(a.series),b[e]=a,a.isDirty=!0});b[e]||b.optionalAxis===e||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,g=p(b)?function(d){var g="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=g}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};v(c.parallelArrays,g)},autoIncrement:function(){var a=
271
- this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,g=this.chart.time,b=q(b,a.pointStart,0);this.pointInterval=c=q(this.pointInterval,a.pointInterval,1);d&&(a=new g.Date(b),"day"===d?g.set("Date",a,g.get("Date",a)+c):"month"===d?g.set("Month",a,g.get("Month",a)+c):"year"===d&&g.set("FullYear",a,g.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,d=c.options,g=d.plotOptions,e=(c.userOptions||{}).plotOptions||{},f=g[this.type];this.userOptions=
272
- a;c=b(f,g.series,a);this.tooltipOptions=b(h.tooltip,h.plotOptions.series&&h.plotOptions.series.tooltip,h.plotOptions[this.type].tooltip,d.tooltip.userOptions,g.series&&g.series.tooltip,g[this.type].tooltip,a.tooltip);this.stickyTracking=q(a.stickyTracking,e[this.type]&&e[this.type].stickyTracking,e.series&&e.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===f.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&
273
- !c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&r(a[a.length-1].value)&&a.push({});k(this,"afterSetOptions",{options:c});return c},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var d,g=this.chart,e=this.userOptions,f=a+"Index",h=a+"Counter",k=c?c.length:q(g.options.chart[a+"Count"],g[a+"Count"]);b||(d=q(e[f],e["_"+f]),r(d)||(g.series.length||(g[h]=0),e["_"+f]=d=g[h]%k,g[h]+=
274
- 1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,g=[],e,f,h,k=this.requireSorting;v(b,function(b){var f;f=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;p(f)&&(f=a.inArray(f,this.xData,h),-1===f?g.push(b):b!==c.data[f]?
275
- (d[f].update(b,!1,null,!1),d[f].touched=!0,k&&(h=f)):d[f]&&(d[f].touched=!0),e=!0)},this);if(e)for(b=d.length;b--;)f=d[b],f.touched||f.remove(!1),f.touched=!1;else if(b.length===d.length)v(b,function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;v(g,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,d,g,e){var f=this,h=f.points,k=h&&h.length||0,w,l=f.options,D=f.chart,E=null,x=f.xAxis,n=l.turboThreshold,C=this.xData,r=this.yData,L=(w=f.pointArrayMap)&&
276
- w.length,H;b=b||[];w=b.length;d=q(d,!0);!1!==e&&w&&k&&!f.cropped&&!f.hasGroupedData&&f.visible&&(H=this.updateData(b));if(!H){f.xIncrement=null;f.colorCounter=0;v(this.parallelArrays,function(a){f[a+"Data"].length=0});if(n&&w>n){for(g=0;null===E&&g<w;)E=b[g],g++;if(p(E))for(g=0;g<w;g++)C[g]=this.autoIncrement(),r[g]=b[g];else if(u(E))if(L)for(g=0;g<w;g++)E=b[g],C[g]=E[0],r[g]=E.slice(1,L+1);else for(g=0;g<w;g++)E=b[g],C[g]=E[0],r[g]=E[1];else a.error(12)}else for(g=0;g<w;g++)void 0!==b[g]&&(E={series:f},
277
- f.pointClass.prototype.applyOptions.apply(E,[b[g]]),f.updateParallelArrays(E,g));r&&c(r[0])&&a.error(14,!0);f.data=[];f.options.data=f.userOptions.data=b;for(g=k;g--;)h[g]&&h[g].destroy&&h[g].destroy();x&&(x.minRange=x.userMinRange);f.isDirty=D.isDirtyBox=!0;f.isDirtyData=!!h;g=!1}"point"===l.legendType&&(this.processData(),this.generatePoints());d&&D.redraw(g)},processData:function(b){var c=this.xData,d=this.yData,g=c.length,e;e=0;var f,h,k=this.xAxis,w,p=this.options;w=p.cropThreshold;var l=this.getExtremesFromAll||
278
- p.getExtremesFromAll,q=this.isCartesian,p=k&&k.val2lin,x=k&&k.isLog,n=this.requireSorting,C,u;if(q&&!this.isDirty&&!k.isDirty&&!this.yAxis.isDirty&&!b)return!1;k&&(b=k.getExtremes(),C=b.min,u=b.max);if(q&&this.sorted&&!l&&(!w||g>w||this.forceCrop))if(c[g-1]<C||c[0]>u)c=[],d=[];else if(c[0]<C||c[g-1]>u)e=this.cropData(this.xData,this.yData,C,u),c=e.xData,d=e.yData,e=e.start,f=!0;for(w=c.length||1;--w;)g=x?p(c[w])-p(c[w-1]):c[w]-c[w-1],0<g&&(void 0===h||g<h)?h=g:0>g&&n&&(a.error(15),n=!1);this.cropped=
279
- f;this.cropStart=e;this.processedXData=c;this.processedYData=d;this.closestPointRange=h},cropData:function(a,b,c,d,g){var e=a.length,f=0,h=e,k;g=q(g,this.cropShoulder,1);for(k=0;k<e;k++)if(a[k]>=c){f=Math.max(0,k-g);break}for(c=k;c<e;c++)if(a[c]>d){h=c+g;break}return{xData:a.slice(f,h),yData:b.slice(f,h),start:f,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,g=this.processedXData,e=this.processedYData,f=this.pointClass,h=g.length,k=this.cropStart||0,p,l=this.hasGroupedData,
280
- a=a.keys,q,x=[],n;c||l||(c=[],c.length=b.length,c=this.data=c);a&&l&&(this.options.keys=!1);for(n=0;n<h;n++)p=k+n,l?(q=(new f).init(this,[g[n]].concat(K(e[n]))),q.dataGroup=this.groupMap[n]):(q=c[p])||void 0===b[p]||(c[p]=q=(new f).init(this,b[p],g[n])),q&&(q.index=p,x[n]=q);this.options.keys=a;if(c&&(h!==(d=c.length)||l))for(n=0;n<d;n++)n!==k||l||(n+=h),c[n]&&(c[n].destroyElements(),c[n].plotX=void 0);this.data=c;this.points=x},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,g=[],
281
- e=0;d=this.xAxis.getExtremes();var f=d.min,h=d.max,k,w,q=this.requireSorting?1:0,n,x;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(x=0;x<d;x++)if(w=c[x],n=a[x],k=(p(n,!0)||u(n))&&(!b.positiveValuesOnly||n.length||0<n),w=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[x+q]||w)>=f&&(c[x-q]||w)<=h,k&&w)if(k=n.length)for(;k--;)"number"===typeof n[k]&&(g[e++]=n[k]);else g[e++]=n;this.dataMin=l(g);this.dataMax=B(g)},translate:function(){this.processedXData||this.processData();
282
- this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,g=this.yAxis,e=this.points,h=e.length,l=!!this.modifyValue,n=a.pointPlacement,x="between"===n||p(n),C=a.threshold,u=a.startFromThreshold?C:0,H,v,F,K,z=Number.MAX_VALUE;"between"===n&&(n=.5);p(n)&&(n*=q(a.pointRange||c.pointRange));for(a=0;a<h;a++){var y=e[a],B=y.x,I=y.y;v=y.low;var V=b&&g.stacks[(this.negStacks&&I<(u?0:C)?"-":"")+this.stackKey],U;g.positiveValuesOnly&&null!==I&&0>=I&&(y.isNull=!0);y.plotX=H=f(Math.min(Math.max(-1E5,
283
- c.translate(B,0,0,0,1,n,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&V&&V[B]&&(K=this.getStackIndicator(K,B,this.index),U=V[B],I=U.points[K.key],v=I[0],I=I[1],v===u&&K.key===V[B].base&&(v=q(p(C)&&C,g.min)),g.positiveValuesOnly&&0>=v&&(v=null),y.total=y.stackTotal=U.total,y.percentage=U.total&&y.y/U.total*100,y.stackY=I,U.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=r(v)?Math.min(Math.max(-1E5,g.translate(v,0,1,0,1)),1E5):null;l&&(I=this.modifyValue(I,y));y.plotY=v="number"===
284
- typeof I&&Infinity!==I?Math.min(Math.max(-1E5,g.translate(I,0,1,0,1)),1E5):void 0;y.isInside=void 0!==v&&0<=v&&v<=g.len&&0<=H&&H<=c.len;y.clientX=x?f(c.translate(B,0,0,0,1,n)):H;y.negative=y.y<(C||0);y.category=d&&void 0!==d[y.x]?d[y.x]:y.x;y.isNull||(void 0!==F&&(z=Math.min(z,Math.abs(H-F))),F=H);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=z;k(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return d(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,
285
- a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,g=b.inverted,e=this.clipBox,f=e||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),k=b[h],p=b[h+"m"];k||(a&&(f.width=0,g&&(f.x=b.plotSizeX),b[h+"m"]=p=d.clipRect(g?b.plotSizeX+99:-99,g?-b.plotLeft:-b.plotTop,99,g?b.chartWidth:b.chartHeight)),b[h]=k=d.clipRect(f),k.count={length:0});a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=
286
- 1);!1!==c.clip&&(this.group.clip(a||e?k:b.clipRect),this.markerGroup.clip(p),this.sharedClipKey=h);a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&h&&b[h]&&(e||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=z(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();
287
- k(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,g,e,f=this.options.marker,h,k,p,l=this[this.specialGroup]||this.markerGroup,n,x=q(f.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)d=a[c],e=d.graphic,h=d.marker||{},k=!!d.marker,g=x&&void 0===h.enabled||h.enabled,p=d.isInside,g&&!d.isNull?(g=q(h.symbol,this.symbol),n=this.markerAttribs(d,
288
- d.selected&&"select"),e?e[p?"show":"hide"](!0).animate(n):p&&(0<n.width||d.hasImage)&&(d.graphic=e=b.renderer.symbol(g,n.x,n.y,n.width,n.height,k?h:f).add(l)),e&&e.addClass(d.getClassName(),!0)):e&&(d.graphic=e.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},g=d.symbol||c.symbol,e=q(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=q(b&&b.radius,c&&c.radius,e+(c&&c.radiusPlus||0)));a.hasImage=g&&0===g.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-
289
- e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},destroy:function(){var b=this,c=b.chart,d=/AppleWebKit\/533/.test(x.navigator.userAgent),e,f,h=b.data||[],p,l;k(b,"destroy");F(b);v(b.axisTypes||[],function(a){(l=b[a])&&l.series&&(n(l.series,b),l.isDirty=l.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(f=h.length;f--;)(p=h[f])&&p.destroy&&p.destroy();b.points=null;a.clearTimeout(b.animationTimeout);g(b,function(a,b){a instanceof C&&!a.survive&&(e=d&&"group"===b?"hide":"destroy",
290
- a[e]())});c.hoverSeries===b&&(c.hoverSeries=null);n(c.series,b);c.orderSeries();g(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var d=this,g=d.options,e=g.step,f,h=[],k=[],p;a=a||d.points;(f=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&f&&(e=4-e);!g.connectNulls||b||c||(a=this.getValidPoints(a));v(a,function(f,m){var l=f.plotX,q=f.plotY,w=a[m-1];(f.leftCliff||w&&w.rightCliff)&&!c&&(p=!0);f.isNull&&!r(b)&&0<m?p=!g.connectNulls:f.isNull&&!b?p=!0:(0===m||p?m=["M",f.plotX,f.plotY]:
291
- d.getPointSpline?m=d.getPointSpline(a,f,m):e?(m=1===e?["L",w.plotX,q]:2===e?["L",(w.plotX+l)/2,w.plotY,"L",(w.plotX+l)/2,q]:["L",l,w.plotY],m.push("L",l,q)):m=["L",l,q],k.push(f.x),e&&(k.push(f.x),2===e&&k.push(f.x)),h.push.apply(h,m),p=!1)});h.xMap=k;return d.graphPath=h},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph"]],c=a.getZonesGraphs(c);v(c,function(c,d){d=c[0];var g=a[d];g?(g.endX=a.preventGraphAnimation?null:b.xMap,g.animate({d:b})):
292
- b.length&&(a[d]=a.chart.renderer.path(b).addClass(c[1]).attr({zIndex:1}).add(a.group));g&&(g.startX=b.xMap,g.isArea=b.isArea)})},getZonesGraphs:function(a){v(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,g,e,f=this.clips||[],h,k=this.graph,p=this.area,l=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],x,C,u=b.inverted,
293
- r,H,F,K,y=!1;d.length&&(k||p)&&n&&void 0!==n.min&&(C=n.reversed,r=n.horiz,k&&!this.showLine&&k.hide(),p&&p.hide(),x=n.getExtremes(),v(d,function(d,m){g=C?r?b.plotWidth:0:r?0:n.toPixels(x.min);g=Math.min(Math.max(q(e,g),0),l);e=Math.min(Math.max(Math.round(n.toPixels(q(d.value,x.max),!0)),0),l);y&&(g=e=n.toPixels(x.max));H=Math.abs(g-e);F=Math.min(g,e);K=Math.max(g,e);n.isXAxis?(h={x:u?K:F,y:0,width:H,height:l},r||(h.x=b.plotHeight-h.x)):(h={x:0,y:u?K:F,width:l,height:H},r&&(h.y=b.plotWidth-h.y));
294
- f[m]?f[m].animate(h):(f[m]=c.clipRect(h),k&&a["zone-graph-"+m].clip(f[m]),p&&a["zone-area-"+m].clip(f[m]));y=d.value>x.max;a.resetZones&&0===e&&(e=void 0)}),this.clips=f)},invertGroups:function(a){function b(){v(["group","markerGroup"],function(b){c[b]&&(d.renderer.isVML&&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,g;c.xAxis&&(g=y(d,"resize",b),y(c,"destroy",g),b(a),c.invertGroups=b)},plotGroup:function(a,
295
- b,c,d,g){var e=this[a],f=!e;f&&(this[a]=e=this.chart.renderer.g().attr({zIndex:d||.1}).add(g));e.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(r(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);e.attr({visibility:c})[f?"attr":"animate"](this.getPlotBox());return e},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,
296
- 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,d=a.options,g=!!a.animate&&b.renderer.isSVG&&z(d.animation).duration,e=a.visible?"inherit":"hidden",f=d.zIndex,h=a.hasRendered,p=b.seriesGroup,l=b.inverted;c=a.plotGroup("group","series",e,f,p);a.markerGroup=a.plotGroup("markerGroup","markers",e,f,p);g&&a.animate(!0);c.inverted=a.isCartesian?l:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&
297
- a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(l);!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);g&&a.animate();h||(a.animationTimeout=H(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0;k(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,g=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:q(d&&
298
- d.left,a.plotLeft),translateY:q(g&&g.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,g=this.chart.inverted;return this.searchKDTree({clientX:g?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:g?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,g){var e,f;if(f=c&&c.length)return e=b.kdAxisArray[d%g],c.sort(function(a,b){return a[e]-b[e]}),f=Math.floor(f/2),{point:c[f],
299
- left:a(c.slice(0,f),d+1,g),right:a(c.slice(f+1),d+1,g)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;H(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,k){var m=b.point,p=d.kdAxisArray[h%k],l,q,n=m;q=r(a[g])&&r(m[g])?Math.pow(a[g]-m[g],2):null;l=r(a[e])&&r(m[e])?Math.pow(a[e]-m[e],2):null;l=(q||0)+(l||0);m.dist=r(l)?Math.sqrt(l):Number.MAX_VALUE;
300
- m.distX=r(q)?Math.sqrt(q):Number.MAX_VALUE;p=a[p]-m[p];l=0>p?"left":"right";q=0>p?"right":"left";b[l]&&(l=c(a,b[l],h+1,k),n=l[f]<n[f]?l:m);b[q]&&Math.sqrt(p*p)<n[f]&&(a=c(a,b[q],h+1,k),n=a[f]<n[f]?a:n);return n}var d=this,g=this.kdAxisArray[0],e=this.kdAxisArray[1],f=b?"distX":"dist";b=-1<d.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(I);(function(a){var y=a.addEvent,z=a.Axis,B=a.createElement,l=a.css,
301
- f=a.defined,h=a.each,r=a.erase,v=a.extend,n=a.fireEvent,e=a.inArray,k=a.isNumber,d=a.isObject,u=a.isArray,p=a.merge,c=a.objectEach,b=a.pick,g=a.Point,q=a.Series,F=a.seriesTypes,K=a.setAnimation,C=a.splat;v(a.Chart.prototype,{addSeries:function(a,c,d){var g,e=this;a&&(c=b(c,!0),n(e,"addSeries",{options:a},function(){g=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();n(e,"afterAddSeries");c&&e.redraw(d)}));return g},addAxis:function(a,c,d,g){var e=c?"xAxis":"yAxis",f=this.options;a=p(a,{index:this[e].length,
302
- isX:c});c=new z(this,a);f[e]=C(f[e]||{});f[e].push(a);b(d,!0)&&this.redraw(g);return c},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,g=function(){d&&l(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=B("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=B("span",{className:"highcharts-loading-inner"},null,d),y(b,"redraw",g));d.className="highcharts-loading";b.loadingSpan.innerHTML=
303
- a||c.lang.loading;b.loadingShown=!0;g()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),
304
- update:function(a,d,g,l){var q=this,x={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},w=a.chart,m,u,r=[];n(q,"update",{options:a});if(w){p(!0,q.options.chart,w);"className"in w&&q.setClassName(w.className);"reflow"in w&&q.setReflow(w.reflow);if("inverted"in w||"polar"in w||"type"in w)q.propFromSeries(),m=!0;"alignTicks"in w&&(m=!0);c(w,function(a,b){-1!==e("chart."+b,q.propsRequireUpdateSeries)&&(u=!0);-1!==e(b,q.propsRequireDirtyBox)&&(q.isDirtyBox=!0)})}a.plotOptions&&p(!0,this.options.plotOptions,
305
- a.plotOptions);c(a,function(a,b){if(q[b]&&"function"===typeof q[b].update)q[b].update(a,!1);else if("function"===typeof q[x[b]])q[x[b]](a);"chart"!==b&&-1!==e(b,q.propsRequireUpdateSeries)&&(u=!0)});h("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;a[b]&&("series"===b&&(c=[],h(q[b],function(a,b){a.options.isInternal||c.push(b)})),h(C(a[b]),function(a,d){(d=f(a.id)&&q.get(a.id)||q[b][c?c[d]:d])&&d.coll===b&&(d.update(a,!1),g&&(d.touched=!0));if(!d&&g)if("series"===b)q.addSeries(a,
306
- !1).touched=!0;else if("xAxis"===b||"yAxis"===b)q.addAxis(a,"xAxis"===b,!1).touched=!0}),g&&h(q[b],function(a){a.touched||a.options.isInternal?delete a.touched:r.push(a)}))});h(r,function(a){a.remove(!1)});m&&h(q.axes,function(a){a.update({},!1)});u&&h(q.series,function(a){a.update({},!1)});a.loading&&p(!0,q.options.loading,a.loading);m=w&&w.width;w=w&&w.height;k(m)&&m!==q.chartWidth||k(w)&&w!==q.chartHeight?q.setSize(m,w,l):b(d,!0)&&q.redraw(l);n(q,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,
307
- a)}});v(g.prototype,{update:function(a,c,g,e){function f(){h.applyOptions(a);null===h.y&&m&&(h.graphic=m.destroy());d(a,!0)&&(m&&m.element&&a&&a.marker&&void 0!==a.marker.symbol&&(h.graphic=m.destroy()),a&&a.dataLabels&&h.dataLabel&&(h.dataLabel=h.dataLabel.destroy()),h.connector&&(h.connector=h.connector.destroy()));p=h.index;k.updateParallelArrays(h,p);q.data[p]=d(q.data[p],!0)||d(a,!0)?h.options:b(a,q.data[p]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===
308
- q.legendType&&(l.isDirtyLegend=!0);c&&l.redraw(g)}var h=this,k=h.series,m=h.graphic,p,l=k.chart,q=k.options;c=b(c,!0);!1===e?f():h.firePointEvent("update",{options:a},f)},remove:function(a,b){this.series.removePoint(e(this,this.series.data),a,b)}});v(q.prototype,{addPoint:function(a,c,d,g){var e=this.options,f=this.data,h=this.chart,k=this.xAxis,k=k&&k.hasNames&&k.names,p=e.data,l,q,n=this.xData,w,x;c=b(c,!0);l={series:this};this.pointClass.prototype.applyOptions.apply(l,[a]);x=l.x;w=n.length;if(this.requireSorting&&
309
- x<n[w-1])for(q=!0;w&&n[w-1]>x;)w--;this.updateParallelArrays(l,"splice",w,0,0);this.updateParallelArrays(l,w);k&&l.name&&(k[x]=l.name);p.splice(w,0,a);q&&(this.data.splice(w,0,null),this.processData());"point"===e.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(l,"shift"),p.shift()));this.isDirtyData=this.isDirty=!0;c&&h.redraw(g)},removePoint:function(a,c,d){var g=this,e=g.data,f=e[a],h=g.points,k=g.chart,p=function(){h&&h.length===e.length&&
310
- h.splice(a,1);e.splice(a,1);g.options.data.splice(a,1);g.updateParallelArrays(f||{series:g},"splice",a,1);f&&f.destroy();g.isDirty=!0;g.isDirtyData=!0;c&&k.redraw()};K(d,k);c=b(c,!0);f?f.firePointEvent("remove",null,p):p()},remove:function(a,c,d){function g(){e.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();b(a,!0)&&f.redraw(c)}var e=this,f=e.chart;!1!==d?n(e,"remove",null,g):g()},update:function(c,d){var g=this,f=g.chart,k=g.userOptions,l=g.oldType||g.type,q=c.type||k.type||f.options.chart.type,
311
- m=F[l].prototype,x,C=["group","markerGroup","dataLabelsGroup"],t=["navigatorSeries","baseSeries"],u=g.finishedAnimating&&{animation:!1},r=["data","name","turboThreshold"],H=a.keys(c),K=0<H.length;h(H,function(a){-1===e(a,r)&&(K=!1)});if(K)c.data&&this.setData(c.data,!1),c.name&&this.setName(c.name,!1);else{t=C.concat(t);h(t,function(a){t[a]=g[a];delete g[a]});c=p(k,u,{index:g.index,pointStart:b(k.pointStart,g.xData[0])},{data:g.options.data},c);g.remove(!1,null,!1);for(x in m)g[x]=void 0;F[q||l]?
312
- v(g,F[q||l].prototype):a.error(17,!0);h(t,function(a){g[a]=t[a]});g.init(f,c);c.zIndex!==k.zIndex&&h(C,function(a){g[a]&&g[a].attr({zIndex:c.zIndex})});g.oldType=l;f.linkSeries()}n(this,"afterUpdate");b(d,!0)&&f.redraw(!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});v(z.prototype,{update:function(a,d){var g=this.chart,e=a&&a.events||{};a=p(this.userOptions,a);g.options[this.coll].indexOf&&(g.options[this.coll][g.options[this.coll].indexOf(this.userOptions)]=
313
- a);c(g.options[this.coll].events,function(a,b){"undefined"===typeof e[b]&&(e[b]=void 0)});this.destroy(!0);this.init(g,v(a,{events:e}));g.isDirtyBox=!0;b(d,!0)&&g.redraw()},remove:function(a){for(var c=this.chart,g=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);r(c.axes,this);r(c[g],this);u(c.options[g])?c.options[g].splice(this.options.index,1):delete c.options[g];h(c[g],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,
314
- b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(I);(function(a){var y=a.animObject,z=a.each,B=a.extend,l=a.isNumber,f=a.merge,h=a.pick,r=a.Series,v=a.seriesType,n=a.svg;v("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},
315
- threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var a=this,f=a.chart;f.hasRendered&&z(f.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,d=a.xAxis,l=a.yAxis,p=d.options.reversedStacks,p=d.reversed&&!p||!d.reversed&&p,c,b={},g=0;!1===f.grouping?g=1:z(a.chart.series,function(d){var e=d.options,f=d.yAxis,h;d.type!==a.type||!d.visible&&a.chart.options.chart.ignoreHiddenSeries||
316
- l.len!==f.len||l.pos!==f.pos||(e.stacking?(c=d.stackKey,void 0===b[c]&&(b[c]=g++),h=b[c]):!1!==e.grouping&&(h=g++),d.columnIndex=h)});var q=Math.min(Math.abs(d.transA)*(d.ordinalSlope||f.pointRange||d.closestPointRange||d.tickInterval||1),d.len),n=q*f.groupPadding,r=(q-2*n)/(g||1),f=Math.min(f.maxPointWidth||d.len,h(f.pointWidth,r*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(r-f)/2+(n+((a.columnIndex||0)+(p?1:0))*r-q/2)*(p?-1:1)};return a.columnMetrics},crispCol:function(a,f,d,h){var e=
317
- this.chart,c=this.borderWidth,b=-(c%2?.5:0),c=c%2?.5:1;e.inverted&&e.renderer.isVML&&(c+=1);this.options.crisp&&(d=Math.round(a+d)+b,a=Math.round(a)+b,d-=a);h=Math.round(f+h)+c;b=.5>=Math.abs(f)&&.5<h;f=Math.round(f)+c;h-=f;b&&h&&(--f,h+=1);return{x:a,y:f,width:d,height:h}},translate:function(){var a=this,f=a.chart,d=a.options,l=a.dense=2>a.closestPointRange*a.xAxis.transA,l=a.borderWidth=h(d.borderWidth,l?0:1),p=a.yAxis,c=d.threshold,b=a.translatedThreshold=p.getThreshold(c),g=h(d.minPointLength,
318
- 5),q=a.getColumnMetrics(),n=q.width,v=a.barW=Math.max(n,1+2*l),C=a.pointXOffset=q.offset;f.inverted&&(b-=.5);d.pointPadding&&(v=Math.ceil(v));r.prototype.translate.apply(a);z(a.points,function(d){var e=h(d.yBottom,b),k=999+Math.abs(e),k=Math.min(Math.max(-k,d.plotY),p.len+k),l=d.plotX+C,q=v,u=Math.min(k,e),r,m=Math.max(k,e)-u;g&&Math.abs(m)<g&&(m=g,r=!p.reversed&&!d.negative||p.reversed&&d.negative,d.y===c&&a.dataMax<=c&&p.min<c&&(r=!r),u=Math.abs(u-b)>g?e-g:b-(r?g:0));d.barX=l;d.pointWidth=n;d.tooltipPos=
319
- f.inverted?[p.len+p.pos-f.plotLeft-k,a.xAxis.len-l-q/2,m]:[l+q/2,k+p.pos-f.plotTop,m];d.shapeType="rect";d.shapeArgs=a.crispCol.apply(a,d.isNull?[l,b,q,0]:[l,u,q,m])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,h=this.chart,d=a.options,n=h.renderer,p=d.animationLimit||250,c;z(a.points,function(b){var g=b.graphic,e=g&&h.pointCount<p?"animate":"attr";
320
- if(l(b.plotY)&&null!==b.y){c=b.shapeArgs;if(g)g[e](f(c));else b.graphic=g=n[b.shapeType](c).add(b.group||a.group);d.borderRadius&&g.attr({r:d.borderRadius});g.addClass(b.getClassName(),!0)}else g&&(b.graphic=g.destroy())})},animate:function(a){var e=this,d=this.yAxis,f=e.options,h=this.chart.inverted,c={},b=h?"translateX":"translateY",g;n&&(a?(c.scaleY=.001,a=Math.min(d.pos+d.len,Math.max(d.pos,d.toPixels(f.threshold))),h?c.translateX=a-d.len:c.translateY=a,e.group.attr(c)):(g=e.group.attr(b),e.group.animate({scaleY:1},
321
- B(y(e.options.animation),{step:function(a,f){c[b]=g+f.pos*(d.pos-g);e.group.attr(c)}})),e.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&z(f.series,function(d){d.type===a.type&&(d.isDirty=!0)});r.prototype.remove.apply(a,arguments)}})})(I);(function(a){var y=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
322
- 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,drawGraph:function(){this.options.lineWidth&&y.prototype.drawGraph.call(this)}})})(I);(function(a){var y=a.addEvent,z=a.arrayMax,B=a.defined,l=a.each,f=a.extend,h=a.format,r=a.map,v=a.merge,n=a.noop,e=a.pick,k=a.relativeLength,d=a.Series,u=a.seriesTypes,p=a.some,c=a.stableSort;
323
- a.distribute=function(b,d,f){function g(a,b){return a.target-b.target}var h,k=!0,q=b,n=[],w;w=0;var u=q.reducedLen||d;for(h=b.length;h--;)w+=b[h].size;if(w>u){c(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(w=h=0;w<=u;)w+=b[h].size,h++;n=b.splice(h-1,b.length)}c(b,g);for(b=r(b,function(a){return{size:a.size,targets:[a.target],align:e(a.align,.5)}});k;){for(h=b.length;h--;)k=b[h],w=(Math.min.apply(0,k.targets)+Math.max.apply(0,k.targets))/2,k.pos=Math.min(Math.max(0,w-k.size*k.align),d-k.size);
324
- h=b.length;for(k=!1;h--;)0<h&&b[h-1].pos+b[h-1].size>b[h].pos&&(b[h-1].size+=b[h].size,b[h-1].targets=b[h-1].targets.concat(b[h].targets),b[h-1].align=.5,b[h-1].pos+b[h-1].size>d&&(b[h-1].pos=d-b[h-1].size),b.splice(h,1),k=!0)}q.push.apply(q,n);h=0;p(b,function(b){var c=0;if(p(b.targets,function(){q[h].pos=b.pos+c;if(Math.abs(q[h].pos-q[h].target)>f)return l(q.slice(0,h+1),function(a){delete a.pos}),q.reducedLen=(q.reducedLen||d)-.1*d,q.reducedLen>.1*d&&a.distribute(q,d,f),!0;c+=q[h].size;h++}))return!0});
325
- c(q,g)};d.prototype.drawDataLabels=function(){function b(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}var c=this,d=c.chart,f=c.options,k=f.dataLabels,p=c.points,n,x,w=c.hasRendered||0,u,r,z=e(k.defer,!!f.animation),J=d.renderer;if(k.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(k),r=c.plotGroup("dataLabelsGroup","data-labels",
326
- z&&!w?"hidden":"visible",k.zIndex||6),z&&(r.attr({opacity:+w}),w||y(c,"afterAnimate",function(){c.visible&&r.show(!0);r[f.animation?"animate":"attr"]({opacity:1},{duration:200})})),x=k,l(p,function(g){var f,l=g.dataLabel,m,p,q=g.connector,w=!l,C;n=g.dlOptions||g.options&&g.options.dataLabels;(f=e(n&&n.enabled,x.enabled)&&!g.isNull)&&(f=!0===b(g,n||k));f&&(k=v(x,n),m=g.getLabelConfig(),C=k[g.formatPrefix+"Format"]||k.format,u=B(C)?h(C,m,d.time):(k[g.formatPrefix+"Formatter"]||k.formatter).call(m,k),
327
- m=k.rotation,p={r:k.borderRadius||0,rotation:m,padding:k.padding,zIndex:1},a.objectEach(p,function(a,b){void 0===a&&delete p[b]}));!l||f&&B(u)?f&&B(u)&&(l?p.text=u:(l=g.dataLabel=m?J.text(u,0,-9999).addClass("highcharts-data-label"):J.label(u,0,-9999,k.shape,null,null,k.useHTML,null,"data-label"),l.addClass(" highcharts-data-label-color-"+g.colorIndex+" "+(k.className||"")+(k.useHTML?" highcharts-tracker":""))),l.attr(p),l.added||l.add(r),c.alignDataLabel(g,l,k,null,w)):(g.dataLabel=l=l.destroy(),
328
- q&&(g.connector=q.destroy()))});a.fireEvent(this,"afterDrawDataLabels")};d.prototype.alignDataLabel=function(a,c,d,h,k){var b=this.chart,g=b.inverted,l=e(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),p=e(a.plotY,-9999),q=c.getBBox(),n,u=d.rotation,r=d.align,m=this.visible&&(a.series.forceDL||b.isInsidePlot(l,Math.round(p),g)||h&&b.isInsidePlot(l,g?h.x+1:h.y+h.height-1,g)),v="justify"===e(d.overflow,"justify");if(m&&(n=b.renderer.fontMetrics(void 0,c).b,h=f({x:g?this.yAxis.len-p:l,y:Math.round(g?this.xAxis.len-
329
- l:p),width:0,height:0},h),f(d,{width:q.width,height:q.height}),u?(v=!1,l=b.renderer.rotCorr(n,u),l={x:h.x+d.x+h.width/2+l.x,y:h.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*h.height},c[k?"attr":"animate"](l).attr({align:r}),p=(u+720)%360,p=180<p&&360>p,"left"===r?l.y-=p?q.height:0:"center"===r?(l.x-=q.width/2,l.y-=q.height/2):"right"===r&&(l.x-=q.width,l.y-=p?0:q.height),c.placed=!0,c.alignAttr=l):(c.align(d,null,h),l=c.alignAttr),v?a.isLabelJustified=this.justifyDataLabel(c,d,l,q,h,k):e(d.crop,
330
- !0)&&(m=b.isInsidePlot(l.x,l.y)&&b.isInsidePlot(l.x+q.width,l.y+q.height)),d.shape&&!u))c[k?"attr":"animate"]({anchorX:g?b.plotWidth-a.plotY:a.plotX,anchorY:g?b.plotHeight-a.plotX:a.plotY});m||(c.attr({y:-9999}),c.placed=!1)};d.prototype.justifyDataLabel=function(a,c,d,e,f,h){var b=this.chart,g=c.align,k=c.verticalAlign,l,p,q=a.box?0:a.padding||0;l=d.x+q;0>l&&("right"===g?c.align="left":c.x=-l,p=!0);l=d.x+e.width-q;l>b.plotWidth&&("left"===g?c.align="right":c.x=b.plotWidth-l,p=!0);l=d.y+q;0>l&&("bottom"===
331
- k?c.verticalAlign="top":c.y=-l,p=!0);l=d.y+e.height-q;l>b.plotHeight&&("top"===k?c.verticalAlign="bottom":c.y=b.plotHeight-l,p=!0);p&&(a.placed=!h,a.align(c,null,f));return p};u.pie&&(u.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,f,h=b.chart,k=b.options.dataLabels,p=e(k.connectorPadding,10),n=e(k.connectorWidth,1),x=h.plotWidth,w=h.plotHeight,u=Math.round(h.chartWidth/3),r,v=b.center,y=v[2]/2,m=v[1],A,N,t,G,I=[[],[]],Q,O,P,M,R=[0,0,0,0];b.visible&&(k.enabled||b._hasPointLabels)&&(l(c,
332
- function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(b),l(c,function(a){a.dataLabel&&(a.visible?(I[a.half].push(a),a.dataLabel._pos=null,a.dataLabel.getBBox().width>u&&(a.dataLabel.css({width:.7*u}),a.dataLabel.shortened=!0)):a.dataLabel=a.dataLabel.destroy())}),l(I,function(c,d){var g,q,n=c.length,r=[],u;if(n)for(b.sortByAngle(c,d-.5),0<b.maxLabelDistance&&
333
- (g=Math.max(0,m-y-b.maxLabelDistance),q=Math.min(m+y+b.maxLabelDistance,h.plotHeight),l(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,m-y-a.labelDistance),a.bottom=Math.min(m+y+a.labelDistance,h.plotHeight),u=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y},r.push(a.distributeBox))}),g=q+u-g,a.distribute(r,g,g/5)),M=0;M<n;M++)f=c[M],t=f.labelPos,A=f.dataLabel,P=!1===f.visible?"hidden":"inherit",O=g=t[1],r&&B(f.distributeBox)&&(void 0===
334
- f.distributeBox.pos?P="hidden":(G=f.distributeBox.size,O=f.top+f.distributeBox.pos)),delete f.positionIndex,Q=k.justify?v[0]+(d?-1:1)*(y+f.labelDistance):b.getX(O<f.top+2||O>f.bottom-2?g:O,d,f),A._attr={visibility:P,align:t[6]},A._pos={x:Q+k.x+({left:p,right:-p}[t[6]]||0),y:O+k.y-10},t.x=Q,t.y=O,e(k.crop,!0)&&(N=A.getBBox().width,g=null,Q-N<p&&1===d?(g=Math.round(N-Q+p),R[3]=Math.max(g,R[3])):Q+N>x-p&&0===d&&(g=Math.round(Q+N-x+p),R[1]=Math.max(g,R[1])),0>O-G/2?R[0]=Math.max(Math.round(-O+G/2),R[0]):
335
- O+G/2>w&&(R[2]=Math.max(Math.round(O+G/2-w),R[2])),A.sideOverflow=g)}),0===z(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),n&&l(this.points,function(a){var c;r=a.connector;if((A=a.dataLabel)&&A._pos&&a.visible&&0<a.labelDistance){P=A._attr.visibility;if(c=!r)a.connector=r=h.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup);r[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});r.attr("visibility",
336
- P)}else r&&(a.connector=r.destroy())}))},u.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return e(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},u.pie.prototype.placeDataLabels=function(){l(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+
337
- "px",textOverflow:this.options.dataLabels.style.textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},u.pie.prototype.alignDataLabel=n,u.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f,h=null!==c.size;h||(null!==d[0]?f=Math.max(b[2]-Math.max(a[1],a[3]),e):(f=Math.max(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2),null!==d[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],
338
- a[2])),e):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(k(c.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):h=!0);return h});u.column&&(u.column.prototype.alignDataLabel=function(a,c,f,h,k){var b=this.chart.inverted,g=a.series,l=a.dlBox||a.shapeArgs,p=e(a.below,a.plotY>e(this.translatedThreshold,g.yAxis.len)),q=e(f.inside,!!this.options.stacking);l&&(h=v(l),0>h.y&&(h.height+=h.y,h.y=0),l=h.y+h.height-g.yAxis.len,0<l&&(h.height-=
339
- l),b&&(h={x:g.yAxis.len-h.y-h.height,y:g.xAxis.len-h.x-h.width,width:h.height,height:h.width}),q||(b?(h.x+=p?0:h.width,h.width=0):(h.y+=p?h.height:0,h.height=0)));f.align=e(f.align,!b||q?"center":p?"right":"left");f.verticalAlign=e(f.verticalAlign,b||q?"middle":p?"top":"bottom");d.prototype.alignDataLabel.call(this,a,c,f,h,k);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(I);(function(a){var y=a.Chart,z=a.each,B=a.objectEach,l=a.pick;a=a.addEvent;a(y,"render",function(){var a=
340
- [];z(this.labelCollectors||[],function(f){a=a.concat(f())});z(this.yAxis||[],function(f){f.options.stackLabels&&!f.options.stackLabels.allowOverlap&&B(f.stacks,function(f){B(f,function(f){a.push(f.label)})})});z(this.series||[],function(f){var h=f.options.dataLabels,v=f.dataLabelCollections||["dataLabel"];(h.enabled||f._hasPointLabels)&&!h.allowOverlap&&f.visible&&z(v,function(h){z(f.points,function(e){e[h]&&(e[h].labelrank=l(e.labelrank,e.shapeArgs&&e.shapeArgs.height),a.push(e[h]))})})});this.hideOverlappingLabels(a)});
341
- y.prototype.hideOverlappingLabels=function(a){var f=a.length,l,v,n,e,k,d,u=function(a,c,b,d,e,f,h,k){return!(e>a+b||e+h<a||f>c+d||f+k<c)};n=function(a){var c,b,d,e=2*(a.box?0:a.padding||0);if(a&&(!a.alignAttr||a.placed))return c=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},b=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height),{x:c.x+(b.translateX||0),y:c.y+(b.translateY||0),width:a.width-e,height:a.height-e}};for(v=0;v<f;v++)if(l=a[v])l.oldOpacity=l.opacity,l.newOpacity=1,l.absoluteBox=
342
- n(l);a.sort(function(a,c){return(c.labelrank||0)-(a.labelrank||0)});for(v=0;v<f;v++)for(d=(n=a[v])&&n.absoluteBox,l=v+1;l<f;++l)if(k=(e=a[l])&&e.absoluteBox,d&&k&&n!==e&&0!==n.newOpacity&&0!==e.newOpacity&&(k=u(d.x,d.y,d.width,d.height,k.x,k.y,k.width,k.height)))(n.labelrank<e.labelrank?n:e).newOpacity=0;z(a,function(a){var c,b;a&&(b=a.newOpacity,a.oldOpacity!==b&&(a.alignAttr&&a.placed?(b?a.show(!0):c=function(){a.hide()},a.alignAttr.opacity=b,a[a.isOld?"animate":"attr"](a.alignAttr,null,c)):a.attr({opacity:b})),
343
- a.isOld=!0)})}})(I);(function(a){var y=a.addEvent,z=a.Chart,B=a.createElement,l=a.css,f=a.defaultOptions,h=a.defaultPlotOptions,r=a.each,v=a.extend,n=a.fireEvent,e=a.hasTouch,k=a.inArray,d=a.isObject,u=a.Legend,p=a.merge,c=a.pick,b=a.Point,g=a.Series,q=a.seriesTypes,F=a.svg,K;K=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};r(a.points,function(a){a.graphic&&(a.graphic.element.point=
344
- a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(r(a.trackerGroups,function(d){if(a[d]&&(a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),e))a[d].on("touchstart",c)}),a._hasTracking=!0);n(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),d=c.length,g=a.chart,f=g.pointer,h=g.renderer,k=g.options.tooltip.snap,l=a.tracker,
345
- p,q=function(){if(g.hoverSeries!==a)a.onMouseOver()},t="rgba(192,192,192,"+(F?.0001:.002)+")";if(d&&!b)for(p=d+1;p--;)"M"===c[p]&&c.splice(p+1,0,c[p+1]-k,c[p+2],"L"),(p&&"M"===c[p]||p===d)&&c.splice(p,0,"L",c[p-2]+k,c[p-1]);l?l.attr({d:c}):a.graph&&(a.tracker=h.path(c).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:t,fill:b?t:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*k),zIndex:2}).add(a.group),r([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",
346
- q).on("mouseout",function(a){f.onTrackerMouseOut(a)});if(e)a.on("touchstart",q)}));n(this,"afterDrawTracker")}};q.column&&(q.column.prototype.drawTracker=K.drawTrackerPoint);q.pie&&(q.pie.prototype.drawTracker=K.drawTrackerPoint);q.scatter&&(q.scatter.prototype.drawTracker=K.drawTrackerPoint);v(u.prototype,{setItemEvents:function(a,c,d){var g=this.chart.renderer.boxWrapper,e="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(d?c:a.legendGroup).on("mouseover",function(){a.setState("hover");
347
- g.addClass(e)}).on("mouseout",function(){g.removeClass(e);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};g.removeClass(e);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):n(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=B("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);y(a.checkbox,"click",function(b){n(a.series||a,"checkboxClick",{checked:b.target.checked,
348
- item:a},function(){a.select()})})}});v(z.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=f.lang,d=b.options.chart.resetZoomButton,g=d.theme,e=g.states,h="chart"===d.relativeTo?null:"plotBox";n(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,g,e&&e.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,h)})},zoomOut:function(){n(this,"selection",{resetSelection:!0},
349
- this.zoom)},zoom:function(a){var b,g=this.pointer,e=!1,f;!a||a.resetSelection?(r(this.axes,function(a){b=a.zoom()}),g.initiated=!1):r(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;g[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(e=!0))});f=this.resetZoomButton;e&&!f?this.showResetZoom():!e&&d(f)&&(this.resetZoomButton=f.destroy());b&&this.redraw(c(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,g;d&&r(d,function(a){a.setState()});
350
- r("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",f=c[d],h=(b.pointRange||0)/2,k=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),p=b.toValue(f-e,!0)+h*k,k=b.toValue(f+b.len-e,!0)-h*k,q=k<p,f=q?k:p,p=q?p:k,k=Math.min(l.dataMin,h?l.min:b.toValue(b.toPixels(l.min)-b.minPixelPadding)),h=Math.max(l.dataMax,h?l.max:b.toValue(b.toPixels(l.max)+b.minPixelPadding)),q=k-f;0<q&&(p+=q,f=k);q=p-h;0<q&&(p=h,f-=
351
- q);b.series.length&&f!==l.min&&p!==l.max&&(b.setExtremes(f,p,!1,!1,{trigger:"pan"}),g=!0);c[d]=e});g&&c.redraw(!1);l(c.container,{cursor:"move"})}});v(b.prototype,{select:function(a,b){var d=this,g=d.series,e=g.chart;a=c(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;g.options.data[k(d,g.data)]=d.options;d.setState(a&&"select");b||r(e.getSelectedPoints(),function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,g.options.data[k(a,
352
- g.data)]=a.options,a.setState(""),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");r(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=p(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,
353
- function(a,c){y(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var d=Math.floor(this.plotX),g=this.plotY,e=this.series,f=e.options.states[a||"normal"]||{},k=h[e.type].marker&&e.options.marker,l=k&&!1===k.enabled,p=k&&k.states&&k.states[a||"normal"]||{},q=!1===p.enabled,u=e.stateMarkerGraphic,t=this.marker||{},r=e.chart,v=e.halo,C,y=k&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(q||l&&!1===p.enabled)||a&&t.states&&t.states[a]&&!1===
354
- t.states[a].enabled)){y&&(C=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),C&&this.graphic.animate(C,c(r.options.chart.animation,p.animation,k.animation)),u&&u.hide();else{if(a&&p)if(k=t.symbol||e.symbol,u&&u.currentSymbol!==k&&(u=u.destroy()),u)u[b?"animate":"attr"]({x:C.x,y:C.y});else k&&(e.stateMarkerGraphic=u=r.renderer.symbol(k,C.x,C.y,C.width,C.height).add(e.markerGroup),u.currentSymbol=
355
- k);u&&(u[a&&r.isInsidePlot(d,g,r.inverted)?"show":"hide"](),u.element.point=this)}(d=f.halo)&&d.size?(v||(e.halo=v=r.renderer.path().add((this.graphic||u).parentGroup)),v.show()[b?"animate":"attr"]({d:this.haloPath(d.size)}),v.attr({"class":"highcharts-halo highcharts-color-"+c(this.colorIndex,e.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),v.point=this):v&&v.point&&v.point.haloPath&&v.animate({d:v.point.haloPath(0)},null,v.hide);this.state=a;n(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
356
- a,this.plotY-a,2*a,2*a)}});v(g.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&n(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&n(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;
357
- a=a||"";b.state!==a&&(r([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,d=c.chart,g=c.legendItem,e,f=d.options.chart.ignoreHiddenSeries,h=c.visible;e=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";r(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][e]()});if(d.hoverSeries===c||(d.hoverPoint&&
358
- d.hoverPoint.series)===c)c.onMouseOut();g&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&r(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});r(c.linkedSeries,function(b){b.setVisible(a,!1)});f&&(d.isDirtyBox=!0);n(c,e);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);n(this,a?"select":"unselect")},drawTracker:K.drawTrackerGraph})})(I);
359
- (function(a){var y=a.Chart,z=a.each,B=a.inArray,l=a.isArray,f=a.isObject,h=a.pick,r=a.splat;y.prototype.setResponsive=function(f){var h=this.options.responsive,e=[],k=this.currentResponsive;h&&h.rules&&z(h.rules,function(d){void 0===d._id&&(d._id=a.uniqueKey());this.matchResponsiveRule(d,e,f)},this);var d=a.merge.apply(0,a.map(e,function(d){return a.find(h.rules,function(a){return a._id===d}).chartOptions})),e=e.toString()||void 0;e!==(k&&k.ruleIds)&&(k&&this.update(k.undoOptions,f),e?(this.currentResponsive=
360
- {ruleIds:e,mergedOptions:d,undoOptions:this.currentOptions(d)},this.update(d,f)):this.currentResponsive=void 0)};y.prototype.matchResponsiveRule=function(a,f){var e=a.condition;(e.callback||function(){return this.chartWidth<=h(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=h(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=h(e.minWidth,0)&&this.chartHeight>=h(e.minHeight,0)}).call(this)&&f.push(a._id)};y.prototype.currentOptions=function(h){function n(e,d,h,p){var c;a.objectEach(e,function(a,g){if(!p&&
361
- -1<B(g,["series","xAxis","yAxis"]))for(a=r(a),h[g]=[],c=0;c<a.length;c++)d[g][c]&&(h[g][c]={},n(a[c],d[g][c],h[g][c],p+1));else f(a)?(h[g]=l(a)?[]:{},n(a,d[g]||{},h[g],p+1)):h[g]=d[g]||null})}var e={};n(h,this.options,e,0);return e}})(I);(function(a){var y=a.addEvent,z=a.Axis,B=a.each,l=a.pick;y(z,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(B(this.series,function(f,l){f.useMapGeometry&&(a[l]=f.xData,f.xData=[])}),this.seriesXData=a)});y(z,"afterGetSeriesExtremes",function(){var a=this.seriesXData,
362
- h,r,v;this.isXAxis&&(h=l(this.dataMin,Number.MAX_VALUE),r=l(this.dataMax,-Number.MAX_VALUE),B(this.series,function(f,e){f.useMapGeometry&&(h=Math.min(h,l(f.minX,h)),r=Math.max(r,l(f.maxX,r)),f.xData=a[e],v=!0)}),v&&(this.dataMin=h,this.dataMax=r),delete this.seriesXData)});y(z,"afterSetAxisTranslation",function(){var a=this.chart,h;h=a.plotWidth/a.plotHeight;var a=a.xAxis[0],l;"yAxis"===this.coll&&void 0!==a.transA&&B(this.series,function(a){a.preserveAspectRatio&&(l=!0)});if(l&&(this.transA=a.transA=
363
- Math.min(this.transA,a.transA),h/=(a.max-a.min)/(this.max-this.min),h=1>h?this:a,a=(h.max-h.min)*h.transA,h.pixelPadding=h.len-a,h.minPixelPadding=h.pixelPadding/2,a=h.fixTo)){a=a[1]-h.toValue(a[0],!0);a*=h.transA;if(Math.abs(a)>h.minPixelPadding||h.min===h.dataMin&&h.max===h.dataMax)a=0;h.minPixelPadding-=a}});y(z,"render",function(){this.fixTo=null})})(I);(function(a){var y=a.addEvent,z=a.Axis,B=a.Chart,l=a.color,f,h=a.each,r=a.extend,v=a.isNumber,n=a.Legend,e=a.LegendSymbolMixin,k=a.noop,d=a.merge,
364
- u=a.pick;a.ColorAxis||(f=a.ColorAxis=function(){this.init.apply(this,arguments)},r(f.prototype,z.prototype),r(f.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(z.prototype.keepProps),
365
- init:function(a,c){var b="vertical"!==a.options.legend.layout,g;this.coll="colorAxis";g=d(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},c,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled});z.prototype.init.call(this,a,g);c.dataClasses&&this.initDataClasses(c);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var c,b=0,g=this.chart.options.chart.colorCount,e=this.options,f=a.dataClasses.length;this.dataClasses=c=
366
- [];this.legendItems=[];h(a.dataClasses,function(a,h){a=d(a);c.push(a);"category"===e.dataClassColor?(a.colorIndex=b,b++,b===g&&(b=0)):a.color=l(e.minColor).tweenTo(l(e.maxColor),2>f?.5:h/(f-1))})},setTickPositions:function(){if(!this.dataClasses)return z.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];h(this.stops,function(a){a.color=l(a[1])})},setOptions:function(a){z.prototype.setOptions.call(this,a);
367
- this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,c=this.chart,b=c.options.legend||{},d,e;a?(this.left=b=a.attr("x"),this.top=d=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-b-e,this.bottom=c.chartHeight-d-a,this.len=this.horiz?e:a,this.pos=this.horiz?b:d):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-
368
- a)/(this.max-this.min||1)},toColor:function(a,c){var b=this.stops,d,e,f=this.dataClasses,h,k;if(f)for(k=f.length;k--;){if(h=f[k],d=h.from,b=h.to,(void 0===d||a>=d)&&(void 0===b||a<=b)){c&&(c.dataClass=k,c.colorIndex=h.colorIndex);break}}else{a=this.normalizedValue(a);for(k=b.length;k--&&!(a>b[k][0]););d=b[k]||b[k+1];b=b[k+1]||d;a=1-(b[0]-a)/(b[0]-d[0]||1);e=d.color.tweenTo(b.color,a)}return e},getOffset:function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];a&&(this.axisParent=a,z.prototype.getOffset.call(this),
369
- this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=c)},setLegendColor:function(){var a,c=this.reversed;a=c?1:0;c=c?0:1;a=this.horiz?[a,0,c,0]:[0,c,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,c){var b=a.padding,d=a.options,e=this.horiz,f=u(d.symbolWidth,e?this.defaultLegendLength:12),h=u(d.symbolHeight,e?12:this.defaultLegendLength),k=u(d.labelPadding,e?16:30),d=u(d.itemDistance,
370
- 10);this.setLegendColor();c.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,h).attr({zIndex:1}).add(c.legendGroup);this.legendItemWidth=f+b+(e?d:k);this.legendItemHeight=h+b+(e?k:0)},setState:function(a){h(this.series,function(c){c.setState(a)})},visible:!0,setVisible:k,getSeriesExtremes:function(){var a=this.series,c=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;c--;)a[c].getExtremes(),void 0!==a[c].valueMin&&(this.dataMin=Math.min(this.dataMin,a[c].valueMin),this.dataMax=Math.max(this.dataMax,
371
- a[c].valueMax))},drawCrosshair:function(a,c){var b=c&&c.plotX,d=c&&c.plotY,e,f=this.pos,h=this.len;c&&(e=this.toPixels(c[c.series.colorKey]),e<f?e=f-2:e>f+h&&(e=f+h+2),c.plotX=e,c.plotY=this.len-e,z.prototype.drawCrosshair.call(this,a,c),c.plotX=b,c.plotY=d,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0))},getPlotLinePath:function(a,c,b,d,e){return v(e)?this.horiz?["M",e-4,this.top-
372
- 6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:z.prototype.getPlotLinePath.call(this,a,c,b,d)},update:function(a,c){var b=this.chart,g=b.legend;h(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&g.allItems&&(h(g.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=d(this.userOptions,a);z.prototype.update.call(this,a,c);this.legendItem&&(this.setLegendColor(),g.colorizeItem(this,
373
- !0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);z.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var d=this,c=this.chart,b=this.legendItems,g=c.options.legend,f=g.valueDecimals,l=g.valueSuffix||"",n;b.length||h(this.dataClasses,function(g,p){var q=!0,u=g.from,v=g.to;n="";void 0===u?n="\x3c ":void 0===v&&(n="\x3e ");void 0!==u&&(n+=a.numberFormat(u,f)+l);void 0!==u&&void 0!==v&&(n+=" - ");void 0!==v&&(n+=a.numberFormat(v,f)+l);b.push(r({chart:c,name:n,
374
- options:{},drawLegendSymbol:e.drawRectangle,visible:!0,setState:k,isDataClass:!0,setVisible:function(){q=this.visible=!q;h(d.series,function(a){h(a.points,function(a){a.dataClass===p&&a.setVisible(q)})});c.legend.colorizeItem(this,q)}},g))});return b},name:""}),h(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,l(this.start).tweenTo(l(this.end),this.pos),null,!0)}}),y(B,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new f(this,a)}),
375
- y(n,"afterGetAllItems",function(d){var c=[],b=this.chart.colorAxis[0];b&&b.options&&b.options.showInLegend&&(b.options.dataClasses?c=b.getDataClassLegendSymbols():c.push(b),h(b.series,function(b){a.erase(d.allItems,b)}));for(b=c.length;b--;)d.allItems.unshift(c[b])}),y(n,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),y(n,"afterUpdate",function(a,c,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(I);(function(a){var y=
376
- a.defined,z=a.each,B=a.noop;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var f=this,h=a?"show":"hide";z(["graphic","dataLabel"],function(a){if(f[a])f[a][h]()})},setState:function(l){a.Point.prototype.setState.call(this,l);this.graphic&&this.graphic.attr({zIndex:"hover"===l?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group",
377
- "markerGroup","dataLabelsGroup"],getSymbol:B,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,f=this.options.nullColor,h=this.colorAxis,r=this.colorKey;z(this.data,function(l){var n=l[r];if(n=l.options.color||(l.isNull?f:h&&void 0!==n?h.toColor(n,l):l.color||a.color))l.color=n})},colorAttribs:function(a){var f={};y(a.color)&&(f[this.colorProp||"fill"]=a.color);return f}}})(I);(function(a){function y(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&
378
- a.stopPropagation(),a.cancelBubble=!0)}function z(a){this.init(a)}var B=a.addEvent,l=a.Chart,f=a.doc,h=a.each,r=a.extend,v=a.merge,n=a.pick;z.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};z.prototype.update=function(e){var f=this.chart,d=f.options.mapNavigation,h,l=function(a){this.handler.call(f,a);y(a)},c=f.mapNavButtons;e&&(d=f.options.mapNavigation=v(f.options.mapNavigation,e));for(;c.length;)c.pop().destroy();n(d.enableButtons,d.enabled)&&!f.renderer.forExport&&a.objectEach(d.buttons,
379
- function(a,g){h=v(d.buttonOptions,a);a=f.renderer.button(h.text,0,0,l,void 0,void 0,void 0,0,"zoomIn"===g?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:h.width,height:h.height,title:f.options.lang[g],padding:h.padding,zIndex:5}).add();a.handler=h.onclick;a.align(r(h,{width:a.width,height:2*a.height}),null,h.alignTo);B(a.element,"dblclick",y);c.push(a)});this.updateEvents(d)};z.prototype.updateEvents=function(a){var e=this.chart;n(a.enableDoubleClickZoom,a.enabled)||
380
- a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||B(e.container,"dblclick",function(a){e.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());n(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||B(e.container,void 0===f.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){e.pointer.onContainerMouseWheel(a);y(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};r(l.prototype,
381
- {fitToBox:function(a,f){h([["x","width"],["y","height"]],function(d){var e=d[0];d=d[1];a[e]+a[d]>f[e]+f[d]&&(a[d]>f[d]?(a[d]=f[d],a[e]=f[e]):a[e]=f[e]+f[d]-a[d]);a[d]>f[d]&&(a[d]=f[d]);a[e]<f[e]&&(a[e]=f[e])});return a},mapZoom:function(a,f,d,h,l){var c=this.xAxis[0],b=c.max-c.min,g=n(f,c.min+b/2),e=b*a,b=this.yAxis[0],k=b.max-b.min,p=n(d,b.min+k/2),k=k*a,g=this.fitToBox({x:g-e*(h?(h-c.pos)/c.len:.5),y:p-k*(l?(l-b.pos)/b.len:.5),width:e,height:k},{x:c.dataMin,y:b.dataMin,width:c.dataMax-c.dataMin,
382
- height:b.dataMax-b.dataMin}),e=g.x<=c.dataMin&&g.width>=c.dataMax-c.dataMin&&g.y<=b.dataMin&&g.height>=b.dataMax-b.dataMin;h&&(c.fixTo=[h-c.pos,f]);l&&(b.fixTo=[l-b.pos,d]);void 0===a||e?(c.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(c.setExtremes(g.x,g.x+g.width,!1),b.setExtremes(g.y,g.y+g.height,!1));this.redraw()}});B(l,"beforeRender",function(){this.mapNavigation=new z(this);this.mapNavigation.update()})})(I);(function(a){var y=a.extend,z=a.pick,B=a.Pointer;a=a.wrap;y(B.prototype,
383
- {onContainerDblClick:function(a){var f=this.chart;a=this.normalize(a);f.options.mapNavigation.enableDoubleClickZoomTo?f.pointer.inClass(a.target,"highcharts-tracker")&&f.hoverPoint&&f.hoverPoint.zoomTo():f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(.5,f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var f=this.chart,h;a=this.normalize(a);h=a.detail||-(a.wheelDelta/120);f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&
384
- f.mapZoom(Math.pow(f.options.mapNavigation.mouseWheelSensitivity,h),f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(B.prototype,"zoomOption",function(a){var f=this.chart.options.mapNavigation;z(f.enableTouchZoom,f.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(B.prototype,"pinchTranslate",function(a,f,h,r,v,n,e){a.call(this,f,h,r,v,n,e);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=r.scaleX>r.scaleY,this.pinchTranslateDirection(!a,
385
- f,h,r,v,n,e,a?r.scaleX:r.scaleY))})})(I);(function(a){var y=a.colorPointMixin,z=a.each,B=a.extend,l=a.isNumber,f=a.map,h=a.merge,r=a.noop,v=a.pick,n=a.isArray,e=a.Point,k=a.Series,d=a.seriesType,u=a.seriesTypes,p=a.splat;d("map","scatter",{allAreas:!0,animation:!1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},
386
- states:{normal:{animation:!0},hover:{halo:null,brightness:.2}}},h(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:r,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(c){var b=Number.MAX_VALUE,d=-b,e=b,f=-b,h=b,k=b,n=this.xAxis,p=this.yAxis,r;z(c||[],function(c){if(c.path){"string"===typeof c.path&&(c.path=a.splitPath(c.path));var g=c.path||[],n=g.length,p=!1,m=-b,q=b,u=-b,t=b,w=c.properties;if(!c._foundBox){for(;n--;)l(g[n])&&
387
- (p?(m=Math.max(m,g[n]),q=Math.min(q,g[n])):(u=Math.max(u,g[n]),t=Math.min(t,g[n])),p=!p);c._midX=q+(m-q)*v(c.middleX,w&&w["hc-middle-x"],.5);c._midY=t+(u-t)*v(c.middleY,w&&w["hc-middle-y"],.5);c._maxX=m;c._minX=q;c._maxY=u;c._minY=t;c.labelrank=v(c.labelrank,(m-q)*(u-t));c._foundBox=!0}d=Math.max(d,c._maxX);e=Math.min(e,c._minX);f=Math.max(f,c._maxY);h=Math.min(h,c._minY);k=Math.min(c._maxX-c._minX,c._maxY-c._minY,k);r=!0}});r&&(this.minY=Math.min(h,v(this.minY,b)),this.maxY=Math.max(f,v(this.maxY,
388
- -b)),this.minX=Math.min(e,v(this.minX,b)),this.maxX=Math.max(d,v(this.maxX,-b)),n&&void 0===n.options.minRange&&(n.minRange=Math.min(5*k,(this.maxX-this.minX)/5,n.minRange||b)),p&&void 0===p.options.minRange&&(p.minRange=Math.min(5*k,(this.maxY-this.minY)/5,p.minRange||b)))},getExtremes:function(){k.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=
389
- this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e=c.min,f=c.transA,c=c.minPixelPadding,h=d.min,k=d.transA,d=d.minPixelPadding,n,p=[];if(a)for(n=a.length;n--;)l(a[n])?(p[n]=b?(a[n]-e)*f+c:(a[n]-h)*k+d,b=!b):p[n]=a[n];return p},setData:function(c,b,d,e){var g=this.options,q=this.chart.options.chart,u=q&&q.map,r=g.mapData,v=g.joinBy,w=null===v,y=g.keys||this.pointArrayMap,B=[],L={},J=this.chart.mapTransforms;!r&&u&&(r="string"===typeof u?a.maps[u]:u);w&&(v="_i");v=this.joinBy=
390
- p(v);v[1]||(v[1]=v[0]);c&&z(c,function(b,d){var e=0;if(l(b))c[d]={value:b};else if(n(b)){c[d]={};!g.keys&&b.length>y.length&&"string"===typeof b[0]&&(c[d]["hc-key"]=b[0],++e);for(var f=0;f<y.length;++f,++e)y[f]&&void 0!==b[e]&&(0<y[f].indexOf(".")?a.Point.prototype.setNestedProperty(c[d],b[e],y[f]):c[d][y[f]]=b[e])}w&&(c[d]._i=d)});this.getBox(c);(this.chart.mapTransforms=J=q&&q.mapTransforms||r&&r["hc-transform"]||J)&&a.objectEach(J,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=
391
- Math.sin(a.rotation))});if(r){"FeatureCollection"===r.type&&(this.mapTitle=r.title,r=a.geojson(r,this.type,this));this.mapData=r;this.mapMap={};for(J=0;J<r.length;J++)q=r[J],u=q.properties,q._i=J,v[0]&&u&&u[v[0]]&&(q[v[0]]=u[v[0]]),L[q[v[0]]]=q;this.mapMap=L;c&&v[1]&&z(c,function(a){L[a[v[1]]]&&B.push(L[a[v[1]]])});g.allAreas?(this.getBox(r),c=c||[],v[1]&&z(c,function(a){B.push(a[v[1]])}),B="|"+f(B,function(a){return a&&a[v[0]]}).join("|")+"|",z(r,function(a){v[0]&&-1!==B.indexOf("|"+a[v[0]]+"|")||
392
- (c.push(h(a,{value:null})),e=!1)})):this.getBox(B)}k.prototype.setData.call(this,c,b,d,e)},drawGraph:r,drawDataLabels:r,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,d=a.yAxis,e=a.doFullTranslate();a.generatePoints();z(a.data,function(c){c.plotX=b.toPixels(c._midX,!0);c.plotY=d.toPixels(c._midY,!0);e&&(c.shapeType="path",c.shapeArgs={d:a.translatePath(c.path)})});a.translateColors()},
393
- pointAttribs:function(a,b){b=this.colorAttribs(a);b["stroke-width"]=v(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=this,b=a.xAxis,d=a.yAxis,e=a.group,f=a.chart,h=f.renderer,k,l,n,p,r=this.baseTrans,v,y,B,m,A;a.transformGroup||(a.transformGroup=h.g().attr({scaleX:1,scaleY:1}).add(e),a.transformGroup.survive=!0);a.doFullTranslate()?(a.group=a.transformGroup,u.column.prototype.drawPoints.apply(a),a.group=e,
394
- z(a.points,function(b){b.graphic&&(b.name&&b.graphic.addClass("highcharts-name-"+b.name.replace(/ /g,"-").toLowerCase()),b.properties&&b.properties["hc-key"]&&b.graphic.addClass("highcharts-key-"+b.properties["hc-key"].toLowerCase()),b.graphic.css(a.pointAttribs(b,b.selected&&"select")))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:d.min-d.minPixelPadding/d.transA+(d.reversed?0:d.len/d.transA),transAX:b.transA,transAY:d.transA},this.transformGroup.animate({translateX:0,translateY:0,
395
- scaleX:1,scaleY:1})):(k=b.transA/r.transAX,l=d.transA/r.transAY,n=b.toPixels(r.originX,!0),p=d.toPixels(r.originY,!0),.99<k&&1.01>k&&.99<l&&1.01>l&&(l=k=1,n=Math.round(n),p=Math.round(p)),v=this.transformGroup,f.renderer.globalAnimation?(y=v.attr("translateX"),B=v.attr("translateY"),m=v.attr("scaleX"),A=v.attr("scaleY"),v.attr({animator:0}).animate({animator:1},{step:function(a,b){v.attr({translateX:y+(n-y)*b.pos,translateY:B+(p-B)*b.pos,scaleX:m+(k-m)*b.pos,scaleY:A+(l-A)*b.pos})}})):v.attr({translateX:n,
396
- translateY:p,scaleX:k,scaleY:l}));e.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(k||1));this.drawMapDataLabels()},drawMapDataLabels:function(){k.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=k.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,
397
- c=this.group,d=this.xAxis,e=this.yAxis,f=d.pos,h=e.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:f+d.len/2,translateY:h+e.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:f,translateY:h,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs=
398
- {scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},z(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){u.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){u.column.prototype.animateDrillupTo.call(this,a)}}),B({applyOptions:function(a,b){a=e.prototype.applyOptions.call(this,a,b);b=this.series;var c=
399
- b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),B(a,c)):a.value=a.value||null);return a},onMouseOver:function(c){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)e.prototype.onMouseOver.call(this,c);else this.series.onMouseOut(c)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},y))})(I);(function(a){var y=
400
- a.seriesType;y("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(I);(function(a){var y=a.merge,z=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,l){a=void 0!==a.lat&&void 0!==a.lon?y(a,this.series.chart.fromLatLonToPoint(a)):a;return z.prototype.applyOptions.call(this,
401
- a,l)}})})(I);(function(a){var y=a.arrayMax,z=a.arrayMin,B=a.Axis,l=a.each,f=a.isNumber,h=a.noop,r=a.pick,v=a.pInt,n=a.Point,e=a.seriesType,k=a.seriesTypes;e("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,
402
- zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(a,e,h,c){var b,d,k,l=this.zData,n=[],p=this.options,r="width"!==p.sizeBy,u=p.zThreshold,v=e-a;d=0;for(b=l.length;d<b;d++)k=l[d],p.sizeByAbsoluteValue&&null!==k&&(k=Math.abs(k-u),e=v=Math.max(e-u,Math.abs(a-u)),a=0),f(k)?k<a?k=h/2-1:(k=0<v?(k-a)/v:.5,r&&0<=k&&(k=Math.sqrt(k)),k=Math.ceil(h+k*(c-
403
- h))/2):k=null,n.push(k);this.radii=n},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(l(this.points,function(a){var d=a.graphic,c;d&&d.width&&(c={x:d.x,y:d.y,width:d.width,height:d.height},d.attr({x:a.plotX,y:a.plotY,width:1,height:1}),d.animate(c,this.options.animation))},this),this.animate=null)},translate:function(){var d,e=this.data,h,c,b=this.radii;k.scatter.prototype.translate.call(this);for(d=e.length;d--;)h=e[d],c=b?b[d]:0,f(c)&&c>=this.minPxSize/2?(h.marker=a.extend(h.marker,
404
- {radius:c,width:2*c,height:2*c}),h.dlBox={x:h.plotX-c,y:h.plotY-c,width:2*c,height:2*c}):h.shapeArgs=h.plotY=h.dlBox=void 0},alignDataLabel:k.column.prototype.alignDataLabel,buildKDTree:h,applyZones:h},{haloPath:function(a){return n.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});B.prototype.beforePadding=function(){var d=this,e=this.len,h=this.chart,c=0,b=e,g=this.isXAxis,k=g?"xData":"yData",n=this.min,B={},C=Math.min(h.plotWidth,h.plotHeight),H=Number.MAX_VALUE,
405
- x=-Number.MAX_VALUE,w=this.max-n,E=e/w,D=[];l(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&h.options.chart.ignoreHiddenSeries||(d.allowZoomOutside=!0,D.push(b),g&&(l(["minSize","maxSize"],function(a){var b=c[a],d=/%$/.test(b),b=v(b);B[a]=d?C*b/100:b}),b.minPxSize=B.minSize,b.maxPxSize=Math.max(B.maxSize,B.minSize),b=a.grep(b.zData,a.isNumber),b.length&&(H=r(c.zMin,Math.min(H,Math.max(z(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),x=r(c.zMax,Math.max(x,y(b))))))});
406
- l(D,function(a){var e=a[k],h=e.length,l;g&&a.getRadii(H,x,a.minPxSize,a.maxPxSize);if(0<w)for(;h--;)f(e[h])&&d.dataMin<=e[h]&&e[h]<=d.dataMax&&(l=a.radii[h],c=Math.min((e[h]-n)*E-l,c),b=Math.max((e[h]-n)*E+l,b))});D.length&&0<w&&!this.isLog&&(b-=e,E*=(e+c-b)/e,l([["min","userMin",c],["max","userMax",b]],function(a){void 0===r(d.options[a[0]],d[a[1]])&&(d[a[0]]+=a[2]/E)}))}})(I);(function(a){var y=a.merge,z=a.Point,B=a.seriesType,l=a.seriesTypes;l.bubble&&B("mapbubble","bubble",{animationLimit:500,
407
- tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:l.map.prototype.getMapData,getBox:l.map.prototype.getBox,setData:l.map.prototype.setData},{applyOptions:function(a,h){return a&&void 0!==a.lat&&void 0!==a.lon?z.prototype.applyOptions.call(this,y(a,this.series.chart.fromLatLonToPoint(a)),h):l.map.prototype.pointClass.prototype.applyOptions.call(this,a,h)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(I);(function(a){var y=
408
- a.colorPointMixin,z=a.each,B=a.merge,l=a.noop,f=a.pick,h=a.Series,r=a.seriesType,v=a.seriesTypes;r("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},B(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,
409
- directTouch:!0,init:function(){var a;v.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=f(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,e=this.xAxis,h=this.yAxis,d=a.pointPadding||0,l=function(a,c,b){return Math.min(Math.max(c,a),b)};this.generatePoints();z(this.points,function(k){var c=(a.colsize||1)/2,b=(a.rowsize||1)/2,g=l(Math.round(e.len-e.translate(k.x-c,0,1,0,1)),-e.len,2*e.len),c=l(Math.round(e.len-e.translate(k.x+
410
- c,0,1,0,1)),-e.len,2*e.len),n=l(Math.round(h.translate(k.y-b,0,1,0,1)),-h.len,2*h.len),b=l(Math.round(h.translate(k.y+b,0,1,0,1)),-h.len,2*h.len),p=f(k.pointPadding,d);k.plotX=k.clientX=(g+c)/2;k.plotY=(n+b)/2;k.shapeType="rect";k.shapeArgs={x:Math.min(g,c)+p,y:Math.min(n,b)+p,width:Math.abs(c-g)-2*p,height:Math.abs(b-n)-2*p}});this.translateColors()},drawPoints:function(){v.column.prototype.drawPoints.call(this);z(this.points,function(a){a.graphic.css(this.colorAttribs(a))},this)},animate:l,getBox:l,
411
- drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:v.column.prototype.alignDataLabel,getExtremes:function(){h.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;h.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var e=this.shapeArgs;return["M",e.x-a,e.y-a,"L",e.x-a,e.y+e.height+a,e.x+e.width+a,e.y+e.height+a,e.x+e.width+a,e.y-a,"Z"]}},y))})(I);(function(a){function y(a,e){var f,d,h,l=!1,c=a.x,b=a.y;
412
- a=0;for(f=e.length-1;a<e.length;f=a++)d=e[a][1]>b,h=e[f][1]>b,d!==h&&c<(e[f][0]-e[a][0])*(b-e[a][1])/(e[f][1]-e[a][1])+e[a][0]&&(l=!l);return l}var z=a.Chart,B=a.each,l=a.extend,f=a.format,h=a.merge,r=a.win,v=a.wrap;z.prototype.transformFromLatLon=function(f,e){if(void 0===r.proj4)return a.error(21),{x:0,y:null};f=r.proj4(e.crs,[f.lon,f.lat]);var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),d=e.sinAngle||e.rotation&&Math.sin(e.rotation);f=e.rotation?[f[0]*h+f[1]*d,-f[0]*d+f[1]*h]:f;return{x:((f[0]-
413
- (e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset||0)-f[1])*(e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}};z.prototype.transformToLatLon=function(f,e){if(void 0===r.proj4)a.error(21);else{f={x:((f.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-f.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),d=e.sinAngle||e.rotation&&Math.sin(e.rotation);
414
- e=r.proj4(e.crs,"WGS84",e.rotation?{x:f.x*h+f.y*-d,y:f.x*d+f.y*h}:f);return{lat:e.y,lon:e.x}}};z.prototype.fromPointToLatLon=function(f){var e=this.mapTransforms,h;if(e){for(h in e)if(e.hasOwnProperty(h)&&e[h].hitZone&&y({x:f.x,y:-f.y},e[h].hitZone.coordinates[0]))return this.transformToLatLon(f,e[h]);return this.transformToLatLon(f,e["default"])}a.error(22)};z.prototype.fromLatLonToPoint=function(f){var e=this.mapTransforms,h,d;if(!e)return a.error(22),{x:0,y:null};for(h in e)if(e.hasOwnProperty(h)&&
415
- e[h].hitZone&&(d=this.transformFromLatLon(f,e[h]),y({x:d.x,y:-d.y},e[h].hitZone.coordinates[0])))return d;return this.transformFromLatLon(f,e["default"])};a.geojson=function(a,e,h){var d=[],k=[],p=function(a){var b,c=a.length;k.push("M");for(b=0;b<c;b++)1===b&&k.push("L"),k.push(a[b][0],-a[b][1])};e=e||"map";B(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var f;k=[];"map"===e||"mapbubble"===e?("Polygon"===c?(B(b,p),k.push("Z")):"MultiPolygon"===c&&(B(b,function(a){B(a,
416
- p)}),k.push("Z")),k.length&&(f={path:k})):"mapline"===e?("LineString"===c?p(b):"MultiLineString"===c&&B(b,p),k.length&&(f={path:k})):"mappoint"===e&&"Point"===c&&(f={x:b[0],y:-b[1]});f&&d.push(l(f,{name:a.name||a.NAME,properties:a}))});h&&a.copyrightShort&&(h.chart.mapCredits=f(h.chart.options.credits.mapText,{geojson:a}),h.chart.mapCreditsFull=f(h.chart.options.credits.mapTextFull,{geojson:a}));return d};v(z.prototype,"addCredits",function(a,e){e=h(!0,this.options.credits,e);this.mapCredits&&(e.href=
417
- null);a.call(this,e);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(I);(function(a){function y(a,d,e,f,c,b,g,h){return["M",a+c,d,"L",a+e-b,d,"C",a+e-b/2,d,a+e,d+b/2,a+e,d+b,"L",a+e,d+f-g,"C",a+e,d+f-g/2,a+e-g/2,d+f,a+e-g,d+f,"L",a+h,d+f,"C",a+h/2,d+f,a,d+f-h/2,a,d+f-h,"L",a,d+c,"C",a,d+c/2,a+c/2,d,a+c,d,"Z"]}var z=a.Chart,B=a.defaultOptions,l=a.each,f=a.extend,h=a.merge,r=a.pick,v=a.Renderer,n=a.SVGRenderer,e=a.VMLRenderer;f(B.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});
418
- B.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));return a};a.maps={};n.prototype.symbols.topbutton=
419
- function(a,d,e,f,c){return y(a-1,d-1,e,f,c.r,c.r,0,0)};n.prototype.symbols.bottombutton=function(a,d,e,f,c){return y(a-1,d-1,e,f,0,0,c.r,c.r)};v===e&&l(["topbutton","bottombutton"],function(a){e.prototype.symbols[a]=n.prototype.symbols[a]});a.Map=a.mapChart=function(e,d,f){var k="string"===typeof e||e.nodeName,c=arguments[k?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},g,l=a.getOptions().credits;g=c.series;c.series=null;c=h({chart:{panning:"xy",type:"map"},credits:{mapText:r(l.mapText,
420
- ' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:r(l.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:h(b,{reversed:!0})},c,{chart:{inverted:!1,alignTicks:!1}});c.series=g;return k?new z(e,c,f):new z(c,d)}})(I);return I});
49
+ credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(y){a.defaultOptions=z(!0,a.defaultOptions,y);a.time.update(z(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(z(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,z,m){return a.time.dateFormat(y,
50
+ z,m)}})(K);(function(a){var z,y,C=a.addEvent,m=a.animate,d=a.attr,e=a.charts,u=a.color,w=a.css,q=a.createElement,h=a.defined,p=a.deg2rad,f=a.destroyObjectProperties,t=a.doc,n=a.each,c=a.extend,b=a.erase,l=a.grep,g=a.hasTouch,E=a.inArray,x=a.isArray,I=a.isFirefox,G=a.isMS,B=a.isObject,v=a.isString,A=a.isWebKit,F=a.merge,M=a.noop,J=a.objectEach,r=a.pick,D=a.pInt,S=a.removeEvent,k=a.splat,H=a.stop,T=a.svg,Q=a.SVG_NS,P=a.symbolSizes,N=a.win;z=a.SVGElement=function(){return this};c(z.prototype,{opacity:1,
51
+ SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,b){this.element="span"===b?q(b):t.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,k,c){k=a.animObject(r(k,this.renderer.globalAnimation,!0));0!==k.duration?(c&&(k.complete=c),m(this,b,k)):(this.attr(b,null,c),k.step&&k.step.call(this));return this},complexColor:function(b,k,r){var c=this.renderer,D,g,L,
52
+ l,f,v,A,e,H,p,E,d=[],t;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?g="radialGradient":b.linearGradient&&(g="linearGradient");g&&(L=b[g],f=c.gradients,A=b.stops,p=r.radialReference,x(L)&&(b[g]=L={x1:L[0],y1:L[1],x2:L[2],y2:L[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===g&&p&&!h(L.gradientUnits)&&(l=L,L=F(L,c.getRadialAttr(p,l),{gradientUnits:"userSpaceOnUse"})),J(L,function(a,b){"id"!==b&&d.push(b,a)}),J(A,function(a){d.push(a)}),d=d.join(","),f[d]?
53
+ E=f[d].attr("id"):(L.id=E=a.uniqueKey(),f[d]=v=c.createElement(g).attr(L).add(c.defs),v.radAttr=l,v.stops=[],n(A,function(b){0===b[1].indexOf("rgba")?(D=a.color(b[1]),e=D.get("rgb"),H=D.get("a")):(e=b[1],H=1);b=c.createElement("stop").attr({offset:b[0],"stop-color":e,"stop-opacity":H}).add(v);v.stops.push(b)})),t="url("+c.url+"#"+E+")",r.setAttribute(k,t),r.gradient=d,b.toString=function(){return t})})},applyTextOutline:function(k){var r=this.element,c,D,g,L,l;-1!==k.indexOf("contrast")&&(k=k.replace(/contrast/g,
54
+ this.renderer.getContrast(r.style.fill)));k=k.split(" ");D=k[k.length-1];if((g=k[0])&&"none"!==g&&a.svg){this.fakeTS=!0;k=[].slice.call(r.getElementsByTagName("tspan"));this.ySetter=this.xSetter;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,k){return 2*b+k});for(l=k.length;l--;)c=k[l],"highcharts-text-outline"===c.getAttribute("class")&&b(k,r.removeChild(c));L=r.firstChild;n(k,function(a,b){0===b&&(a.setAttribute("x",r.getAttribute("x")),b=r.getAttribute("y"),a.setAttribute("y",b||0),null===b&&r.setAttribute("y",
55
+ 0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:D,stroke:D,"stroke-width":g,"stroke-linejoin":"round"});r.insertBefore(a,L)})}},attr:function(a,b,k,r){var c,D=this.element,g,L=this,l,f;"string"===typeof a&&void 0!==b&&(c=a,a={},a[c]=b);"string"===typeof a?L=(this[a+"Getter"]||this._defaultGetter).call(this,a,D):(J(a,function(b,k){l=!1;r||H(this,k);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(k)&&(g||(this.symbolAttr(a),g=!0),l=!0);!this.rotation||
56
+ "x"!==k&&"y"!==k||(this.doTransform=!0);l||(f=this[k+"Setter"]||this._defaultSetter,f.call(this,b,k,D))},this),this.afterSetters());k&&k.call(this);return L},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var k=this.attr("class")||"";-1===k.indexOf(a)&&(b||(a=(k+(k?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==E(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",
57
+ (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;n("x y r start end width height innerR anchorX anchorY".split(" "),function(k){b[k]=r(a[k],b[k])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var k;b=b||a.strokeWidth||0;k=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+k;a.y=Math.floor(a.y||this.y||0)+k;a.width=Math.floor((a.width||
58
+ this.width||0)-2*k);a.height=Math.floor((a.height||this.height||0)-2*k);h(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,k={},r=this.element,g,l="",L,f=!b,h=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&J(a,function(a,r){a!==b[r]&&(k[r]=a,f=!0)});f&&(b&&(a=c(b,k)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&a.width&&(g=this.textWidth=D(a.width))),this.styles=a,g&&!T&&this.renderer.forExport&&
59
+ delete a.width,r.namespaceURI===this.SVG_NS?(L=function(a,b){return"-"+b.toLowerCase()},J(a,function(a,b){-1===E(b,h)&&(l+=b.replace(/([A-Z])/g,L)+":"+a+";")}),l&&d(r,"style",l)):w(r,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return N.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===
60
+ a.length-2?a=D(a):(b=t.createElementNS(Q,"rect"),d(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var k=this,r=k.element;g&&"click"===a?(r.ontouchstart=function(a){k.touchEventFired=Date.now();a.preventDefault();b.call(r,a)},r.onclick=function(a){(-1===N.navigator.userAgent.indexOf("Android")||1100<Date.now()-(k.touchEventFired||0))&&b.call(r,a)}):r["on"+a]=b;return this},setRadialReference:function(a){var b=
61
+ this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,k=this.scaleX,c=this.scaleY,g=this.inverted,D=this.rotation,l=this.matrix,f=this.element;g&&(a+=this.width,b+=this.height);a=["translate("+
62
+ a+","+b+")"];h(l)&&a.push("matrix("+l.join(",")+")");g?a.push("rotate(90) scale(-1,1)"):D&&a.push("rotate("+D+" "+r(this.rotationOriginX,f.getAttribute("x"),0)+" "+r(this.rotationOriginY,f.getAttribute("y")||0)+")");(h(k)||h(c))&&a.push("scale("+r(k,1)+" "+r(c,1)+")");a.length&&f.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,k,c){var g,D,l,f,h={};D=this.renderer;l=D.alignedObjects;var n,L;if(a){if(this.alignOptions=
63
+ a,this.alignByTranslate=k,!c||v(c))this.alignTo=g=c||"renderer",b(l,this),l.push(this),c=null}else a=this.alignOptions,k=this.alignByTranslate,g=this.alignTo;c=r(c,D[g],D);g=a.align;D=a.verticalAlign;l=(c.x||0)+(a.x||0);f=(c.y||0)+(a.y||0);"right"===g?n=1:"center"===g&&(n=2);n&&(l+=(c.width-(a.width||0))/n);h[k?"translateX":"x"]=Math.round(l);"bottom"===D?L=1:"middle"===D&&(L=2);L&&(f+=(c.height-(a.height||0))/L);h[k?"translateY":"y"]=Math.round(f);this[this.placed?"animate":"attr"](h);this.placed=
64
+ !0;this.alignAttr=h;return this},getBBox:function(a,b){var k,g=this.renderer,D,l=this.element,f=this.styles,v,L=this.textStr,A,e=g.cache,H=g.cacheKeys,x=l.namespaceURI===this.SVG_NS,d;b=r(b,this.rotation);D=b*p;v=l&&z.prototype.getStyle.call(l,"font-size");h(L)&&(d=L.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,"0")),d+=["",b||0,v,this.textWidth,f&&f.textOverflow].join());d&&!a&&(k=e[d]);if(!k){if(x||g.forExport){try{(A=this.fakeTS&&function(a){n(l.querySelectorAll(".highcharts-text-outline"),
65
+ function(b){b.style.display=a})})&&A("none"),k=l.getBBox?c({},l.getBBox()):{width:l.offsetWidth,height:l.offsetHeight},A&&A("")}catch(X){}if(!k||0>k.width)k={width:0,height:0}}else k=this.htmlGetBBox();g.isSVG&&(a=k.width,g=k.height,x&&(k.height=g={"11px,17":14,"13px,20":16}[f&&f.fontSize+","+Math.round(g)]||g),b&&(k.width=Math.abs(g*Math.sin(D))+Math.abs(a*Math.cos(D)),k.height=Math.abs(g*Math.cos(D))+Math.abs(a*Math.sin(D))));if(d&&0<k.height){for(;250<H.length;)delete e[H.shift()];e[d]||H.push(d);
66
+ e[d]=k}}return k},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,k=this.element,r;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)r=this.zIndexSetter();r||(a?a.element:b.box).appendChild(k);
67
+ if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,k=a.element||{},r=a.renderer.isSVG&&"SPAN"===k.nodeName&&a.parentGroup,c=k.ownerSVGElement,g=a.clipPath;k.onclick=k.onmouseout=k.onmouseover=k.onmousemove=k.point=null;H(a);g&&c&&(n(c.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),k=g.element.id;(-1<b.indexOf("(#"+k+")")||-1<b.indexOf('("#'+k+'")'))&&a.removeAttribute("clip-path")}),
68
+ a.clipPath=g.destroy());if(a.stops){for(c=0;c<a.stops.length;c++)a.stops[c]=a.stops[c].destroy();a.stops=null}for(a.safeRemoveChild(k);r&&r.div&&0===r.div.childNodes.length;)k=r.parentGroup,a.safeRemoveChild(r.div),delete r.div,r=k;a.alignTo&&b(a.renderer.alignedObjects,a);J(a,function(b,k){delete a[k]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=r(this[a+"Value"],this[a],this.element?
69
+ this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,k){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(k.setAttribute(b,a),this[b]=a)},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,k){this[b]=a;k.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=t.createElementNS(this.SVG_NS,
70
+ "title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(t.createTextNode(String(r(a),"").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))},fillSetter:function(a,b,k){"string"===typeof a?k.setAttribute(b,a):a&&this.complexColor(a,b,k)},visibilitySetter:function(a,b,k){"inherit"===a?k.removeAttribute(b):this[b]!==a&&k.setAttribute(b,
71
+ a);this[b]=a},zIndexSetter:function(a,b){var k=this.renderer,r=this.parentGroup,c=(r||k).element||k.box,g,l=this.element,f,v,k=c===k.box;g=this.added;var n;h(a)?(l.setAttribute("data-z-index",a),a=+a,this[b]===a&&(g=!1)):h(this[b])&&l.removeAttribute("data-z-index");this[b]=a;if(g){(a=this.zIndex)&&r&&(r.handleZ=!0);b=c.childNodes;for(n=b.length-1;0<=n&&!f;n--)if(r=b[n],g=r.getAttribute("data-z-index"),v=!h(g),r!==l)if(0>a&&v&&!k&&!n)c.insertBefore(l,b[n]),f=!0;else if(D(g)<=a||v&&(!h(a)||0<=a))c.insertBefore(l,
72
+ b[n+1]||null),f=!0;f||(c.insertBefore(l,b[k?3:0]||null),f=!0)}return f},_defaultSetter:function(a,b,k){k.setAttribute(b,a)}});z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};y=a.SVGRenderer=function(){this.init.apply(this,
73
+ arguments)};c(y.prototype,{Element:z,SVG_NS:Q,init:function(a,b,k,r,c,g){var D;r=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});D=r.element;a.appendChild(D);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(D,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=D;this.boxWrapper=r;this.alignedObjects=[];this.url=(I||A)&&t.getElementsByTagName("base").length?N.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(t.createTextNode("Created with Highmaps 6.2.0"));
74
+ this.defs=this.createElement("defs").add();this.allowHTML=g;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,k,!1);var l;I&&a.getBoundingClientRect&&(b=function(){w(a,{left:0,top:0});l=a.getBoundingClientRect();w(a,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})},b(),this.unSubPixelFix=C(N,"resize",b))},definition:function(a){function b(a,c){var g;n(k(a),function(a){var k=r.createElement(a.tagName),D={};J(a,function(a,b){"tagName"!==
75
+ b&&"children"!==b&&"textContent"!==b&&(D[b]=a)});k.attr(D);k.add(c||r.defs);a.textContent&&k.element.appendChild(t.createTextNode(a.textContent));b(a.children||[],k);g=k});return g}var r=this;return b(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 b=
76
+ new this.Element;b.init(this,a);return b},draw:M,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,k,r,c,g,D){var l=this,f=a.rotation,h,v=r?1:0,n=(k||r).length,A=n,e=[],H=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(t.createTextNode(a))},d=function(g,f){f=f||g;if(void 0===e[f])if(b.getSubStringLength)try{e[f]=c+b.getSubStringLength(0,r?f+1:f)}catch(Y){}else l.getSpanWidth&&(H(D(k||r,g)),e[f]=c+l.getSpanWidth(a,
77
+ b));return e[f]},x,p;a.rotation=0;x=d(b.textContent.length);if(p=c+x>g){for(;v<=n;)A=Math.ceil((v+n)/2),r&&(h=D(r,A)),x=d(A,h&&h.length-1),v===n?v=n+1:x>g?n=A-1:v=A;0===n?H(""):k&&n===k.length-1||H(h||D(k||r,A))}r&&r.splice(0,A);a.actualWidth=x;a.rotation=f;return p},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,k=this,c=k.forExport,g=r(a.textStr,"").toString(),f=-1!==g.indexOf("\x3c"),v=b.childNodes,h,A=d(b,"x"),
78
+ e=a.styles,H=a.textWidth,x=e&&e.lineHeight,p=e&&e.textOutline,F=e&&"ellipsis"===e.textOverflow,S=e&&"nowrap"===e.whiteSpace,B=e&&e.fontSize,q,G,m=v.length,e=H&&!a.added&&this.box,M=function(a){return x?D(x):k.fontMetrics(void 0,a.getAttribute("style")?a:b).h},I=function(a,b){J(k.escapes,function(k,r){b&&-1!==E(k,b)||(a=a.toString().replace(new RegExp(k,"g"),r))});return a},L=function(a,b){var k;k=a.indexOf("\x3c");a=a.substring(k,a.indexOf("\x3e")-k);k=a.indexOf(b+"\x3d");if(-1!==k&&(k=k+b.length+
79
+ 1,b=a.charAt(k),'"'===b||"'"===b))return a=a.substring(k+1),a.substring(0,a.indexOf(b))};q=[g,F,S,x,p,B,H].join();if(q!==a.textCache){for(a.textCache=q;m--;)b.removeChild(v[m]);f||p||F||H||-1!==g.indexOf(" ")?(e&&e.appendChild(b),g=f?g.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[g],g=l(g,function(a){return""!==
80
+ a}),n(g,function(r,g){var D,l=0,f=0;r=r.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");D=r.split("|||");n(D,function(r){if(""!==r||1===D.length){var v={},n=t.createElementNS(k.SVG_NS,"tspan"),e,x;(e=L(r,"class"))&&d(n,"class",e);if(e=L(r,"style"))e=e.replace(/(;| |^)color([ :])/,"$1fill$2"),d(n,"style",e);(x=L(r,"href"))&&!c&&(d(n,"onclick",'location.href\x3d"'+x+'"'),d(n,"class","highcharts-anchor"));r=I(r.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");
81
+ if(" "!==r){n.appendChild(t.createTextNode(r));l?v.dx=0:g&&null!==A&&(v.x=A);d(n,v);b.appendChild(n);!l&&G&&(!T&&c&&w(n,{display:"block"}),d(n,"dy",M(n)));if(H){var p=r.replace(/([^\^])-/g,"$1- ").split(" "),v=!S&&(1<D.length||g||1<p.length);x=0;var E=M(n);if(F)h=k.truncate(a,n,r,void 0,0,Math.max(0,H-parseInt(B||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(v)for(;p.length;)p.length&&!S&&0<x&&(n=t.createElementNS(Q,"tspan"),d(n,{dy:E,x:A}),e&&d(n,"style",e),n.appendChild(t.createTextNode(p.join(" ").replace(/- /g,
82
+ "-"))),b.appendChild(n)),k.truncate(a,n,null,p,0===x?f:0,H,function(a,b){return p.slice(0,b).join(" ").replace(/- /g,"-")}),f=a.actualWidth,x++}l++}}});G=G||b.childNodes.length}),F&&h&&a.attr("title",I(a.textStr,["\x26lt;","\x26gt;"])),e&&e.removeChild(b),p&&a.applyTextOutline&&a.applyTextOutline(p)):b.appendChild(t.createTextNode(I(g)))}},getContrast:function(a){a=u(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,k,r,c,g,D,l,f){var v=this.label(a,
83
+ b,k,f,null,null,null,null,"button"),n=0;v.attr(F({padding:8,r:2},c));C(v.element,G?"mouseover":"mouseenter",function(){3!==n&&v.setState(1)});C(v.element,G?"mouseout":"mouseleave",function(){3!==n&&v.setState(n)});v.setState=function(a){1!==a&&(v.state=n=a);v.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return v.on("click",function(a){3!==n&&r.call(v,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=
84
+ Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};x(a)?b.d=a:B(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,k){a=B(a)?a:{x:a,y:b,r:k};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,k){k.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,k,r,c,g){B(a)?(r=a,b=r.y,k=r.r,a=r.x):r={innerR:r,start:c,end:g};a=this.symbol("arc",a,b,k,k,r);a.r=k;return a},rect:function(a,b,k,r,c,g){c=B(a)?a.r:c;g=
85
+ this.createElement("rect");a=B(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(k,0),height:Math.max(r,0)};c&&(a.r=c);g.rSetter=function(a,b,k){d(k,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,k){var c=this.alignedObjects,g=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:r(k,!0)?void 0:0});g--;)c[g].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+
86
+ a}):b},image:function(a,b,k,r,g,D){var l={preserveAspectRatio:"none"},f,v=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},n=function(b){v(f.element,a);D.call(f,b)};1<arguments.length&&c(l,{x:b,y:k,width:r,height:g});f=this.createElement("image").attr(l);D?(v(f.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),l=new N.Image,C(l,"load",n),l.src=a,l.complete&&n({})):v(f.element,a);return f},
87
+ symbol:function(a,b,k,g,D,l){var f=this,v,A=/^url\((.*?)\)$/,H=A.test(a),x=!H&&(this.symbols[a]?a:"circle"),p=x&&this.symbols[x],d=h(b)&&p&&p.call(this.symbols,Math.round(b),Math.round(k),g,D,l),F,E;p?(v=this.path(d),c(v,{symbolName:x,x:b,y:k,width:g,height:D}),l&&c(v,l)):H&&(F=a.match(A)[1],v=this.image(F),v.imgwidth=r(P[F]&&P[F].width,l&&l.width),v.imgheight=r(P[F]&&P[F].height,l&&l.height),E=function(){v.attr({width:v.width,height:v.height})},n(["width","height"],function(a){v[a+"Setter"]=function(a,
88
+ b){var k={},r=this["img"+b],c="width"===b?"translateX":"translateY";this[b]=a;h(r)&&(this.element&&this.element.setAttribute(b,r),this.alignByTranslate||(k[c]=((this[b]||0)-r)/2,this.attr(k)))}}),h(b)&&v.attr({x:b,y:k}),v.isImg=!0,h(v.imgwidth)&&h(v.imgheight)?E():(v.attr({width:0,height:0}),q("img",{onload:function(){var a=e[f.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),t.body.appendChild(this));P[F]={width:this.width,height:this.height};v.imgwidth=this.width;v.imgheight=
89
+ this.height;v.element&&E();this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&a&&a.onload)a.onload()},src:F}),this.imgCount++));return v},symbols:{circle:function(a,b,k,r){return this.arc(a+k/2,b+r/2,k/2,r/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,k,r){return["M",a,b,"L",a+k,b,a+k,b+r,a,b+r,"Z"]},triangle:function(a,b,k,r){return["M",a+k/2,b,"L",a+k,b+r,a,b+r,"Z"]},"triangle-down":function(a,b,k,r){return["M",a,b,"L",a+k,b,a+k/2,b+r,"Z"]},diamond:function(a,
90
+ b,k,r){return["M",a+k/2,b,"L",a+k,b+r/2,a+k/2,b+r,a,b+r/2,"Z"]},arc:function(a,b,k,c,g){var D=g.start,l=g.r||k,f=g.r||c||k,v=g.end-.001;k=g.innerR;c=r(g.open,.001>Math.abs(g.end-g.start-2*Math.PI));var n=Math.cos(D),e=Math.sin(D),A=Math.cos(v),v=Math.sin(v);g=.001>g.end-D-Math.PI?0:1;l=["M",a+l*n,b+f*e,"A",l,f,0,g,1,a+l*A,b+f*v];h(k)&&l.push(c?"M":"L",a+k*A,b+k*v,"A",k,k,0,g,0,a+k*n,b+k*e);l.push(c?"":"Z");return l},callout:function(a,b,k,r,c){var g=Math.min(c&&c.r||0,k,r),D=g+6,l=c&&c.anchorX;c=
91
+ c&&c.anchorY;var f;f=["M",a+g,b,"L",a+k-g,b,"C",a+k,b,a+k,b,a+k,b+g,"L",a+k,b+r-g,"C",a+k,b+r,a+k,b+r,a+k-g,b+r,"L",a+g,b+r,"C",a,b+r,a,b+r,a,b+r-g,"L",a,b+g,"C",a,b,a,b,a+g,b];l&&l>k?c>b+D&&c<b+r-D?f.splice(13,3,"L",a+k,c-6,a+k+6,c,a+k,c+6,a+k,b+r-g):f.splice(13,3,"L",a+k,r/2,l,c,a+k,r/2,a+k,b+r-g):l&&0>l?c>b+D&&c<b+r-D?f.splice(33,3,"L",a,c+6,a-6,c,a,c-6,a,b+g):f.splice(33,3,"L",a,r/2,l,c,a,r/2,a,b+g):c&&c>r&&l>a+D&&l<a+k-D?f.splice(23,3,"L",l+6,b+r,l,b+r+6,l-6,b+r,a+g,b+r):c&&0>c&&l>a+D&&l<a+k-
92
+ D&&f.splice(3,3,"L",l-6,b,l,b-6,l+6,b,k-g,b);return f}},clipRect:function(b,k,r,c){var g=a.uniqueKey(),D=this.createElement("clipPath").attr({id:g}).add(this.defs);b=this.rect(b,k,r,c,0).add(D);b.id=g;b.clipPath=D;b.count=0;return b},text:function(a,b,k,r){var c={};if(r&&(this.allowHTML||!this.forExport))return this.html(a,b,k);c.x=Math.round(b||0);k&&(c.y=Math.round(k));h(a)&&(c.text=a);a=this.createElement("text").attr(c);r||(a.xSetter=function(a,b,k){var r=k.getElementsByTagName("tspan"),c,g=k.getAttribute(b),
93
+ D;for(D=0;D<r.length;D++)c=r[D],c.getAttribute(b)===g&&c.setAttribute(b,a);k.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&z.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?D(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,k){var r=a;b&&k&&(r=Math.max(r*Math.cos(b*p),4));return{x:-a/3*Math.sin(b*p),y:r}},label:function(b,k,r,g,D,l,f,v,e){var A=this,H=A.g("button"!==
94
+ e&&"label"),x=H.text=A.text("",0,0,f).attr({zIndex:1}),p,d,E=0,t=3,B=0,q,G,m,T,M,I={},J,Q=/^url\((.*?)\)$/.test(g),w=Q,u,P,N,L;e&&H.addClass("highcharts-"+e);w=!0;u=function(){return p.strokeWidth()%2/2};P=function(){var a=x.element.style,b={};d=(void 0===q||void 0===G||M)&&h(x.textStr)&&x.getBBox();H.width=(q||d.width||0)+2*t+B;H.height=(G||d.height||0)+2*t;J=t+A.fontMetrics(a&&a.fontSize,x).b;w&&(p||(H.box=p=A.symbols[g]||Q?A.symbol(g):A.rect(),p.addClass(("button"===e?"":"highcharts-label-box")+
95
+ (e?" highcharts-"+e+"-box":"")),p.add(H),a=u(),b.x=a,b.y=(v?-J:0)+a),b.width=Math.round(H.width),b.height=Math.round(H.height),p.attr(c(b,I)),I={})};N=function(){var a=B+t,b;b=v?0:J;h(q)&&d&&("center"===M||"right"===M)&&(a+={center:.5,right:1}[M]*(q-d.width));if(a!==x.x||b!==x.y)x.attr("x",a),x.hasBoxWidthChanged&&(d=x.getBBox(!0),P()),void 0!==b&&x.attr("y",b);x.x=a;x.y=b};L=function(a,b){p?p.attr(a,b):I[a]=b};H.onAdd=function(){x.add(H);H.attr({text:b||0===b?b:"",x:k,y:r});p&&h(D)&&H.attr({anchorX:D,
96
+ anchorY:l})};H.widthSetter=function(b){q=a.isNumber(b)?b:null};H.heightSetter=function(a){G=a};H["text-alignSetter"]=function(a){M=a};H.paddingSetter=function(a){h(a)&&a!==t&&(t=H.padding=a,N())};H.paddingLeftSetter=function(a){h(a)&&a!==B&&(B=a,N())};H.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==E&&(E=a,d&&H.attr({x:m}))};H.textSetter=function(a){void 0!==a&&x.textSetter(a);P();N()};H["stroke-widthSetter"]=function(a,b){a&&(w=!0);this["stroke-width"]=a;L(b,a)};H.rSetter=function(a,
97
+ b){L(b,a)};H.anchorXSetter=function(a,b){D=H.anchorX=a;L(b,Math.round(a)-u()-m)};H.anchorYSetter=function(a,b){l=H.anchorY=a;L(b,a-T)};H.xSetter=function(a){H.x=a;E&&(a-=E*((q||d.width)+2*t),H["forceAnimate:x"]=!0);m=Math.round(a);H.attr("translateX",m)};H.ySetter=function(a){T=H.y=Math.round(a);H.attr("translateY",T)};var y=H.css;return c(H,{css:function(a){if(a){var b={};a=F(a);n(H.textProps,function(k){void 0!==a[k]&&(b[k]=a[k],delete a[k])});x.css(b);"width"in b&&P()}return y.call(H,a)},getBBox:function(){return{width:d.width+
98
+ 2*t,height:d.height+2*t,x:d.x-t,y:d.y-t}},destroy:function(){S(H.element,"mouseenter");S(H.element,"mouseleave");x&&(x=x.destroy());p&&(p=p.destroy());z.prototype.destroy.call(H);H=A=P=N=L=null}})}});a.Renderer=y})(K);(function(a){var z=a.attr,y=a.createElement,C=a.css,m=a.defined,d=a.each,e=a.extend,u=a.isFirefox,w=a.isMS,q=a.isWebKit,h=a.pick,p=a.pInt,f=a.SVGRenderer,t=a.win,n=a.wrap;e(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=h(b&&a.width,
99
+ void 0);b&&(delete a.width,this.textWidth=c,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);C(this.element,a);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.x||0,g=this.y||0,f=this.textAlign||"left",n={left:0,center:.5,right:1}[f],h=this.styles,
100
+ e=h&&h.whiteSpace;C(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&d(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var h=this.rotation,t=this.textWidth&&p(this.textWidth),v=[h,f,b.innerHTML,this.textWidth,this.textAlign].join(),A;(A=t!==this.oldTextWidth)&&!(A=t>this.oldTextWidth)&&((A=this.textPxLength)||(C(b,{width:"",whiteSpace:e||"nowrap"}),A=b.offsetWidth),A=A>t);A&&/[ \-]/.test(b.textContent||b.innerText)?(C(b,{width:t+"px",display:"block",
101
+ whiteSpace:e||"normal"}),this.oldTextWidth=t,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;v!==this.cTT&&(e=a.fontMetrics(b.style.fontSize).b,!m(h)||h===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(h,n,e),this.getSpanCorrection(!m(h)&&this.textPxLength||b.offsetWidth,e,n,h,f));C(b,{left:l+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});this.cTT=v;this.oldRotation=h;this.oldAlign=f}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,l){var c={},f=this.renderer.getTransformKey();
102
+ c[f]=c.transform="rotate("+a+"deg)";c[f+(u?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+l+"px";C(this.element,c)},getSpanCorrection:function(a,b,l){this.xCorr=-a*l;this.yCorr=-b}});e(f.prototype,{getTransformKey:function(){return w&&!/Edge/.test(t.navigator.userAgent)?"-ms-transform":q?"-webkit-transform":u?"MozTransform":t.opera?"-o-transform":""},html:function(a,b,l){var c=this.createElement("span"),f=c.element,x=c.renderer,p=x.isSVG,t=function(a,b){d(["opacity","visibility"],function(c){n(a,
103
+ c+"Setter",function(a,c,g,r){a.call(this,c,g,r);b[g]=c})});a.addedSetters=!0};c.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=h(a,"");c.doTransform=!0};p&&t(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=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:a,x:Math.round(b),y:Math.round(l)}).css({position:"absolute"});
104
+ f.style.whiteSpace="nowrap";c.css=c.htmlCss;p&&(c.add=function(a){var b,g=x.box.parentNode,l=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)l.push(a),a=a.parentGroup;d(l.reverse(),function(a){function f(b,k){a[k]=b;"translateX"===k?r.left=b+"px":r.top=b+"px";a.doTransform=!0}var r,D=z(a.element,"class");D&&(D={className:D});b=a.div=a.div||y("div",D,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},
105
+ b||g);r=b.style;e(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){l[0].div&&c.on.apply({element:l[0].div},arguments);return a},translateXSetter:f,translateYSetter:f});a.addedSetters||t(a,r)})}}else b=g;b.appendChild(f);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(K);(function(a){var z=a.correctFloat,y=a.defined,C=a.destroyObjectProperties,m=a.fireEvent,d=a.isNumber,e=a.pick,u=a.deg2rad;a.Tick=function(a,
106
+ e,h,p,f){this.axis=a;this.pos=e;this.type=h||"";this.isNewLabel=this.isNew=!0;this.parameters=f||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;h||p||this.addLabel()};a.Tick.prototype={addLabel:function(){var d=this,q=d.axis,h=q.options,p=q.chart,f=q.categories,t=q.names,n=d.pos,c=e(d.options&&d.options.labels,h.labels),b=q.tickPositions,l=n===b[0],g=n===b[b.length-1],f=this.parameters.category||(f?e(f[n],t[n],n):n),E=d.label,b=b.info,x,m,G,B;q.isDatetimeAxis&&
107
+ b&&(m=p.time.resolveDTLFormat(h.dateTimeLabelFormats[!h.grid&&b.higherRanks[n]||b.unitName]),x=m.main);d.isFirst=l;d.isLast=g;d.formatCtx={axis:q,chart:p,isFirst:l,isLast:g,dateTimeLabelFormat:x,tickPositionInfo:b,value:q.isLog?z(q.lin2log(f)):f,pos:n};h=q.labelFormatter.call(d.formatCtx,this.formatCtx);if(B=m&&m.list)d.shortenLabel=function(){for(G=0;G<B.length;G++)if(E.attr({text:q.labelFormatter.call(a.extend(d.formatCtx,{dateTimeLabelFormat:B[G]}))}),E.getBBox().width<q.getSlotWidth(d)-2*e(c.padding,
108
+ 5))return;E.attr({text:""})};if(y(E))E&&E.textStr!==h&&(!E.textWidth||c.style&&c.style.width||E.styles.width||E.css({width:null}),E.attr({text:h}));else{if(d.label=E=y(h)&&c.enabled?p.renderer.text(h,0,0,c.useHTML).add(q.labelGroup):null)E.textPxLength=E.getBBox().width;d.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var d=this.axis,h=d.options.labels,p=a.x,f=d.chart.chartWidth,t=d.chart.spacing,n=e(d.labelLeft,
109
+ Math.min(d.pos,t[3])),t=e(d.labelRight,Math.max(d.isRadial?0:d.pos+d.len,f-t[1])),c=this.label,b=this.rotation,l={left:0,center:.5,right:1}[d.labelAlign||c.attr("align")],g=c.getBBox().width,E=d.getSlotWidth(this),x=E,m=1,G,B={};if(b||"justify"!==e(h.overflow,"justify"))0>b&&p-l*g<n?G=Math.round(p/Math.cos(b*u)-n):0<b&&p+l*g>t&&(G=Math.round((f-p)/Math.cos(b*u)));else if(f=p+(1-l)*g,p-l*g<n?x=a.x+x*(1-l)-n:f>t&&(x=t-a.x+x*l,m=-1),x=Math.min(E,x),x<E&&"center"===d.labelAlign&&(a.x+=m*(E-x-l*(E-Math.min(g,
110
+ x)))),g>x||d.autoRotation&&(c.styles||{}).width)G=x;G&&(this.shortenLabel?this.shortenLabel():(B.width=G,(h.style||{}).textOverflow||(B.textOverflow="ellipsis"),c.css(B)))},getPosition:function(e,d,h,p){var f=this.axis,t=f.chart,n=p&&t.oldChartHeight||t.chartHeight;e={x:e?a.correctFloat(f.translate(d+h,null,null,p)+f.transB):f.left+f.offset+(f.opposite?(p&&t.oldChartWidth||t.chartWidth)-f.right-f.left:0),y:e?n-f.bottom+f.offset-(f.opposite?f.height:0):a.correctFloat(n-f.translate(d+h,null,null,p)-
111
+ f.transB)};m(this,"afterGetPosition",{pos:e});return e},getLabelPosition:function(a,e,h,d,f,t,n,c){var b=this.axis,l=b.transA,g=b.reversed,p=b.staggerLines,x=b.tickRotCorr||{x:0,y:0},q=f.y,G=d||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),B={};y(q)||(q=0===b.side?h.rotation?-8:-h.getBBox().height:2===b.side?x.y+8:Math.cos(h.rotation*u)*(x.y-h.getBBox(!1,0).height/2));a=a+f.x+G+x.x-(t&&d?t*l*(g?-1:1):0);e=e+q-(t&&!d?t*l*(g?1:-1):0);p&&(h=n/(c||1)%p,b.opposite&&(h=p-h-1),e+=
112
+ b.labelOffset/p*h);B.x=a;B.y=Math.round(e);m(this,"afterGetLabelPosition",{pos:B});return B},getMarkPath:function(a,e,h,d,f,t){return t.crispLine(["M",a,e,"L",a+(f?0:-h),e+(f?h:0)],d)},renderGridLine:function(a,d,h){var p=this.axis,f=this.gridLine,t={},n=this.pos,c=this.type,b=e(this.tickmarkOffset,p.tickmarkOffset),l=p.chart.renderer;f||(c||(t.zIndex=1),a&&(d=0),this.gridLine=f=l.path().attr(t).addClass("highcharts-"+(c?c+"-":"")+"grid-line").add(p.gridGroup));if(f&&(h=p.getPlotLinePath(n+b,f.strokeWidth()*
113
+ h,a,"pass")))f[a||this.isNew?"attr":"animate"]({d:h,opacity:d})},renderMark:function(a,e,h){var d=this.axis,f=d.chart.renderer,t=this.type,n=d.tickSize(t?t+"Tick":"tick"),c=this.mark,b=!c,l=a.x;a=a.y;n&&(d.opposite&&(n[0]=-n[0]),b&&(this.mark=c=f.path().addClass("highcharts-"+(t?t+"-":"")+"tick").add(d.axisGroup)),c[b?"attr":"animate"]({d:this.getMarkPath(l,a,n[0],c.strokeWidth()*h,d.horiz,f),opacity:e}))},renderLabel:function(a,m,h,p){var f=this.axis,t=f.horiz,n=f.options,c=this.label,b=n.labels,
114
+ l=b.step,f=e(this.tickmarkOffset,f.tickmarkOffset),g=!0,E=a.x;a=a.y;c&&d(E)&&(c.xy=a=this.getLabelPosition(E,a,c,t,b,f,p,l),this.isFirst&&!this.isLast&&!e(n.showFirstLabel,1)||this.isLast&&!this.isFirst&&!e(n.showLastLabel,1)?g=!1:!t||b.step||b.rotation||m||0===h||this.handleOverflow(a),l&&p%l&&(g=!1),g&&d(a.y)?(a.opacity=h,c[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(d,m,h){var p=this.axis,f=p.horiz,t=this.pos,n=e(this.tickmarkOffset,
115
+ p.tickmarkOffset),t=this.getPosition(f,t,n,m),n=t.x,c=t.y,p=f&&n===p.pos+p.len||!f&&c===p.pos?-1:1;h=e(h,1);this.isActive=!0;this.renderGridLine(m,h,p);this.renderMark(t,h,p);this.renderLabel(t,m,h,d);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}})(K);var W=function(a){var z=a.addEvent,y=a.animObject,C=a.arrayMax,m=a.arrayMin,d=a.correctFloat,e=a.defaultOptions,u=a.defined,w=a.deg2rad,q=a.destroyObjectProperties,h=a.each,p=a.extend,f=a.fireEvent,t=a.format,
116
+ n=a.getMagnitude,c=a.grep,b=a.inArray,l=a.isArray,g=a.isNumber,E=a.isString,x=a.merge,I=a.normalizeTickInterval,G=a.objectEach,B=a.pick,v=a.removeEvent,A=a.splat,F=a.syncTimeout,M=a.Tick,J=function(){this.init.apply(this,arguments)};a.extend(J.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"}},
117
+ endOnTick:!1,labels:{enabled:!0,indentation:10,x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle"},type:"linear"},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,
118
+ -1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var r=c.isX,k=this;k.chart=a;k.horiz=a.inverted&&!k.isZAxis?!r:r;k.isXAxis=r;k.coll=k.coll||(r?"xAxis":"yAxis");f(this,"init",{userOptions:c});k.opposite=c.opposite;k.side=c.side||(k.horiz?k.opposite?0:
119
+ 2:k.opposite?1:3);k.setOptions(c);var g=this.options,D=g.type;k.labelFormatter=g.labels.formatter||k.defaultLabelFormatter;k.userOptions=c;k.minPixelPadding=0;k.reversed=g.reversed;k.visible=!1!==g.visible;k.zoomEnabled=!1!==g.zoomEnabled;k.hasNames="category"===D||!0===g.categories;k.categories=g.categories||k.hasNames;k.names||(k.names=[],k.names.keys={});k.plotLinesAndBandsGroups={};k.isLog="logarithmic"===D;k.isDatetimeAxis="datetime"===D;k.positiveValuesOnly=k.isLog&&!k.allowNegativeLog;k.isLinked=
120
+ u(g.linkedTo);k.ticks={};k.labelEdge=[];k.minorTicks={};k.plotLinesAndBands=[];k.alternateBands={};k.len=0;k.minRange=k.userMinRange=g.minRange||g.maxZoom;k.range=g.range;k.offset=g.offset||0;k.stacks={};k.oldStacks={};k.stacksTouched=0;k.max=null;k.min=null;k.crosshair=B(g.crosshair,A(a.options.tooltip.crosshairs)[r?0:1],!1);c=k.options.events;-1===b(k,a.axes)&&(r?a.axes.splice(a.xAxis.length,0,k):a.axes.push(k),a[k.coll].push(k));k.series=k.series||[];a.inverted&&!k.isZAxis&&r&&void 0===k.reversed&&
121
+ (k.reversed=!0);G(c,function(a,b){z(k,b,a)});k.lin2log=g.linearToLogConverter||k.lin2log;k.isLog&&(k.val2lin=k.log2lin,k.lin2val=k.lin2log);f(this,"afterInit")},setOptions:function(a){this.options=x(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(e[this.coll],a));f(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=this.axis,
122
+ c=this.value,g=b.chart.time,k=b.categories,l=this.dateTimeLabelFormat,f=e.lang,v=f.numericSymbols,f=f.numericSymbolMagnitude||1E3,n=v&&v.length,h,d=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(d)h=t(d,this,g);else if(k)h=c;else if(l)h=g.dateFormat(l,c);else if(n&&1E3<=b)for(;n--&&void 0===h;)g=Math.pow(f,n+1),b>=g&&0===10*c%g&&null!==v[n]&&0!==c&&(h=a.numberFormat(c/g,-1)+v[n]);void 0===h&&(h=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return h},getSeriesExtremes:function(){var a=
123
+ this,b=a.chart;f(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();h(a.series,function(r){if(r.visible||!b.options.chart.ignoreHiddenSeries){var k=r.options,D=k.threshold,l;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=D&&(D=null);if(a.isXAxis)k=r.xData,k.length&&(r=m(k),l=C(k),g(r)||r instanceof Date||(k=c(k,g),r=m(k),l=C(k)),k.length&&(a.dataMin=Math.min(B(a.dataMin,k[0],r),r),a.dataMax=
124
+ Math.max(B(a.dataMax,k[0],l),l)));else if(r.getExtremes(),l=r.dataMax,r=r.dataMin,u(r)&&u(l)&&(a.dataMin=Math.min(B(a.dataMin,r),r),a.dataMax=Math.max(B(a.dataMax,l),l)),u(D)&&(a.threshold=D),!k.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});f(this,"afterGetSeriesExtremes")},translate:function(a,b,c,k,l,f){var r=this.linkedParent||this,D=1,v=0,n=k?r.oldTransA:r.transA;k=k?r.oldMin:r.min;var h=r.minPixelPadding;l=(r.isOrdinal||r.isBroken||r.isLog&&l)&&r.lin2val;n||(n=r.transA);c&&(D*=
125
+ -1,v=r.len);r.reversed&&(D*=-1,v-=D*(r.sector||r.len));b?(a=(a*D+v-h)/n+k,l&&(a=r.lin2val(a))):(l&&(a=r.val2lin(a)),a=g(k)?D*(a-k)*n+v+D*h+(g(f)?n*f:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,k,l){var r=this.chart,D=this.left,f=this.top,v,n,h=c&&r.oldChartHeight||r.chartHeight,e=c&&r.oldChartWidth||r.chartWidth,d;v=this.transB;
126
+ var A=function(a,b,c){if("pass"!==k&&a<b||a>c)k?a=Math.min(Math.max(b,a),c):d=!0;return a};l=B(l,this.translate(a,null,null,c));l=Math.min(Math.max(-1E5,l),1E5);a=c=Math.round(l+v);v=n=Math.round(h-l-v);g(l)?this.horiz?(v=f,n=h-this.bottom,a=c=A(a,D,D+this.width)):(a=D,c=e-this.right,v=n=A(v,f,f+this.height)):(d=!0,k=!1);return d&&!k?null:r.renderer.crispLine(["M",a,v,"L",c,n],b||1)},getLinearTickPositions:function(a,b,c){var k,r=d(Math.floor(b/a)*a);c=d(Math.ceil(c/a)*a);var g=[],D;d(r+a)===r&&(D=
127
+ 20);if(this.single)return[b];for(b=r;b<=c;){g.push(b);b=d(b+a,D);if(b===k)break;k=b}return g},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,b=a.options,c=a.tickPositions,k=a.minorTickInterval,g=[],l=a.pointRangePadding||0,f=a.min-l,l=a.max+l,v=l-f;if(v&&v/k<a.len/3)if(a.isLog)h(this.paddedTicks,function(b,c,r){c&&g.push.apply(g,a.getLogTickPositions(k,
128
+ r[c-1],r[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())g=g.concat(a.getTimeTicks(a.normalizeTimeTickInterval(k),f,l,b.startOfWeek));else for(b=f+(c[0]-f)%k;b<=l&&b!==g[0];b+=k)g.push(b);0!==g.length&&a.trimTicks(g);return g},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,k,g,l,f,v,n,d,e;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(u(a.min)||u(a.max)?this.minRange=null:(h(this.series,function(a){n=a.xData;for(f=d=a.xIncrement?1:n.length-1;0<
129
+ f;f--)if(v=n[f]-n[f-1],void 0===l||v<l)l=v}),this.minRange=Math.min(5*l,this.dataMax-this.dataMin)));c-b<this.minRange&&(g=this.dataMax-this.dataMin>=this.minRange,e=this.minRange,k=(e-c+b)/2,k=[b-k,B(a.min,b-k)],g&&(k[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(k),c=[b+e,B(a.max,b+e)],g&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=m(c),c-b<e&&(k[0]=c-e,k[1]=B(a.min,c-e),b=C(k)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:h(this.series,function(b){var c=
130
+ b.closestPointRange,k=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&u(c)&&k&&(a=u(a)?Math.min(a,c):c)});return a},nameToX:function(a){var c=l(this.categories),g=c?this.categories:this.names,k=a.options.x,r;a.series.requireSorting=!1;u(k)||(k=!1===this.options.uniqueNames?a.series.autoIncrement():c?b(a.name,g):B(g.keys[a.name],-1));-1===k?c||(r=g.length):r=k;void 0!==r&&(this.names[r]=a.name,this.names.keys[a.name]=r);return r},updateNames:function(){var b=this,c=this.names;
131
+ 0<c.length&&(h(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,h(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();h(a.points,function(k,c){var g;k.options&&(g=b.nameToX(k),void 0!==g&&g!==k.x&&(k.x=g,a.xData[c]=g))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,k=b.axisPointRange||0,g,r=0,l=0,v=b.linkedParent,n=!!b.categories,e=b.transA,d=b.isXAxis;if(d||n||k)g=b.getClosest(),v?(r=v.minPointOffset,
132
+ l=v.pointRangePadding):h(b.series,function(a){var c=n?1:d?B(a.options.pointRange,g,0):b.axisPointRange||0;a=a.options.pointPlacement;k=Math.max(k,c);b.single||(r=Math.max(r,E(a)?0:c/2),l=Math.max(l,"on"===a?0:c))}),v=b.ordinalSlope&&g?b.ordinalSlope/g:1,b.minPointOffset=r*=v,b.pointRangePadding=l*=v,b.pointRange=Math.min(k,c),d&&(b.closestPointRange=g);a&&(b.oldTransA=e);b.translationSlope=b.transA=e=b.staticScale||b.len/(c+l||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=e*r;f(this,"afterSetAxisTranslation")},
133
+ minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,r=c.chart,k=c.options,l=c.isLog,v=c.isDatetimeAxis,e=c.isXAxis,A=c.isLinked,x=k.maxPadding,p=k.minPadding,t=k.tickInterval,F=k.tickPixelInterval,E=c.categories,m=g(c.threshold)?c.threshold:null,G=c.softThreshold,q,M,J,w;v||E||A||this.getTickAmount();J=B(c.userMin,k.min);w=B(c.userMax,k.max);A?(c.linkedParent=r[c.coll][k.linkedTo],r=c.linkedParent.getExtremes(),c.min=B(r.min,r.dataMin),c.max=B(r.max,r.dataMax),
134
+ k.type!==c.linkedParent.options.type&&a.error(11,1)):(!G&&u(m)&&(c.dataMin>=m?(q=m,p=0):c.dataMax<=m&&(M=m,x=0)),c.min=B(J,q,c.dataMin),c.max=B(w,M,c.dataMax));l&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,B(c.dataMin,c.min))&&a.error(10,1),c.min=d(c.log2lin(c.min),15),c.max=d(c.log2lin(c.max),15));c.range&&u(c.max)&&(c.userMin=c.min=J=Math.max(c.dataMin,c.minFromRange()),c.userMax=w=c.max,c.range=null);f(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(E||c.axisPointRange||
135
+ c.usePercentage||A)&&u(c.min)&&u(c.max)&&(r=c.max-c.min)&&(!u(J)&&p&&(c.min-=r*p),!u(w)&&x&&(c.max+=r*x));g(k.softMin)&&!g(c.userMin)&&(c.min=Math.min(c.min,k.softMin));g(k.softMax)&&!g(c.userMax)&&(c.max=Math.max(c.max,k.softMax));g(k.floor)&&(c.min=Math.max(c.min,k.floor));g(k.ceiling)&&(c.max=Math.min(c.max,k.ceiling));G&&u(c.dataMin)&&(m=m||0,!u(J)&&c.min<m&&c.dataMin>=m?c.min=m:!u(w)&&c.max>m&&c.dataMax<=m&&(c.max=m));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:A&&!t&&F===
136
+ c.linkedParent.options.tickPixelInterval?t=c.linkedParent.tickInterval:B(t,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,E?1:(c.max-c.min)*F/Math.max(c.len,F));e&&!b&&h(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!t&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=
137
+ B(k.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!t&&c.tickInterval<b&&(c.tickInterval=b);v||l||t||(c.tickInterval=I(c.tickInterval,null,n(c.tickInterval),B(k.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var b=this.options,c,g=b.tickPositions;c=this.getMinorTickInterval();var k=b.tickPositioner,l=b.startOnTick,v=b.endOnTick;this.tickmarkOffset=
138
+ this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&u(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=g&&g.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19)):c=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,
139
+ b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=c=k);this.paddedTicks=c.slice(0);this.trimTicks(c,l,v);this.isLinked||(this.single&&2>c.length&&(this.min-=.5,this.max+=.5),g||
140
+ k||this.adjustTickAmount());f(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var k=a[0],g=a[a.length-1],r=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==k)this.min=k;else for(;this.min-r>a[0];)a.shift();if(c)this.max=g;else for(;this.max+r<a[a.length-1];)a.pop();0===a.length&&u(k)&&!this.options.tickPositions&&a.push((g+k)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||
141
+ this.isLog||h(this.chart[this.coll],function(c){var k=c.options,k=[c.horiz?k.left:k.top,k.width,k.height,k.pane].join();c.series.length&&(a[k]?b=!0:a[k]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!u(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=
142
+ this.tickPositions,c=this.tickAmount,k=this.finalTickAmt,g=b&&b.length,l=B(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(g<c){for(;b.length<c;)b.length%2||this.min===l?b.push(d(b[b.length-1]+a)):b.unshift(d(b[0]-a));this.transA*=(g-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else g>c&&(this.tickInterval*=2,this.setTickPositions());if(u(k)){for(a=c=b.length;a--;)(3===k&&1===a%2||2>=k&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}}},setScale:function(){var a,b;this.oldMin=
143
+ this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;h(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||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=
144
+ b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();f(this,"afterSetScale")},setExtremes:function(a,b,c,k,g){var r=this,l=r.chart;c=B(c,!0);h(r.series,function(a){delete a.kdTree});g=p(g,{min:a,max:b});f(r,"setExtremes",g,function(){r.userMin=a;r.userMax=b;r.eventArgs=g;c&&l.redraw(k)})},zoom:function(a,b){var c=this.dataMin,k=this.dataMax,g=this.options,r=Math.min(c,B(g.min,c)),g=Math.max(k,B(g.max,k));if(a!==this.min||b!==this.max)this.allowZoomOutside||(u(c)&&
145
+ (a<r&&(a=r),a>g&&(a=g)),u(k)&&(b<r&&(b=r),b>g&&(b=g))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,g=c.offsets||[0,0,0,0],k=this.horiz,l=this.width=Math.round(a.relativeLength(B(c.width,b.plotWidth-g[3]+g[1]),b.plotWidth)),f=this.height=Math.round(a.relativeLength(B(c.height,b.plotHeight-g[0]+g[2]),b.plotHeight)),v=this.top=Math.round(a.relativeLength(B(c.top,b.plotTop+g[0]),b.plotHeight,b.plotTop)),
146
+ c=this.left=Math.round(a.relativeLength(B(c.left,b.plotLeft+g[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-f-v;this.right=b.chartWidth-l-c;this.len=Math.max(k?l:f,0);this.pos=k?c:v},getExtremes:function(){var a=this.isLog;return{min:a?d(this.lin2log(this.min)):this.min,max:a?d(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):
147
+ this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(B(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],k=B(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(k&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,k]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&
148
+ this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,k=c,g=this.len/(((this.categories?1:0)+this.max-this.min)/c),l,f=a.rotation,v=this.labelMetrics(),n,e=Number.MAX_VALUE,A,x=function(a){a/=g||1;a=1<a?Math.ceil(a):1;return d(a*c)};b?(A=!a.staggerLines&&!a.step&&(u(f)?[f]:g<B(a.autoRotationLimit,80)&&a.autoRotation))&&h(A,function(a){var b;if(a===f||a&&-90<=a&&90>=a)n=x(Math.abs(v.h/Math.sin(w*a))),b=
149
+ n+Math.abs(a/360),b<e&&(e=b,l=a,k=n)}):a.step||(k=x(v.h));this.autoRotation=A;this.labelRotation=B(l,f);return k},getSlotWidth:function(a){var b=this.chart,c=this.horiz,k=this.options.labels,g=Math.max(this.tickPositions.length-(this.categories?0:1),1),l=b.margin[3];return a&&a.slotWidth||c&&2>(k.step||0)&&!k.rotation&&(this.staggerLines||1)*this.len/g||!c&&(k.style&&parseInt(k.style.width,10)||l&&l-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,
150
+ k=this.ticks,g=this.options.labels,l=g&&g.style||{},f=this.horiz,v=this.getSlotWidth(),n=Math.max(1,Math.round(v-2*(g.padding||5))),e={},d=this.labelMetrics(),A=g.style&&g.style.textOverflow,x,p,t=0,F;E(g.rotation)||(e.rotation=g.rotation||0);h(c,function(a){(a=k[a])&&a.label&&a.label.textPxLength>t&&(t=a.label.textPxLength)});this.maxLabelLength=t;if(this.autoRotation)t>n&&t>d.h?e.rotation=this.labelRotation:this.labelRotation=0;else if(v&&(x=n,!A))for(p="clip",n=c.length;!f&&n--;)if(F=c[n],F=k[F].label)F.styles&&
151
+ "ellipsis"===F.styles.textOverflow?F.css({textOverflow:"clip"}):F.textPxLength>v&&F.css({width:v+"px"}),F.getBBox().height>this.len/c.length-(d.h-d.f)&&(F.specificTextOverflow="ellipsis");e.rotation&&(x=t>.5*a.chartHeight?.33*a.chartHeight:t,A||(p="ellipsis"));if(this.labelAlign=g.align||this.autoLabelAlign(this.labelRotation))e.align=this.labelAlign;h(c,function(a){var b=(a=k[a])&&a.label,c=l.width,g={};b&&(b.attr(e),a.shortenLabel?a.shortenLabel():x&&!c&&"nowrap"!==l.whiteSpace&&(x<b.textPxLength||
152
+ "SPAN"===b.element.tagName)?(g.width=x,A||(g.textOverflow=b.specificTextOverflow||p),b.css(g)):b.styles&&b.styles.width&&!g.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=e.rotation)},this);this.tickRotCorr=b.rotCorr(d.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||u(this.min)&&u(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,k=this.opposite,g=this.options.title,
153
+ l;this.axisTitle||((l=g.textAlign)||(l=(c?{low:"left",middle:"center",high:"right"}:{low:k?"right":"left",middle:"center",high:k?"left":"right"})[g.align]),this.axisTitle=b.text(g.text,0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:l}).addClass("highcharts-axis-title").add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new M(this,a)},getOffset:function(){var a=
154
+ this,b=a.chart,c=b.renderer,k=a.options,g=a.tickPositions,l=a.ticks,v=a.horiz,n=a.side,e=b.inverted&&!a.isZAxis?[1,0,3,2][n]:n,d,A,x=0,p,t=0,F=k.title,E=k.labels,m=0,q=b.axisOffset,b=b.clipOffset,J=[-1,1,1,-1][n],M=k.className,I=a.axisParent;d=a.hasData();a.showAxis=A=d||B(k.showEmpty,!0);a.staggerLines=a.horiz&&E.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:k.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(M||"")).add(I),a.axisGroup=c.g("axis").attr({zIndex:k.zIndex||
155
+ 2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(M||"")).add(I),a.labelGroup=c.g("axis-labels").attr({zIndex:E.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(M||"")).add(I));d||a.isLinked?(h(g,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===n||2===n||{1:"left",3:"right"}[n]===a.labelAlign,B(E.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&h(g,function(a){m=Math.max(l[a].getLabelSize(),m)}),a.staggerLines&&(m*=a.staggerLines),
156
+ a.labelOffset=m*(a.opposite?-1:1)):G(l,function(a,b){a.destroy();delete l[b]});F&&F.text&&!1!==F.enabled&&(a.addTitle(A),A&&!1!==F.reserveSpace&&(a.titleOffset=x=a.axisTitle.getBBox()[v?"height":"width"],p=F.offset,t=u(p)?0:B(F.margin,v?5:10)));a.renderLine();a.offset=J*B(k.offset,q[n]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===n?-a.labelMetrics().h:2===n?a.tickRotCorr.y:0;t=Math.abs(m)+t;m&&(t=t-c+J*(v?B(E.y,a.tickRotCorr.y+8*J):E.x));a.axisTitleMargin=B(p,t);a.getMaxLabelDimensions&&(a.maxLabelDimensions=
157
+ a.getMaxLabelDimensions(l,g));v=this.tickSize("tick");q[n]=Math.max(q[n],a.axisTitleMargin+x+J*a.offset,t,d&&g.length&&v?v[0]+J*a.offset:0);k=k.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[e]=Math.max(b[e],k);f(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,k=this.offset,g=this.horiz,l=this.left+(c?this.width:0)+k,k=b.chartHeight-this.bottom-(c?this.height:0)+k;c&&(a*=-1);return b.renderer.crispLine(["M",g?this.left:l,g?k:this.top,"L",g?b.chartWidth-this.right:
158
+ l,g?k:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,k=this.len,g=this.options.title,l=a?b:c,f=this.opposite,v=this.offset,n=g.x||0,h=g.y||0,e=this.axisTitle,d=this.chart.renderer.fontMetrics(g.style&&g.style.fontSize,e),e=Math.max(e.getBBox(null,0).height-d.h-1,0),k={low:l+(a?0:k),middle:l+k/2,high:l+(a?k:0)}[g.align],
159
+ b=(a?c+this.height:b)+(a?1:-1)*(f?-1:1)*this.axisTitleMargin+[-e,e,d.f,-e][this.side];return{x:a?k+n:b+(f?this.width:0)+v+n,y:a?b+h-(f?this.height:0)+v:k+h}},renderMinorTick:function(a){var b=this.chart.hasRendered&&g(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new M(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,k=this.ticks,l=this.chart.hasRendered&&g(this.oldMin);if(!c||a>=this.min&&a<=this.max)k[a]||(k[a]=new M(this,a)),
160
+ l&&k[a].isNew&&k[a].render(b,!0,-1),k[a].render(b)},render:function(){var b=this,c=b.chart,l=b.options,k=b.isLog,v=b.isLinked,n=b.tickPositions,e=b.axisTitle,d=b.ticks,A=b.minorTicks,x=b.alternateBands,p=l.stackLabels,t=l.alternateGridColor,E=b.tickmarkOffset,B=b.axisLine,m=b.showAxis,q=y(c.renderer.globalAnimation),J,I;b.labelEdge.length=0;b.overlap=!1;h([d,A,x],function(a){G(a,function(a){a.isActive=!1})});if(b.hasData()||v)b.minorTickInterval&&!b.categories&&h(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),
161
+ n.length&&(h(n,function(a,c){b.renderTick(a,c)}),E&&(0===b.min||b.single)&&(d[-1]||(d[-1]=new M(b,-1,null,!0)),d[-1].render(-1))),t&&h(n,function(g,l){I=void 0!==n[l+1]?n[l+1]+E:b.max-E;0===l%2&&g<b.max&&I<=b.max+(c.polar?-E:E)&&(x[g]||(x[g]=new a.PlotLineOrBand(b)),J=g+E,x[g].options={from:k?b.lin2log(J):J,to:k?b.lin2log(I):I,color:t},x[g].render(),x[g].isActive=!0)}),b._addedPlotLB||(h((l.plotLines||[]).concat(l.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);h([d,A,x],function(a){var b,
162
+ k=[],g=q.duration;G(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,k.push(b))});F(function(){for(b=k.length;b--;)a[k[b]]&&!a[k[b]].isActive&&(a[k[b]].destroy(),delete a[k[b]])},a!==x&&c.hasRendered&&g?g:0)});B&&(B[B.isPlaced?"animate":"attr"]({d:this.getLinePath(B.strokeWidth())}),B.isPlaced=!0,B[m?"show":"hide"](!0));e&&m&&(l=b.getTitlePosition(),g(l.y)?(e[e.isNew?"attr":"animate"](l),e.isNew=!1):(e.attr("y",-9999),e.isNew=!0));p&&p.enabled&&b.renderStackTotals();b.isDirty=!1;f(this,
163
+ "afterRender")},redraw:function(){this.visible&&(this.render(),h(this.plotLinesAndBands,function(a){a.render()}));h(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var c=this,g=c.stacks,k=c.plotLinesAndBands,l;f(this,"destroy",{keepEvents:a});a||v(c);G(g,function(a,b){q(a);g[b]=null});h([c.ticks,c.minorTicks,c.alternateBands],function(a){q(a)});if(k)for(a=k.length;a--;)k[a].destroy();h("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),
164
+ function(a){c[a]&&(c[a]=c[a].destroy())});for(l in c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[l]=c.plotLinesAndBandsGroups[l].destroy();G(c,function(a,k){-1===b(k,c.keepProps)&&delete c[k]})},drawCrosshair:function(a,b){var c,k=this.crosshair,g=B(k.snap,!0),l,v=this.cross;f(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(u(b)||!g)){g?u(b)&&(l=B(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):l=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+
165
+ this.pos);u(l)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:B(b.stackY,b.y)),null,null,null,l)||null);if(!u(c)){this.hideCrosshair();return}g=this.categories&&!this.isRadial;v||(this.cross=v=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(g?"category ":"thin ")+k.className).attr({zIndex:B(k.zIndex,2)}).add());v.show().attr({d:c});g&&!k.width&&v.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();f(this,"afterDrawCrosshair",{e:a,point:b})},
166
+ hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=J}(K);(function(a){var z=a.Axis,y=a.getMagnitude,C=a.map,m=a.normalizeTickInterval,d=a.pick;z.prototype.getLogTickPositions=function(a,u,w,q){var h=this.options,e=this.len,f=[];q||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),f=this.getLinearTickPositions(a,u,w);else if(.08<=a)for(var e=Math.floor(u),t,n,c,b,l,h=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];e<w+1&&!l;e++)for(n=h.length,t=0;t<n&&!l;t++)c=this.log2lin(this.lin2log(e)*
167
+ h[t]),c>u&&(!q||b<=w)&&void 0!==b&&f.push(b),b>w&&(l=!0),b=c;else u=this.lin2log(u),w=this.lin2log(w),a=q?this.getMinorTickInterval():h.tickInterval,a=d("auto"===a?null:a,this._minorAutoInterval,h.tickPixelInterval/(q?5:1)*(w-u)/((q?e/this.tickPositions.length:e)||1)),a=m(a,null,y(a)),f=C(this.getLinearTickPositions(a,u,w),this.log2lin),q||(this._minorAutoInterval=a/5);q||(this.tickInterval=a);return f};z.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};z.prototype.lin2log=function(a){return Math.pow(10,
168
+ a)}})(K);(function(a,z){var y=a.arrayMax,C=a.arrayMin,m=a.defined,d=a.destroyObjectProperties,e=a.each,u=a.erase,w=a.merge,q=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var h=this,d=h.axis,f=d.horiz,e=h.options,n=e.label,c=h.label,b=e.to,l=e.from,g=e.value,E=m(l)&&m(b),x=m(g),I=h.svgElem,G=!I,B=[],v=q(e.zIndex,0),A=e.events,B={"class":"highcharts-plot-"+(E?"band ":"line ")+(e.className||
169
+ "")},F={},M=d.chart.renderer,J=E?"bands":"lines",r;d.isLog&&(l=d.log2lin(l),b=d.log2lin(b),g=d.log2lin(g));F.zIndex=v;J+="-"+v;(r=d.plotLinesAndBandsGroups[J])||(d.plotLinesAndBandsGroups[J]=r=M.g("plot-"+J).attr(F).add());G&&(h.svgElem=I=M.path().attr(B).add(r));if(x)B=d.getPlotLinePath(g,I.strokeWidth());else if(E)B=d.getPlotBandPath(l,b,e);else return;G&&B&&B.length?(I.attr({d:B}),A&&a.objectEach(A,function(a,b){I.on(b,function(a){A[b].apply(h,[a])})})):I&&(B?(I.show(),I.animate({d:B})):(I.hide(),
170
+ c&&(h.label=c=c.destroy())));n&&m(n.text)&&B&&B.length&&0<d.width&&0<d.height&&!B.isFlat?(n=w({align:f&&E&&"center",x:f?!E&&4:10,verticalAlign:!f&&E&&"middle",y:f?E?16:10:E?6:-4,rotation:f&&!E&&90},n),this.renderLabel(n,B,E,v)):c&&c.hide();return h},renderLabel:function(a,d,f,e){var n=this.label,c=this.axis.chart.renderer;n||(n={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(f?"band":"line")+"-label "+(a.className||"")},n.zIndex=e,this.label=n=c.text(a.text,0,0,a.useHTML).attr(n).add());
171
+ e=d.xBounds||[d[1],d[4],f?d[6]:d[1]];d=d.yBounds||[d[2],d[5],f?d[7]:d[2]];f=C(e);c=C(d);n.align(a,!1,{x:f,y:c,width:y(e)-f,height:y(d)-c});n.show()},destroy:function(){u(this.axis.plotLinesAndBands,this);delete this.axis;d(this)}};a.extend(z.prototype,{getPlotBandPath:function(a,d){var f=this.getPlotLinePath(d,null,null,!0),e=this.getPlotLinePath(a,null,null,!0),n=[],c=this.horiz,b=1,l;a=a<this.min&&d<this.min||a>this.max&&d>this.max;if(e&&f)for(a&&(l=e.toString()===f.toString(),b=0),a=0;a<e.length;a+=
172
+ 6)c&&f[a+1]===e[a+1]?(f[a+1]+=b,f[a+4]+=b):c||f[a+2]!==e[a+2]||(f[a+2]+=b,f[a+5]+=b),n.push("M",e[a+1],e[a+2],"L",e[a+4],e[a+5],f[a+4],f[a+5],f[a+1],f[a+2],"z"),n.isFlat=l;return n},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,e){var f=(new a.PlotLineOrBand(this,d)).render(),h=this.userOptions;f&&(e&&(h[e]=h[e]||[],h[e].push(d)),this.plotLinesAndBands.push(f));return f},removePlotBandOrLine:function(a){for(var d=
173
+ this.plotLinesAndBands,f=this.options,h=this.userOptions,n=d.length;n--;)d[n].id===a&&d[n].destroy();e([f.plotLines||[],h.plotLines||[],f.plotBands||[],h.plotBands||[]],function(c){for(n=c.length;n--;)c[n].id===a&&u(c,c[n])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(K,W);(function(a){var z=a.doc,y=a.each,C=a.extend,m=a.format,d=a.isNumber,e=a.map,u=a.merge,w=a.pick,q=a.splat,h=a.syncTimeout,p=a.timeUnits;a.Tooltip=function(){this.init.apply(this,
174
+ arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split;this.outside=d.outside&&!this.split},cleanSplit:function(a){y(this.chart.series,function(f){var n=f&&f.tt;n&&(!n.isActive||a?f.tt=n.destroy():n.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",
175
+ in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{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 f=this.chart.renderer,d=this.options,n;this.label||(this.outside&&(this.container=n=a.doc.createElement("div"),
176
+ n.className="highcharts-tooltip-container",a.css(n,{position:"absolute",top:"1px",pointerEvents:d.style&&d.style.pointerEvents}),a.doc.body.appendChild(n),this.renderer=f=new a.Renderer(n,0,0)),this.label=this.split?f.g("tooltip"):f.label("",0,0,d.shape||"callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=
177
+ function(a){n.style.left=a+"px"},this.label.ySetter=function(a){n.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();u(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,u(!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));a.clearTimeout(this.hideTimer);
178
+ a.clearTimeout(this.tooltipTimeout)},move:function(f,d,n,c){var b=this,l=b.now,g=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(f-l.x)||1<Math.abs(d-l.y)),e=b.followPointer||1<b.len;C(l,{x:g?(2*l.x+f)/3:f,y:g?(l.y+d)/2:d,anchorX:e?void 0:g?(2*l.anchorX+n)/3:n,anchorY:e?void 0:g?(l.anchorY+c)/2:c});b.getLabel().attr(l);g&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(f,d,n,c)},32))},hide:function(f){var d=this;a.clearTimeout(this.hideTimer);f=w(f,this.options.hideDelay,
179
+ 500);this.isHidden||(this.hideTimer=h(function(){d.getLabel()[f?"fadeOut":"hide"]();d.isHidden=!0},f))},getAnchor:function(a,d){var f=this.chart,c=f.pointer,b=f.inverted,l=f.plotTop,g=f.plotLeft,h=0,x=0,p,t;a=q(a);this.followPointer&&d?(void 0===d.chartX&&(d=c.normalize(d)),a=[d.chartX-f.plotLeft,d.chartY-l]):a[0].tooltipPos?a=a[0].tooltipPos:(y(a,function(a){p=a.series.yAxis;t=a.series.xAxis;h+=a.plotX+(!b&&t?t.left-g:0);x+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&p?p.top-l:0)}),h/=a.length,
180
+ x/=a.length,a=[b?f.plotWidth-x:h,this.shared&&!b&&1<a.length&&d?d.chartY-l:b?f.plotHeight-h:x]);return e(a,Math.round)},getPosition:function(a,d,n){var c=this.chart,b=this.distance,l={},g=c.inverted&&n.h||0,f,e=this.outside,h=e?z.documentElement.clientWidth-2*b:c.chartWidth,p=e?Math.max(z.body.scrollHeight,z.documentElement.scrollHeight,z.body.offsetHeight,z.documentElement.offsetHeight,z.documentElement.clientHeight):c.chartHeight,t=c.pointer.chartPosition,v=["y",p,d,(e?t.top-b:0)+n.plotY+c.plotTop,
181
+ e?0:c.plotTop,e?p:c.plotTop+c.plotHeight],A=["x",h,a,(e?t.left-b:0)+n.plotX+c.plotLeft,e?0:c.plotLeft,e?h:c.plotLeft+c.plotWidth],F=!this.followPointer&&w(n.ttBelow,!c.inverted===!!n.negative),m=function(a,c,f,v,d,n){var k=f<v-b,e=v+b+f<c,r=v-b-f;v+=b;if(F&&e)l[a]=v;else if(!F&&k)l[a]=r;else if(k)l[a]=Math.min(n-f,0>r-g?r:r-g);else if(e)l[a]=Math.max(d,v+g+f>c?v:v+g);else return!1},q=function(a,c,g,f){var k;f<b||f>c-b?k=!1:l[a]=f<g/2?1:f>c-g/2?c-g-2:f-g/2;return k},r=function(a){var b=v;v=A;A=b;f=
182
+ a},D=function(){!1!==m.apply(0,v)?!1!==q.apply(0,A)||f||(r(!0),D()):f?l.x=l.y=0:(r(!0),D())};(c.inverted||1<this.len)&&r();D();return l},defaultFormatter:function(a){var f=this.points||q(this),d;d=[a.tooltipFooterHeaderFormatter(f[0])];d=d.concat(a.bodyFormatter(f));d.push(a.tooltipFooterHeaderFormatter(f[0],!0));return d},refresh:function(f,d){var e,c=this.options,b=f,l,g={},h=[];e=c.formatter||this.defaultFormatter;var g=this.shared,x;c.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=
183
+ q(b)[0].series.tooltipOptions.followPointer,l=this.getAnchor(b,d),d=l[0],c=l[1],!g||b.series&&b.series.noSharedTooltip?g=b.getLabelConfig():(y(b,function(a){a.setState("hover");h.push(a.getLabelConfig())}),g={x:b[0].category,y:b[0].y},g.points=h,b=b[0]),this.len=h.length,g=e.call(g,this),x=b.series,this.distance=w(x.tooltipOptions.distance,16),!1===g?this.hide():(e=this.getLabel(),this.isHidden&&e.attr({opacity:1}).show(),this.split?this.renderSplit(g,q(f)):(e.css({width:this.chart.spacingBox.width}),
184
+ e.attr({text:g&&g.join?g.join(""):g}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+w(b.colorIndex,x.colorIndex)),this.updatePosition({plotX:d,plotY:c,negative:b.negative,ttBelow:b.ttBelow,h:l[2]||0})),this.isHidden=!1))},renderSplit:function(f,d){var e=this,c=[],b=this.chart,l=b.renderer,g=!0,h=this.options,x=0,p,t=this.getLabel(),m=b.plotTop;a.isString(f)&&(f=[!1,f]);y(f.slice(0,d.length+1),function(a,f){if(!1!==a){f=d[f-1]||{isHeader:!0,plotX:d[0].plotX};var v=f.series||
185
+ e,n=v.tt,A="highcharts-color-"+w(f.colorIndex,(f.series||{}).colorIndex,"none");n||(v.tt=n=l.label(null,null,null,"callout",null,null,h.useHTML).addClass("highcharts-tooltip-box "+A+(f.isHeader?" highcharts-tooltip-header":"")).attr({padding:h.padding,r:h.borderRadius}).add(t));n.isActive=!0;n.attr({text:a});a=n.getBBox();A=a.width+n.strokeWidth();f.isHeader?(x=a.height,b.xAxis[0].opposite&&(p=!0,m-=x),A=Math.max(0,Math.min(f.plotX+b.plotLeft-A/2,b.chartWidth+(b.scrollablePixels?b.scrollablePixels-
186
+ b.marginRight:0)-A))):A=f.plotX+b.plotLeft-w(h.distance,16)-A;0>A&&(g=!1);a=(f.series&&f.series.yAxis&&f.series.yAxis.pos)+(f.plotY||0);a-=m;f.isHeader&&(a=p?-x:b.plotHeight+x);c.push({target:a,rank:f.isHeader?1:0,size:v.tt.getBBox().height+1,point:f,x:A,tt:n})}});this.cleanSplit();a.distribute(c,b.plotHeight+x);y(c,function(a){var c=a.point,l=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:g||c.isHeader?a.x:c.plotX+b.plotLeft+w(h.distance,16),y:a.pos+m,anchorX:c.isHeader?c.plotX+
187
+ b.plotLeft:c.plotX+l.xAxis.pos,anchorY:c.isHeader?b.plotTop+b.plotHeight/2:c.plotY+l.yAxis.pos})})},updatePosition:function(a){var f=this.chart,d=this.getLabel(),c=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a),b=a.plotX+f.plotLeft;a=a.plotY+f.plotTop;var l;this.outside&&(l=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(d.width+l,d.height+l,!1),b+=f.pointer.chartPosition.left-c.x,a+=f.pointer.chartPosition.top-c.y);this.move(Math.round(c.x),Math.round(c.y||
188
+ 0),b,a)},getDateFormat:function(a,d,e,c){var b=this.chart.time,l=b.dateFormat("%m-%d %H:%M:%S.%L",d),g,f,n={millisecond:15,second:12,minute:9,hour:6,day:3},h="millisecond";for(f in p){if(a===p.week&&+b.dateFormat("%w",d)===e&&"00:00:00.000"===l.substr(6)){f="week";break}if(p[f]>a){f=h;break}if(n[f]&&l.substr(n[f])!=="01-01 00:00:00.000".substr(n[f]))break;"week"!==f&&(h=f)}f&&(g=b.resolveDTLFormat(c[f]).main);return g},getXDateFormat:function(a,d,e){d=d.dateTimeLabelFormats;var c=e&&e.closestPointRange;
189
+ return(c?this.getDateFormat(c,a.x,e.options.startOfWeek,d):d.day)||d.year},tooltipFooterHeaderFormatter:function(a,e){e=e?"footer":"header";var f=a.series,c=f.tooltipOptions,b=c.xDateFormat,l=f.xAxis,g=l&&"datetime"===l.options.type&&d(a.key),h=c[e+"Format"];g&&!b&&(b=this.getXDateFormat(a,c,l));g&&b&&y(a.point&&a.point.tooltipDateKeys||["key"],function(a){h=h.replace("{point."+a+"}","{point."+a+":"+b+"}")});return m(h,{point:a,series:f},this.chart.time)},bodyFormatter:function(a){return e(a,function(a){var f=
190
+ a.series.tooltipOptions;return(f[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,f[(a.point.formatPrefix||"point")+"Format"])})}}})(K);(function(a){var z=a.addEvent,y=a.attr,C=a.charts,m=a.css,d=a.defined,e=a.each,u=a.extend,w=a.find,q=a.fireEvent,h=a.isNumber,p=a.isObject,f=a.offset,t=a.pick,n=a.splat,c=a.Tooltip;a.Pointer=function(a,c){this.init(a,c)};a.Pointer.prototype={init:function(a,l){this.options=l;this.chart=a;this.runChartClick=l.chart.events&&!!l.chart.events.click;
191
+ this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,l.tooltip),this.followTouchMove=t(l.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,f=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(f=t(c.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!b||f&&b;this.zoomVert=f&&!b||a&&b;this.hasZoom=a||f},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||
192
+ (this.chartPosition=c=f(this.chart.container));return u(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};e(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,g){var b;e(a,function(a){var l=!(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(g,l);if((l=p(a,!0))&&!(l=!p(b,!0)))var l=
193
+ b.distX-a.distX,f=b.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),l=0<(0!==l&&c?l:0!==f?f:0!==d?d:b.series.index>a.series.index?-1:1);l&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,l=b.xAxis,b=b.yAxis,f=t(a.clientX,a.plotX),d=a.shapeArgs;if(l&&b)return c?{chartX:l.len+l.pos-f,chartY:b.len+b.pos-a.plotY}:{chartX:f+l.pos,chartY:a.plotY+
194
+ b.pos};if(d&&d.x&&d.y)return{chartX:d.x,chartY:d.y}},getHoverData:function(b,c,g,f,d,n,h){var l,v=[],A=h&&h.isBoosting;f=!(!f||!b);h=c&&!c.stickyTracking?[c]:a.grep(g,function(a){return a.visible&&!(!d&&a.directTouch)&&t(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(l=f?b:this.findNearestKDPoint(h,d,n))&&l.series;l&&(d&&!c.noSharedTooltip?(h=a.grep(g,function(a){return a.visible&&!(!d&&a.directTouch)&&t(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),e(h,function(a){var b=w(a.points,
195
+ function(a){return a.x===l.x&&!a.isNull});p(b)&&(A&&(b=a.getPoint(b)),v.push(b))})):v.push(l));return{hoverPoint:l,hoverSeries:c,hoverPoints:v}},runPointActions:function(b,c){var g=this.chart,l=g.tooltip&&g.tooltip.options.enabled?g.tooltip:void 0,f=l?l.shared:!1,d=c||g.hoverPoint,n=d&&d.series||g.hoverSeries,n=this.getHoverData(d,n,g.series,"touchmove"!==b.type&&(!!c||n&&n.directTouch&&this.isDirectTouch),f,b,{isBoosting:g.isBoosting}),h,d=n.hoverPoint;h=n.hoverPoints;c=(n=n.hoverSeries)&&n.tooltipOptions.followPointer;
196
+ f=f&&n&&!n.noSharedTooltip;if(d&&(d!==g.hoverPoint||l&&l.isHidden)){e(g.hoverPoints||[],function(b){-1===a.inArray(b,h)&&b.setState()});e(h||[],function(a){a.setState("hover")});if(g.hoverSeries!==n)n.onMouseOver();g.hoverPoint&&g.hoverPoint.firePointEvent("mouseOut");if(!d.series)return;d.firePointEvent("mouseOver");g.hoverPoints=h;g.hoverPoint=d;l&&l.refresh(f?h:d,b)}else c&&l&&!l.isHidden&&(d=l.getAnchor([{}],b),l.updatePosition({plotX:d[0],plotY:d[1]}));this.unDocMouseMove||(this.unDocMouseMove=
197
+ z(g.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));e(g.axes,function(c){var g=t(c.crosshair.snap,!0),l=g?a.find(h,function(a){return a.series[c.coll]===c}):void 0;l||!g?c.drawCrosshair(b,l):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,l=b.hoverSeries,f=b.hoverPoint,d=b.hoverPoints,h=b.tooltip,p=h&&h.shared?d:f;a&&p&&e(n(p),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)h&&p&&(h.refresh(p),h.shared&&
198
+ d?e(d,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),e(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();d&&e(d,function(a){a.setState()});if(l)l.onMouseOut();h&&h.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());e(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=
199
+ b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,l;e(b.series,function(g){l=a||g.getPlotBox();g.xAxis&&g.xAxis.zoomEnabled&&g.group&&(g.group.attr(l),g.markerGroup&&(g.markerGroup.attr(l),g.markerGroup.clip(c?b.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(l))});b.clipRect.attr(c||b.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,
200
+ c=b.options.chart,f=a.chartX,d=a.chartY,e=this.zoomHor,n=this.zoomVert,h=b.plotLeft,v=b.plotTop,A=b.plotWidth,p=b.plotHeight,m,t=this.selectionMarker,r=this.mouseDownX,q=this.mouseDownY,u=c.panKey&&a[c.panKey+"Key"];t&&t.touch||(f<h?f=h:f>h+A&&(f=h+A),d<v?d=v:d>v+p&&(d=v+p),this.hasDragged=Math.sqrt(Math.pow(r-f,2)+Math.pow(q-d,2)),10<this.hasDragged&&(m=b.isInsidePlot(r-h,q-v),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&m&&!u&&!t&&(this.selectionMarker=t=b.renderer.rect(h,v,e?1:A,n?1:p,0).attr({"class":"highcharts-selection-marker",
201
+ zIndex:7}).add()),t&&e&&(f-=r,t.attr({width:Math.abs(f),x:(0<f?0:f)+r})),t&&n&&(f=d-q,t.attr({height:Math.abs(f),y:(0<f?0:f)+q})),m&&!t&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,f=this.hasPinched;if(this.selectionMarker){var n={originalEvent:a,xAxis:[],yAxis:[]},p=this.selectionMarker,t=p.attr?p.attr("x"):p.x,B=p.attr?p.attr("y"):p.y,v=p.attr?p.attr("width"):p.width,A=p.attr?p.attr("height"):p.height,F;if(this.hasDragged||f)e(c.axes,function(c){if(c.zoomEnabled&&d(c.min)&&
202
+ (f||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var g=c.horiz,l="touchend"===a.type?c.minPixelPadding:0,e=c.toValue((g?t:B)+l),g=c.toValue((g?t+v:B+A)-l);n[c.coll].push({axis:c,min:Math.min(e,g),max:Math.max(e,g)});F=!0}}),F&&q(c,"selection",n,function(a){c.zoom(u(a,f?{animation:!1}:null))});h(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());f&&this.scaleGroups()}c&&h(c.index)&&(m(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=
203
+ !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){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=
204
+ C[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;d(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);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)},inClass:function(a,c){for(var b;a;){if(b=
205
+ y(a,"class")){if(-1!==b.indexOf(c))return!0;if(-1!==b.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,c=b.hoverPoint,f=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||
206
+ (c&&this.inClass(a.target,"highcharts-tracker")?(q(c.series,"click",u(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(u(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-f,a.chartY-d)&&q(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,g=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=z(c,"mouseleave",b.onContainerMouseLeave);
207
+ a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=z(g,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=z(g,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&
208
+ (a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}})(K);(function(a){var z=a.charts,y=a.each,C=a.extend,m=a.map,d=a.noop,e=a.pick;C(a.Pointer.prototype,{pinchTranslate:function(a,d,e,h,p,f){this.zoomHor&&this.pinchTranslateDirection(!0,a,d,e,h,p,f);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,e,h,p,f)},pinchTranslateDirection:function(a,d,e,h,p,f,m,n){var c=this.chart,b=a?"x":"y",l=a?"X":"Y",g="chart"+l,t=a?"width":
209
+ "height",x=c["plot"+(a?"Left":"Top")],q,G,B=n||1,v=c.inverted,A=c.bounds[a?"h":"v"],F=1===d.length,M=d[0][g],J=e[0][g],r=!F&&d[1][g],D=!F&&e[1][g],u;e=function(){!F&&20<Math.abs(M-r)&&(B=n||Math.abs(J-D)/Math.abs(M-r));G=(x-J)/B+M;q=c["plot"+(a?"Width":"Height")]/B};e();d=G;d<A.min?(d=A.min,u=!0):d+q>A.max&&(d=A.max-q,u=!0);u?(J-=.8*(J-m[b][0]),F||(D-=.8*(D-m[b][1])),e()):m[b]=[J,D];v||(f[b]=G-x,f[t]=q);f=v?1/B:B;p[t]=q;p[b]=d;h[v?a?"scaleY":"scaleX":"scale"+l]=B;h["translate"+l]=f*x+(J-f*M)},pinch:function(a){var u=
210
+ this,q=u.chart,h=u.pinchDown,p=a.touches,f=p.length,t=u.lastValidTouch,n=u.hasZoom,c=u.selectionMarker,b={},l=1===f&&(u.inClass(a.target,"highcharts-tracker")&&q.runTrackerClick||u.runChartClick),g={};1<f&&(u.initiated=!0);n&&u.initiated&&!l&&a.preventDefault();m(p,function(a){return u.normalize(a)});"touchstart"===a.type?(y(p,function(a,b){h[b]={chartX:a.chartX,chartY:a.chartY}}),t.x=[h[0].chartX,h[1]&&h[1].chartX],t.y=[h[0].chartY,h[1]&&h[1].chartY],y(q.axes,function(a){if(a.zoomEnabled){var b=
211
+ q.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,g=a.toPixels(e(a.options.min,a.dataMin)),f=a.toPixels(e(a.options.max,a.dataMax)),d=Math.max(g,f);b.min=Math.min(a.pos,Math.min(g,f)-c);b.max=Math.max(a.pos+a.len,d+c)}}),u.res=!0):u.followTouchMove&&1===f?this.runPointActions(u.normalize(a)):h.length&&(c||(u.selectionMarker=c=C({destroy:d,touch:!0},q.plotBox)),u.pinchTranslate(h,p,b,c,g,t),u.hasPinched=n,u.scaleGroups(b,g),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(d,m){var q=this.chart,h,p;
212
+ if(q.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=q.index;1===d.touches.length?(d=this.normalize(d),(p=q.isInsidePlot(d.chartX-q.plotLeft,d.chartY-q.plotTop))&&!q.openMenu?(m&&this.runPointActions(d),"touchmove"===d.type&&(m=this.pinchDown,h=m[0]?4<=Math.sqrt(Math.pow(m[0].chartX-d.chartX,2)+Math.pow(m[0].chartY-d.chartY,2)):!1),e(h,!0)&&this.pinch(d)):m&&this.reset()):2===d.touches.length&&this.pinch(d)},onContainerTouchStart:function(a){this.zoomOption(a);
213
+ this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){z[a.hoverChartIndex]&&z[a.hoverChartIndex].pointer.drop(d)}})})(K);(function(a){var z=a.addEvent,y=a.charts,C=a.css,m=a.doc,d=a.extend,e=a.noop,u=a.Pointer,w=a.removeEvent,q=a.win,h=a.wrap;if(!a.hasTouch&&(q.PointerEvent||q.MSPointerEvent)){var p={},f=!!q.PointerEvent,t=function(){var c=[];c.item=function(a){return this[a]};a.objectEach(p,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});
214
+ return c},n=function(c,b,d,g){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(g(c),g=y[a.hoverChartIndex].pointer,g[b]({type:d,target:c.currentTarget,preventDefault:e,touches:t()}))};d(u.prototype,{onContainerPointerDown:function(a){n(a,"onContainerTouchStart","touchstart",function(a){p[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){n(a,"onContainerTouchMove","touchmove",function(a){p[a.pointerId]={pageX:a.pageX,
215
+ pageY:a.pageY};p[a.pointerId].target||(p[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){n(a,"onDocumentTouchEnd","touchend",function(a){delete p[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(m,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});h(u.prototype,"init",function(a,b,d){a.call(this,b,d);this.hasZoom&&
216
+ C(b.container,{"-ms-touch-action":"none","touch-action":"none"})});h(u.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(z)});h(u.prototype,"destroy",function(a){this.batchMSEvents(w);a.call(this)})}})(K);(function(a){var z=a.addEvent,y=a.css,C=a.discardElement,m=a.defined,d=a.each,e=a.fireEvent,u=a.isFirefox,w=a.marginNames,q=a.merge,h=a.pick,p=a.setAnimation,f=a.stableSort,t=a.win,n=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype=
217
+ {init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),z(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=z(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=h(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=h(a.symbolWidth,16);this.pages=
218
+ [];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(q(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;h(b,!0)&&c.redraw();e(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");e(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){d(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=
219
+ this.options,c=b.symbolPadding,b=!b.rtl,g=a._legendItemPos,d=g[0],g=g[1],f=a.checkbox;if((a=a.legendGroup)&&a.element)a[m(a.translateY)?"animate":"attr"]({translateX:b?d:this.legendWidth-d-2*c-4,translateY:g});f&&(f.x=d,f.y=g)},destroyItem:function(a){var b=a.checkbox;d(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&C(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}d(this.getAllItems(),function(b){d(["legendItem",
220
+ "legendGroup"],a,b)});d("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,f=this.clipHeight||this.legendHeight,g=this.titleHeight;a&&(b=a.translateY,d(this.allItems,function(c){var d=c.checkbox,l;d&&(l=b+g+d.y+(this.scrollOffset||0)+3,y(d,{left:a.translateX+c.checkboxOffset+d.x-20+"px",top:l+"px",display:this.proximate||l>b-6&&l<b+f-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,
221
+ b=this.padding,d=a.title,g=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}).add(this.group)),a=this.title.getBBox(),g=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:g}));this.titleHeight=g},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c,this.chart.time):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,c=b.renderer,
222
+ g=this.options,d=this.symbolWidth,f=g.symbolPadding,e="horizontal"===g.layout?h(g.itemDistance,20):0,n=!g.rtl,p=a.legendItem,v=!a.series,A=!v&&a.series.drawLegendSymbol?a.series:a,F=A.options,F=this.createCheckboxForItem&&F&&F.showCheckbox,e=d+f+e+(F?20:0),m=g.useHTML,t=a.options.className;p||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+A.type+"-series highcharts-color-"+a.colorIndex+(t?" "+t:"")+(v?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=
223
+ p=c.text("",n?d+f:-f,this.baseline||0,m).attr({align:n?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(12,p),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,p.attr("y",this.baseline)),this.symbolHeight=g.symbolHeight||this.fontMetrics.f,A.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,p,m),F&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);p.css({width:(g.itemWidth||g.width||b.spacingBox.width)-e});this.setText(a);
224
+ b=p.getBBox();a.itemWidth=a.checkboxOffset=g.itemWidth||a.legendItemWidth||b.width+e;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,c=this.padding,g="horizontal"===b.layout,d=a.itemHeight,f=b.itemMarginBottom||0,e=this.itemMarginTop,n=g?h(b.itemDistance,20):0,p=b.width,v=p||this.chart.spacingBox.width-2*c-b.x,b=b.alignColumns&&
225
+ this.totalItemWidth>v?this.maxItemWidth:a.itemWidth;g&&this.itemX-c+b>v&&(this.itemX=c,this.itemY+=e+this.lastLineHeight+f,this.lastLineHeight=0);this.lastItemY=e+this.itemY+f;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];g?this.itemX+=b:(this.itemY+=e+d+f,this.lastLineHeight=d);this.offsetWidth=p||Math.max((g?this.itemX-c-(a.checkbox?0:n):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var c=b&&b.options;b&&h(c.showInLegend,
226
+ m(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});e(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 c=this.chart,g=this.options,f=this.getAlignment();f&&d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,l){d.test(f)&&!m(a[l])&&(c[w[l]]=
227
+ Math.max(c[w[l]],c.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*g[l%2?"x":"y"]+h(g.margin,12)+b[l]+(0===l&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var c=this.chart,b=[],f="left"===this.options.align;d(this.allItems,function(g){var d,l;d=f;g.xAxis&&g.points&&(g.xAxis.options.reversed&&(d=!d),d=a.find(d?g.points:g.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),l=g.legendGroup.getBBox().height,b.push({target:g.visible?
228
+ (d?d.plotY:g.xAxis.height)-.3*l:c.plotHeight,size:l,item:g}))},this);a.distribute(b,c.plotHeight);d(b,function(a){a.item._legendItemPos[1]=c.plotTop-c.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,l=this.group,g,e,n,h=this.box,p=this.options,m=this.padding;this.itemX=m;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;l||(this.group=l=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(l),this.scrollGroup=b.g().add(this.contentGroup));
229
+ this.renderTitle();g=this.getAllItems();f(g,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});p.reversed&&g.reverse();this.allItems=g;this.display=e=!!g.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d(g,this.renderItem,this);d(g,this.layoutItem,this);g=(p.width||this.offsetWidth)+m;n=this.lastItemY+this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=m;h||(this.box=h=b.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(l),
230
+ h.isNew=!0);0<g&&0<n&&(h[h.isNew?"attr":"animate"](h.crisp.call({},{x:0,y:0,width:g,height:n},h.strokeWidth())),h.isNew=!1);h[e?"show":"hide"]();"none"===l.getStyle("display")&&(g=n=0);this.legendWidth=g;this.legendHeight=n;e&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=q(b,{y:b.y+a.titleOffset+a.options.title.margin})),l.align(q(p,{width:g,height:n,verticalAlign:this.proximate?"top":p.verticalAlign}),!0,b));this.proximate||this.positionItems()},handleOverflow:function(a){var b=this,
231
+ c=this.chart,g=c.renderer,f=this.options,e=f.y,n=this.padding,c=c.spacingBox.height+("top"===f.verticalAlign?-e:e)-n,e=f.maxHeight,p,m=this.clipRect,v=f.navigation,A=h(v.animation,!0),F=v.arrowSize||12,t=this.nav,q=this.pages,r,D=this.allItems,u=function(a){"number"===typeof a?m.attr({height:a}):m&&(b.clipRect=m.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+n+"px,9999px,"+(n+a)+"px,0)":"auto")};"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||
232
+ (c/=2);e&&(c=Math.min(c,e));q.length=0;a>c&&!1!==v.enabled?(this.clipHeight=p=Math.max(c-20-this.titleHeight-n,0),this.currentPage=h(this.currentPage,1),this.fullHeight=a,d(D,function(a,b){var c=a._legendItemPos[1],k=Math.round(a.legendItem.getBBox().height),g=q.length;if(!g||c-q[g-1]>p&&(r||c)!==q[g-1])q.push(r||c),g++;a.pageIx=g-1;r&&(D[b-1].pageIx=g-1);b===D.length-1&&c+k-q[g-1]>p&&(q.push(c),a.pageIx=g);c!==r&&(r=c)}),m||(m=b.clipRect=g.clipRect(0,n,9999,0),b.contentGroup.clip(m)),u(p),t||(this.nav=
233
+ t=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol("triangle",0,0,F,F).on("click",function(){b.scroll(-1,A)}).add(t),this.pager=g.text("",15,10).addClass("highcharts-legend-navigation").add(t),this.down=g.symbol("triangle-down",0,0,F,F).on("click",function(){b.scroll(1,A)}).add(t)),b.scroll(0),a=c):t&&(u(),this.nav=t.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,g=c.length;a=this.currentPage+a;var d=this.clipHeight,f=this.pager,
234
+ e=this.padding;a>g&&(a=g);0<a&&(void 0!==b&&p(b,this.chart),this.nav.attr({translateX:e,translateY:d+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),f.attr({text:a+"/"+g}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===g?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),
235
+ this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,g=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(g?(a.symbolWidth-c)/2:0,a.baseline-c+1,g?c:a.symbolWidth,c,h(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c,g=a.symbolWidth,d=a.symbolHeight;c=d/2;var f=this.chart.renderer,e=this.legendGroup;a=a.baseline-Math.round(.3*
236
+ a.fontMetrics.b);this.legendLine=f.path(["M",0,a,"L",g,a]).addClass("highcharts-graph").attr({}).add(e);b&&!1!==b.enabled&&g&&(c=Math.min(h(b.radius,c),c),0===this.symbol.indexOf("url")&&(b=q(b,{width:d,height:d}),c=0),this.legendSymbol=b=f.symbol(this.symbol,g/2-c,a-c,2*c,2*c,b).addClass("highcharts-point").add(e),b.isMarker=!0)}};(/Trident\/7\.0/.test(t.navigator.userAgent)||u)&&n(a.Legend.prototype,"positionItem",function(a,b){var c=this,g=function(){b._legendItemPos&&a.call(c,b)};g();setTimeout(g)})})(K);
237
+ (function(a){var z=a.addEvent,y=a.animObject,C=a.attr,m=a.doc,d=a.Axis,e=a.createElement,u=a.defaultOptions,w=a.discardElement,q=a.charts,h=a.defined,p=a.each,f=a.extend,t=a.find,n=a.fireEvent,c=a.grep,b=a.isNumber,l=a.isObject,g=a.isString,E=a.Legend,x=a.marginNames,I=a.merge,G=a.objectEach,B=a.Pointer,v=a.pick,A=a.pInt,F=a.removeEvent,M=a.seriesTypes,J=a.splat,r=a.syncTimeout,D=a.win,S=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new S(a,b,c)};f(S.prototype,
238
+ {callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(g(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var k,g,d=b.series,f=b.plotOptions||{};n(this,"init",{args:arguments},function(){b.series=null;k=I(u,b);for(g in k.plotOptions)k.plotOptions[g].tooltip=f[g]&&I(f[g].tooltip)||void 0;k.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;k.series=b.series=d;this.userOptions=b;var e=k.chart,l=e.events;this.margin=[];this.spacing=
239
+ [];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=c;this.isResizing=0;this.options=k;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;this.hasCartesianSeries=e.showAxes;var v=this;v.index=q.length;q.push(v);a.chartCount++;l&&G(l,function(a,b){z(v,b,a)});v.xAxis=[];v.yAxis=[];v.pointCount=v.colorCounter=v.symbolCounter=0;n(v,"afterInit");v.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=M[b.type||c.type||c.defaultSeriesType])||
240
+ a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var k=c?b:a;a=c?a:b;return 0<=k&&k<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){n(this,"beforeRedraw");var c=this.axes,k=this.series,g=this.pointer,d=this.legend,e=this.userOptions.legend,l=this.isDirtyLegend,v,h,r=this.hasCartesianSeries,A=this.isDirtyBox,m,F=this.renderer,t=F.isHidden(),x=
241
+ [];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);t&&this.temporaryDisplay();this.layOutTitles();for(b=k.length;b--;)if(m=k[b],m.options.stacking&&(v=!0,m.isDirty)){h=!0;break}if(h)for(b=k.length;b--;)m=k[b],m.options.stacking&&(m.isDirty=!0);p(k,function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),l=!0):e&&(e.labelFormatter||e.labelFormat)&&(l=!0));a.isDirtyData&&n(a,"updatedData")});l&&d&&d.options.enabled&&(d.render(),this.isDirtyLegend=!1);
242
+ v&&this.getStacks();r&&p(c,function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});this.getMargins();r&&(p(c,function(a){a.isDirty&&(A=!0)}),p(c,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,x.push(function(){n(a,"afterSetExtremes",f(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(A||v)&&a.redraw()}));A&&this.drawChartBox();n(this,"predraw");p(k,function(a){(A||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});g&&g.reset(!0);F.draw();n(this,"redraw");n(this,
243
+ "render");t&&this.temporaryDisplay(!0);p(x,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,k=this.series,g;c=t(this.axes,b)||t(this.series,b);for(g=0;!c&&g<k.length;g++)c=t(k[g].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=J(b.xAxis||{}),b=b.yAxis=J(b.yAxis||{});n(this,"getAxes");p(c,function(a,b){a.index=b;a.isX=!0});p(b,function(a,b){a.index=b});c=c.concat(b);p(c,function(b){new d(a,b)});n(this,"afterGetAxes")},
244
+ getSelectedPoints:function(){var a=[];p(this.series,function(b){a=a.concat(c(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return c(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var k=this,g=k.options,d;d=g.title=I(g.title,a);g=g.subtitle=I(g.subtitle,b);p([["title",a,d],["subtitle",b,g]],function(a,b){var c=a[0],g=k[c],d=a[1];a=a[2];g&&d&&(k[c]=g=g.destroy());a&&!g&&(k[c]=k.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+
245
+ c,zIndex:a.zIndex||4}).add(),k[c].update=function(a){k.setTitle(!b&&a,b&&a)})});k.layOutTitles(c)},layOutTitles:function(a){var b=0,c,k=this.renderer,g=this.spacingBox;p(["title","subtitle"],function(a){var c=this[a],d=this.options[a];a="title"===a?-3:d.verticalAlign?0:b+2;var e;c&&(e=k.fontMetrics(e,c).b,c.css({width:(d.width||g.width+d.widthAdjust)+"px"}).align(f({y:a+e},d),!1,"spacingBox"),d.floating||d.verticalAlign||(b=Math.ceil(b+c.getBBox(d.useHTML).height)))},this);c=this.titleOffset!==b;
246
+ this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&v(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,g=this.renderTo;h(c)||(this.containerWidth=a.getStyle(g,"width"));h(b)||(this.containerHeight=a.getStyle(g,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var c=
247
+ this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(m.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){m.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,m.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&(b.height=0),a.css(c,b),
248
+ c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===m.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,d=this.options,f=d.chart,l,v;c=this.renderTo;var h=a.uniqueKey(),r;c||(this.renderTo=c=f.renderTo);g(c)&&(this.renderTo=c=m.getElementById(c));c||a.error(13,!0);l=A(C(c,"data-highcharts-chart"));b(l)&&q[l]&&q[l].hasRendered&&q[l].destroy();C(c,"data-highcharts-chart",this.index);c.innerHTML=
249
+ "";f.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();l=this.chartWidth;v=this.chartHeight;this.container=c=e("div",{id:h},void 0,c);this._cursor=c.style.cursor;this.renderer=new (a[f.renderer]||a.Renderer)(c,l,v,null,f.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(f.className);for(r in d.defs)this.renderer.definition(d.defs[r]);this.renderer.chartIndex=this.index;n(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,c=this.margin,g=this.titleOffset;
250
+ this.resetMargins();g&&!h(c[0])&&(this.plotTop=Math.max(this.plotTop,g+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,b);n(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&p(a.axes,function(a){a.visible&&a.getOffset()});p(x,function(g,k){h(c[k])||(a[g]+=b[k])});a.setChartSize()},reflow:function(b){var c=this,g=c.options.chart,k=c.renderTo,d=h(g.width)&&h(g.height),
251
+ f=g.width||a.getStyle(k,"width"),g=g.height||a.getStyle(k,"height"),k=b?b.target:D;if(!d&&!c.isPrinting&&f&&g&&(k===D||k===m)){if(f!==c.containerWidth||g!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=r(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=f;c.containerHeight=g}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=z(D,"resize",function(a){b.reflow(a)}),
252
+ z(this,"destroy",this.unbindReflow))},setSize:function(b,c,g){var k=this,d=k.renderer;k.isResizing+=1;a.setAnimation(g,k);k.oldChartHeight=k.chartHeight;k.oldChartWidth=k.chartWidth;void 0!==b&&(k.options.chart.width=b);void 0!==c&&(k.options.chart.height=c);k.getChartSize();k.setChartSize(!0);d.setSize(k.chartWidth,k.chartHeight,g);p(k.axes,function(a){a.isDirty=!0;a.setScale()});k.isDirtyLegend=!0;k.isDirtyBox=!0;k.layOutTitles();k.getMargins();k.redraw(g);k.oldChartHeight=null;n(k,"resize");r(function(){k&&
253
+ n(k,"endResize",null,function(){--k.isResizing})},y(void 0).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,g=this.chartWidth,k=this.chartHeight,d=this.options.chart,f=this.spacing,e=this.clipOffset,l,v,h,r;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=v=Math.round(this.plotTop);this.plotWidth=h=Math.max(0,Math.round(g-l-this.marginRight));this.plotHeight=r=Math.max(0,Math.round(k-v-this.marginBottom));this.plotSizeX=b?r:h;this.plotSizeY=b?h:r;this.plotBorderWidth=
254
+ d.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:g-f[3]-f[1],height:k-f[0]-f[2]};this.plotBox=c.plotBox={x:l,y:v,width:h,height:r};g=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(g,e[3])/2);c=Math.ceil(Math.max(g,e[0])/2);this.clipBox={x:b,y:c,width:Math.floor(this.plotSizeX-Math.max(g,e[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(g,e[2])/2-c))};a||p(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});n(this,"afterSetChartSize",{skipAxes:a})},
255
+ resetMargins:function(){var a=this,b=a.options.chart;p(["margin","spacing"],function(c){var g=b[c],k=l(g)?g:[g,g,g,g];p(["Top","Right","Bottom","Left"],function(g,d){a[c][d]=v(b[c+g],k[d])})});p(x,function(b,c){a[b]=v(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,g=this.chartHeight,d=this.chartBackground,f=this.plotBackground,e=this.plotBorder,l,v,h=this.plotLeft,r=this.plotTop,A=this.plotWidth,
256
+ p=this.plotHeight,m=this.plotBox,F=this.clipRect,t=this.clipBox,x="animate";d||(this.chartBackground=d=b.rect().addClass("highcharts-background").add(),x="attr");l=v=d.strokeWidth();d[x]({x:v/2,y:v/2,width:c-v-l%2,height:g-v-l%2,r:a.borderRadius});x="animate";f||(x="attr",this.plotBackground=f=b.rect().addClass("highcharts-plot-background").add());f[x](m);F?F.animate({width:t.width,height:t.height}):this.clipRect=b.clipRect(t);x="animate";e||(x="attr",this.plotBorder=e=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
257
+ e[x](e.crisp({x:h,y:r,width:A,height:p},-e.strokeWidth()));this.isDirtyBox=!1;n(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,g=a.options.series,d,f;p(["inverted","angular","polar"],function(k){c=M[b.type||b.defaultSeriesType];f=b[k]||c&&c.prototype[k];for(d=g&&g.length;!f&&d--;)(c=M[g[d].type])&&c.prototype[k]&&(f=!0);a[k]=f})},linkSeries:function(){var a=this,b=a.series;p(b,function(a){a.linkedSeries.length=0});p(b,function(b){var c=b.options.linkedTo;g(c)&&
258
+ (c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=v(b.options.visible,c.options.visible,b.visible))});n(this,"afterLinkSeries")},renderSeries:function(){p(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&p(b.items,function(c){var g=f(b.style,c.style),k=A(g.left)+a.plotLeft,d=A(g.top)+a.plotTop+12;delete g.left;delete g.top;a.renderer.text(c.html,k,d).attr({zIndex:2}).css(g).add()})},
259
+ render:function(){var a=this.axes,b=this.renderer,c=this.options,g,d,f;this.setTitle();this.legend=new E(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;g=this.plotHeight=Math.max(this.plotHeight-21,0);p(a,function(a){a.setScale()});this.getAxisMargins();d=1.1<c/this.plotWidth;f=1.05<g/this.plotHeight;if(d||f)p(a,function(a){(a.horiz&&d||!a.horiz&&f)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&p(a,
260
+ function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=I(!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&&(D.location.href=a.href)}).attr({align:a.position.align,
261
+ zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,g=b.series,d=b.container,f,e=d&&d.parentNode;n(b,"destroy");b.renderer.forExport?a.erase(q,b):q[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");F(b);for(f=c.length;f--;)c[f]=c[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=g.length;f--;)g[f]=g[f].destroy();p("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
262
+ function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});d&&(d.innerHTML="",F(d),e&&w(d));G(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();p(b.series||[],function(b){a.initSeries(b)});a.linkSeries();n(a,"beforeRender");B&&(a.pointer=new B(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){p([this.callback].concat(this.callbacks),
263
+ function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);n(this,"load");n(this,"render");h(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})})(K);(function(a){var z,y=a.each,C=a.extend,m=a.erase,d=a.fireEvent,e=a.format,u=a.isArray,w=a.isNumber,q=a.pick,h=a.uniqueKey,p=a.defined,f=a.removeEvent;a.Point=z=function(){};a.Point.prototype={init:function(a,f,c){var b=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(f,c);this.id=p(this.id)?this.id:h();a.options.colorByPoint?
264
+ (f=a.colorCounter,a.colorCounter++,a.colorCounter===b&&(a.colorCounter=0)):f=a.colorIndex;this.colorIndex=q(this.colorIndex,f);a.chart.pointCount++;d(this,"afterInit");return this},applyOptions:function(a,d){var c=this.series,b=c.options.pointValKey||c.pointValKey;a=z.prototype.optionsToObject.call(this,a);C(this,a);this.options=this.options?C(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);this.isNull=q(this.isValid&&!this.isValid(),null===this.x||
265
+ !w(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));void 0===this.x&&c&&(this.x=void 0===d?c.autoIncrement(this):d);return this},setNestedProperty:function(d,f,c){c=c.split(".");a.reduce(c,function(b,c,g,d){b[c]=d.length-1===g?f:a.isObject(b[c],!0)?b[c]:{};return b[c]},d);return d},optionsToObject:function(d){var f={},c=this.series,b=c.options.keys,e=b||c.pointArrayMap||["y"],g=e.length,h=0,p=0;if(w(d)||null===d)f[e[0]]=
266
+ d;else if(u(d))for(!b&&d.length>g&&(c=typeof d[0],"string"===c?f.name=d[0]:"number"===c&&(f.x=d[0]),h++);p<g;)b&&void 0===d[h]||(0<e[p].indexOf(".")?a.Point.prototype.setNestedProperty(f,d[h],e[p]):f[e[p]]=d[h]),h++,p++;else"object"===typeof d&&(f=d,d.dataLabels&&(c._hasPointLabels=!0),d.marker&&(c._hasPointMarkers=!0));return f},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":
267
+ "")+(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,d=a.zones,a=a.zoneAxis||"y",c=0,b;for(b=d[c];this[a]>=b.value;)b=d[++c];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,
268
+ d=a.hoverPoints,c;a.pointCount--;d&&(this.setState(),m(d,this),d.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(c in this)this[c]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,c=6;c--;)d=a[c],this[d]&&(this[d]=this[d].destroy());this.dataLabels&&(y(this.dataLabels,function(a){a.element&&
269
+ a.destroy()}),delete this.dataLabels);this.connectors&&(y(this.connectors,function(a){a.element&&a.destroy()}),delete this.connectors)},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 d=this.series,c=d.tooltipOptions,b=q(c.valueDecimals,""),f=c.valuePrefix||"",g=c.valueSuffix||"";y(d.pointArrayMap||
270
+ ["y"],function(c){c="{point."+c;if(f||g)a=a.replace(RegExp(c+"}","g"),f+c+"}"+g);a=a.replace(RegExp(c+"}","g"),c+":,."+b+"f}")});return e(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,f,c){var b=this,e=this.series.options;(e.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(c=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});d(this,a,f,c)},visible:!0}})(K);(function(a){var z=
271
+ a.addEvent,y=a.animObject,C=a.arrayMax,m=a.arrayMin,d=a.correctFloat,e=a.defaultOptions,u=a.defined,w=a.each,q=a.erase,h=a.extend,p=a.fireEvent,f=a.grep,t=a.isArray,n=a.isNumber,c=a.isString,b=a.merge,l=a.objectEach,g=a.pick,E=a.removeEvent,x=a.splat,I=a.SVGElement,G=a.syncTimeout,B=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,
272
+ radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10}},select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],
273
+ colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,f=a.series,e;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();h(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});d=b.events;l(d,function(a,b){z(c,b,a)});if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();w(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=
274
+ !0);f.length&&(e=f[f.length-1]);c._i=g(e&&e._i,-1)+1;a.orderSeries(this.insert(f));p(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(n(b)){for(c=a.length;c--;)if(b>=g(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return g(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,g=b.chart,d;w(b.axisTypes||[],function(f){w(g[f],function(a){d=a.options;if(c[f]===d.index||void 0!==c[f]&&c[f]===d.id||void 0===c[f]&&0===d.index)b.insert(a.series),
275
+ b[f]=a,a.isDirty=!0});b[f]||b.optionalAxis===f||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,g=arguments,d=n(b)?function(g){var d="y"===g&&c.toYData?c.toYData(a):a[g];c[g+"Data"][b]=d}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(g,2))};w(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,f=this.chart.time,b=g(b,a.pointStart,0);this.pointInterval=c=g(this.pointInterval,a.pointInterval,1);
276
+ d&&(a=new f.Date(b),"day"===d?f.set("Date",a,f.get("Date",a)+c):"month"===d?f.set("Month",a,f.get("Month",a)+c):"year"===d&&f.set("FullYear",a,f.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,d=c.options,f=d.plotOptions,l=(c.userOptions||{}).plotOptions||{},h=f[this.type];this.userOptions=a;c=b(h,f.series,a);this.tooltipOptions=b(e.tooltip,e.plotOptions.series&&e.plotOptions.series.tooltip,e.plotOptions[this.type].tooltip,d.tooltip.userOptions,
277
+ f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=g(a.stickyTracking,l[this.type]&&l[this.type].stickyTracking,l.series&&l.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===h.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&u(a[a.length-
278
+ 1].value)&&a.push({});p(this,"afterSetOptions",{options:c});return c},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var d,f=this.chart,e=this.userOptions,l=a+"Index",h=a+"Counter",k=c?c.length:g(f.options.chart[a+"Count"],f[a+"Count"]);b||(d=g(e[l],e["_"+l]),u(d)||(f.series.length||(f[h]=0),e["_"+l]=d=f[h]%k,f[h]+=1),c&&(b=c[d]));void 0!==d&&(this[l]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,
279
+ this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,g=this.points,d=[],f,e,l,h=this.requireSorting;w(b,function(b){var k;k=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;n(k)&&(k=a.inArray(k,this.xData,l),-1===k||g[k].touched?d.push(b):b!==c.data[k]?(g[k].update(b,!1,null,!1),g[k].touched=!0,h&&(l=k+1)):g[k]&&(g[k].touched=!0),f=!0)},this);if(f)for(b=g.length;b--;)e=g[b],e.touched||e.remove(!1),
280
+ e.touched=!1;else if(b.length===g.length)w(b,function(a,b){g[b].update&&a!==c.data[b]&&g[b].update(a,!1,null,!1)});else return!1;w(d,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,d,f,e){var l=this,h=l.points,v=h&&h.length||0,p,k=l.options,m=l.chart,A=null,x=l.xAxis,q=k.turboThreshold,F=this.xData,B=this.yData,G=(p=l.pointArrayMap)&&p.length,u;b=b||[];p=b.length;d=g(d,!0);!1!==e&&p&&v&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.isSeriesBoosting&&(u=this.updateData(b));if(!u){l.xIncrement=
281
+ null;l.colorCounter=0;w(this.parallelArrays,function(a){l[a+"Data"].length=0});if(q&&p>q){for(f=0;null===A&&f<p;)A=b[f],f++;if(n(A))for(f=0;f<p;f++)F[f]=this.autoIncrement(),B[f]=b[f];else if(t(A))if(G)for(f=0;f<p;f++)A=b[f],F[f]=A[0],B[f]=A.slice(1,G+1);else for(f=0;f<p;f++)A=b[f],F[f]=A[0],B[f]=A[1];else a.error(12)}else for(f=0;f<p;f++)void 0!==b[f]&&(A={series:l},l.pointClass.prototype.applyOptions.apply(A,[b[f]]),l.updateParallelArrays(A,f));B&&c(B[0])&&a.error(14,!0);l.data=[];l.options.data=
282
+ l.userOptions.data=b;for(f=v;f--;)h[f]&&h[f].destroy&&h[f].destroy();x&&(x.minRange=x.userMinRange);l.isDirty=m.isDirtyBox=!0;l.isDirtyData=!!h;f=!1}"point"===k.legendType&&(this.processData(),this.generatePoints());d&&m.redraw(f)},processData:function(b){var c=this.xData,g=this.yData,d=c.length,f;f=0;var e,l,h=this.xAxis,k,n=this.options;k=n.cropThreshold;var v=this.getExtremesFromAll||n.getExtremesFromAll,p=this.isCartesian,n=h&&h.val2lin,m=h&&h.isLog,x=this.requireSorting,q,t;if(p&&!this.isDirty&&
283
+ !h.isDirty&&!this.yAxis.isDirty&&!b)return!1;h&&(b=h.getExtremes(),q=b.min,t=b.max);p&&this.sorted&&!v&&(!k||d>k||this.forceCrop)&&(c[d-1]<q||c[0]>t?(c=[],g=[]):this.yData&&(c[0]<q||c[d-1]>t)&&(f=this.cropData(this.xData,this.yData,q,t),c=f.xData,g=f.yData,f=f.start,e=!0));for(k=c.length||1;--k;)d=m?n(c[k])-n(c[k-1]):c[k]-c[k-1],0<d&&(void 0===l||d<l)?l=d:0>d&&x&&(a.error(15),x=!1);this.cropped=e;this.cropStart=f;this.processedXData=c;this.processedYData=g;this.closestPointRange=l},cropData:function(a,
284
+ b,c,d,f){var e=a.length,l=0,h=e,k;f=g(f,this.cropShoulder,1);for(k=0;k<e;k++)if(a[k]>=c){l=Math.max(0,k-f);break}for(c=k;c<e;c++)if(a[c]>d){h=c+f;break}return{xData:a.slice(l,h),yData:b.slice(l,h),start:l,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,g,d=this.processedXData,f=this.processedYData,e=this.pointClass,l=d.length,k=this.cropStart||0,n,p=this.hasGroupedData,a=a.keys,m,q=[],t;c||p||(c=[],c.length=b.length,c=this.data=c);a&&p&&(this.options.keys=!1);for(t=0;t<l;t++)n=
285
+ k+t,p?(m=(new e).init(this,[d[t]].concat(x(f[t]))),m.dataGroup=this.groupMap[t],m.dataGroup.options&&(m.options=m.dataGroup.options,h(m,m.dataGroup.options))):(m=c[n])||void 0===b[n]||(c[n]=m=(new e).init(this,b[n],d[t])),m&&(m.index=n,q[t]=m);this.options.keys=a;if(c&&(l!==(g=c.length)||p))for(t=0;t<g;t++)t!==k||p||(t+=l),c[t]&&(c[t].destroyElements(),c[t].plotX=void 0);this.data=c;this.points=q},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,g,d=[],f=0;g=this.xAxis.getExtremes();
286
+ var e=g.min,l=g.max,k,h,v=this.requireSorting?1:0,p,x;a=a||this.stackedYData||this.processedYData||[];g=a.length;for(x=0;x<g;x++)if(h=c[x],p=a[x],k=(n(p,!0)||t(p))&&(!b.positiveValuesOnly||p.length||0<p),h=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[x+v]||h)>=e&&(c[x-v]||h)<=l,k&&h)if(k=p.length)for(;k--;)"number"===typeof p[k]&&(d[f++]=p[k]);else d[f++]=p;this.dataMin=m(d);this.dataMax=C(d)},translate:function(){this.processedXData||this.processData();this.generatePoints();
287
+ var a=this.options,b=a.stacking,c=this.xAxis,f=c.categories,e=this.yAxis,l=this.points,h=l.length,m=!!this.modifyValue,k=a.pointPlacement,x="between"===k||n(k),q=a.threshold,t=a.startFromThreshold?q:0,B,G,E,I,w=Number.MAX_VALUE;"between"===k&&(k=.5);n(k)&&(k*=g(a.pointRange||c.pointRange));for(a=0;a<h;a++){var y=l[a],z=y.x,C=y.y;G=y.low;var K=b&&e.stacks[(this.negStacks&&C<(t?0:q)?"-":"")+this.stackKey],U;e.positiveValuesOnly&&null!==C&&0>=C&&(y.isNull=!0);y.plotX=B=d(Math.min(Math.max(-1E5,c.translate(z,
288
+ 0,0,0,1,k,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&K&&K[z]&&(I=this.getStackIndicator(I,z,this.index),U=K[z],C=U.points[I.key],G=C[0],C=C[1],G===t&&I.key===K[z].base&&(G=g(n(q)&&q,e.min)),e.positiveValuesOnly&&0>=G&&(G=null),y.total=y.stackTotal=U.total,y.percentage=U.total&&y.y/U.total*100,y.stackY=C,U.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=u(G)?Math.min(Math.max(-1E5,e.translate(G,0,1,0,1)),1E5):null;m&&(C=this.modifyValue(C,y));y.plotY=G="number"===typeof C&&Infinity!==
289
+ C?Math.min(Math.max(-1E5,e.translate(C,0,1,0,1)),1E5):void 0;y.isInside=void 0!==G&&0<=G&&G<=e.len&&0<=B&&B<=c.len;y.clientX=x?d(c.translate(z,0,0,0,1,k)):B;y.negative=y.y<(q||0);y.category=f&&void 0!==f[y.x]?f[y.x]:y.x;y.isNull||(void 0!==E&&(w=Math.min(w,Math.abs(B-E))),E=B);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=w;p(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return f(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
290
+ !1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,g=b.renderer,d=b.inverted,f=this.clipBox,e=f||b.clipBox,l=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,e.height,c.xAxis,c.yAxis].join(),k=b[l],h=b[l+"m"];k||(a&&(e.width=0,d&&(e.x=b.plotSizeX),b[l+"m"]=h=g.clipRect(d?b.plotSizeX+99:-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[l]=k=g.clipRect(e),k.count={length:0});a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=1);!1!==c.clip&&
291
+ (this.group.clip(a||f?k:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=l);a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&l&&b[l]&&(f||(b[l]=b[l].destroy()),b[l+"m"]&&(b[l+"m"]=b[l+"m"].destroy())))},animate:function(a){var b=this.chart,c=y(this.options.animation),g;a?this.setClip(c):(g=this.sharedClipKey,(a=b[g])&&a.animate({width:b.plotSizeX,x:0},c),b[g+"m"]&&b[g+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();
292
+ p(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,f,e,l=this.options.marker,h,k,n,p=this[this.specialGroup]||this.markerGroup,m,x=g(l.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=l.enabledThreshold*l.radius);if(!1!==l.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)d=a[c],e=d.graphic,h=d.marker||{},k=!!d.marker,f=x&&void 0===h.enabled||h.enabled,n=d.isInside,f&&!d.isNull?(f=g(h.symbol,this.symbol),m=this.markerAttribs(d,
293
+ d.selected&&"select"),e?e[n?"show":"hide"](!0).animate(m):n&&(0<m.width||d.hasImage)&&(d.graphic=e=b.renderer.symbol(f,m.x,m.y,m.width,m.height,k?h:l).add(p)),e&&e.addClass(d.getClassName(),!0)):e&&(d.graphic=e.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},f=d.symbol||c.symbol,e=g(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=g(b&&b.radius,c&&c.radius,e+(c&&c.radiusPlus||0)));a.hasImage=f&&0===f.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-
294
+ e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},destroy:function(){var b=this,c=b.chart,g=/AppleWebKit\/533/.test(B.navigator.userAgent),d,f,e=b.data||[],h,n;p(b,"destroy");E(b);w(b.axisTypes||[],function(a){(n=b[a])&&n.series&&(q(n.series,b),n.isDirty=n.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(f=e.length;f--;)(h=e[f])&&h.destroy&&h.destroy();b.points=null;a.clearTimeout(b.animationTimeout);l(b,function(a,b){a instanceof I&&!a.survive&&(d=g&&"group"===b?"hide":"destroy",
295
+ a[d]())});c.hoverSeries===b&&(c.hoverSeries=null);q(c.series,b);c.orderSeries();l(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var g=this,d=g.options,f=d.step,e,l=[],k=[],h;a=a||g.points;(e=a.reversed)&&a.reverse();(f={right:1,center:2}[f]||f&&3)&&e&&(f=4-f);!d.connectNulls||b||c||(a=this.getValidPoints(a));w(a,function(e,n){var p=e.plotX,m=e.plotY,r=a[n-1];(e.leftCliff||r&&r.rightCliff)&&!c&&(h=!0);e.isNull&&!u(b)&&0<n?h=!d.connectNulls:e.isNull&&!b?h=!0:(0===n||h?n=["M",e.plotX,e.plotY]:
296
+ g.getPointSpline?n=g.getPointSpline(a,e,n):f?(n=1===f?["L",r.plotX,m]:2===f?["L",(r.plotX+p)/2,r.plotY,"L",(r.plotX+p)/2,m]:["L",p,r.plotY],n.push("L",p,m)):n=["L",p,m],k.push(e.x),f&&(k.push(e.x),2===f&&k.push(e.x)),l.push.apply(l,n),h=!1)});l.xMap=k;return g.graphPath=l},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph"]],c=a.getZonesGraphs(c);w(c,function(c,g){g=c[0];var d=a[g];d?(d.endX=a.preventGraphAnimation?null:b.xMap,d.animate({d:b})):
297
+ b.length&&(a[g]=a.chart.renderer.path(b).addClass(c[1]).attr({zIndex:1}).add(a.group));d&&(d.startX=b.xMap,d.isArea=b.isArea)})},getZonesGraphs:function(a){w(this.zones,function(b,c){a.push(["zone-graph-"+c,"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||"")])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,f,e,l=this.clips||[],h,k=this.graph,n=this.area,p=Math.max(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],x,q,t=b.inverted,
298
+ B,G,u,E,I=!1;d.length&&(k||n)&&m&&void 0!==m.min&&(q=m.reversed,B=m.horiz,k&&!this.showLine&&k.hide(),n&&n.hide(),x=m.getExtremes(),w(d,function(d,r){f=q?B?b.plotWidth:0:B?0:m.toPixels(x.min);f=Math.min(Math.max(g(e,f),0),p);e=Math.min(Math.max(Math.round(m.toPixels(g(d.value,x.max),!0)),0),p);I&&(f=e=m.toPixels(x.max));G=Math.abs(f-e);u=Math.min(f,e);E=Math.max(f,e);m.isXAxis?(h={x:t?E:u,y:0,width:G,height:p},B||(h.x=b.plotHeight-h.x)):(h={x:0,y:t?E:u,width:p,height:G},B&&(h.y=b.plotWidth-h.y));
299
+ l[r]?l[r].animate(h):(l[r]=c.clipRect(h),k&&a["zone-graph-"+r].clip(l[r]),n&&a["zone-area-"+r].clip(l[r]));I=d.value>x.max;a.resetZones&&0===e&&(e=void 0)}),this.clips=l)},invertGroups:function(a){function b(){w(["group","markerGroup"],function(b){c[b]&&(g.renderer.isVML&&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,g=c.chart,d;c.xAxis&&(d=z(g,"resize",b),z(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,
300
+ b,c,g,d){var f=this[a],e=!f;e&&(this[a]=f=this.chart.renderer.g().attr({zIndex:g||.1}).add(d));f.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(u(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr({visibility:c})[e?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,
301
+ 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,g=a.options,d=!!a.animate&&b.renderer.isSVG&&y(g.animation).duration,f=a.visible?"inherit":"hidden",e=g.zIndex,l=a.hasRendered,k=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",f,e,k);a.markerGroup=a.plotGroup("markerGroup","markers",f,e,k);d&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&
302
+ a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===g.clip||a.sharedClipKey||l||c.clip(b.clipRect);d&&a.animate();l||(a.animationTimeout=G(function(){a.afterAnimate()},d));a.isDirty=!1;a.hasRendered=!0;p(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,f=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:g(d&&
303
+ d.left,a.plotLeft),translateY:g(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,g=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?g.len-a.chartX+g.pos:a.chartY-g.pos},b)},buildKDTree:function(){function a(c,g,d){var f,e;if(e=c&&c.length)return f=b.kdAxisArray[g%d],c.sort(function(a,b){return a[f]-b[f]}),e=Math.floor(e/2),{point:c[e],
304
+ left:a(c.slice(0,e),g+1,d),right:a(c.slice(e+1),g+1,d)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;G(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,l,h){var k=b.point,n=g.kdAxisArray[l%h],p,m,r=k;m=u(a[d])&&u(k[d])?Math.pow(a[d]-k[d],2):null;p=u(a[f])&&u(k[f])?Math.pow(a[f]-k[f],2):null;p=(m||0)+(p||0);k.dist=u(p)?Math.sqrt(p):Number.MAX_VALUE;
305
+ k.distX=u(m)?Math.sqrt(m):Number.MAX_VALUE;n=a[n]-k[n];p=0>n?"left":"right";m=0>n?"right":"left";b[p]&&(p=c(a,b[p],l+1,h),r=p[e]<r[e]?p:k);b[m]&&Math.sqrt(n*n)<r[e]&&(a=c(a,b[m],l+1,h),r=a[e]<r[e]?a:r);return r}var g=this,d=this.kdAxisArray[0],f=this.kdAxisArray[1],e=b?"distX":"dist";b=-1<g.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(K);(function(a){var z=a.addEvent,y=a.Axis,C=a.createElement,m=a.css,
306
+ d=a.defined,e=a.each,u=a.erase,w=a.extend,q=a.fireEvent,h=a.inArray,p=a.isNumber,f=a.isObject,t=a.isArray,n=a.merge,c=a.objectEach,b=a.pick,l=a.Point,g=a.Series,E=a.seriesTypes,x=a.setAnimation,I=a.splat;w(a.Chart.prototype,{addSeries:function(a,c,d){var g,f=this;a&&(c=b(c,!0),q(f,"addSeries",{options:a},function(){g=f.initSeries(a);f.isDirtyLegend=!0;f.linkSeries();q(f,"afterAddSeries");c&&f.redraw(d)}));return g},addAxis:function(a,c,g,d){var f=c?"xAxis":"yAxis",e=this.options;a=n(a,{index:this[f].length,
307
+ isX:c});c=new y(this,a);e[f]=I(e[f]||{});e[f].push(a);b(g,!0)&&this.redraw(d);return c},showLoading:function(a){var b=this,c=b.options,g=b.loadingDiv,d=function(){g&&m(g,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};g||(b.loadingDiv=g=C("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=C("span",{className:"highcharts-loading-inner"},null,g),z(b,"redraw",d));g.className="highcharts-loading";b.loadingSpan.innerHTML=
308
+ a||c.lang.loading;b.loadingShown=!0;d()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),
309
+ update:function(a,g,f,l){var m=this,x={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},t=a.chart,r,v,B=[];q(m,"update",{options:a});if(t){n(!0,m.options.chart,t);"className"in t&&m.setClassName(t.className);"reflow"in t&&m.setReflow(t.reflow);if("inverted"in t||"polar"in t||"type"in t)m.propFromSeries(),r=!0;"alignTicks"in t&&(r=!0);c(t,function(a,b){-1!==h("chart."+b,m.propsRequireUpdateSeries)&&(v=!0);-1!==h(b,m.propsRequireDirtyBox)&&(m.isDirtyBox=!0)})}a.plotOptions&&n(!0,this.options.plotOptions,
310
+ a.plotOptions);c(a,function(a,b){if(m[b]&&"function"===typeof m[b].update)m[b].update(a,!1);else if("function"===typeof m[x[b]])m[x[b]](a);"chart"!==b&&-1!==h(b,m.propsRequireUpdateSeries)&&(v=!0)});e("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;a[b]&&("series"===b&&(c=[],e(m[b],function(a,b){a.options.isInternal||c.push(b)})),e(I(a[b]),function(a,g){(g=d(a.id)&&m.get(a.id)||m[b][c?c[g]:g])&&g.coll===b&&(g.update(a,!1),f&&(g.touched=!0));if(!g&&f)if("series"===b)m.addSeries(a,
311
+ !1).touched=!0;else if("xAxis"===b||"yAxis"===b)m.addAxis(a,"xAxis"===b,!1).touched=!0}),f&&e(m[b],function(a){a.touched||a.options.isInternal?delete a.touched:B.push(a)}))});e(B,function(a){a.remove&&a.remove(!1)});r&&e(m.axes,function(a){a.update({},!1)});v&&e(m.series,function(a){a.update({},!1)});a.loading&&n(!0,m.options.loading,a.loading);r=t&&t.width;t=t&&t.height;p(r)&&r!==m.chartWidth||p(t)&&t!==m.chartHeight?m.setSize(r,t,l):b(g,!0)&&m.redraw(l);q(m,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,
312
+ a)}});w(l.prototype,{update:function(a,c,g,d){function e(){l.applyOptions(a);null===l.y&&n&&(l.graphic=n.destroy());f(a,!0)&&(n&&n.element&&a&&a.marker&&void 0!==a.marker.symbol&&(l.graphic=n.destroy()),a&&a.dataLabels&&l.dataLabel&&(l.dataLabel=l.dataLabel.destroy()),l.connector&&(l.connector=l.connector.destroy()));p=l.index;h.updateParallelArrays(l,p);k.data[p]=f(k.data[p],!0)||f(a,!0)?l.options:b(a,k.data[p]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(m.isDirtyBox=!0);"point"===
313
+ k.legendType&&(m.isDirtyLegend=!0);c&&m.redraw(g)}var l=this,h=l.series,n=l.graphic,p,m=h.chart,k=h.options;c=b(c,!0);!1===d?e():l.firePointEvent("update",{options:a},e)},remove:function(a,b){this.series.removePoint(h(this,this.series.data),a,b)}});w(g.prototype,{addPoint:function(a,c,g,d){var f=this.options,e=this.data,l=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,n=f.data,p,k,m=this.xData,x,t;c=b(c,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);t=p.x;x=m.length;if(this.requireSorting&&
314
+ t<m[x-1])for(k=!0;x&&m[x-1]>t;)x--;this.updateParallelArrays(p,"splice",x,0,0);this.updateParallelArrays(p,x);h&&p.name&&(h[t]=p.name);n.splice(x,0,a);k&&(this.data.splice(x,0,null),this.processData());"point"===f.legendType&&this.generatePoints();g&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),this.updateParallelArrays(p,"shift"),n.shift()));this.isDirtyData=this.isDirty=!0;c&&l.redraw(d)},removePoint:function(a,c,g){var d=this,f=d.data,e=f[a],l=d.points,h=d.chart,n=function(){l&&l.length===f.length&&
315
+ l.splice(a,1);f.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(e||{series:d},"splice",a,1);e&&e.destroy();d.isDirty=!0;d.isDirtyData=!0;c&&h.redraw()};x(g,h);c=b(c,!0);e?e.firePointEvent("remove",null,n):n()},remove:function(a,c,g){function d(){f.destroy();f.remove=null;e.isDirtyLegend=e.isDirtyBox=!0;e.linkSeries();b(a,!0)&&e.redraw(c)}var f=this,e=f.chart;!1!==g?q(f,"remove",null,d):d()},update:function(c,g){var d=this,f=d.chart,l=d.userOptions,p=d.oldType||d.type,m=c.type||l.type||
316
+ f.options.chart.type,r=E[p].prototype,x,t=["group","markerGroup","dataLabelsGroup"],k=["navigatorSeries","baseSeries"],B=d.finishedAnimating&&{animation:!1},u=["data","name","turboThreshold"],G=a.keys(c),I=0<G.length;e(G,function(a){-1===h(a,u)&&(I=!1)});if(I)c.data&&this.setData(c.data,!1),c.name&&this.setName(c.name,!1);else{k=t.concat(k);e(k,function(a){k[a]=d[a];delete d[a]});c=n(l,B,{index:d.index,pointStart:b(l.pointStart,d.xData[0])},{data:d.options.data},c);d.remove(!1,null,!1);for(x in r)d[x]=
317
+ void 0;E[m||p]?w(d,E[m||p].prototype):a.error(17,!0);e(k,function(a){d[a]=k[a]});d.init(f,c);c.zIndex!==l.zIndex&&e(t,function(a){d[a]&&d[a].attr({zIndex:c.zIndex})});d.oldType=p;f.linkSeries()}q(this,"afterUpdate");b(g,!0)&&f.redraw(I?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});w(y.prototype,{update:function(a,d){var g=this.chart,f=a&&a.events||{};a=n(this.userOptions,a);g.options[this.coll].indexOf&&(g.options[this.coll][g.options[this.coll].indexOf(this.userOptions)]=
318
+ a);c(g.options[this.coll].events,function(a,b){"undefined"===typeof f[b]&&(f[b]=void 0)});this.destroy(!0);this.init(g,w(a,{events:f}));g.isDirtyBox=!0;b(d,!0)&&g.redraw()},remove:function(a){for(var c=this.chart,d=this.coll,g=this.series,f=g.length;f--;)g[f]&&g[f].remove(!1);u(c.axes,this);u(c[d],this);t(c.options[d])?c.options[d].splice(this.options.index,1):delete c.options[d];e(c[d],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,
319
+ b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(K);(function(a){var z=a.animObject,y=a.each,C=a.extend,m=a.defined,d=a.isNumber,e=a.merge,u=a.pick,w=a.Series,q=a.seriesType,h=a.svg;q("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},
320
+ threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&y(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,e=a.xAxis,h=a.yAxis,c=e.options.reversedStacks,c=e.reversed&&!c||!e.reversed&&c,b,l={},g=0;!1===d.grouping?g=1:y(a.chart.series,function(c){var d=c.options,f=c.yAxis,e;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||
321
+ h.len!==f.len||h.pos!==f.pos||(d.stacking?(b=c.stackKey,void 0===l[b]&&(l[b]=g++),e=l[b]):!1!==d.grouping&&(e=g++),c.columnIndex=e)});var m=Math.min(Math.abs(e.transA)*(e.ordinalSlope||d.pointRange||e.closestPointRange||e.tickInterval||1),e.len),x=m*d.groupPadding,q=(m-2*x)/(g||1),d=Math.min(d.maxPointWidth||e.len,u(d.pointWidth,q*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(q-d)/2+(x+((a.columnIndex||0)+(c?1:0))*q-m/2)*(c?-1:1)};return a.columnMetrics},crispCol:function(a,d,e,h){var c=
322
+ this.chart,b=this.borderWidth,f=-(b%2?.5:0),b=b%2?.5:1;c.inverted&&c.renderer.isVML&&(b+=1);this.options.crisp&&(e=Math.round(a+e)+f,a=Math.round(a)+f,e-=a);h=Math.round(d+h)+b;f=.5>=Math.abs(d)&&.5<h;d=Math.round(d)+b;h-=d;f&&h&&(--d,h+=1);return{x:a,y:d,width:e,height:h}},translate:function(){var a=this,d=a.chart,e=a.options,h=a.dense=2>a.closestPointRange*a.xAxis.transA,h=a.borderWidth=u(e.borderWidth,h?0:1),c=a.yAxis,b=e.threshold,l=a.translatedThreshold=c.getThreshold(b),g=u(e.minPointLength,
323
+ 5),q=a.getColumnMetrics(),x=q.width,I=a.barW=Math.max(x,1+2*h),G=a.pointXOffset=q.offset;d.inverted&&(l-=.5);e.pointPadding&&(I=Math.ceil(I));w.prototype.translate.apply(a);y(a.points,function(f){var e=u(f.yBottom,l),h=999+Math.abs(e),n=x,h=Math.min(Math.max(-h,f.plotY),c.len+h),p=f.plotX+G,q=I,r=Math.min(h,e),t,B=Math.max(h,e)-r;g&&Math.abs(B)<g&&(B=g,t=!c.reversed&&!f.negative||c.reversed&&f.negative,f.y===b&&a.dataMax<=b&&c.min<b&&(t=!t),r=Math.abs(r-l)>g?e-g:l-(t?g:0));m(f.options.pointWidth)&&
324
+ (n=q=Math.ceil(f.options.pointWidth),p-=Math.round((n-x)/2));f.barX=p;f.pointWidth=n;f.tooltipPos=d.inverted?[c.len+c.pos-d.plotLeft-h,a.xAxis.len-p-q/2,B]:[p+q/2,h+c.pos-d.plotTop,B];f.shapeType="rect";f.shapeArgs=a.crispCol.apply(a,f.isNull?[p,l,q,0]:[p,r,q,B])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,f=this.chart,h=a.options,n=f.renderer,
325
+ c=h.animationLimit||250,b;y(a.points,function(l){var g=l.graphic,m=g&&f.pointCount<c?"animate":"attr";if(d(l.plotY)&&null!==l.y){b=l.shapeArgs;if(g)g[m](e(b));else l.graphic=g=n[l.shapeType](b).add(l.group||a.group);h.borderRadius&&g.attr({r:h.borderRadius});g.addClass(l.getClassName(),!0)}else g&&(l.graphic=g.destroy())})},animate:function(a){var d=this,e=this.yAxis,n=d.options,c=this.chart.inverted,b={},l=c?"translateX":"translateY",g;h&&(a?(b.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(n.threshold))),
326
+ c?b.translateX=a-e.len:b.translateY=a,d.group.attr(b)):(g=d.group.attr(l),d.group.animate({scaleY:1},C(z(d.options.animation),{step:function(a,c){b[l]=g+c.pos*(e.pos-g);d.group.attr(b)}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&y(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});w.prototype.remove.apply(a,arguments)}})})(K);(function(a){var z=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cspan class\x3d"highcharts-header"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
327
+ 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,drawGraph:function(){this.options.lineWidth&&z.prototype.drawGraph.call(this)}})})(K);(function(a){var z=a.addEvent,y=a.arrayMax,C=a.defined,m=a.each,d=a.extend,e=a.format,u=a.map,w=a.merge,q=a.noop,h=a.pick,p=a.relativeLength,f=a.Series,t=a.seriesTypes,n=a.some,c=a.stableSort,
328
+ b=a.isArray,l=a.splat;a.distribute=function(b,d,f){function g(a,b){return a.target-b.target}var e,l=!0,p=b,x=[],q;q=0;var t=p.reducedLen||d;for(e=b.length;e--;)q+=b[e].size;if(q>t){c(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(q=e=0;q<=t;)q+=b[e].size,e++;x=b.splice(e-1,b.length)}c(b,g);for(b=u(b,function(a){return{size:a.size,targets:[a.target],align:h(a.align,.5)}});l;){for(e=b.length;e--;)l=b[e],q=(Math.min.apply(0,l.targets)+Math.max.apply(0,l.targets))/2,l.pos=Math.min(Math.max(0,q-l.size*
329
+ l.align),d-l.size);e=b.length;for(l=!1;e--;)0<e&&b[e-1].pos+b[e-1].size>b[e].pos&&(b[e-1].size+=b[e].size,b[e-1].targets=b[e-1].targets.concat(b[e].targets),b[e-1].align=.5,b[e-1].pos+b[e-1].size>d&&(b[e-1].pos=d-b[e-1].size),b.splice(e,1),l=!0)}p.push.apply(p,x);e=0;n(b,function(b){var c=0;if(n(b.targets,function(){p[e].pos=b.pos+c;if(Math.abs(p[e].pos-p[e].target)>f)return m(p.slice(0,e+1),function(a){delete a.pos}),p.reducedLen=(p.reducedLen||d)-.1*d,p.reducedLen>.1*d&&a.distribute(p,d,f),!0;c+=
330
+ p[e].size;e++}))return!0});c(p,g)};f.prototype.drawDataLabels=function(){function c(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 d(a,c){var d=[],f;if(b(a)&&!b(c))d=u(a,function(a){return w(a,c)});else if(b(c)&&!b(a))d=u(c,function(b){return w(a,b)});else if(b(a)||b(c))for(f=Math.max(a.length,c.length);f--;)d[f]=w(a[f],c[f]);else d=
331
+ w(a,c);return d}var f=this,n=f.chart,p=f.options,q=p.dataLabels,t=f.points,A,y=f.hasRendered||0,M,J=h(q.defer,!!p.animation),r=n.renderer,q=d(d(n.options.plotOptions&&n.options.plotOptions.series&&n.options.plotOptions.series.dataLabels,n.options.plotOptions&&n.options.plotOptions[f.type]&&n.options.plotOptions[f.type].dataLabels),q);if(b(q)||q.enabled||f._hasPointLabels)M=f.plotGroup("dataLabelsGroup","data-labels",J&&!y?"hidden":"visible",q.zIndex||6),J&&(M.attr({opacity:+y}),y||z(f,"afterAnimate",
332
+ function(){f.visible&&M.show(!0);M[p.animation?"animate":"attr"]({opacity:1},{duration:200})})),m(t,function(b){A=l(d(q,b.dlOptions||b.options&&b.options.dataLabels));m(A,function(d,g){var l=d.enabled&&!b.isNull&&c(b,d),k,h,m,p=b.dataLabels?b.dataLabels[g]:b.dataLabel,q=b.connectors?b.connectors[g]:b.connector,x=!p;l&&(k=b.getLabelConfig(),h=d[b.formatPrefix+"Format"]||d.format,k=C(h)?e(h,k,n.time):(d[b.formatPrefix+"Formatter"]||d.formatter).call(k,d),h=d.rotation,m={r:d.borderRadius||0,rotation:h,
333
+ padding:d.padding,zIndex:1},a.objectEach(m,function(a,b){void 0===a&&delete m[b]}));!p||l&&C(k)?l&&C(k)&&(p?m.text=k:(b.dataLabels=b.dataLabels||[],p=b.dataLabels[g]=h?r.text(k,0,-9999).addClass("highcharts-data-label"):r.label(k,0,-9999,d.shape,null,null,d.useHTML,null,"data-label"),g||(b.dataLabel=p),p.addClass(" highcharts-data-label-color-"+b.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":""))),p.options=d,p.attr(m),p.added||p.add(M),f.alignDataLabel(b,p,d,null,x)):(b.dataLabel=
334
+ b.dataLabel.destroy(),b.dataLabels&&(1===b.dataLabels.length?delete b.dataLabels:delete b.dataLabels[g]),g||delete b.dataLabel,q&&(b.connector=b.connector.destroy(),b.connectors&&(1===b.connectors.length?delete b.connectors:delete b.connectors[g])))})});a.fireEvent(this,"afterDrawDataLabels")};f.prototype.alignDataLabel=function(a,b,c,f,e){var g=this.chart,l=g.inverted,n=h(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),p=h(a.plotY,-9999),m=b.getBBox(),q,r=c.rotation,x=c.align,t=this.visible&&(a.series.forceDL||
335
+ g.isInsidePlot(n,Math.round(p),l)||f&&g.isInsidePlot(n,l?f.x+1:f.y+f.height-1,l)),k="justify"===h(c.overflow,"justify");if(t&&(q=g.renderer.fontMetrics(void 0,b).b,f=d({x:l?this.yAxis.len-p:n,y:Math.round(l?this.xAxis.len-n:p),width:0,height:0},f),d(c,{width:m.width,height:m.height}),r?(k=!1,n=g.renderer.rotCorr(q,r),n={x:f.x+c.x+f.width/2+n.x,y:f.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*f.height},b[e?"attr":"animate"](n).attr({align:x}),p=(r+720)%360,p=180<p&&360>p,"left"===x?n.y-=p?m.height:
336
+ 0:"center"===x?(n.x-=m.width/2,n.y-=m.height/2):"right"===x&&(n.x-=m.width,n.y-=p?0:m.height),b.placed=!0,b.alignAttr=n):(b.align(c,null,f),n=b.alignAttr),k&&0<=f.height?a.isLabelJustified=this.justifyDataLabel(b,c,n,m,f,e):h(c.crop,!0)&&(t=g.isInsidePlot(n.x,n.y)&&g.isInsidePlot(n.x+m.width,n.y+m.height)),c.shape&&!r))b[e?"attr":"animate"]({anchorX:l?g.plotWidth-a.plotY:a.plotX,anchorY:l?g.plotHeight-a.plotX:a.plotY});t||(b.attr({y:-9999}),b.placed=!1)};f.prototype.justifyDataLabel=function(a,b,
337
+ c,d,f,e){var g=this.chart,l=b.align,h=b.verticalAlign,n,p,m=a.box?0:a.padding||0;n=c.x+m;0>n&&("right"===l?b.align="left":b.x=-n,p=!0);n=c.x+d.width-m;n>g.plotWidth&&("left"===l?b.align="right":b.x=g.plotWidth-n,p=!0);n=c.y+m;0>n&&("bottom"===h?b.verticalAlign="top":b.y=-n,p=!0);n=c.y+d.height-m;n>g.plotHeight&&("top"===h?b.verticalAlign="bottom":b.y=g.plotHeight-n,p=!0);p&&(a.placed=!e,a.align(b,null,f));return p};t.pie&&(t.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,e=b.chart,
338
+ l=b.options.dataLabels,n=h(l.connectorPadding,10),p=h(l.connectorWidth,1),q=e.plotWidth,t=e.plotHeight,u=Math.round(e.chartWidth/3),w,r=b.center,D=r[2]/2,z=r[1],k,H,K,Q,P=[[],[]],N,L,O,V,R=[0,0,0,0];b.visible&&(l.enabled||b._hasPointLabels)&&(m(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),f.prototype.drawDataLabels.apply(b),m(c,function(a){a.dataLabel&&(a.visible?(P[a.half].push(a),
339
+ a.dataLabel._pos=null,a.dataLabel.getBBox().width>u&&(a.dataLabel.css({width:.7*u}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),m(P,function(c,f){var g,p,x=c.length,v=[],u;if(x)for(b.sortByAngle(c,f-.5),0<b.maxLabelDistance&&(g=Math.max(0,z-D-b.maxLabelDistance),p=Math.min(z+D+b.maxLabelDistance,e.plotHeight),m(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,z-D-a.labelDistance),a.bottom=Math.min(z+D+
340
+ a.labelDistance,e.plotHeight),u=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y},v.push(a.distributeBox))}),g=p+u-g,a.distribute(v,g,g/5)),V=0;V<x;V++)d=c[V],K=d.labelPos,k=d.dataLabel,O=!1===d.visible?"hidden":"inherit",L=g=K[1],v&&C(d.distributeBox)&&(void 0===d.distributeBox.pos?O="hidden":(Q=d.distributeBox.size,L=d.top+d.distributeBox.pos)),delete d.positionIndex,N=l.justify?r[0]+(f?-1:1)*(D+d.labelDistance):b.getX(L<d.top+2||L>d.bottom-2?g:L,
341
+ f,d),k._attr={visibility:O,align:K[6]},k._pos={x:N+l.x+({left:n,right:-n}[K[6]]||0),y:L+l.y-10},K.x=N,K.y=L,h(l.crop,!0)&&(H=k.getBBox().width,g=null,N-H<n&&1===f?(g=Math.round(H-N+n),R[3]=Math.max(g,R[3])):N+H>q-n&&0===f&&(g=Math.round(N+H-q+n),R[1]=Math.max(g,R[1])),0>L-Q/2?R[0]=Math.max(Math.round(-L+Q/2),R[0]):L+Q/2>t&&(R[2]=Math.max(Math.round(L+Q/2-t),R[2])),k.sideOverflow=g)}),0===y(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),p&&m(this.points,function(a){var c;w=a.connector;
342
+ if((k=a.dataLabel)&&k._pos&&a.visible&&0<a.labelDistance){O=k._attr.visibility;if(c=!w)a.connector=w=e.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup);w[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});w.attr("visibility",O)}else w&&(a.connector=w.destroy())}))},t.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return h(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),
343
+ c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},t.pie.prototype.placeDataLabels=function(){m(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,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"](a),b.moved=!0):b&&b.attr({y:-9999}))},
344
+ this)},t.pie.prototype.alignDataLabel=q,t.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,f=c.minSize||80,g,e=null!==c.size;e||(null!==d[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!==d[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),b[1]+=(a[0]-a[2])/2),g<b[2]?(b[2]=g,b[3]=Math.min(p(c.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):
345
+ e=!0);return e});t.column&&(t.column.prototype.alignDataLabel=function(a,b,c,d,e){var g=this.chart.inverted,l=a.series,n=a.dlBox||a.shapeArgs,p=h(a.below,a.plotY>h(this.translatedThreshold,l.yAxis.len)),m=h(c.inside,!!this.options.stacking);n&&(d=w(n),0>d.y&&(d.height+=d.y,d.y=0),n=d.y+d.height-l.yAxis.len,0<n&&(d.height-=n),g&&(d={x:l.yAxis.len-d.y-d.height,y:l.xAxis.len-d.x-d.width,width:d.height,height:d.width}),m||(g?(d.x+=p?0:d.width,d.width=0):(d.y+=p?d.height:0,d.height=0)));c.align=h(c.align,
346
+ !g||m?"center":p?"right":"left");c.verticalAlign=h(c.verticalAlign,g||m?"middle":p?"top":"bottom");f.prototype.alignDataLabel.call(this,a,b,c,d,e);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})})(K);(function(a){var z=a.Chart,y=a.each,C=a.isArray,m=a.objectEach,d=a.pick;a=a.addEvent;a(z,"render",function(){var a=[];y(this.labelCollectors||[],function(d){a=a.concat(d())});y(this.yAxis||[],function(d){d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&m(d.stacks,function(d){m(d,
347
+ function(d){a.push(d.label)})})});y(this.series||[],function(e){var m=e.options.dataLabels;e.visible&&(!1!==m.enabled||e._hasPointLabels)&&y(e.points,function(e){if(e.visible){var h=C(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[];y(h,function(h){var f=h.options;h.labelrank=d(f.labelrank,e.labelrank,e.shapeArgs&&e.shapeArgs.height);f.allowOverlap||a.push(h)})}})});this.hideOverlappingLabels(a)});z.prototype.hideOverlappingLabels=function(a){var d=a.length,e=this.renderer,m,h,p,f,t,n,c=function(a,
348
+ c,d,f,e,h,n,m){return!(e>a+d||e+n<a||h>c+f||h+m<c)};p=function(a){var b,c,d,f=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=e.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+f,y:b.y+(c.translateY||0)+f-d,width:a.width-2*f,height:a.height-2*f}};for(h=0;h<d;h++)if(m=a[h])m.oldOpacity=m.opacity,m.newOpacity=1,m.absoluteBox=p(m);a.sort(function(a,c){return(c.labelrank||
349
+ 0)-(a.labelrank||0)});for(h=0;h<d;h++)for(n=(p=a[h])&&p.absoluteBox,m=h+1;m<d;++m)if(t=(f=a[m])&&f.absoluteBox,n&&t&&p!==f&&0!==p.newOpacity&&0!==f.newOpacity&&(t=c(n.x,n.y,n.width,n.height,t.x,t.y,t.width,t.height)))(p.labelrank<f.labelrank?p:f).newOpacity=0;y(a,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)):a.attr({opacity:c})),a.isOld=!0)})}})(K);(function(a){var z=
350
+ a.addEvent,y=a.Chart,C=a.createElement,m=a.css,d=a.defaultOptions,e=a.defaultPlotOptions,u=a.each,w=a.extend,q=a.fireEvent,h=a.hasTouch,p=a.inArray,f=a.isObject,t=a.Legend,n=a.merge,c=a.pick,b=a.Point,l=a.Series,g=a.seriesTypes,E;E=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};u(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=
351
+ a:a.dataLabel.element.point=a)});a._hasTracking||(u(a.trackerGroups,function(d){if(a[d]&&(a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)}),h))a[d].on("touchstart",c)}),a._hasTracking=!0);q(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),d=c.length,f=a.chart,g=f.pointer,e=f.renderer,l=f.options.tooltip.snap,n=a.tracker,m,p=function(){if(f.hoverSeries!==a)a.onMouseOver()};
352
+ if(d&&!b)for(m=d+1;m--;)"M"===c[m]&&c.splice(m+1,0,c[m+1]-l,c[m+2],"L"),(m&&"M"===c[m]||m===d)&&c.splice(m,0,"L",c[m-2]+l,c[m-1]);n?n.attr({d:c}):a.graph&&(a.tracker=e.path(c).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(b?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),u([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",p).on("mouseout",function(a){g.onTrackerMouseOut(a)});if(h)a.on("touchstart",p)}));q(this,"afterDrawTracker")}};
353
+ g.column&&(g.column.prototype.drawTracker=E.drawTrackerPoint);g.pie&&(g.pie.prototype.drawTracker=E.drawTrackerPoint);g.scatter&&(g.scatter.prototype.drawTracker=E.drawTrackerPoint);w(t.prototype,{setItemEvents:function(a,c,d){var f=this.chart.renderer.boxWrapper,g="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(d?c:a.legendGroup).on("mouseover",function(){a.setState("hover");f.addClass(g)}).on("mouseout",function(){f.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&
354
+ a.setVisible()};f.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):q(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=C("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);z(a.checkbox,"click",function(b){q(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});w(y.prototype,{showResetZoom:function(){function a(){b.zoomOut()}
355
+ var b=this,c=d.lang,f=b.options.chart.resetZoomButton,g=f.theme,e=g.states,l="chart"===f.relativeTo?null:"plotBox";q(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,g,e&&e.hover).attr({align:f.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(f.position,!1,l)})},zoomOut:function(){q(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,d=this.pointer,g=!1,e;!a||a.resetSelection?(u(this.axes,
356
+ function(a){b=a.zoom()}),d.initiated=!1):u(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(g=!0))});e=this.resetZoomButton;g&&!e?this.showResetZoom():!g&&f(e)&&(this.resetZoomButton=e.destroy());b&&this.redraw(c(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&u(d,function(a){a.setState()});u("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,
357
+ g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",e=c[d],l=(b.pointRange||0)/2,h=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,n=b.getExtremes(),k=b.toValue(e-g,!0)+l*h,h=b.toValue(e+b.len-g,!0)-l*h,m=h<k,e=m?h:k,k=m?k:h,h=Math.min(n.dataMin,l?n.min:b.toValue(b.toPixels(n.min)-b.minPixelPadding)),l=Math.max(n.dataMax,l?n.max:b.toValue(b.toPixels(n.max)+b.minPixelPadding)),m=h-e;0<m&&(k+=m,e=h);m=k-l;0<m&&(k=l,e-=m);b.series.length&&e!==n.min&&k!==n.max&&(b.setExtremes(e,k,!1,!1,{trigger:"pan"}),
358
+ f=!0);c[d]=g});f&&c.redraw(!1);m(c.container,{cursor:"move"})}});w(b.prototype,{select:function(a,b){var d=this,f=d.series,g=f.chart;a=c(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;f.options.data[p(d,f.data)]=d.options;d.setState(a&&"select");b||u(g.getSelectedPoints(),function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,f.options.data[p(a,f.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=
359
+ 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");u(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=n(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){z(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var d=Math.floor(this.plotX),
360
+ f=this.plotY,g=this.series,l=g.options.states[a||"normal"]||{},h=e[g.type].marker&&g.options.marker,n=h&&!1===h.enabled,m=h&&h.states&&h.states[a||"normal"]||{},p=!1===m.enabled,t=g.stateMarkerGraphic,x=this.marker||{},k=g.chart,u=g.halo,w,E=h&&g.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===l.enabled||a&&(p||n&&!1===m.enabled)||a&&x.states&&x.states[a]&&!1===x.states[a].enabled)){E&&(w=g.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+
361
+ this.state),a&&this.graphic.addClass("highcharts-point-"+a),w&&this.graphic.animate(w,c(k.options.chart.animation,m.animation,h.animation)),t&&t.hide();else{if(a&&m)if(h=x.symbol||g.symbol,t&&t.currentSymbol!==h&&(t=t.destroy()),t)t[b?"animate":"attr"]({x:w.x,y:w.y});else h&&(g.stateMarkerGraphic=t=k.renderer.symbol(h,w.x,w.y,w.width,w.height).add(g.markerGroup),t.currentSymbol=h);t&&(t[a&&k.isInsidePlot(d,f,k.inverted)?"show":"hide"](),t.element.point=this)}(d=l.halo)&&d.size?(u||(g.halo=u=k.renderer.path().add((this.graphic||
362
+ t).parentGroup)),u.show()[b?"animate":"attr"]({d:this.haloPath(d.size)}),u.attr({"class":"highcharts-halo highcharts-color-"+c(this.colorIndex,g.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),u.point=this):u&&u.point&&u.point.haloPath&&u.animate({d:u.point.haloPath(0)},null,u.hide);this.state=a;q(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});w(l.prototype,{onMouseOver:function(){var a=
363
+ this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&q(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&q(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;a=a||"";b.state!==a&&(u([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&
364
+ (b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,g,e=d.options.chart.ignoreHiddenSeries,l=c.visible;g=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!l:a)?"show":"hide";u(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][g]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);
365
+ c.isDirty=!0;c.options.stacking&&u(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});u(c.linkedSeries,function(b){b.setVisible(a,!1)});e&&(d.isDirtyBox=!0);q(c,g);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);q(this,a?"select":"unselect")},drawTracker:E.drawTrackerGraph})})(K);(function(a){var z=a.Chart,y=a.each,C=a.inArray,m=a.isArray,
366
+ d=a.isObject,e=a.pick,u=a.splat;z.prototype.setResponsive=function(d){var e=this.options.responsive,h=[],m=this.currentResponsive;e&&e.rules&&y(e.rules,function(f){void 0===f._id&&(f._id=a.uniqueKey());this.matchResponsiveRule(f,h,d)},this);var f=a.merge.apply(0,a.map(h,function(d){return a.find(e.rules,function(a){return a._id===d}).chartOptions})),h=h.toString()||void 0;h!==(m&&m.ruleIds)&&(m&&this.update(m.undoOptions,d),h?(this.currentResponsive={ruleIds:h,mergedOptions:f,undoOptions:this.currentOptions(f)},
367
+ this.update(f,d)):this.currentResponsive=void 0)};z.prototype.matchResponsiveRule=function(a,d){var h=a.condition;(h.callback||function(){return this.chartWidth<=e(h.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=e(h.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=e(h.minWidth,0)&&this.chartHeight>=e(h.minHeight,0)}).call(this)&&d.push(a._id)};z.prototype.currentOptions=function(e){function q(e,f,h,n){var c;a.objectEach(e,function(a,e){if(!n&&-1<C(e,["series","xAxis","yAxis"]))for(a=u(a),h[e]=[],c=0;c<
368
+ a.length;c++)f[e][c]&&(h[e][c]={},q(a[c],f[e][c],h[e][c],n+1));else d(a)?(h[e]=m(a)?[]:{},q(a,f[e]||{},h[e],n+1)):h[e]=f[e]||null})}var h={};q(e,this.options,h,0);return h}})(K);(function(a){var z=a.addEvent,y=a.Axis,C=a.each,m=a.pick;z(y,"getSeriesExtremes",function(){var a=[];this.isXAxis&&(C(this.series,function(d,m){d.useMapGeometry&&(a[m]=d.xData,d.xData=[])}),this.seriesXData=a)});z(y,"afterGetSeriesExtremes",function(){var a=this.seriesXData,e,u,w;this.isXAxis&&(e=m(this.dataMin,Number.MAX_VALUE),
369
+ u=m(this.dataMax,-Number.MAX_VALUE),C(this.series,function(d,h){d.useMapGeometry&&(e=Math.min(e,m(d.minX,e)),u=Math.max(u,m(d.maxX,u)),d.xData=a[h],w=!0)}),w&&(this.dataMin=e,this.dataMax=u),delete this.seriesXData)});z(y,"afterSetAxisTranslation",function(){var a=this.chart,e;e=a.plotWidth/a.plotHeight;var a=a.xAxis[0],m;"yAxis"===this.coll&&void 0!==a.transA&&C(this.series,function(a){a.preserveAspectRatio&&(m=!0)});if(m&&(this.transA=a.transA=Math.min(this.transA,a.transA),e/=(a.max-a.min)/(this.max-
370
+ this.min),e=1>e?this:a,a=(e.max-e.min)*e.transA,e.pixelPadding=e.len-a,e.minPixelPadding=e.pixelPadding/2,a=e.fixTo)){a=a[1]-e.toValue(a[0],!0);a*=e.transA;if(Math.abs(a)>e.minPixelPadding||e.min===e.dataMin&&e.max===e.dataMax)a=0;e.minPixelPadding-=a}});z(y,"render",function(){this.fixTo=null})})(K);(function(a){var z=a.addEvent,y=a.Axis,C=a.Chart,m=a.color,d,e=a.each,u=a.extend,w=a.isNumber,q=a.Legend,h=a.LegendSymbolMixin,p=a.noop,f=a.merge,t=a.pick;a.ColorAxis||(d=a.ColorAxis=function(){this.init.apply(this,
371
+ arguments)},u(d.prototype,y.prototype),u(d.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(y.prototype.keepProps),init:function(a,c){var b="vertical"!==a.options.legend.layout,
372
+ d;this.coll="colorAxis";d=f(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},c,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled});y.prototype.init.call(this,a,d);c.dataClasses&&this.initDataClasses(c);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var c,b=0,d=this.chart.options.chart.colorCount,g=this.options,h=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];e(a.dataClasses,function(a,e){a=f(a);c.push(a);
373
+ "category"===g.dataClassColor?(a.colorIndex=b,b++,b===d&&(b=0)):a.color=m(g.minColor).tweenTo(m(g.maxColor),2>h?.5:e/(h-1))})},setTickPositions:function(){if(!this.dataClasses)return y.prototype.setTickPositions.call(this)},initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=m(a[1])})},setOptions:function(a){y.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=
374
+ this.legendSymbol,c=this.chart,b=c.options.legend||{},d,f;a?(this.left=b=a.attr("x"),this.top=d=a.attr("y"),this.width=f=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-b-f,this.bottom=c.chartHeight-d-a,this.len=this.horiz?f:a,this.pos=this.horiz?b:d):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,c){var b=this.stops,d,f,
375
+ e=this.dataClasses,h,n;if(e)for(n=e.length;n--;){if(h=e[n],d=h.from,b=h.to,(void 0===d||a>=d)&&(void 0===b||a<=b)){c&&(c.dataClass=n,c.colorIndex=h.colorIndex);break}}else{a=this.normalizedValue(a);for(n=b.length;n--&&!(a>b[n][0]););d=b[n]||b[n+1];b=b[n+1]||d;a=1-(b[0]-a)/(b[0]-d[0]||1);f=d.color.tweenTo(b.color,a)}return f},getOffset:function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];a&&(this.axisParent=a,y.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=
376
+ 0,this.labelRight=this.width),this.chart.axisOffset[this.side]=c)},setLegendColor:function(){var a,c=this.reversed;a=c?1:0;c=c?0:1;a=this.horiz?[a,0,c,0]:[0,c,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,c){var b=a.padding,d=a.options,f=this.horiz,e=t(d.symbolWidth,f?this.defaultLegendLength:12),h=t(d.symbolHeight,f?12:this.defaultLegendLength),n=t(d.labelPadding,f?16:30),d=t(d.itemDistance,10);this.setLegendColor();c.legendSymbol=
377
+ this.chart.renderer.rect(0,a.baseline-11,e,h).attr({zIndex:1}).add(c.legendGroup);this.legendItemWidth=e+b+(f?d:n);this.legendItemHeight=h+b+(f?n:0)},setState:function(a){e(this.series,function(c){c.setState(a)})},visible:!0,setVisible:p,getSeriesExtremes:function(){var a=this.series,c=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;c--;)a[c].getExtremes(),void 0!==a[c].valueMin&&(this.dataMin=Math.min(this.dataMin,a[c].valueMin),this.dataMax=Math.max(this.dataMax,a[c].valueMax))},drawCrosshair:function(a,
378
+ c){var b=c&&c.plotX,d=c&&c.plotY,f,e=this.pos,h=this.len;c&&(f=this.toPixels(c[c.series.colorKey]),f<e?f=e-2:f>e+h&&(f=e+h+2),c.plotX=f,c.plotY=this.len-f,y.prototype.drawCrosshair.call(this,a,c),c.plotX=b,c.plotY=d,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0))},getPlotLinePath:function(a,c,b,d,f){return w(f)?this.horiz?["M",f-4,this.top-6,"L",f+4,this.top-6,f,this.top,"Z"]:["M",
379
+ this.left,f,"L",this.left-6,f+6,this.left-6,f-6,"Z"]:y.prototype.getPlotLinePath.call(this,a,c,b,d)},update:function(a,c){var b=this.chart,d=b.legend;e(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&d.allItems&&(e(d.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=f(this.userOptions,a);y.prototype.update.call(this,a,c);this.legendItem&&(this.setLegendColor(),d.colorizeItem(this,!0))},remove:function(){this.legendItem&&
380
+ this.chart.legend.destroyItem(this);y.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var d=this,c=this.chart,b=this.legendItems,f=c.options.legend,g=f.valueDecimals,m=f.valueSuffix||"",q;b.length||e(this.dataClasses,function(f,l){var n=!0,t=f.from,x=f.to;q="";void 0===t?q="\x3c ":void 0===x&&(q="\x3e ");void 0!==t&&(q+=a.numberFormat(t,g)+m);void 0!==t&&void 0!==x&&(q+=" - ");void 0!==x&&(q+=a.numberFormat(x,g)+m);b.push(u({chart:c,name:q,options:{},drawLegendSymbol:h.drawRectangle,
381
+ visible:!0,setState:p,isDataClass:!0,setVisible:function(){n=this.visible=!n;e(d.series,function(a){e(a.points,function(a){a.dataClass===l&&a.setVisible(n)})});c.legend.colorizeItem(this,n)}},f))});return b},name:""}),e(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,m(this.start).tweenTo(m(this.end),this.pos),null,!0)}}),z(C,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new d(this,a)}),z(q,"afterGetAllItems",function(d){var c=[],
382
+ b=this.chart.colorAxis[0];b&&b.options&&b.options.showInLegend&&(b.options.dataClasses?c=b.getDataClassLegendSymbols():c.push(b),e(b.series,function(b){a.erase(d.allItems,b)}));for(b=c.length;b--;)d.allItems.unshift(c[b])}),z(q,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),z(q,"afterUpdate",function(a,c,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(K);(function(a){var z=a.defined,y=a.each,C=a.noop;a.colorPointMixin=
383
+ {isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var d=this,e=a?"show":"hide";d.visible=!!a;y(["graphic","dataLabel"],function(a){if(d[a])d[a][e]()})},setState:function(m){a.Point.prototype.setState.call(this,m);this.graphic&&this.graphic.attr({zIndex:"hover"===m?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],
384
+ getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,d=this.options.nullColor,e=this.colorAxis,u=this.colorKey;y(this.data,function(m){var q=m[u];if(q=m.options.color||(m.isNull?d:e&&void 0!==q?e.toColor(q,m):m.color||a.color))m.color=q})},colorAttribs:function(a){var d={};z(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(K);(function(a){function z(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=
385
+ !0)}function y(a){this.init(a)}var C=a.addEvent,m=a.Chart,d=a.doc,e=a.each,u=a.extend,w=a.merge,q=a.pick;y.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};y.prototype.update=function(d){var e=this.chart,f=e.options.mapNavigation,h,n=function(a){this.handler.call(e,a);z(a)},c=e.mapNavButtons;d&&(f=e.options.mapNavigation=w(e.options.mapNavigation,d));for(;c.length;)c.pop().destroy();q(f.enableButtons,f.enabled)&&!e.renderer.forExport&&a.objectEach(f.buttons,function(a,d){h=w(f.buttonOptions,
386
+ a);a=e.renderer.button(h.text,0,0,n,void 0,void 0,void 0,0,"zoomIn"===d?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:h.width,height:h.height,title:e.options.lang[d],padding:h.padding,zIndex:5}).add();a.handler=h.onclick;a.align(u(h,{width:a.width,height:2*a.height}),null,h.alignTo);C(a.element,"dblclick",z);c.push(a)});this.updateEvents(f)};y.prototype.updateEvents=function(a){var e=this.chart;q(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=
387
+ this.unbindDblClick||C(e.container,"dblclick",function(a){e.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());q(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||C(e.container,void 0===d.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){e.pointer.onContainerMouseWheel(a);z(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};u(m.prototype,{fitToBox:function(a,d){e([["x","width"],["y",
388
+ "height"]],function(f){var e=f[0];f=f[1];a[e]+a[f]>d[e]+d[f]&&(a[f]>d[f]?(a[f]=d[f],a[e]=d[e]):a[e]=d[e]+d[f]-a[f]);a[f]>d[f]&&(a[f]=d[f]);a[e]<d[e]&&(a[e]=d[e])});return a},mapZoom:function(a,d,f,e,n){var c=this.xAxis[0],b=c.max-c.min,h=q(d,c.min+b/2),g=b*a,b=this.yAxis[0],m=b.max-b.min,p=q(f,b.min+m/2),m=m*a,h=this.fitToBox({x:h-g*(e?(e-c.pos)/c.len:.5),y:p-m*(n?(n-b.pos)/b.len:.5),width:g,height:m},{x:c.dataMin,y:b.dataMin,width:c.dataMax-c.dataMin,height:b.dataMax-b.dataMin}),g=h.x<=c.dataMin&&
389
+ h.width>=c.dataMax-c.dataMin&&h.y<=b.dataMin&&h.height>=b.dataMax-b.dataMin;e&&(c.fixTo=[e-c.pos,d]);n&&(b.fixTo=[n-b.pos,f]);void 0===a||g?(c.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(c.setExtremes(h.x,h.x+h.width,!1),b.setExtremes(h.y,h.y+h.height,!1));this.redraw()}});C(m,"beforeRender",function(){this.mapNavigation=new y(this);this.mapNavigation.update()})})(K);(function(a){var z=a.extend,y=a.pick,C=a.Pointer;a=a.wrap;z(C.prototype,{onContainerDblClick:function(a){var d=
390
+ this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,e;a=this.normalize(a);e=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,
391
+ e),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;y(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(C.prototype,"pinchTranslate",function(a,d,e,u,w,q,h){a.call(this,d,e,u,w,q,h);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=u.scaleX>u.scaleY,this.pinchTranslateDirection(!a,d,e,u,w,q,h,a?u.scaleX:u.scaleY))})})(K);
392
+ (function(a){var z=a.colorPointMixin,y=a.each,C=a.extend,m=a.isNumber,d=a.map,e=a.merge,u=a.noop,w=a.pick,q=a.isArray,h=a.Point,p=a.Series,f=a.seriesType,t=a.seriesTypes,n=a.splat;f("map","scatter",{allAreas:!0,animation:!1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},
393
+ hover:{halo:null,brightness:.2}}},e(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:u,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(c){var b=Number.MAX_VALUE,d=-b,f=b,e=-b,h=b,n=b,p=this.xAxis,q=this.yAxis,t;y(c||[],function(c){if(c.path){"string"===typeof c.path&&(c.path=a.splitPath(c.path));var g=c.path||[],l=g.length,p=!1,q=-b,u=b,v=-b,k=b,x=c.properties;if(!c._foundBox){for(;l--;)m(g[l])&&(p?(q=Math.max(q,g[l]),u=Math.min(u,
394
+ g[l])):(v=Math.max(v,g[l]),k=Math.min(k,g[l])),p=!p);c._midX=u+(q-u)*w(c.middleX,x&&x["hc-middle-x"],.5);c._midY=k+(v-k)*w(c.middleY,x&&x["hc-middle-y"],.5);c._maxX=q;c._minX=u;c._maxY=v;c._minY=k;c.labelrank=w(c.labelrank,(q-u)*(v-k));c._foundBox=!0}d=Math.max(d,c._maxX);f=Math.min(f,c._minX);e=Math.max(e,c._maxY);h=Math.min(h,c._minY);n=Math.min(c._maxX-c._minX,c._maxY-c._minY,n);t=!0}});t&&(this.minY=Math.min(h,w(this.minY,b)),this.maxY=Math.max(e,w(this.maxY,-b)),this.minX=Math.min(f,w(this.minX,
395
+ b)),this.maxX=Math.max(d,w(this.maxX,-b)),p&&void 0===p.options.minRange&&(p.minRange=Math.min(5*n,(this.maxX-this.minX)/5,p.minRange||b)),q&&void 0===q.options.minRange&&(q.minRange=Math.min(5*n,(this.maxY-this.minY)/5,q.minRange||b)))},getExtremes:function(){p.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=
396
+ !1,c=this.xAxis,d=this.yAxis,f=c.min,e=c.transA,c=c.minPixelPadding,h=d.min,n=d.transA,d=d.minPixelPadding,p,q=[];if(a)for(p=a.length;p--;)m(a[p])?(q[p]=b?(a[p]-f)*e+c:(a[p]-h)*n+d,b=!b):q[p]=a[p];return q},setData:function(c,b,f,g){var h=this.options,l=this.chart.options.chart,t=l&&l.map,u=h.mapData,w=h.joinBy,v=null===w,A=h.keys||this.pointArrayMap,z=[],C={},J=this.chart.mapTransforms;!u&&t&&(u="string"===typeof t?a.maps[t]:t);v&&(w="_i");w=this.joinBy=n(w);w[1]||(w[1]=w[0]);c&&y(c,function(b,d){var f=
397
+ 0;if(m(b))c[d]={value:b};else if(q(b)){c[d]={};!h.keys&&b.length>A.length&&"string"===typeof b[0]&&(c[d]["hc-key"]=b[0],++f);for(var e=0;e<A.length;++e,++f)A[e]&&void 0!==b[f]&&(0<A[e].indexOf(".")?a.Point.prototype.setNestedProperty(c[d],b[f],A[e]):c[d][A[e]]=b[f])}v&&(c[d]._i=d)});this.getBox(c);(this.chart.mapTransforms=J=l&&l.mapTransforms||u&&u["hc-transform"]||J)&&a.objectEach(J,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(u){"FeatureCollection"===
398
+ u.type&&(this.mapTitle=u.title,u=a.geojson(u,this.type,this));this.mapData=u;this.mapMap={};for(J=0;J<u.length;J++)l=u[J],t=l.properties,l._i=J,w[0]&&t&&t[w[0]]&&(l[w[0]]=t[w[0]]),C[l[w[0]]]=l;this.mapMap=C;c&&w[1]&&y(c,function(a){C[a[w[1]]]&&z.push(C[a[w[1]]])});h.allAreas?(this.getBox(u),c=c||[],w[1]&&y(c,function(a){z.push(a[w[1]])}),z="|"+d(z,function(a){return a&&a[w[0]]}).join("|")+"|",y(u,function(a){w[0]&&-1!==z.indexOf("|"+a[w[0]]+"|")||(c.push(e(a,{value:null})),g=!1)})):this.getBox(z)}p.prototype.setData.call(this,
399
+ c,b,f,g)},drawGraph:u,drawDataLabels:u,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,d=a.yAxis,f=a.doFullTranslate();a.generatePoints();y(a.data,function(c){c.plotX=b.toPixels(c._midX,!0);c.plotY=d.toPixels(c._midY,!0);f&&(c.shapeType="path",c.shapeArgs={d:a.translatePath(c.path)})});a.translateColors()},pointAttribs:function(a,b){b=this.colorAttribs(a);b["stroke-width"]=w(a.options[this.pointAttrToOptions&&
400
+ this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=this,b=a.xAxis,d=a.yAxis,f=a.group,e=a.chart,h=e.renderer,n,m,p,q,u=this.baseTrans,w,z,C,r,D;a.transformGroup||(a.transformGroup=h.g().attr({scaleX:1,scaleY:1}).add(f),a.transformGroup.survive=!0);a.doFullTranslate()?(a.group=a.transformGroup,t.column.prototype.drawPoints.apply(a),a.group=f,y(a.points,function(b){b.graphic&&(b.name&&b.graphic.addClass("highcharts-name-"+b.name.replace(/ /g,"-").toLowerCase()),
401
+ b.properties&&b.properties["hc-key"]&&b.graphic.addClass("highcharts-key-"+b.properties["hc-key"].toLowerCase()),b.graphic.css(a.pointAttribs(b,b.selected&&"select")))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:d.min-d.minPixelPadding/d.transA+(d.reversed?0:d.len/d.transA),transAX:b.transA,transAY:d.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(n=b.transA/u.transAX,m=d.transA/u.transAY,p=b.toPixels(u.originX,!0),q=d.toPixels(u.originY,
402
+ !0),.99<n&&1.01>n&&.99<m&&1.01>m&&(m=n=1,p=Math.round(p),q=Math.round(q)),w=this.transformGroup,e.renderer.globalAnimation?(z=w.attr("translateX"),C=w.attr("translateY"),r=w.attr("scaleX"),D=w.attr("scaleY"),w.attr({animator:0}).animate({animator:1},{step:function(a,b){w.attr({translateX:z+(p-z)*b.pos,translateY:C+(q-C)*b.pos,scaleX:r+(n-r)*b.pos,scaleY:D+(m-D)*b.pos})}})):w.attr({translateX:p,translateY:q,scaleX:n,scaleY:m}));f.element.setAttribute("stroke-width",(a.options[a.pointAttrToOptions&&
403
+ a.pointAttrToOptions["stroke-width"]||"borderWidth"]||1)/(n||1));this.drawMapDataLabels()},drawMapDataLabels:function(){p.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=p.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,f=this.yAxis,e=d.pos,h=f.pos;this.chart.renderer.isSVG&&(!0===
404
+ b&&(b={duration:1E3}),a?c.attr({translateX:e+d.len/2,translateY:h+f.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:e,translateY:h,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,f=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},y(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,
405
+ scaleY:1,translateX:0,translateY:0},f)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){t.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){t.column.prototype.animateDrillupTo.call(this,a)}}),C({applyOptions:function(a,b){a=h.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),C(a,c)):a.value=a.value||null);
406
+ return a},onMouseOver:function(c){a.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)h.prototype.onMouseOver.call(this,c);else this.series.onMouseOut(c)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},z))})(K);(function(a){var z=a.seriesType;z("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(K);
407
+ (function(a){var z=a.merge,y=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,m){a=void 0!==a.lat&&void 0!==a.lon?z(a,this.series.chart.fromLatLonToPoint(a)):a;return y.prototype.applyOptions.call(this,a,m)}})})(K);(function(a){var z=a.arrayMax,y=a.arrayMin,C=a.Axis,m=a.each,d=a.isNumber,e=a.noop,u=a.pick,w=a.pInt,q=a.Point,
408
+ h=a.seriesType,p=a.seriesTypes;h("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],
409
+ specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(a,e,h,c){var b,f,g,n=this.zData,m=[],p=this.options,q="width"!==p.sizeBy,t=p.zThreshold,u=e-a;f=0;for(b=n.length;f<b;f++)g=n[f],p.sizeByAbsoluteValue&&null!==g&&(g=Math.abs(g-t),e=u=Math.max(e-t,Math.abs(a-t)),a=0),d(g)?g<a?g=h/2-1:(g=0<u?(g-a)/u:.5,q&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(h+g*(c-h))/2):g=null,m.push(g);this.radii=m},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(m(this.points,
410
+ function(a){var d=a.graphic,c;d&&d.width&&(c={x:d.x,y:d.y,width:d.width,height:d.height},d.attr({x:a.plotX,y:a.plotY,width:1,height:1}),d.animate(c,this.options.animation))},this),this.animate=null)},translate:function(){var f,e=this.data,h,c,b=this.radii;p.scatter.prototype.translate.call(this);for(f=e.length;f--;)h=e[f],c=b?b[f]:0,d(c)&&c>=this.minPxSize/2?(h.marker=a.extend(h.marker,{radius:c,width:2*c,height:2*c}),h.dlBox={x:h.plotX-c,y:h.plotY-c,width:2*c,height:2*c}):h.shapeArgs=h.plotY=h.dlBox=
411
+ void 0},alignDataLabel:p.column.prototype.alignDataLabel,buildKDTree:e,applyZones:e},{haloPath:function(a){return q.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});C.prototype.beforePadding=function(){var f=this,e=this.len,h=this.chart,c=0,b=e,l=this.isXAxis,g=l?"xData":"yData",p=this.min,q={},C=Math.min(h.plotWidth,h.plotHeight),G=Number.MAX_VALUE,B=-Number.MAX_VALUE,v=this.max-p,A=e/v,F=[];m(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&
412
+ h.options.chart.ignoreHiddenSeries||(f.allowZoomOutside=!0,F.push(b),l&&(m(["minSize","maxSize"],function(a){var b=c[a],d=/%$/.test(b),b=w(b);q[a]=d?C*b/100:b}),b.minPxSize=q.minSize,b.maxPxSize=Math.max(q.maxSize,q.minSize),b=a.grep(b.zData,a.isNumber),b.length&&(G=u(c.zMin,Math.min(G,Math.max(y(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),B=u(c.zMax,Math.max(B,z(b))))))});m(F,function(a){var e=a[g],h=e.length,n;l&&a.getRadii(G,B,a.minPxSize,a.maxPxSize);if(0<v)for(;h--;)d(e[h])&&
413
+ f.dataMin<=e[h]&&e[h]<=f.dataMax&&(n=a.radii[h],c=Math.min((e[h]-p)*A-n,c),b=Math.max((e[h]-p)*A+n,b))});F.length&&0<v&&!this.isLog&&(b-=e,A*=(e+Math.max(0,c)-Math.min(b,e))/e,m([["min","userMin",c],["max","userMax",b]],function(a){void 0===u(f.options[a[0]],f[a[1]])&&(f[a[0]]+=a[2]/A)}))}})(K);(function(a){var z=a.merge,y=a.Point,C=a.seriesType,m=a.seriesTypes;m.bubble&&C("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],
414
+ getMapData:m.map.prototype.getMapData,getBox:m.map.prototype.getBox,setData:m.map.prototype.setData},{applyOptions:function(a,e){return a&&void 0!==a.lat&&void 0!==a.lon?y.prototype.applyOptions.call(this,z(a,this.series.chart.fromLatLonToPoint(a)),e):m.map.prototype.pointClass.prototype.applyOptions.call(this,a,e)},isValid:function(){return"number"===typeof this.z},ttBelow:!1})})(K);(function(a){var z=a.colorPointMixin,y=a.each,C=a.merge,m=a.noop,d=a.pick,e=a.Series,u=a.seriesType,w=a.seriesTypes;
415
+ u("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{hover:{halo:!1,brightness:.2}}},C(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;w.scatter.prototype.init.apply(this,arguments);a=this.options;
416
+ a.pointRange=d(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,e=this.xAxis,m=this.yAxis,f=a.pointPadding||0,t=function(a,c,b){return Math.min(Math.max(c,a),b)};this.generatePoints();y(this.points,function(h){var c=(a.colsize||1)/2,b=(a.rowsize||1)/2,l=t(Math.round(e.len-e.translate(h.x-c,0,1,0,1)),-e.len,2*e.len),c=t(Math.round(e.len-e.translate(h.x+c,0,1,0,1)),-e.len,2*e.len),g=t(Math.round(m.translate(h.y-b,0,1,0,1)),-m.len,2*m.len),b=
417
+ t(Math.round(m.translate(h.y+b,0,1,0,1)),-m.len,2*m.len),n=d(h.pointPadding,f);h.plotX=h.clientX=(l+c)/2;h.plotY=(g+b)/2;h.shapeType="rect";h.shapeArgs={x:Math.min(l,c)+n,y:Math.min(g,b)+n,width:Math.abs(c-l)-2*n,height:Math.abs(b-g)-2*n}});this.translateColors()},drawPoints:function(){w.column.prototype.drawPoints.call(this);y(this.points,function(a){a.graphic.css(this.colorAttribs(a))},this)},animate:m,getBox:m,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:w.column.prototype.alignDataLabel,
418
+ getExtremes:function(){e.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;e.prototype.getExtremes.call(this)}}),a.extend({haloPath:function(a){if(!a)return[];var d=this.shapeArgs;return["M",d.x-a,d.y-a,"L",d.x-a,d.y+d.height+a,d.x+d.width+a,d.y+d.height+a,d.x+d.width+a,d.y-a,"Z"]}},z))})(K);(function(a){function z(a,d){var e,f,h,n=!1,c=a.x,b=a.y;a=0;for(e=d.length-1;a<d.length;e=a++)f=d[a][1]>b,h=d[e][1]>b,f!==h&&c<(d[e][0]-d[a][0])*(b-d[a][1])/
419
+ (d[e][1]-d[a][1])+d[a][0]&&(n=!n);return n}var y=a.Chart,C=a.each,m=a.extend,d=a.format,e=a.merge,u=a.win,w=a.wrap;y.prototype.transformFromLatLon=function(d,e){if(void 0===u.proj4)return a.error(21),{x:0,y:null};d=u.proj4(e.crs,[d.lon,d.lat]);var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),f=e.sinAngle||e.rotation&&Math.sin(e.rotation);d=e.rotation?[d[0]*h+d[1]*f,-d[0]*f+d[1]*h]:d;return{x:((d[0]-(e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset||0)-d[1])*
420
+ (e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}};y.prototype.transformToLatLon=function(d,e){if(void 0===u.proj4)a.error(21);else{d={x:((d.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-d.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var h=e.cosAngle||e.rotation&&Math.cos(e.rotation),f=e.sinAngle||e.rotation&&Math.sin(e.rotation);e=u.proj4(e.crs,"WGS84",e.rotation?{x:d.x*h+d.y*-f,y:d.x*f+d.y*h}:d);return{lat:e.y,lon:e.x}}};
421
+ y.prototype.fromPointToLatLon=function(d){var e=this.mapTransforms,m;if(e){for(m in e)if(e.hasOwnProperty(m)&&e[m].hitZone&&z({x:d.x,y:-d.y},e[m].hitZone.coordinates[0]))return this.transformToLatLon(d,e[m]);return this.transformToLatLon(d,e["default"])}a.error(22)};y.prototype.fromLatLonToPoint=function(d){var e=this.mapTransforms,m,f;if(!e)return a.error(22),{x:0,y:null};for(m in e)if(e.hasOwnProperty(m)&&e[m].hitZone&&(f=this.transformFromLatLon(d,e[m]),z({x:f.x,y:-f.y},e[m].hitZone.coordinates[0])))return f;
422
+ return this.transformFromLatLon(d,e["default"])};a.geojson=function(a,e,p){var f=[],h=[],n=function(a){var b,c=a.length;h.push("M");for(b=0;b<c;b++)1===b&&h.push("L"),h.push(a[b][0],-a[b][1])};e=e||"map";C(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var d;h=[];"map"===e||"mapbubble"===e?("Polygon"===c?(C(b,n),h.push("Z")):"MultiPolygon"===c&&(C(b,function(a){C(a,n)}),h.push("Z")),h.length&&(d={path:h})):"mapline"===e?("LineString"===c?n(b):"MultiLineString"===c&&
423
+ C(b,n),h.length&&(d={path:h})):"mappoint"===e&&"Point"===c&&(d={x:b[0],y:-b[1]});d&&f.push(m(d,{name:a.name||a.NAME,properties:a}))});p&&a.copyrightShort&&(p.chart.mapCredits=d(p.chart.options.credits.mapText,{geojson:a}),p.chart.mapCreditsFull=d(p.chart.options.credits.mapTextFull,{geojson:a}));return f};w(y.prototype,"addCredits",function(a,d){d=e(!0,this.options.credits,d);this.mapCredits&&(d.href=null);a.call(this,d);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(K);
424
+ (function(a){function z(a,d,e,h,c,b,l,g){return["M",a+c,d,"L",a+e-b,d,"C",a+e-b/2,d,a+e,d+b/2,a+e,d+b,"L",a+e,d+h-l,"C",a+e,d+h-l/2,a+e-l/2,d+h,a+e-l,d+h,"L",a+g,d+h,"C",a+g/2,d+h,a,d+h-g/2,a,d+h-g,"L",a,d+c,"C",a,d+c/2,a+c/2,d,a+c,d,"Z"]}var y=a.Chart,C=a.defaultOptions,m=a.each,d=a.extend,e=a.merge,u=a.pick,w=a.Renderer,q=a.SVGRenderer,h=a.VMLRenderer;d(C.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});C.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,
425
+ padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var d;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(d=0;d<a.length;d++)/[a-zA-Z]/.test(a[d])||(a[d]=parseFloat(a[d]));return a};a.maps={};q.prototype.symbols.topbutton=function(a,d,e,h,c){return z(a-1,d-1,e,h,c.r,c.r,0,0)};q.prototype.symbols.bottombutton=function(a,
426
+ d,e,h,c){return z(a-1,d-1,e,h,0,0,c.r,c.r)};w===h&&m(["topbutton","bottombutton"],function(a){h.prototype.symbols[a]=q.prototype.symbols[a]});a.Map=a.mapChart=function(d,f,h){var m="string"===typeof d||d.nodeName,c=arguments[m?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},l,g=a.getOptions().credits;l=c.series;c.series=null;c=e({chart:{panning:"xy",type:"map"},credits:{mapText:u(g.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),
427
+ mapTextFull:u(g.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:e(b,{reversed:!0})},c,{chart:{inverted:!1,alignTicks:!1}});c.series=l;return m?new y(d,c,h):new y(c,f)}})(K);return K});
428
+ //# sourceMappingURL=highmaps.js.map