highcharts 7.1.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +3 -3
  3. package/css/annotations/popup.scss +1 -1
  4. package/css/stocktools/gui.css +5 -5
  5. package/css/stocktools/gui.scss +1 -1
  6. package/es-modules/annotations/ControlPoint.js +1 -1
  7. package/es-modules/annotations/MockPoint.js +45 -12
  8. package/es-modules/annotations/annotations.src.js +203 -166
  9. package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
  10. package/es-modules/annotations/controllable/ControllableImage.js +2 -10
  11. package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
  12. package/es-modules/annotations/controllable/ControllableRect.js +2 -10
  13. package/es-modules/annotations/controllable/controllableMixin.js +32 -4
  14. package/es-modules/annotations/controllable/markerMixin.js +1 -0
  15. package/es-modules/annotations/eventEmitterMixin.js +1 -0
  16. package/es-modules/annotations/navigationBindings.js +15 -11
  17. package/es-modules/annotations/popup.js +59 -81
  18. package/es-modules/annotations/types/CrookedLine.js +19 -7
  19. package/es-modules/annotations/types/ElliottWave.js +7 -6
  20. package/es-modules/annotations/types/Fibonacci.js +14 -14
  21. package/es-modules/annotations/types/InfinityLine.js +4 -4
  22. package/es-modules/annotations/types/Measure.js +41 -41
  23. package/es-modules/annotations/types/Pitchfork.js +5 -4
  24. package/es-modules/annotations/types/VerticalLine.js +6 -5
  25. package/es-modules/error-messages.js +6 -1
  26. package/es-modules/indicators/indicators.src.js +5 -3
  27. package/es-modules/mixins/nodes.js +16 -8
  28. package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
  29. package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
  30. package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
  31. package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
  32. package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
  33. package/es-modules/modules/accessibility/options.js +2 -1
  34. package/es-modules/modules/bellcurve.src.js +27 -29
  35. package/es-modules/modules/boost/boost-init.js +14 -0
  36. package/es-modules/modules/boost/boost-overrides.js +13 -3
  37. package/es-modules/modules/boost/wgl-renderer.js +30 -15
  38. package/es-modules/modules/boost/wgl-shader.js +33 -16
  39. package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
  40. package/es-modules/modules/broken-axis.src.js +1 -1
  41. package/es-modules/modules/bullet.src.js +68 -68
  42. package/es-modules/modules/cylinder.src.js +3 -1
  43. package/es-modules/modules/data.src.js +9 -5
  44. package/es-modules/modules/draggable-points.src.js +1 -1
  45. package/es-modules/modules/drilldown.src.js +1 -1
  46. package/es-modules/modules/export-data.src.js +7 -8
  47. package/es-modules/modules/exporting.src.js +9 -1
  48. package/es-modules/modules/full-screen.src.js +1 -1
  49. package/es-modules/modules/funnel3d.src.js +10 -3
  50. package/es-modules/modules/histogram.src.js +162 -164
  51. package/es-modules/modules/item-series.src.js +10 -10
  52. package/es-modules/modules/networkgraph/layouts.js +16 -12
  53. package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
  54. package/es-modules/modules/offline-exporting.src.js +15 -2
  55. package/es-modules/modules/oldie-polyfills.src.js +1 -1
  56. package/es-modules/modules/organization.src.js +65 -20
  57. package/es-modules/modules/pareto.src.js +52 -51
  58. package/es-modules/modules/pattern-fill.src.js +1 -1
  59. package/es-modules/modules/price-indicator.src.js +1 -1
  60. package/es-modules/modules/pyramid3d.src.js +1 -1
  61. package/es-modules/modules/sankey.src.js +22 -10
  62. package/es-modules/modules/series-label.src.js +16 -8
  63. package/es-modules/modules/solid-gauge.src.js +128 -79
  64. package/es-modules/modules/static-scale.src.js +8 -1
  65. package/es-modules/modules/stock-tools-gui.js +1 -1
  66. package/es-modules/modules/streamgraph.src.js +11 -11
  67. package/es-modules/modules/sunburst.src.js +23 -2
  68. package/es-modules/modules/tilemap.src.js +58 -57
  69. package/es-modules/modules/timeline.src.js +17 -12
  70. package/es-modules/modules/treemap.src.js +6 -6
  71. package/es-modules/modules/variwide.src.js +39 -39
  72. package/es-modules/modules/vector.src.js +108 -107
  73. package/es-modules/modules/venn.src.js +4 -2
  74. package/es-modules/modules/windbarb.src.js +43 -43
  75. package/es-modules/modules/wordcloud.src.js +1 -0
  76. package/es-modules/modules/xrange.src.js +112 -104
  77. package/es-modules/parts/AreaSeries.js +4 -1
  78. package/es-modules/parts/Axis.js +809 -1870
  79. package/es-modules/parts/Chart.js +254 -743
  80. package/es-modules/parts/Color.js +160 -113
  81. package/es-modules/parts/ColumnSeries.js +9 -3
  82. package/es-modules/parts/DataLabels.js +31 -2
  83. package/es-modules/parts/Dynamics.js +73 -26
  84. package/es-modules/parts/FlagsSeries.js +6 -4
  85. package/es-modules/parts/Globals.js +20 -36
  86. package/es-modules/parts/Html.js +116 -235
  87. package/es-modules/parts/Interaction.js +17 -7
  88. package/es-modules/parts/Legend.js +277 -632
  89. package/es-modules/parts/MSPointer.js +62 -106
  90. package/es-modules/parts/Options.js +128 -367
  91. package/es-modules/parts/OrdinalAxis.js +12 -0
  92. package/es-modules/parts/PieSeries.js +61 -44
  93. package/es-modules/parts/PlotLineOrBand.js +38 -3
  94. package/es-modules/parts/Point.js +117 -227
  95. package/es-modules/parts/Pointer.js +273 -558
  96. package/es-modules/parts/RangeSelector.js +5 -3
  97. package/es-modules/parts/Responsive.js +8 -4
  98. package/es-modules/parts/ScrollablePlotArea.js +215 -81
  99. package/es-modules/parts/Scrollbar.js +38 -23
  100. package/es-modules/parts/Series.js +151 -47
  101. package/es-modules/parts/Stacking.js +8 -3
  102. package/es-modules/parts/StockChart.js +42 -29
  103. package/es-modules/parts/SvgRenderer.js +1080 -2100
  104. package/es-modules/parts/Tick.js +11 -4
  105. package/es-modules/parts/Time.js +179 -363
  106. package/es-modules/parts/Tooltip.js +23 -12
  107. package/es-modules/parts/TouchPointer.js +69 -187
  108. package/es-modules/parts/Utilities.js +593 -846
  109. package/es-modules/parts-3d/Axis.js +2 -2
  110. package/es-modules/parts-3d/Column.js +18 -8
  111. package/es-modules/parts-gantt/GanttSeries.js +17 -21
  112. package/es-modules/parts-gantt/GridAxis.js +183 -101
  113. package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
  114. package/es-modules/parts-gantt/TreeGrid.js +53 -36
  115. package/es-modules/parts-map/ColorAxis.js +35 -14
  116. package/es-modules/parts-map/MapBubbleSeries.js +2 -1
  117. package/es-modules/parts-map/MapSeries.js +29 -18
  118. package/es-modules/parts-more/AreaRangeSeries.js +13 -12
  119. package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
  120. package/es-modules/parts-more/GaugeSeries.js +9 -9
  121. package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
  122. package/es-modules/parts-more/RadialAxis.js +102 -8
  123. package/es-modules/parts-more/WaterfallSeries.js +148 -35
  124. package/highcharts-3d.js +68 -67
  125. package/highcharts-3d.js.map +1 -1
  126. package/highcharts-3d.src.js +21 -11
  127. package/highcharts-gantt.d.ts +5 -3
  128. package/highcharts-gantt.js +618 -610
  129. package/highcharts-gantt.js.map +1 -1
  130. package/highcharts-gantt.src.d.ts +5 -3
  131. package/highcharts-gantt.src.js +5185 -8892
  132. package/highcharts-more.js +144 -140
  133. package/highcharts-more.js.map +1 -1
  134. package/highcharts-more.src.js +449 -194
  135. package/highcharts.d.ts +3943 -5236
  136. package/highcharts.js +454 -449
  137. package/highcharts.js.map +1 -1
  138. package/highcharts.src.d.ts +3943 -5236
  139. package/highcharts.src.js +4767 -8601
  140. package/highmaps.d.ts +5 -3
  141. package/highmaps.js +498 -494
  142. package/highmaps.js.map +1 -1
  143. package/highmaps.src.d.ts +5 -3
  144. package/highmaps.src.js +4547 -8507
  145. package/highstock.d.ts +5 -3
  146. package/highstock.js +597 -590
  147. package/highstock.js.map +1 -1
  148. package/highstock.src.d.ts +5 -3
  149. package/highstock.src.js +4871 -8661
  150. package/indicators/acceleration-bands.js +1 -1
  151. package/indicators/acceleration-bands.src.js +1 -1
  152. package/indicators/accumulation-distribution.js +1 -1
  153. package/indicators/accumulation-distribution.src.js +1 -1
  154. package/indicators/ao.js +1 -1
  155. package/indicators/ao.src.js +1 -1
  156. package/indicators/apo.js +1 -1
  157. package/indicators/apo.src.js +1 -1
  158. package/indicators/aroon-oscillator.js +1 -1
  159. package/indicators/aroon-oscillator.src.js +1 -1
  160. package/indicators/aroon.js +1 -1
  161. package/indicators/aroon.src.js +1 -1
  162. package/indicators/atr.js +1 -1
  163. package/indicators/atr.src.js +1 -1
  164. package/indicators/bollinger-bands.js +1 -1
  165. package/indicators/bollinger-bands.src.js +1 -1
  166. package/indicators/cci.js +1 -1
  167. package/indicators/cci.src.js +1 -1
  168. package/indicators/chaikin.js +1 -1
  169. package/indicators/chaikin.src.js +1 -1
  170. package/indicators/cmf.js +1 -1
  171. package/indicators/cmf.src.js +1 -1
  172. package/indicators/dema.js +1 -1
  173. package/indicators/dema.src.js +1 -1
  174. package/indicators/dpo.js +1 -1
  175. package/indicators/dpo.src.js +1 -1
  176. package/indicators/ema.js +1 -1
  177. package/indicators/ema.src.js +1 -1
  178. package/indicators/ichimoku-kinko-hyo.js +1 -1
  179. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  180. package/indicators/indicators-all.js +105 -105
  181. package/indicators/indicators-all.js.map +1 -1
  182. package/indicators/indicators-all.src.js +6 -4
  183. package/indicators/indicators.js +9 -9
  184. package/indicators/indicators.js.map +1 -1
  185. package/indicators/indicators.src.js +6 -4
  186. package/indicators/keltner-channels.js +1 -1
  187. package/indicators/keltner-channels.src.js +1 -1
  188. package/indicators/macd.js +1 -1
  189. package/indicators/macd.src.js +1 -1
  190. package/indicators/mfi.js +1 -1
  191. package/indicators/mfi.src.js +1 -1
  192. package/indicators/momentum.js +1 -1
  193. package/indicators/momentum.src.js +1 -1
  194. package/indicators/natr.js +1 -1
  195. package/indicators/natr.src.js +1 -1
  196. package/indicators/pivot-points.js +1 -1
  197. package/indicators/pivot-points.src.js +1 -1
  198. package/indicators/ppo.js +1 -1
  199. package/indicators/ppo.src.js +1 -1
  200. package/indicators/price-channel.js +1 -1
  201. package/indicators/price-channel.src.js +1 -1
  202. package/indicators/price-envelopes.js +1 -1
  203. package/indicators/price-envelopes.src.js +1 -1
  204. package/indicators/psar.js +1 -1
  205. package/indicators/psar.src.js +1 -1
  206. package/indicators/regressions.js +1 -1
  207. package/indicators/regressions.src.js +1 -1
  208. package/indicators/roc.js +1 -1
  209. package/indicators/roc.src.js +1 -1
  210. package/indicators/rsi.js +1 -1
  211. package/indicators/rsi.src.js +1 -1
  212. package/indicators/stochastic.js +1 -1
  213. package/indicators/stochastic.src.js +1 -1
  214. package/indicators/supertrend.js +1 -1
  215. package/indicators/supertrend.src.js +1 -1
  216. package/indicators/tema.js +1 -1
  217. package/indicators/tema.src.js +1 -1
  218. package/indicators/trix.js +1 -1
  219. package/indicators/trix.src.js +1 -1
  220. package/indicators/volume-by-price.js +1 -1
  221. package/indicators/volume-by-price.src.js +1 -1
  222. package/indicators/vwap.js +1 -1
  223. package/indicators/vwap.src.js +1 -1
  224. package/indicators/williams-r.js +1 -1
  225. package/indicators/williams-r.src.js +1 -1
  226. package/indicators/wma.js +1 -1
  227. package/indicators/wma.src.js +1 -1
  228. package/indicators/zigzag.js +1 -1
  229. package/indicators/zigzag.src.js +1 -1
  230. package/modules/accessibility.js +92 -89
  231. package/modules/accessibility.js.map +1 -1
  232. package/modules/accessibility.src.js +138 -15
  233. package/modules/annotations-advanced.js +128 -127
  234. package/modules/annotations-advanced.js.map +1 -1
  235. package/modules/annotations-advanced.src.js +514 -396
  236. package/modules/annotations.d.ts +36 -0
  237. package/modules/annotations.js +81 -81
  238. package/modules/annotations.js.map +1 -1
  239. package/modules/annotations.src.d.ts +36 -0
  240. package/modules/annotations.src.js +418 -315
  241. package/modules/arrow-symbols.js +1 -1
  242. package/modules/arrow-symbols.src.js +1 -1
  243. package/modules/boost-canvas.js +1 -1
  244. package/modules/boost-canvas.src.js +1 -1
  245. package/modules/boost.js +63 -63
  246. package/modules/boost.js.map +1 -1
  247. package/modules/boost.src.js +99 -39
  248. package/modules/broken-axis.js +1 -1
  249. package/modules/broken-axis.src.js +2 -2
  250. package/modules/bullet.js +1 -1
  251. package/modules/bullet.src.js +69 -69
  252. package/modules/current-date-indicator.js +1 -1
  253. package/modules/current-date-indicator.src.js +1 -1
  254. package/modules/cylinder.js +1 -1
  255. package/modules/cylinder.js.map +1 -1
  256. package/modules/cylinder.src.js +4 -2
  257. package/modules/data.js +4 -4
  258. package/modules/data.js.map +1 -1
  259. package/modules/data.src.js +10 -6
  260. package/modules/datagrouping.js +1 -1
  261. package/modules/datagrouping.src.js +1 -1
  262. package/modules/debugger.js +4 -4
  263. package/modules/debugger.js.map +1 -1
  264. package/modules/debugger.src.js +7 -2
  265. package/modules/dependency-wheel.js +1 -1
  266. package/modules/dependency-wheel.src.js +1 -1
  267. package/modules/dotplot.js +1 -1
  268. package/modules/dotplot.src.js +1 -1
  269. package/modules/drag-panes.js +1 -1
  270. package/modules/drag-panes.src.js +1 -1
  271. package/modules/draggable-points.js +1 -1
  272. package/modules/draggable-points.src.js +2 -2
  273. package/modules/drilldown.js +1 -1
  274. package/modules/drilldown.src.js +2 -2
  275. package/modules/export-data.js +2 -2
  276. package/modules/export-data.js.map +1 -1
  277. package/modules/export-data.src.js +8 -9
  278. package/modules/exporting.js +25 -25
  279. package/modules/exporting.js.map +1 -1
  280. package/modules/exporting.src.js +11 -3
  281. package/modules/full-screen.js +1 -1
  282. package/modules/full-screen.src.js +2 -2
  283. package/modules/funnel.js +1 -1
  284. package/modules/funnel.src.js +1 -1
  285. package/modules/funnel3d.js +2 -2
  286. package/modules/funnel3d.js.map +1 -1
  287. package/modules/funnel3d.src.js +11 -4
  288. package/modules/gantt.js +166 -164
  289. package/modules/gantt.js.map +1 -1
  290. package/modules/gantt.src.js +422 -295
  291. package/modules/grid-axis.js +18 -16
  292. package/modules/grid-axis.js.map +1 -1
  293. package/modules/grid-axis.src.js +184 -102
  294. package/modules/heatmap.js +22 -22
  295. package/modules/heatmap.js.map +1 -1
  296. package/modules/heatmap.src.js +36 -15
  297. package/modules/histogram-bellcurve.js +1 -1
  298. package/modules/histogram-bellcurve.js.map +1 -1
  299. package/modules/histogram-bellcurve.src.js +186 -183
  300. package/modules/item-series.js +1 -1
  301. package/modules/item-series.src.js +11 -11
  302. package/modules/map-parser.js +1 -1
  303. package/modules/map-parser.src.js +1 -1
  304. package/modules/map.js +83 -83
  305. package/modules/map.js.map +1 -1
  306. package/modules/map.src.js +67 -34
  307. package/modules/networkgraph.js +10 -9
  308. package/modules/networkgraph.js.map +1 -1
  309. package/modules/networkgraph.src.js +180 -72
  310. package/modules/no-data-to-display.js +1 -1
  311. package/modules/no-data-to-display.src.js +1 -1
  312. package/modules/offline-exporting.js +15 -15
  313. package/modules/offline-exporting.js.map +1 -1
  314. package/modules/offline-exporting.src.js +17 -4
  315. package/modules/oldie-polyfills.js +1 -1
  316. package/modules/oldie-polyfills.src.js +2 -2
  317. package/modules/oldie.js +2 -2
  318. package/modules/oldie.src.js +2 -2
  319. package/modules/organization.js +1 -1
  320. package/modules/organization.js.map +1 -1
  321. package/modules/organization.src.js +66 -21
  322. package/modules/overlapping-datalabels.js +1 -1
  323. package/modules/overlapping-datalabels.src.js +1 -1
  324. package/modules/parallel-coordinates.js +1 -1
  325. package/modules/parallel-coordinates.src.js +1 -1
  326. package/modules/pareto.js +1 -1
  327. package/modules/pareto.js.map +1 -1
  328. package/modules/pareto.src.js +53 -52
  329. package/modules/pathfinder.js +3 -3
  330. package/modules/pathfinder.js.map +1 -1
  331. package/modules/pathfinder.src.js +3 -3
  332. package/modules/pattern-fill.js +1 -1
  333. package/modules/pattern-fill.src.js +2 -2
  334. package/modules/price-indicator.js +1 -1
  335. package/modules/price-indicator.src.js +2 -2
  336. package/modules/pyramid3d.js +1 -1
  337. package/modules/pyramid3d.src.js +2 -2
  338. package/modules/sankey.js +14 -14
  339. package/modules/sankey.js.map +1 -1
  340. package/modules/sankey.src.js +39 -19
  341. package/modules/series-label.js +16 -16
  342. package/modules/series-label.js.map +1 -1
  343. package/modules/series-label.src.js +17 -9
  344. package/modules/solid-gauge.js +5 -5
  345. package/modules/solid-gauge.js.map +1 -1
  346. package/modules/solid-gauge.src.js +129 -80
  347. package/modules/sonification.js +1 -1
  348. package/modules/sonification.src.js +1 -1
  349. package/modules/static-scale.js +4 -4
  350. package/modules/static-scale.js.map +1 -1
  351. package/modules/static-scale.src.js +9 -2
  352. package/modules/stock-tools.js +2 -2
  353. package/modules/stock-tools.src.js +3 -3
  354. package/modules/stock.js +146 -145
  355. package/modules/stock.js.map +1 -1
  356. package/modules/stock.src.js +105 -61
  357. package/modules/streamgraph.js +1 -1
  358. package/modules/streamgraph.src.js +12 -12
  359. package/modules/sunburst.js +40 -40
  360. package/modules/sunburst.js.map +1 -1
  361. package/modules/sunburst.src.js +30 -9
  362. package/modules/tilemap.js +1 -1
  363. package/modules/tilemap.js.map +1 -1
  364. package/modules/tilemap.src.js +59 -58
  365. package/modules/timeline.js +12 -11
  366. package/modules/timeline.js.map +1 -1
  367. package/modules/timeline.src.js +18 -13
  368. package/modules/treegrid.js +45 -43
  369. package/modules/treegrid.js.map +1 -1
  370. package/modules/treegrid.src.js +238 -139
  371. package/modules/treemap.js +1 -1
  372. package/modules/treemap.src.js +7 -7
  373. package/modules/variable-pie.js +1 -1
  374. package/modules/variable-pie.src.js +1 -1
  375. package/modules/variwide.js +1 -1
  376. package/modules/variwide.src.js +40 -40
  377. package/modules/vector.js +1 -1
  378. package/modules/vector.js.map +1 -1
  379. package/modules/vector.src.js +109 -108
  380. package/modules/venn.js +23 -23
  381. package/modules/venn.js.map +1 -1
  382. package/modules/venn.src.js +5 -3
  383. package/modules/windbarb.js +1 -1
  384. package/modules/windbarb.src.js +44 -44
  385. package/modules/wordcloud.js +10 -10
  386. package/modules/wordcloud.js.map +1 -1
  387. package/modules/wordcloud.src.js +2 -1
  388. package/modules/xrange.js +12 -12
  389. package/modules/xrange.js.map +1 -1
  390. package/modules/xrange.src.js +113 -105
  391. package/package.json +1 -1
  392. package/themes/avocado.js +21 -37
  393. package/themes/avocado.src.js +1 -1
  394. package/themes/dark-blue.js +1 -1
  395. package/themes/dark-blue.src.js +1 -1
  396. package/themes/dark-green.js +1 -1
  397. package/themes/dark-green.src.js +1 -1
  398. package/themes/dark-unica.js +1 -1
  399. package/themes/dark-unica.src.js +1 -1
  400. package/themes/gray.js +1 -1
  401. package/themes/gray.src.js +1 -1
  402. package/themes/grid-light.js +1 -1
  403. package/themes/grid-light.src.js +1 -1
  404. package/themes/grid.js +1 -1
  405. package/themes/grid.src.js +1 -1
  406. package/themes/sand-signika.js +1 -1
  407. package/themes/sand-signika.src.js +1 -1
  408. package/themes/skies.js +1 -1
  409. package/themes/skies.src.js +1 -1
  410. package/themes/sunset.js +21 -37
  411. package/themes/sunset.src.js +1 -1
  412. package/.DS_Store +0 -0
  413. package/es-modules/.DS_Store +0 -0
  414. package/es-modules/modules/annotations-legacy.src.js +0 -1977
  415. package/js/.DS_Store +0 -0
@@ -23,12 +23,15 @@ var correctFloat = H.correctFloat,
23
23
  Chart = H.Chart,
24
24
  Point = H.Point,
25
25
  Series = H.Series,
26
+ StackItem = H.StackItem,
26
27
  seriesType = H.seriesType,
27
28
  seriesTypes = H.seriesTypes;
28
29
 
29
30
  addEvent(Axis, 'afterInit', function () {
30
31
  if (!this.isXAxis) {
31
- this.waterfallStacks = {};
32
+ this.waterfallStacks = {
33
+ changed: false
34
+ };
32
35
  }
33
36
  });
34
37
 
@@ -41,7 +44,7 @@ addEvent(Chart, 'beforeRedraw', function () {
41
44
  if (series[i].options.stacking) {
42
45
  axes.forEach(function (axis) {
43
46
  if (!axis.isXAxis) {
44
- axis.waterfallStacks = {};
47
+ axis.waterfallStacks.changed = true;
45
48
  }
46
49
  });
47
50
  i = 0;
@@ -49,6 +52,53 @@ addEvent(Chart, 'beforeRedraw', function () {
49
52
  }
50
53
  });
51
54
 
55
+ addEvent(Axis, 'afterRender', function () {
56
+ var stackLabelOptions = this.options.stackLabels;
57
+
58
+ if (stackLabelOptions && stackLabelOptions.enabled &&
59
+ this.waterfallStacks) {
60
+ this.renderWaterfallStackTotals();
61
+ }
62
+ });
63
+
64
+ /**
65
+ * Calls StackItem.prototype.render function that creates and renders stack
66
+ * total label for each waterfall stack item.
67
+ *
68
+ * @private
69
+ * @function Highcharts.Axis#renderWaterfallStackTotals
70
+ */
71
+ Axis.prototype.renderWaterfallStackTotals = function () {
72
+ var yAxis = this,
73
+ waterfallStacks = yAxis.waterfallStacks,
74
+ stackTotalGroup = yAxis.stackTotalGroup,
75
+ dummyStackItem = new StackItem(
76
+ yAxis,
77
+ yAxis.options.stackLabels,
78
+ false,
79
+ 0,
80
+ undefined
81
+ );
82
+
83
+ yAxis.dummyStackItem = dummyStackItem;
84
+
85
+ // Render each waterfall stack total
86
+ objectEach(waterfallStacks, function (type) {
87
+ objectEach(type, function (stackItem) {
88
+ dummyStackItem.total = stackItem.stackTotal;
89
+
90
+ if (stackItem.label) {
91
+ dummyStackItem.label = stackItem.label;
92
+ }
93
+
94
+ StackItem.prototype.render.call(dummyStackItem, stackTotalGroup);
95
+ stackItem.label = dummyStackItem.label;
96
+ delete dummyStackItem.label;
97
+ });
98
+ });
99
+ dummyStackItem.total = null;
100
+ };
101
+
52
102
  /**
53
103
  * A waterfall chart displays sequentially introduced positive or negative
54
104
  * values in cumulative columns.
@@ -194,6 +244,7 @@ seriesType('waterfall', 'column', {
194
244
  tooltipY,
195
245
  actualStack = yAxis.waterfallStacks[series.stackKey],
196
246
  actualStackX,
247
+ dummyStackItem,
197
248
  total,
198
249
  pointY,
199
250
  yPos,
@@ -221,10 +272,17 @@ seriesType('waterfall', 'column', {
221
272
  actualStackX = actualStack[i];
222
273
 
223
274
  if (stacking === 'overlap') {
224
- total = actualStackX.threshold + actualStackX.total;
225
- actualStackX.total -= pointY;
275
+ total =
276
+ actualStackX.stackState[actualStackX.stateIndex--];
226
277
 
227
278
  y = pointY >= 0 ? total : total - pointY;
279
+ if (actualStackX.hasOwnProperty('absolutePos')) {
280
+ delete actualStackX.absolutePos;
281
+ }
282
+
283
+ if (actualStackX.hasOwnProperty('absoluteNeg')) {
284
+ delete actualStackX.absoluteNeg;
285
+ }
228
286
  } else {
229
287
  if (pointY >= 0) {
230
288
  total = actualStackX.threshold +
@@ -239,6 +297,22 @@ seriesType('waterfall', 'column', {
239
297
  actualStackX.negTotal -= pointY;
240
298
  y = total - pointY;
241
299
  }
300
+
301
+ if (!actualStackX.posTotal) {
302
+ if (actualStackX.hasOwnProperty('absolutePos')) {
303
+ actualStackX.posTotal =
304
+ actualStackX.absolutePos;
305
+ delete actualStackX.absolutePos;
306
+ }
307
+ }
308
+
309
+ if (!actualStackX.negTotal) {
310
+ if (actualStackX.hasOwnProperty('absoluteNeg')) {
311
+ actualStackX.negTotal =
312
+ actualStackX.absoluteNeg;
313
+ delete actualStackX.absoluteNeg;
314
+ }
315
+ }
242
316
  }
243
317
 
244
318
  if (!point.isSum) {
@@ -263,6 +337,18 @@ seriesType('waterfall', 'column', {
263
337
  shapeArgs.height = Math.abs(shapeArgs.y -
264
338
  yAxis.translate(hPos, 0, 1, 0, 1));
265
339
  }
340
+
341
+ dummyStackItem = yAxis.dummyStackItem;
342
+ if (dummyStackItem) {
343
+ dummyStackItem.x = i;
344
+ dummyStackItem.label = actualStack[i].label;
345
+ dummyStackItem.setOffset(
346
+ series.pointXOffset || 0,
347
+ series.barW || 0,
348
+ series.stackedYNeg[i],
349
+ series.stackedYPos[i]
350
+ );
351
+ }
266
352
  } else {
267
353
  // up points
268
354
  y = Math.max(previousY, previousY + pointY) + range[0];
@@ -529,18 +615,46 @@ seriesType('waterfall', 'column', {
529
615
  waterfallStacks = series.yAxis.waterfallStacks,
530
616
  seriesThreshold = options.threshold,
531
617
  stackThreshold = seriesThreshold || 0,
532
- interSum = seriesThreshold || 0,
618
+ interSum = stackThreshold,
533
619
  stackKey = series.stackKey,
534
620
  xData = series.xData,
535
621
  xLength = xData.length,
536
622
  actualStack,
537
623
  actualStackX,
624
+ totalYVal,
625
+ actualSum,
626
+ prevSum,
627
+ statesLen,
538
628
  posTotal,
539
629
  negTotal,
540
630
  xPoint,
541
631
  yVal,
542
632
  x;
543
633
 
634
+ // function responsible for calculating correct values for stackState
635
+ // array of each stack item. The arguments are: firstS - the value for
636
+ // the first state, nextS - the difference between the previous and the
637
+ // newest state, sInx - counter used in the for that updates each state
638
+ // when necessary, sOff - offset that must be added to each state when
639
+ // they need to be updated (if point isn't a total sum)
640
+ function calculateStackState(firstS, nextS, sInx, sOff) {
641
+ if (!statesLen) {
642
+ actualStackX.stackState[0] = firstS;
643
+ statesLen = actualStackX.stackState.length;
644
+ } else {
645
+ for (sInx; sInx < statesLen; sInx++) {
646
+ actualStackX.stackState[sInx] += sOff;
647
+ }
648
+ }
649
+
650
+ actualStackX.stackState.push(
651
+ actualStackX.stackState[statesLen - 1] + nextS
652
+ );
653
+ }
654
+
655
+ series.yAxis.usePercentage = false;
656
+ totalYVal = actualSum = prevSum = stackThreshold;
657
+
544
658
  // code responsible for creating stacks for waterfall series
545
659
  if (series.visible || !series.chart.options.chart.ignoreHiddenSeries) {
546
660
  if (!waterfallStacks[stackKey]) {
@@ -548,18 +662,18 @@ seriesType('waterfall', 'column', {
548
662
  }
549
663
 
550
664
  actualStack = waterfallStacks[stackKey];
551
-
552
665
  for (var i = 0; i < xLength; i++) {
553
666
  x = xData[i];
554
-
555
- if (!actualStack[x]) {
667
+ if (!actualStack[x] || waterfallStacks.changed) {
556
668
  actualStack[x] = {
557
669
  negTotal: 0,
558
670
  posTotal: 0,
559
- total: 0,
560
671
  stackTotal: 0,
561
672
  threshold: 0,
562
- stackState: [stackThreshold]
673
+ stateIndex: 0,
674
+ stackState: [],
675
+ label: (waterfallStacks.changed && actualStack[x]) ?
676
+ actualStack[x].label : undefined
563
677
  };
564
678
  }
565
679
 
@@ -574,27 +688,40 @@ seriesType('waterfall', 'column', {
574
688
 
575
689
  // points do not exist yet, so raw data is used
576
690
  xPoint = options.data[i];
577
- posTotal = actualStackX.posTotal;
578
- negTotal = actualStackX.negTotal;
691
+
692
+ posTotal = actualStackX.absolutePos = actualStackX.posTotal;
693
+ negTotal = actualStackX.absoluteNeg = actualStackX.negTotal;
694
+ actualStackX.stackTotal = posTotal + negTotal;
695
+ statesLen = actualStackX.stackState.length;
579
696
 
580
697
  if (xPoint && xPoint.isIntermediateSum) {
698
+ calculateStackState(prevSum, actualSum, 0, prevSum);
699
+
700
+ prevSum = actualSum;
701
+ actualSum = seriesThreshold;
702
+
581
703
  // swapping values
582
704
  stackThreshold ^= interSum;
583
705
  interSum ^= stackThreshold;
584
706
  stackThreshold ^= interSum;
585
707
  } else if (xPoint && xPoint.isSum) {
708
+ calculateStackState(seriesThreshold, totalYVal, statesLen);
709
+
586
710
  stackThreshold = seriesThreshold;
711
+ } else {
712
+ calculateStackState(stackThreshold, yVal, 0, totalYVal);
713
+
714
+ if (xPoint) {
715
+ totalYVal += yVal;
716
+ actualSum += yVal;
717
+ }
587
718
  }
588
719
 
589
- actualStackX.stackTotal = posTotal + negTotal;
590
- actualStackX.total = actualStackX.stackTotal;
720
+ actualStackX.stateIndex++;
591
721
  actualStackX.threshold = stackThreshold;
592
-
593
- actualStackX.stackState[0] = stackThreshold;
594
- actualStackX.stackState.push(actualStackX.stackTotal);
595
-
596
722
  stackThreshold += actualStackX.stackTotal;
597
723
  }
724
+ waterfallStacks.changed = false;
598
725
  }
599
726
  },
600
727
 
@@ -605,9 +732,7 @@ seriesType('waterfall', 'column', {
605
732
  yAxis,
606
733
  waterfallStacks,
607
734
  stackedYNeg,
608
- stackedYPos,
609
- states,
610
- firstState;
735
+ stackedYPos;
611
736
 
612
737
  if (stacking) {
613
738
  yAxis = this.yAxis;
@@ -619,20 +744,8 @@ seriesType('waterfall', 'column', {
619
744
  // overlap and different when it's set to normal
620
745
  if (stacking === 'overlap') {
621
746
  objectEach(waterfallStacks[this.stackKey], function (stackX) {
622
-
623
- states = [];
624
- stackX.stackState.forEach(function (state, stateIndex) {
625
- firstState = stackX.stackState[0];
626
-
627
- if (stateIndex) {
628
- states.push(state + firstState);
629
- } else {
630
- states.push(firstState);
631
- }
632
- });
633
-
634
- stackedYNeg.push(arrayMin(states));
635
- stackedYPos.push(arrayMax(states));
747
+ stackedYNeg.push(arrayMin(stackX.stackState));
748
+ stackedYPos.push(arrayMax(stackX.stackState));
636
749
  });
637
750
  } else {
638
751
  objectEach(waterfallStacks[this.stackKey], function (stackX) {
package/highcharts-3d.js CHANGED
@@ -1,86 +1,87 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  3D features for Highcharts JS
5
5
 
6
6
  @license: www.highcharts.com/license
7
7
  */
8
8
  (function(u){"object"===typeof module&&module.exports?(u["default"]=u,module.exports=u):"function"===typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(A){u(A);u.Highcharts=A;return u}):u("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(u){function A(b,z,x,v){b.hasOwnProperty(z)||(b[z]=v.apply(null,x))}u=u?u._modules:{};A(u,"parts-3d/Math.js",[u["parts/Globals.js"]],function(b){var z=b.deg2rad,x=b.pick;b.perspective3D=function(b,r,n){r=0<n&&n<Number.POSITIVE_INFINITY?
9
- n/(b.z+r.z+n):1;return{x:b.x*r,y:b.y*r}};b.perspective=function(v,r,n){var y=r.options.chart.options3d,g=n?r.inverted:!1,t={x:r.plotWidth/2,y:r.plotHeight/2,z:y.depth/2,vd:x(y.depth,1)*x(y.viewDistance,0)},p=r.scale3d||1,h=z*y.beta*(g?-1:1),y=z*y.alpha*(g?-1:1),a=Math.cos(y),f=Math.cos(-h),q=Math.sin(y),k=Math.sin(-h);n||(t.x+=r.plotLeft,t.y+=r.plotTop);return v.map(function(m){var e;e=(g?m.y:m.x)-t.x;var c=(g?m.x:m.y)-t.y;m=(m.z||0)-t.z;e={x:f*e-k*m,y:-q*k*e+a*c-f*q*m,z:a*k*e+q*c+a*f*m};c=b.perspective3D(e,
9
+ n/(b.z+r.z+n):1;return{x:b.x*r,y:b.y*r}};b.perspective=function(v,r,n){var y=r.options.chart.options3d,g=n?r.inverted:!1,t={x:r.plotWidth/2,y:r.plotHeight/2,z:y.depth/2,vd:x(y.depth,1)*x(y.viewDistance,0)},p=r.scale3d||1,k=z*y.beta*(g?-1:1),y=z*y.alpha*(g?-1:1),a=Math.cos(y),f=Math.cos(-k),q=Math.sin(y),h=Math.sin(-k);n||(t.x+=r.plotLeft,t.y+=r.plotTop);return v.map(function(m){var e;e=(g?m.y:m.x)-t.x;var c=(g?m.x:m.y)-t.y;m=(m.z||0)-t.z;e={x:f*e-h*m,y:-q*h*e+a*c-f*q*m,z:a*h*e+q*c+a*f*m};c=b.perspective3D(e,
10
10
  t,t.vd);c.x=c.x*p+t.x;c.y=c.y*p+t.y;c.z=e.z*p+t.z;return{x:g?c.y:c.x,y:g?c.x:c.y,z:c.z}})};b.pointCameraDistance=function(b,r){var n=r.options.chart.options3d,v=r.plotWidth/2;r=r.plotHeight/2;n=x(n.depth,1)*x(n.viewDistance,0)+n.depth;return Math.sqrt(Math.pow(v-b.plotX,2)+Math.pow(r-b.plotY,2)+Math.pow(n-b.plotZ,2))};b.shapeArea=function(b){var r=0,n,v;for(n=0;n<b.length;n++)v=(n+1)%b.length,r+=b[n].x*b[v].y-b[v].x*b[n].y;return r/2};b.shapeArea3d=function(v,r,n){return b.shapeArea(b.perspective(v,
11
- r,n))}});A(u,"parts-3d/SVGRenderer.js",[u["parts/Globals.js"]],function(b){function z(a,c,d,b,f,B,k,m){var l=[],E=B-f;return B>f&&B-f>Math.PI/2+.0001?(l=l.concat(z(a,c,d,b,f,f+Math.PI/2,k,m)),l=l.concat(z(a,c,d,b,f+Math.PI/2,B,k,m))):B<f&&f-B>Math.PI/2+.0001?(l=l.concat(z(a,c,d,b,f,f-Math.PI/2,k,m)),l=l.concat(z(a,c,d,b,f-Math.PI/2,B,k,m))):["C",a+d*Math.cos(f)-d*e*E*Math.sin(f)+k,c+b*Math.sin(f)+b*e*E*Math.cos(f)+m,a+d*Math.cos(B)+d*e*E*Math.sin(B)+k,c+b*Math.sin(B)-b*e*E*Math.cos(B)+m,a+d*Math.cos(B)+
12
- k,c+b*Math.sin(B)+m]}var x=Math.cos,v=Math.PI,r=Math.sin,n=b.animObject,y=b.charts,g=b.color,t=b.defined,p=b.deg2rad,h=b.extend,a=b.merge,f=b.perspective,q=b.pick,k=b.SVGElement,m=b.SVGRenderer,e,c,w;e=4*(Math.sqrt(2)-1)/3/(v/2);m.prototype.toLinePath=function(a,c){var d=[];a.forEach(function(a){d.push("L",a.x,a.y)});a.length&&(d[0]="M",c&&d.push("Z"));return d};m.prototype.toLineSegments=function(a){var c=[],d=!0;a.forEach(function(a){c.push(d?"M":"L",a.x,a.y);d=!d});return c};m.prototype.face3d=
11
+ r,n))}});A(u,"parts-3d/SVGRenderer.js",[u["parts/Globals.js"]],function(b){function z(a,c,d,b,f,B,h,m){var l=[],E=B-f;return B>f&&B-f>Math.PI/2+.0001?(l=l.concat(z(a,c,d,b,f,f+Math.PI/2,h,m)),l=l.concat(z(a,c,d,b,f+Math.PI/2,B,h,m))):B<f&&f-B>Math.PI/2+.0001?(l=l.concat(z(a,c,d,b,f,f-Math.PI/2,h,m)),l=l.concat(z(a,c,d,b,f-Math.PI/2,B,h,m))):["C",a+d*Math.cos(f)-d*e*E*Math.sin(f)+h,c+b*Math.sin(f)+b*e*E*Math.cos(f)+m,a+d*Math.cos(B)+d*e*E*Math.sin(B)+h,c+b*Math.sin(B)-b*e*E*Math.cos(B)+m,a+d*Math.cos(B)+
12
+ h,c+b*Math.sin(B)+m]}var x=Math.cos,v=Math.PI,r=Math.sin,n=b.animObject,y=b.charts,g=b.color,t=b.defined,p=b.deg2rad,k=b.extend,a=b.merge,f=b.perspective,q=b.pick,h=b.SVGElement,m=b.SVGRenderer,e,c,w;e=4*(Math.sqrt(2)-1)/3/(v/2);m.prototype.toLinePath=function(a,c){var d=[];a.forEach(function(a){d.push("L",a.x,a.y)});a.length&&(d[0]="M",c&&d.push("Z"));return d};m.prototype.toLineSegments=function(a){var c=[],d=!0;a.forEach(function(a){c.push(d?"M":"L",a.x,a.y);d=!d});return c};m.prototype.face3d=
13
13
  function(a){var c=this,d=this.createElement("path");d.vertexes=[];d.insidePlotArea=!1;d.enabled=!0;d.attr=function(a){if("object"===typeof a&&(t(a.enabled)||t(a.vertexes)||t(a.insidePlotArea))){this.enabled=q(a.enabled,this.enabled);this.vertexes=q(a.vertexes,this.vertexes);this.insidePlotArea=q(a.insidePlotArea,this.insidePlotArea);delete a.enabled;delete a.vertexes;delete a.insidePlotArea;var d=f(this.vertexes,y[c.chartIndex],this.insidePlotArea),l=c.toLinePath(d,!0),d=b.shapeArea(d),d=this.enabled&&
14
- 0<d?"visible":"hidden";a.d=l;a.visibility=d}return k.prototype.attr.apply(this,arguments)};d.animate=function(a){if("object"===typeof a&&(t(a.enabled)||t(a.vertexes)||t(a.insidePlotArea))){this.enabled=q(a.enabled,this.enabled);this.vertexes=q(a.vertexes,this.vertexes);this.insidePlotArea=q(a.insidePlotArea,this.insidePlotArea);delete a.enabled;delete a.vertexes;delete a.insidePlotArea;var d=f(this.vertexes,y[c.chartIndex],this.insidePlotArea),l=c.toLinePath(d,!0),d=b.shapeArea(d),d=this.enabled&&
15
- 0<d?"visible":"hidden";a.d=l;this.attr("visibility",d)}return k.prototype.animate.apply(this,arguments)};return d.attr(a)};m.prototype.polyhedron=function(a){var c=this,d=this.g(),l=d.destroy;this.styledMode||d.attr({"stroke-linejoin":"round"});d.faces=[];d.destroy=function(){for(var a=0;a<d.faces.length;a++)d.faces[a].destroy();return l.call(this)};d.attr=function(a,l,e,b){if("object"===typeof a&&t(a.faces)){for(;d.faces.length>a.faces.length;)d.faces.pop().destroy();for(;d.faces.length<a.faces.length;)d.faces.push(c.face3d().add(d));
16
- for(var f=0;f<a.faces.length;f++)c.styledMode&&delete a.faces[f].fill,d.faces[f].attr(a.faces[f],null,e,b);delete a.faces}return k.prototype.attr.apply(this,arguments)};d.animate=function(a,l,e){if(a&&a.faces){for(;d.faces.length>a.faces.length;)d.faces.pop().destroy();for(;d.faces.length<a.faces.length;)d.faces.push(c.face3d().add(d));for(var b=0;b<a.faces.length;b++)d.faces[b].animate(a.faces[b],l,e);delete a.faces}return k.prototype.animate.apply(this,arguments)};return d.attr(a)};c={initArgs:function(a){var c=
17
- this,d=c.renderer,l=d[c.pathType+"Path"](a),b=l.zIndexes;c.parts.forEach(function(a){c[a]=d.path(l[a]).attr({"class":"highcharts-3d-"+a,zIndex:b[a]||0}).add(c)});c.attr({"stroke-linejoin":"round",zIndex:b.group});c.originalDestroy=c.destroy;c.destroy=c.destroyParts},singleSetterForParts:function(a,c,d,e,f,B){var l={};e=[null,null,e||"attr",f,B];var k=d&&d.zIndexes;d?(b.objectEach(d,function(c,e){l[e]={};l[e][a]=c;k&&(l[e].zIndex=d.zIndexes[e]||0)}),e[1]=l):(l[a]=c,e[0]=l);return this.processParts.apply(this,
18
- e)},processParts:function(a,c,d,e,f){var l=this;l.parts.forEach(function(k){c&&(a=b.pick(c[k],!1));if(!1!==a)l[k][d](a,e,f)});return l},destroyParts:function(){this.processParts(null,null,"destroy");return this.originalDestroy()}};w=b.merge(c,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,c,d,e){if("string"===typeof a&&"undefined"!==typeof c){var l=a;a={};a[l]=c}return a.shapeArgs||t(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):k.prototype.attr.call(this,
19
- a,void 0,d,e)},animate:function(a,c,d){t(a.x)&&t(a.y)?(a=this.renderer[this.pathType+"Path"](a),this.singleSetterForParts("d",null,a,"animate",c,d),this.attr({zIndex:a.zIndexes.group})):k.prototype.animate.call(this,a,c,d);return this},fillSetter:function(a){this.singleSetterForParts("fill",null,{front:a,top:g(a).brighten(.1).get(),side:g(a).brighten(-.1).get()});this.color=this.fill=a;return this}});m.prototype.elements3d={base:c,cuboid:w};m.prototype.element3d=function(a,c){var d=this.g();b.extend(d,
20
- this.elements3d[a]);d.initArgs(c);return d};m.prototype.cuboid=function(a){return this.element3d("cuboid",a)};b.SVGRenderer.prototype.cuboidPath=function(a){function c(a){return r[a]}var d=a.x,e=a.y,l=a.z,k=a.height,m=a.width,h=a.depth,q=y[this.chartIndex],p,w,g=q.options.chart.options3d.alpha,n=0,r=[{x:d,y:e,z:l},{x:d+m,y:e,z:l},{x:d+m,y:e+k,z:l},{x:d,y:e+k,z:l},{x:d,y:e+k,z:l+h},{x:d+m,y:e+k,z:l+h},{x:d+m,y:e,z:l+h},{x:d,y:e,z:l+h}],r=f(r,q,a.insidePlotArea);w=function(a,d){var e=[[],-1];a=a.map(c);
21
- d=d.map(c);0>b.shapeArea(a)?e=[a,0]:0>b.shapeArea(d)&&(e=[d,1]);return e};p=w([3,2,1,0],[7,6,5,4]);a=p[0];m=p[1];p=w([1,6,7,0],[4,5,2,3]);k=p[0];h=p[1];p=w([1,2,5,6],[0,7,4,3]);w=p[0];p=p[1];1===p?n+=1E4*(1E3-d):p||(n+=1E4*d);n+=10*(!h||0<=g&&180>=g||360>g&&357.5<g?q.plotHeight-e:10+e);1===m?n+=100*l:m||(n+=100*(1E3-l));return{front:this.toLinePath(a,!0),top:this.toLinePath(k,!0),side:this.toLinePath(w,!0),zIndexes:{group:Math.round(n)},isFront:m,isTop:h}};b.SVGRenderer.prototype.arc3d=function(c){function e(d){var c=
14
+ 0<d?"visible":"hidden";a.d=l;a.visibility=d}return h.prototype.attr.apply(this,arguments)};d.animate=function(a){if("object"===typeof a&&(t(a.enabled)||t(a.vertexes)||t(a.insidePlotArea))){this.enabled=q(a.enabled,this.enabled);this.vertexes=q(a.vertexes,this.vertexes);this.insidePlotArea=q(a.insidePlotArea,this.insidePlotArea);delete a.enabled;delete a.vertexes;delete a.insidePlotArea;var d=f(this.vertexes,y[c.chartIndex],this.insidePlotArea),l=c.toLinePath(d,!0),d=b.shapeArea(d),d=this.enabled&&
15
+ 0<d?"visible":"hidden";a.d=l;this.attr("visibility",d)}return h.prototype.animate.apply(this,arguments)};return d.attr(a)};m.prototype.polyhedron=function(a){var c=this,d=this.g(),l=d.destroy;this.styledMode||d.attr({"stroke-linejoin":"round"});d.faces=[];d.destroy=function(){for(var a=0;a<d.faces.length;a++)d.faces[a].destroy();return l.call(this)};d.attr=function(a,l,e,b){if("object"===typeof a&&t(a.faces)){for(;d.faces.length>a.faces.length;)d.faces.pop().destroy();for(;d.faces.length<a.faces.length;)d.faces.push(c.face3d().add(d));
16
+ for(var f=0;f<a.faces.length;f++)c.styledMode&&delete a.faces[f].fill,d.faces[f].attr(a.faces[f],null,e,b);delete a.faces}return h.prototype.attr.apply(this,arguments)};d.animate=function(a,l,e){if(a&&a.faces){for(;d.faces.length>a.faces.length;)d.faces.pop().destroy();for(;d.faces.length<a.faces.length;)d.faces.push(c.face3d().add(d));for(var b=0;b<a.faces.length;b++)d.faces[b].animate(a.faces[b],l,e);delete a.faces}return h.prototype.animate.apply(this,arguments)};return d.attr(a)};c={initArgs:function(a){var c=
17
+ this,d=c.renderer,l=d[c.pathType+"Path"](a),b=l.zIndexes;c.parts.forEach(function(a){c[a]=d.path(l[a]).attr({"class":"highcharts-3d-"+a,zIndex:b[a]||0}).add(c)});c.attr({"stroke-linejoin":"round",zIndex:b.group});c.originalDestroy=c.destroy;c.destroy=c.destroyParts},singleSetterForParts:function(a,c,d,e,f,B){var l={};e=[null,null,e||"attr",f,B];var h=d&&d.zIndexes;d?(b.objectEach(d,function(c,e){l[e]={};l[e][a]=c;h&&(l[e].zIndex=d.zIndexes[e]||0)}),e[1]=l):(l[a]=c,e[0]=l);return this.processParts.apply(this,
18
+ e)},processParts:function(a,c,d,e,f){var l=this;l.parts.forEach(function(h){c&&(a=b.pick(c[h],!1));if(!1!==a)l[h][d](a,e,f)});return l},destroyParts:function(){this.processParts(null,null,"destroy");return this.originalDestroy()}};w=b.merge(c,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,c,d,e){if("string"===typeof a&&"undefined"!==typeof c){var l=a;a={};a[l]=c}return a.shapeArgs||t(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):h.prototype.attr.call(this,
19
+ a,void 0,d,e)},animate:function(a,c,d){t(a.x)&&t(a.y)?(a=this.renderer[this.pathType+"Path"](a),this.singleSetterForParts("d",null,a,"animate",c,d),this.attr({zIndex:a.zIndexes.group})):h.prototype.animate.call(this,a,c,d);return this},fillSetter:function(a){this.singleSetterForParts("fill",null,{front:a,top:g(a).brighten(.1).get(),side:g(a).brighten(-.1).get()});this.color=this.fill=a;return this}});m.prototype.elements3d={base:c,cuboid:w};m.prototype.element3d=function(a,c){var d=this.g();b.extend(d,
20
+ this.elements3d[a]);d.initArgs(c);return d};m.prototype.cuboid=function(a){return this.element3d("cuboid",a)};b.SVGRenderer.prototype.cuboidPath=function(a){function c(a){return r[a]}var d=a.x,e=a.y,l=a.z,h=a.height,m=a.width,k=a.depth,q=y[this.chartIndex],p,w,g=q.options.chart.options3d.alpha,n=0,r=[{x:d,y:e,z:l},{x:d+m,y:e,z:l},{x:d+m,y:e+h,z:l},{x:d,y:e+h,z:l},{x:d,y:e+h,z:l+k},{x:d+m,y:e+h,z:l+k},{x:d+m,y:e,z:l+k},{x:d,y:e,z:l+k}],r=f(r,q,a.insidePlotArea);w=function(a,d){var e=[[],-1];a=a.map(c);
21
+ d=d.map(c);0>b.shapeArea(a)?e=[a,0]:0>b.shapeArea(d)&&(e=[d,1]);return e};p=w([3,2,1,0],[7,6,5,4]);a=p[0];m=p[1];p=w([1,6,7,0],[4,5,2,3]);h=p[0];k=p[1];p=w([1,2,5,6],[0,7,4,3]);w=p[0];p=p[1];1===p?n+=1E4*(1E3-d):p||(n+=1E4*d);n+=10*(!k||0<=g&&180>=g||360>g&&357.5<g?q.plotHeight-e:10+e);1===m?n+=100*l:m||(n+=100*(1E3-l));return{front:this.toLinePath(a,!0),top:this.toLinePath(h,!0),side:this.toLinePath(w,!0),zIndexes:{group:Math.round(n)},isFront:m,isTop:k}};b.SVGRenderer.prototype.arc3d=function(c){function e(d){var c=
22
22
  !1,e={},l;d=a(d);for(l in d)-1!==f.indexOf(l)&&(e[l]=d[l],delete d[l],c=!0);return c?e:!1}var d=this.g(),l=d.renderer,f="x y r innerR start end".split(" ");c=a(c);c.alpha=(c.alpha||0)*p;c.beta=(c.beta||0)*p;d.top=l.path();d.side1=l.path();d.side2=l.path();d.inn=l.path();d.out=l.path();d.onAdd=function(){var a=d.parentGroup,c=d.attr("class");d.top.add(d);["out","inn","side1","side2"].forEach(function(e){d[e].attr({"class":c+" highcharts-3d-side"}).add(a)})};["addClass","removeClass"].forEach(function(a){d[a]=
23
23
  function(){var c=arguments;["top","out","inn","side1","side2"].forEach(function(e){d[e][a].apply(d[e],c)})}});d.setPaths=function(a){var c=d.renderer.arc3dPath(a),e=100*c.zTop;d.attribs=a;d.top.attr({d:c.top,zIndex:c.zTop});d.inn.attr({d:c.inn,zIndex:c.zInn});d.out.attr({d:c.out,zIndex:c.zOut});d.side1.attr({d:c.side1,zIndex:c.zSide1});d.side2.attr({d:c.side2,zIndex:c.zSide2});d.zIndex=e;d.attr({zIndex:e});a.center&&(d.top.setRadialReference(a.center),delete a.center)};d.setPaths(c);d.fillSetter=
24
- function(a){var c=g(a).brighten(-.1).get();this.fill=a;this.side1.attr({fill:c});this.side2.attr({fill:c});this.inn.attr({fill:c});this.out.attr({fill:c});this.top.attr({fill:a});return this};["opacity","translateX","translateY","visibility"].forEach(function(a){d[a+"Setter"]=function(a,c){d[c]=a;["out","inn","side1","side2","top"].forEach(function(e){d[e].attr(c,a)})}});d.attr=function(a){var c;"object"===typeof a&&(c=e(a))&&(h(d.attribs,c),d.setPaths(d.attribs));return k.prototype.attr.apply(d,
25
- arguments)};d.animate=function(c,l,f){var m,h=this.attribs,p,w="data-"+Math.random().toString(26).substring(2,9);delete c.center;delete c.z;delete c.depth;delete c.alpha;delete c.beta;p=n(q(l,this.renderer.globalAnimation));p.duration&&(m=e(c),d[w]=0,c[w]=1,d[w+"Setter"]=b.noop,m&&(p.step=function(c,d){function e(a){return h[a]+(q(m[a],h[a])-h[a])*d.pos}d.prop===w&&d.elem.setPaths(a(h,{x:e("x"),y:e("y"),r:e("r"),innerR:e("innerR"),start:e("start"),end:e("end")}))}),l=p);return k.prototype.animate.call(this,
26
- c,l,f)};d.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();k.prototype.destroy.call(this)};d.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};d.show=function(a){this.top.show(a);this.out.show(a);this.inn.show(a);this.side1.show(a);this.side2.show(a)};return d};m.prototype.arc3dPath=function(a){function c(a){a%=2*Math.PI;a>Math.PI&&(a=2*Math.PI-a);return a}var d=a.x,e=a.y,l=a.start,
27
- b=a.end-.00001,f=a.r,m=a.innerR||0,k=a.depth||0,h=a.alpha,p=a.beta,q=Math.cos(l),w=Math.sin(l);a=Math.cos(b);var g=Math.sin(b),n=f*Math.cos(p),f=f*Math.cos(h),t=m*Math.cos(p),y=m*Math.cos(h),m=k*Math.sin(p),u=k*Math.sin(h),k=["M",d+n*q,e+f*w],k=k.concat(z(d,e,n,f,l,b,0,0)),k=k.concat(["L",d+t*a,e+y*g]),k=k.concat(z(d,e,t,y,b,l,0,0)),k=k.concat(["Z"]),A=0<p?Math.PI/2:0,p=0<h?0:Math.PI/2,A=l>-A?l:b>-A?-A:l,C=b<v-p?b:l<v-p?v-p:b,D=2*v-p,h=["M",d+n*x(A),e+f*r(A)],h=h.concat(z(d,e,n,f,A,C,0,0));b>D&&l<
28
- D?(h=h.concat(["L",d+n*x(C)+m,e+f*r(C)+u]),h=h.concat(z(d,e,n,f,C,D,m,u)),h=h.concat(["L",d+n*x(D),e+f*r(D)]),h=h.concat(z(d,e,n,f,D,b,0,0)),h=h.concat(["L",d+n*x(b)+m,e+f*r(b)+u]),h=h.concat(z(d,e,n,f,b,D,m,u)),h=h.concat(["L",d+n*x(D),e+f*r(D)]),h=h.concat(z(d,e,n,f,D,C,0,0))):b>v-p&&l<v-p&&(h=h.concat(["L",d+n*Math.cos(C)+m,e+f*Math.sin(C)+u]),h=h.concat(z(d,e,n,f,C,b,m,u)),h=h.concat(["L",d+n*Math.cos(b),e+f*Math.sin(b)]),h=h.concat(z(d,e,n,f,b,C,0,0)));h=h.concat(["L",d+n*Math.cos(C)+m,e+f*Math.sin(C)+
29
- u]);h=h.concat(z(d,e,n,f,C,A,m,u));h=h.concat(["Z"]);p=["M",d+t*q,e+y*w];p=p.concat(z(d,e,t,y,l,b,0,0));p=p.concat(["L",d+t*Math.cos(b)+m,e+y*Math.sin(b)+u]);p=p.concat(z(d,e,t,y,b,l,m,u));p=p.concat(["Z"]);q=["M",d+n*q,e+f*w,"L",d+n*q+m,e+f*w+u,"L",d+t*q+m,e+y*w+u,"L",d+t*q,e+y*w,"Z"];d=["M",d+n*a,e+f*g,"L",d+n*a+m,e+f*g+u,"L",d+t*a+m,e+y*g+u,"L",d+t*a,e+y*g,"Z"];g=Math.atan2(u,-m);e=Math.abs(b+g);a=Math.abs(l+g);l=Math.abs((l+b)/2+g);e=c(e);a=c(a);l=c(l);l*=1E5;b=1E5*a;e*=1E5;return{top:k,zTop:1E5*
30
- Math.PI+1,out:h,zOut:Math.max(l,b,e),inn:p,zInn:Math.max(l,b,e),side1:q,zSide1:.99*e,side2:d,zSide2:.99*b}}});A(u,"parts-3d/Chart.js",[u["parts/Globals.js"]],function(b){function u(b,h){var a=b.plotLeft,f=b.plotWidth+a,p=b.plotTop,k=b.plotHeight+p,m=a+b.plotWidth/2,e=p+b.plotHeight/2,c=Number.MAX_VALUE,w=-Number.MAX_VALUE,l=Number.MAX_VALUE,E=-Number.MAX_VALUE,d,g=1;d=[{x:a,y:p,z:0},{x:a,y:p,z:h}];[0,1].forEach(function(a){d.push({x:f,y:d[a].y,z:d[a].z})});[0,1,2,3].forEach(function(a){d.push({x:d[a].x,
31
- y:k,z:d[a].z})});d=n(d,b,!1);d.forEach(function(a){c=Math.min(c,a.x);w=Math.max(w,a.x);l=Math.min(l,a.y);E=Math.max(E,a.y)});a>c&&(g=Math.min(g,1-Math.abs((a+m)/(c+m))%1));f<w&&(g=Math.min(g,(f-m)/(w-m)));p>l&&(g=0>l?Math.min(g,(p+e)/(-l+p+e)):Math.min(g,1-(p+e)/(l+e)%1));k<E&&(g=Math.min(g,Math.abs((k-e)/(E-e))));return g}var x=b.addEvent,v=b.Chart,r=b.merge,n=b.perspective,y=b.pick,g=b.wrap;v.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};v.prototype.propsRequireDirtyBox.push("chart.options3d");
32
- v.prototype.propsRequireUpdateSeries.push("chart.options3d");x(v,"afterInit",function(){var b=this.options;this.is3d()&&(b.series||[]).forEach(function(h){"scatter"===(h.type||b.chart.type||b.chart.defaultSeriesType)&&(h.type="scatter3d")})});x(v,"addSeries",function(b){this.is3d()&&"scatter"===b.options.type&&(b.options.type="scatter3d")});b.wrap(b.Chart.prototype,"isInsidePlot",function(b){return this.is3d()||b.apply(this,[].slice.call(arguments,1))});var t=b.getOptions();r(!0,t,{chart:{options3d:{enabled:!1,
24
+ function(a){var c=g(a).brighten(-.1).get();this.fill=a;this.side1.attr({fill:c});this.side2.attr({fill:c});this.inn.attr({fill:c});this.out.attr({fill:c});this.top.attr({fill:a});return this};["opacity","translateX","translateY","visibility"].forEach(function(a){d[a+"Setter"]=function(a,c){d[c]=a;["out","inn","side1","side2","top"].forEach(function(e){d[e].attr(c,a)})}});d.attr=function(a){var c;"object"===typeof a&&(c=e(a))&&(k(d.attribs,c),d.setPaths(d.attribs));return h.prototype.attr.apply(d,
25
+ arguments)};d.animate=function(c,l,f){var m,k=this.attribs,p,w="data-"+Math.random().toString(26).substring(2,9);delete c.center;delete c.z;delete c.depth;delete c.alpha;delete c.beta;p=n(q(l,this.renderer.globalAnimation));p.duration&&(m=e(c),d[w]=0,c[w]=1,d[w+"Setter"]=b.noop,m&&(p.step=function(c,d){function e(a){return k[a]+(q(m[a],k[a])-k[a])*d.pos}d.prop===w&&d.elem.setPaths(a(k,{x:e("x"),y:e("y"),r:e("r"),innerR:e("innerR"),start:e("start"),end:e("end")}))}),l=p);return h.prototype.animate.call(this,
26
+ c,l,f)};d.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();h.prototype.destroy.call(this)};d.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};d.show=function(a){this.top.show(a);this.out.show(a);this.inn.show(a);this.side1.show(a);this.side2.show(a)};return d};m.prototype.arc3dPath=function(a){function c(a){a%=2*Math.PI;a>Math.PI&&(a=2*Math.PI-a);return a}var d=a.x,e=a.y,l=a.start,
27
+ b=a.end-.00001,f=a.r,m=a.innerR||0,h=a.depth||0,k=a.alpha,p=a.beta,q=Math.cos(l),w=Math.sin(l);a=Math.cos(b);var g=Math.sin(b),n=f*Math.cos(p),f=f*Math.cos(k),t=m*Math.cos(p),y=m*Math.cos(k),m=h*Math.sin(p),u=h*Math.sin(k),h=["M",d+n*q,e+f*w],h=h.concat(z(d,e,n,f,l,b,0,0)),h=h.concat(["L",d+t*a,e+y*g]),h=h.concat(z(d,e,t,y,b,l,0,0)),h=h.concat(["Z"]),A=0<p?Math.PI/2:0,p=0<k?0:Math.PI/2,A=l>-A?l:b>-A?-A:l,C=b<v-p?b:l<v-p?v-p:b,D=2*v-p,k=["M",d+n*x(A),e+f*r(A)],k=k.concat(z(d,e,n,f,A,C,0,0));b>D&&l<
28
+ D?(k=k.concat(["L",d+n*x(C)+m,e+f*r(C)+u]),k=k.concat(z(d,e,n,f,C,D,m,u)),k=k.concat(["L",d+n*x(D),e+f*r(D)]),k=k.concat(z(d,e,n,f,D,b,0,0)),k=k.concat(["L",d+n*x(b)+m,e+f*r(b)+u]),k=k.concat(z(d,e,n,f,b,D,m,u)),k=k.concat(["L",d+n*x(D),e+f*r(D)]),k=k.concat(z(d,e,n,f,D,C,0,0))):b>v-p&&l<v-p&&(k=k.concat(["L",d+n*Math.cos(C)+m,e+f*Math.sin(C)+u]),k=k.concat(z(d,e,n,f,C,b,m,u)),k=k.concat(["L",d+n*Math.cos(b),e+f*Math.sin(b)]),k=k.concat(z(d,e,n,f,b,C,0,0)));k=k.concat(["L",d+n*Math.cos(C)+m,e+f*Math.sin(C)+
29
+ u]);k=k.concat(z(d,e,n,f,C,A,m,u));k=k.concat(["Z"]);p=["M",d+t*q,e+y*w];p=p.concat(z(d,e,t,y,l,b,0,0));p=p.concat(["L",d+t*Math.cos(b)+m,e+y*Math.sin(b)+u]);p=p.concat(z(d,e,t,y,b,l,m,u));p=p.concat(["Z"]);q=["M",d+n*q,e+f*w,"L",d+n*q+m,e+f*w+u,"L",d+t*q+m,e+y*w+u,"L",d+t*q,e+y*w,"Z"];d=["M",d+n*a,e+f*g,"L",d+n*a+m,e+f*g+u,"L",d+t*a+m,e+y*g+u,"L",d+t*a,e+y*g,"Z"];g=Math.atan2(u,-m);e=Math.abs(b+g);a=Math.abs(l+g);l=Math.abs((l+b)/2+g);e=c(e);a=c(a);l=c(l);l*=1E5;b=1E5*a;e*=1E5;return{top:h,zTop:1E5*
30
+ Math.PI+1,out:k,zOut:Math.max(l,b,e),inn:p,zInn:Math.max(l,b,e),side1:q,zSide1:.99*e,side2:d,zSide2:.99*b}}});A(u,"parts-3d/Chart.js",[u["parts/Globals.js"]],function(b){function u(b,k){var a=b.plotLeft,f=b.plotWidth+a,p=b.plotTop,h=b.plotHeight+p,m=a+b.plotWidth/2,e=p+b.plotHeight/2,c=Number.MAX_VALUE,w=-Number.MAX_VALUE,l=Number.MAX_VALUE,E=-Number.MAX_VALUE,d,g=1;d=[{x:a,y:p,z:0},{x:a,y:p,z:k}];[0,1].forEach(function(a){d.push({x:f,y:d[a].y,z:d[a].z})});[0,1,2,3].forEach(function(a){d.push({x:d[a].x,
31
+ y:h,z:d[a].z})});d=n(d,b,!1);d.forEach(function(a){c=Math.min(c,a.x);w=Math.max(w,a.x);l=Math.min(l,a.y);E=Math.max(E,a.y)});a>c&&(g=Math.min(g,1-Math.abs((a+m)/(c+m))%1));f<w&&(g=Math.min(g,(f-m)/(w-m)));p>l&&(g=0>l?Math.min(g,(p+e)/(-l+p+e)):Math.min(g,1-(p+e)/(l+e)%1));h<E&&(g=Math.min(g,Math.abs((h-e)/(E-e))));return g}var x=b.addEvent,v=b.Chart,r=b.merge,n=b.perspective,y=b.pick,g=b.wrap;v.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};v.prototype.propsRequireDirtyBox.push("chart.options3d");
32
+ v.prototype.propsRequireUpdateSeries.push("chart.options3d");x(v,"afterInit",function(){var b=this.options;this.is3d()&&(b.series||[]).forEach(function(k){"scatter"===(k.type||b.chart.type||b.chart.defaultSeriesType)&&(k.type="scatter3d")})});x(v,"addSeries",function(b){this.is3d()&&"scatter"===b.options.type&&(b.options.type="scatter3d")});b.wrap(b.Chart.prototype,"isInsidePlot",function(b){return this.is3d()||b.apply(this,[].slice.call(arguments,1))});var t=b.getOptions();r(!0,t,{chart:{options3d:{enabled:!1,
33
33
  alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}});x(v,"afterGetContainer",function(){this.styledMode&&(this.renderer.definition({tagName:"style",textContent:".highcharts-3d-top{filter: url(#highcharts-brighter)}\n.highcharts-3d-side{filter: url(#highcharts-darker)}\n"}),[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(b){this.renderer.definition({tagName:"filter",
34
- id:"highcharts-"+b.name,children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",type:"linear",slope:b.slope},{tagName:"feFuncG",type:"linear",slope:b.slope},{tagName:"feFuncB",type:"linear",slope:b.slope}]}]})},this))});g(v.prototype,"setClassName",function(b){b.apply(this,[].slice.call(arguments,1));this.is3d()&&(this.container.className+=" highcharts-3d-chart")});x(b.Chart,"afterSetChartSize",function(){var b=this.options.chart.options3d;if(this.is3d()){var h=this.inverted,a=this.clipBox,
35
- f=this.margin;a[h?"y":"x"]=-(f[3]||0);a[h?"x":"y"]=-(f[0]||0);a[h?"height":"width"]=this.chartWidth+(f[3]||0)+(f[1]||0);a[h?"width":"height"]=this.chartHeight+(f[0]||0)+(f[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=u(this,b.depth));this.frame3d=this.get3dFrame()}});x(v,"beforeRedraw",function(){this.is3d()&&(this.isDirtyBox=!0)});x(v,"beforeRender",function(){this.is3d()&&(this.frame3d=this.get3dFrame())});g(v.prototype,"renderSeries",function(b){var h=this.series.length;if(this.is3d())for(;h--;)b=
36
- this.series[h],b.translate(),b.render();else b.call(this)});x(v,"afterDrawChartBox",function(){if(this.is3d()){var p=this.renderer,h=this.options.chart.options3d,a=this.get3dFrame(),f=this.plotLeft,q=this.plotLeft+this.plotWidth,k=this.plotTop,m=this.plotTop+this.plotHeight,h=h.depth,e=f-(a.left.visible?a.left.size:0),c=q+(a.right.visible?a.right.size:0),w=k-(a.top.visible?a.top.size:0),l=m+(a.bottom.visible?a.bottom.size:0),g=0-(a.front.visible?a.front.size:0),d=h+(a.back.visible?a.back.size:0),
34
+ id:"highcharts-"+b.name,children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",type:"linear",slope:b.slope},{tagName:"feFuncG",type:"linear",slope:b.slope},{tagName:"feFuncB",type:"linear",slope:b.slope}]}]})},this))});g(v.prototype,"setClassName",function(b){b.apply(this,[].slice.call(arguments,1));this.is3d()&&(this.container.className+=" highcharts-3d-chart")});x(b.Chart,"afterSetChartSize",function(){var b=this.options.chart.options3d;if(this.is3d()){var k=this.inverted,a=this.clipBox,
35
+ f=this.margin;a[k?"y":"x"]=-(f[3]||0);a[k?"x":"y"]=-(f[0]||0);a[k?"height":"width"]=this.chartWidth+(f[3]||0)+(f[1]||0);a[k?"width":"height"]=this.chartHeight+(f[0]||0)+(f[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=u(this,b.depth));this.frame3d=this.get3dFrame()}});x(v,"beforeRedraw",function(){this.is3d()&&(this.isDirtyBox=!0)});x(v,"beforeRender",function(){this.is3d()&&(this.frame3d=this.get3dFrame())});g(v.prototype,"renderSeries",function(b){var k=this.series.length;if(this.is3d())for(;k--;)b=
36
+ this.series[k],b.translate(),b.render();else b.call(this)});x(v,"afterDrawChartBox",function(){if(this.is3d()){var p=this.renderer,k=this.options.chart.options3d,a=this.get3dFrame(),f=this.plotLeft,q=this.plotLeft+this.plotWidth,h=this.plotTop,m=this.plotTop+this.plotHeight,k=k.depth,e=f-(a.left.visible?a.left.size:0),c=q+(a.right.visible?a.right.size:0),w=h-(a.top.visible?a.top.size:0),l=m+(a.bottom.visible?a.bottom.size:0),g=0-(a.front.visible?a.front.size:0),d=k+(a.back.visible?a.back.size:0),
37
37
  n=this.hasRendered?"animate":"attr";this.frame3d=a;this.frameShapes||(this.frameShapes={bottom:p.polyhedron().add(),top:p.polyhedron().add(),left:p.polyhedron().add(),right:p.polyhedron().add(),back:p.polyhedron().add(),front:p.polyhedron().add()});this.frameShapes.bottom[n]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:a.bottom.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:e,y:l,z:g},{x:c,y:l,z:g},{x:c,y:l,z:d},{x:e,y:l,z:d}],enabled:a.bottom.visible},
38
- {fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:m,z:h},{x:q,y:m,z:h},{x:q,y:m,z:0},{x:f,y:m,z:0}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:g},{x:e,y:l,z:d},{x:f,y:m,z:h},{x:f,y:m,z:0}],enabled:a.bottom.visible&&!a.left.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:d},{x:c,y:l,z:g},{x:q,y:m,z:0},{x:q,y:m,z:h}],enabled:a.bottom.visible&&!a.right.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:c,
39
- y:l,z:g},{x:e,y:l,z:g},{x:f,y:m,z:0},{x:q,y:m,z:0}],enabled:a.bottom.visible&&!a.front.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:e,y:l,z:d},{x:c,y:l,z:d},{x:q,y:m,z:h},{x:f,y:m,z:h}],enabled:a.bottom.visible&&!a.back.visible}]});this.frameShapes.top[n]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:a.top.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:c,y:w,z:d},{x:c,y:w,z:g},{x:e,y:w,z:g}],enabled:a.top.visible},
40
- {fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:f,y:k,z:0},{x:q,y:k,z:0},{x:q,y:k,z:h},{x:f,y:k,z:h}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:e,y:w,z:d},{x:e,y:w,z:g},{x:f,y:k,z:0},{x:f,y:k,z:h}],enabled:a.top.visible&&!a.left.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:c,y:w,z:g},{x:c,y:w,z:d},{x:q,y:k,z:h},{x:q,y:k,z:0}],enabled:a.top.visible&&!a.right.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:e,y:w,z:g},
41
- {x:c,y:w,z:g},{x:q,y:k,z:0},{x:f,y:k,z:0}],enabled:a.top.visible&&!a.front.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:c,y:w,z:d},{x:e,y:w,z:d},{x:f,y:k,z:h},{x:q,y:k,z:h}],enabled:a.top.visible&&!a.back.visible}]});this.frameShapes.left[n]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:a.left.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:e,y:l,z:g},{x:f,y:m,z:0},{x:f,y:m,z:h},{x:e,y:l,z:d}],enabled:a.left.visible&&!a.bottom.visible},
42
- {fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:f,y:k,z:h},{x:f,y:k,z:0},{x:e,y:w,z:g}],enabled:a.left.visible&&!a.top.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:d},{x:e,y:w,z:d},{x:e,y:w,z:g},{x:e,y:l,z:g}],enabled:a.left.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:f,y:k,z:h},{x:f,y:m,z:h},{x:f,y:m,z:0},{x:f,y:k,z:0}],enabled:a.left.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:e,y:l,z:g},{x:e,y:w,z:g},
43
- {x:f,y:k,z:0},{x:f,y:m,z:0}],enabled:a.left.visible&&!a.front.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:e,y:w,z:d},{x:e,y:l,z:d},{x:f,y:m,z:h},{x:f,y:k,z:h}],enabled:a.left.visible&&!a.back.visible}]});this.frameShapes.right[n]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:a.right.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:l,z:d},{x:q,y:m,z:h},{x:q,y:m,z:0},{x:c,y:l,z:g}],enabled:a.right.visible&&!a.bottom.visible},
44
- {fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:w,z:g},{x:q,y:k,z:0},{x:q,y:k,z:h},{x:c,y:w,z:d}],enabled:a.right.visible&&!a.top.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:q,y:k,z:0},{x:q,y:m,z:0},{x:q,y:m,z:h},{x:q,y:k,z:h}],enabled:a.right.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:g},{x:c,y:w,z:g},{x:c,y:w,z:d},{x:c,y:l,z:d}],enabled:a.right.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:w,z:g},{x:c,
45
- y:l,z:g},{x:q,y:m,z:0},{x:q,y:k,z:0}],enabled:a.right.visible&&!a.front.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:l,z:d},{x:c,y:w,z:d},{x:q,y:k,z:h},{x:q,y:m,z:h}],enabled:a.right.visible&&!a.back.visible}]});this.frameShapes.back[n]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:a.back.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:c,y:l,z:d},{x:e,y:l,z:d},{x:f,y:m,z:h},{x:q,y:m,z:h}],enabled:a.back.visible&&!a.bottom.visible},
46
- {fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:c,y:w,z:d},{x:q,y:k,z:h},{x:f,y:k,z:h}],enabled:a.back.visible&&!a.top.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:d},{x:e,y:w,z:d},{x:f,y:k,z:h},{x:f,y:m,z:h}],enabled:a.back.visible&&!a.left.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:c,y:w,z:d},{x:c,y:l,z:d},{x:q,y:m,z:h},{x:q,y:k,z:h}],enabled:a.back.visible&&!a.right.visible},{fill:b.color(a.back.color).get(),
47
- vertexes:[{x:f,y:k,z:h},{x:q,y:k,z:h},{x:q,y:m,z:h},{x:f,y:m,z:h}],enabled:a.back.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:e,y:l,z:d},{x:c,y:l,z:d},{x:c,y:w,z:d},{x:e,y:w,z:d}],enabled:a.back.visible}]});this.frameShapes.front[n]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:a.front.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:e,y:l,z:g},{x:c,y:l,z:g},{x:q,y:m,z:0},{x:f,y:m,z:0}],enabled:a.front.visible&&!a.bottom.visible},
48
- {fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:c,y:w,z:g},{x:e,y:w,z:g},{x:f,y:k,z:0},{x:q,y:k,z:0}],enabled:a.front.visible&&!a.top.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:e,y:w,z:g},{x:e,y:l,z:g},{x:f,y:m,z:0},{x:f,y:k,z:0}],enabled:a.front.visible&&!a.left.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:g},{x:c,y:w,z:g},{x:q,y:k,z:0},{x:q,y:m,z:0}],enabled:a.front.visible&&!a.right.visible},{fill:b.color(a.front.color).get(),
49
- vertexes:[{x:q,y:k,z:0},{x:f,y:k,z:0},{x:f,y:m,z:0},{x:q,y:m,z:0}],enabled:a.front.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:c,y:l,z:g},{x:e,y:l,z:g},{x:e,y:w,z:g},{x:c,y:w,z:g}],enabled:a.front.visible}]})}});v.prototype.retrieveStacks=function(b){var h=this.series,a={},f,g=1;this.series.forEach(function(k){f=y(k.options.stack,b?0:h.length-1-k.index);a[f]?a[f].series.push(k):(a[f]={series:[k],position:g},g++)});a.totalStacks=g+1;return a};v.prototype.get3dFrame=function(){var g=this,
50
- h=g.options.chart.options3d,a=h.frame,f=g.plotLeft,q=g.plotLeft+g.plotWidth,k=g.plotTop,m=g.plotTop+g.plotHeight,e=h.depth,c=function(a){a=b.shapeArea3d(a,g);return.5<a?1:-.5>a?-1:0},w=c([{x:f,y:m,z:e},{x:q,y:m,z:e},{x:q,y:m,z:0},{x:f,y:m,z:0}]),l=c([{x:f,y:k,z:0},{x:q,y:k,z:0},{x:q,y:k,z:e},{x:f,y:k,z:e}]),r=c([{x:f,y:k,z:0},{x:f,y:k,z:e},{x:f,y:m,z:e},{x:f,y:m,z:0}]),d=c([{x:q,y:k,z:e},{x:q,y:k,z:0},{x:q,y:m,z:0},{x:q,y:m,z:e}]),v=c([{x:f,y:m,z:0},{x:q,y:m,z:0},{x:q,y:k,z:0},{x:f,y:k,z:0}]),c=c([{x:f,
51
- y:k,z:e},{x:q,y:k,z:e},{x:q,y:m,z:e},{x:f,y:m,z:e}]),t=!1,B=!1,u=!1,z=!1;[].concat(g.xAxis,g.yAxis,g.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?B=!0:t=!0:a.opposite?z=!0:u=!0)});var x=function(a,c,d){for(var e=["size","color","visible"],b={},l=0;l<e.length;l++)for(var f=e[l],h=0;h<a.length;h++)if("object"===typeof a[h]){var m=a[h][f];if(void 0!==m&&null!==m){b[f]=m;break}}a=d;!0===b.visible||!1===b.visible?a=b.visible:"auto"===b.visible&&(a=0<c);return{size:y(b.size,1),color:y(b.color,"none"),
52
- frontFacing:0<c,visible:a}},a={bottom:x([a.bottom,a.top,a],w,t),top:x([a.top,a.bottom,a],l,B),left:x([a.left,a.right,a.side,a],r,u),right:x([a.right,a.left,a.side,a],d,z),back:x([a.back,a.front,a],c,!0),front:x([a.front,a.back,a],v,!1)};"auto"===h.axisLabelPosition?(d=function(a,c){return a.visible!==c.visible||a.visible&&c.visible&&a.frontFacing!==c.frontFacing},h=[],d(a.left,a.front)&&h.push({y:(k+m)/2,x:f,z:0,xDir:{x:1,y:0,z:0}}),d(a.left,a.back)&&h.push({y:(k+m)/2,x:f,z:e,xDir:{x:0,y:0,z:-1}}),
53
- d(a.right,a.front)&&h.push({y:(k+m)/2,x:q,z:0,xDir:{x:0,y:0,z:1}}),d(a.right,a.back)&&h.push({y:(k+m)/2,x:q,z:e,xDir:{x:-1,y:0,z:0}}),w=[],d(a.bottom,a.front)&&w.push({x:(f+q)/2,y:m,z:0,xDir:{x:1,y:0,z:0}}),d(a.bottom,a.back)&&w.push({x:(f+q)/2,y:m,z:e,xDir:{x:-1,y:0,z:0}}),l=[],d(a.top,a.front)&&l.push({x:(f+q)/2,y:k,z:0,xDir:{x:1,y:0,z:0}}),d(a.top,a.back)&&l.push({x:(f+q)/2,y:k,z:e,xDir:{x:-1,y:0,z:0}}),r=[],d(a.bottom,a.left)&&r.push({z:(0+e)/2,y:m,x:f,xDir:{x:0,y:0,z:-1}}),d(a.bottom,a.right)&&
54
- r.push({z:(0+e)/2,y:m,x:q,xDir:{x:0,y:0,z:1}}),m=[],d(a.top,a.left)&&m.push({z:(0+e)/2,y:k,x:f,xDir:{x:0,y:0,z:-1}}),d(a.top,a.right)&&m.push({z:(0+e)/2,y:k,x:q,xDir:{x:0,y:0,z:1}}),f=function(a,c,d){if(0===a.length)return null;if(1===a.length)return a[0];for(var e=0,b=n(a,g,!1),l=1;l<b.length;l++)d*b[l][c]>d*b[e][c]?e=l:d*b[l][c]===d*b[e][c]&&b[l].z<b[e].z&&(e=l);return a[e]},a.axes={y:{left:f(h,"x",-1),right:f(h,"x",1)},x:{top:f(l,"y",-1),bottom:f(w,"y",1)},z:{top:f(m,"y",-1),bottom:f(r,"y",1)}}):
55
- a.axes={y:{left:{x:f,z:0,xDir:{x:1,y:0,z:0}},right:{x:q,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:k,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:m,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:u?q:f,y:k,xDir:u?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:u?q:f,y:m,xDir:u?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return a};b.Fx.prototype.matrixSetter=function(){var g;if(1>this.pos&&(b.isArray(this.start)||b.isArray(this.end))){var h=this.start||[1,0,0,1,0,0],a=this.end||[1,0,0,1,0,0];g=[];for(var f=0;6>f;f++)g.push(this.pos*a[f]+(1-this.pos)*
56
- h[f])}else g=this.end;this.elem.attr(this.prop,g,null,!0)}});A(u,"parts-3d/Axis.js",[u["parts/Globals.js"]],function(b){function u(e,c,b){if(!e.chart.is3d()||"colorAxis"===e.coll)return c;var l=e.chart,h=y*l.options.chart.options3d.alpha,d=y*l.options.chart.options3d.beta,m=a(b&&e.options.title.position3d,e.options.labels.position3d);b=a(b&&e.options.title.skew3d,e.options.labels.skew3d);var g=l.frame3d,k=l.plotLeft,w=l.plotWidth+k,q=l.plotTop,n=l.plotHeight+q,l=!1,r=0,v=0,t={x:0,y:1,z:0};c=e.swapZ({x:c.x,
57
- y:c.y,z:0});if(e.isZAxis)if(e.opposite){if(null===g.axes.z.top)return{};v=c.y-q;c.x=g.axes.z.top.x;c.y=g.axes.z.top.y;k=g.axes.z.top.xDir;l=!g.top.frontFacing}else{if(null===g.axes.z.bottom)return{};v=c.y-n;c.x=g.axes.z.bottom.x;c.y=g.axes.z.bottom.y;k=g.axes.z.bottom.xDir;l=!g.bottom.frontFacing}else if(e.horiz)if(e.opposite){if(null===g.axes.x.top)return{};v=c.y-q;c.y=g.axes.x.top.y;c.z=g.axes.x.top.z;k=g.axes.x.top.xDir;l=!g.top.frontFacing}else{if(null===g.axes.x.bottom)return{};v=c.y-n;c.y=g.axes.x.bottom.y;
58
- c.z=g.axes.x.bottom.z;k=g.axes.x.bottom.xDir;l=!g.bottom.frontFacing}else if(e.opposite){if(null===g.axes.y.right)return{};r=c.x-w;c.x=g.axes.y.right.x;c.z=g.axes.y.right.z;k=g.axes.y.right.xDir;k={x:k.z,y:k.y,z:-k.x}}else{if(null===g.axes.y.left)return{};r=c.x-k;c.x=g.axes.y.left.x;c.z=g.axes.y.left.z;k=g.axes.y.left.xDir}"chart"!==m&&("flap"===m?e.horiz?(d=Math.sin(h),h=Math.cos(h),e.opposite&&(d=-d),l&&(d=-d),t={x:k.z*d,y:h,z:-k.x*d}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:"ortho"===m?e.horiz?(t=
59
- Math.cos(h),m=Math.sin(d)*t,h=-Math.sin(h),d=-t*Math.cos(d),t={x:k.y*d-k.z*h,y:k.z*m-k.x*d,z:k.x*h-k.y*m},h=1/Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z),l&&(h=-h),t={x:h*t.x,y:h*t.y,z:h*t.z}):k={x:Math.cos(d),y:0,z:Math.sin(d)}:e.horiz?t={x:Math.sin(d)*Math.sin(h),y:Math.cos(h),z:-Math.cos(d)*Math.sin(h)}:k={x:Math.cos(d),y:0,z:Math.sin(d)});c.x+=r*k.x+v*t.x;c.y+=r*k.y+v*t.y;c.z+=r*k.z+v*t.z;l=p([c],e.chart)[0];b&&(0>f(p([c,{x:c.x+k.x,y:c.y+k.y,z:c.z+k.z},{x:c.x+t.x,y:c.y+t.y,z:c.z+t.z}],e.chart))&&(k={x:-k.x,
60
- y:-k.y,z:-k.z}),e=p([{x:c.x,y:c.y,z:c.z},{x:c.x+k.x,y:c.y+k.y,z:c.z+k.z},{x:c.x+t.x,y:c.y+t.y,z:c.z+t.z}],e.chart),l.matrix=[e[1].x-e[0].x,e[1].y-e[0].y,e[2].x-e[0].x,e[2].y-e[0].y,l.x,l.y],l.matrix[4]-=l.x*l.matrix[0]+l.y*l.matrix[2],l.matrix[5]-=l.x*l.matrix[1]+l.y*l.matrix[3]);return l}var x,v=b.addEvent,r=b.Axis,n=b.Chart,y=b.deg2rad,g=b.extend,t=b.merge,p=b.perspective,h=b.perspective3D,a=b.pick,f=b.shapeArea,q=b.splat,k=b.Tick,m=b.wrap;t(!0,r.prototype.defaultOptions,{labels:{position3d:"offset",
38
+ {fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:m,z:k},{x:q,y:m,z:k},{x:q,y:m,z:0},{x:f,y:m,z:0}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:g},{x:e,y:l,z:d},{x:f,y:m,z:k},{x:f,y:m,z:0}],enabled:a.bottom.visible&&!a.left.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:d},{x:c,y:l,z:g},{x:q,y:m,z:0},{x:q,y:m,z:k}],enabled:a.bottom.visible&&!a.right.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:c,
39
+ y:l,z:g},{x:e,y:l,z:g},{x:f,y:m,z:0},{x:q,y:m,z:0}],enabled:a.bottom.visible&&!a.front.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:e,y:l,z:d},{x:c,y:l,z:d},{x:q,y:m,z:k},{x:f,y:m,z:k}],enabled:a.bottom.visible&&!a.back.visible}]});this.frameShapes.top[n]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:a.top.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:c,y:w,z:d},{x:c,y:w,z:g},{x:e,y:w,z:g}],enabled:a.top.visible},
40
+ {fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:f,y:h,z:0},{x:q,y:h,z:0},{x:q,y:h,z:k},{x:f,y:h,z:k}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:e,y:w,z:d},{x:e,y:w,z:g},{x:f,y:h,z:0},{x:f,y:h,z:k}],enabled:a.top.visible&&!a.left.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:c,y:w,z:g},{x:c,y:w,z:d},{x:q,y:h,z:k},{x:q,y:h,z:0}],enabled:a.top.visible&&!a.right.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:e,y:w,z:g},
41
+ {x:c,y:w,z:g},{x:q,y:h,z:0},{x:f,y:h,z:0}],enabled:a.top.visible&&!a.front.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:c,y:w,z:d},{x:e,y:w,z:d},{x:f,y:h,z:k},{x:q,y:h,z:k}],enabled:a.top.visible&&!a.back.visible}]});this.frameShapes.left[n]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:a.left.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:e,y:l,z:g},{x:f,y:m,z:0},{x:f,y:m,z:k},{x:e,y:l,z:d}],enabled:a.left.visible&&!a.bottom.visible},
42
+ {fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:f,y:h,z:k},{x:f,y:h,z:0},{x:e,y:w,z:g}],enabled:a.left.visible&&!a.top.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:d},{x:e,y:w,z:d},{x:e,y:w,z:g},{x:e,y:l,z:g}],enabled:a.left.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:f,y:h,z:k},{x:f,y:m,z:k},{x:f,y:m,z:0},{x:f,y:h,z:0}],enabled:a.left.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:e,y:l,z:g},{x:e,y:w,z:g},
43
+ {x:f,y:h,z:0},{x:f,y:m,z:0}],enabled:a.left.visible&&!a.front.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:e,y:w,z:d},{x:e,y:l,z:d},{x:f,y:m,z:k},{x:f,y:h,z:k}],enabled:a.left.visible&&!a.back.visible}]});this.frameShapes.right[n]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:a.right.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:l,z:d},{x:q,y:m,z:k},{x:q,y:m,z:0},{x:c,y:l,z:g}],enabled:a.right.visible&&!a.bottom.visible},
44
+ {fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:c,y:w,z:g},{x:q,y:h,z:0},{x:q,y:h,z:k},{x:c,y:w,z:d}],enabled:a.right.visible&&!a.top.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:q,y:h,z:0},{x:q,y:m,z:0},{x:q,y:m,z:k},{x:q,y:h,z:k}],enabled:a.right.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:g},{x:c,y:w,z:g},{x:c,y:w,z:d},{x:c,y:l,z:d}],enabled:a.right.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:w,z:g},{x:c,
45
+ y:l,z:g},{x:q,y:m,z:0},{x:q,y:h,z:0}],enabled:a.right.visible&&!a.front.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:c,y:l,z:d},{x:c,y:w,z:d},{x:q,y:h,z:k},{x:q,y:m,z:k}],enabled:a.right.visible&&!a.back.visible}]});this.frameShapes.back[n]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:a.back.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:c,y:l,z:d},{x:e,y:l,z:d},{x:f,y:m,z:k},{x:q,y:m,z:k}],enabled:a.back.visible&&!a.bottom.visible},
46
+ {fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:e,y:w,z:d},{x:c,y:w,z:d},{x:q,y:h,z:k},{x:f,y:h,z:k}],enabled:a.back.visible&&!a.top.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:e,y:l,z:d},{x:e,y:w,z:d},{x:f,y:h,z:k},{x:f,y:m,z:k}],enabled:a.back.visible&&!a.left.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:c,y:w,z:d},{x:c,y:l,z:d},{x:q,y:m,z:k},{x:q,y:h,z:k}],enabled:a.back.visible&&!a.right.visible},{fill:b.color(a.back.color).get(),
47
+ vertexes:[{x:f,y:h,z:k},{x:q,y:h,z:k},{x:q,y:m,z:k},{x:f,y:m,z:k}],enabled:a.back.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:e,y:l,z:d},{x:c,y:l,z:d},{x:c,y:w,z:d},{x:e,y:w,z:d}],enabled:a.back.visible}]});this.frameShapes.front[n]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:a.front.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:e,y:l,z:g},{x:c,y:l,z:g},{x:q,y:m,z:0},{x:f,y:m,z:0}],enabled:a.front.visible&&!a.bottom.visible},
48
+ {fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:c,y:w,z:g},{x:e,y:w,z:g},{x:f,y:h,z:0},{x:q,y:h,z:0}],enabled:a.front.visible&&!a.top.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:e,y:w,z:g},{x:e,y:l,z:g},{x:f,y:m,z:0},{x:f,y:h,z:0}],enabled:a.front.visible&&!a.left.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:c,y:l,z:g},{x:c,y:w,z:g},{x:q,y:h,z:0},{x:q,y:m,z:0}],enabled:a.front.visible&&!a.right.visible},{fill:b.color(a.front.color).get(),
49
+ vertexes:[{x:q,y:h,z:0},{x:f,y:h,z:0},{x:f,y:m,z:0},{x:q,y:m,z:0}],enabled:a.front.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:c,y:l,z:g},{x:e,y:l,z:g},{x:e,y:w,z:g},{x:c,y:w,z:g}],enabled:a.front.visible}]})}});v.prototype.retrieveStacks=function(b){var k=this.series,a={},f,g=1;this.series.forEach(function(h){f=y(h.options.stack,b?0:k.length-1-h.index);a[f]?a[f].series.push(h):(a[f]={series:[h],position:g},g++)});a.totalStacks=g+1;return a};v.prototype.get3dFrame=function(){var g=this,
50
+ k=g.options.chart.options3d,a=k.frame,f=g.plotLeft,q=g.plotLeft+g.plotWidth,h=g.plotTop,m=g.plotTop+g.plotHeight,e=k.depth,c=function(a){a=b.shapeArea3d(a,g);return.5<a?1:-.5>a?-1:0},w=c([{x:f,y:m,z:e},{x:q,y:m,z:e},{x:q,y:m,z:0},{x:f,y:m,z:0}]),l=c([{x:f,y:h,z:0},{x:q,y:h,z:0},{x:q,y:h,z:e},{x:f,y:h,z:e}]),r=c([{x:f,y:h,z:0},{x:f,y:h,z:e},{x:f,y:m,z:e},{x:f,y:m,z:0}]),d=c([{x:q,y:h,z:e},{x:q,y:h,z:0},{x:q,y:m,z:0},{x:q,y:m,z:e}]),v=c([{x:f,y:m,z:0},{x:q,y:m,z:0},{x:q,y:h,z:0},{x:f,y:h,z:0}]),c=c([{x:f,
51
+ y:h,z:e},{x:q,y:h,z:e},{x:q,y:m,z:e},{x:f,y:m,z:e}]),t=!1,B=!1,u=!1,z=!1;[].concat(g.xAxis,g.yAxis,g.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?B=!0:t=!0:a.opposite?z=!0:u=!0)});var x=function(a,c,d){for(var e=["size","color","visible"],b={},l=0;l<e.length;l++)for(var f=e[l],k=0;k<a.length;k++)if("object"===typeof a[k]){var m=a[k][f];if(void 0!==m&&null!==m){b[f]=m;break}}a=d;!0===b.visible||!1===b.visible?a=b.visible:"auto"===b.visible&&(a=0<c);return{size:y(b.size,1),color:y(b.color,"none"),
52
+ frontFacing:0<c,visible:a}},a={bottom:x([a.bottom,a.top,a],w,t),top:x([a.top,a.bottom,a],l,B),left:x([a.left,a.right,a.side,a],r,u),right:x([a.right,a.left,a.side,a],d,z),back:x([a.back,a.front,a],c,!0),front:x([a.front,a.back,a],v,!1)};"auto"===k.axisLabelPosition?(d=function(a,c){return a.visible!==c.visible||a.visible&&c.visible&&a.frontFacing!==c.frontFacing},k=[],d(a.left,a.front)&&k.push({y:(h+m)/2,x:f,z:0,xDir:{x:1,y:0,z:0}}),d(a.left,a.back)&&k.push({y:(h+m)/2,x:f,z:e,xDir:{x:0,y:0,z:-1}}),
53
+ d(a.right,a.front)&&k.push({y:(h+m)/2,x:q,z:0,xDir:{x:0,y:0,z:1}}),d(a.right,a.back)&&k.push({y:(h+m)/2,x:q,z:e,xDir:{x:-1,y:0,z:0}}),w=[],d(a.bottom,a.front)&&w.push({x:(f+q)/2,y:m,z:0,xDir:{x:1,y:0,z:0}}),d(a.bottom,a.back)&&w.push({x:(f+q)/2,y:m,z:e,xDir:{x:-1,y:0,z:0}}),l=[],d(a.top,a.front)&&l.push({x:(f+q)/2,y:h,z:0,xDir:{x:1,y:0,z:0}}),d(a.top,a.back)&&l.push({x:(f+q)/2,y:h,z:e,xDir:{x:-1,y:0,z:0}}),r=[],d(a.bottom,a.left)&&r.push({z:(0+e)/2,y:m,x:f,xDir:{x:0,y:0,z:-1}}),d(a.bottom,a.right)&&
54
+ r.push({z:(0+e)/2,y:m,x:q,xDir:{x:0,y:0,z:1}}),m=[],d(a.top,a.left)&&m.push({z:(0+e)/2,y:h,x:f,xDir:{x:0,y:0,z:-1}}),d(a.top,a.right)&&m.push({z:(0+e)/2,y:h,x:q,xDir:{x:0,y:0,z:1}}),f=function(a,c,d){if(0===a.length)return null;if(1===a.length)return a[0];for(var e=0,b=n(a,g,!1),l=1;l<b.length;l++)d*b[l][c]>d*b[e][c]?e=l:d*b[l][c]===d*b[e][c]&&b[l].z<b[e].z&&(e=l);return a[e]},a.axes={y:{left:f(k,"x",-1),right:f(k,"x",1)},x:{top:f(l,"y",-1),bottom:f(w,"y",1)},z:{top:f(m,"y",-1),bottom:f(r,"y",1)}}):
55
+ a.axes={y:{left:{x:f,z:0,xDir:{x:1,y:0,z:0}},right:{x:q,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:h,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:m,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:u?q:f,y:h,xDir:u?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:u?q:f,y:m,xDir:u?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return a};b.Fx.prototype.matrixSetter=function(){var g;if(1>this.pos&&(b.isArray(this.start)||b.isArray(this.end))){var k=this.start||[1,0,0,1,0,0],a=this.end||[1,0,0,1,0,0];g=[];for(var f=0;6>f;f++)g.push(this.pos*a[f]+(1-this.pos)*
56
+ k[f])}else g=this.end;this.elem.attr(this.prop,g,null,!0)}});A(u,"parts-3d/Axis.js",[u["parts/Globals.js"]],function(b){function u(e,c,b){if(!e.chart.is3d()||"colorAxis"===e.coll)return c;var l=e.chart,k=y*l.options.chart.options3d.alpha,d=y*l.options.chart.options3d.beta,m=a(b&&e.options.title.position3d,e.options.labels.position3d);b=a(b&&e.options.title.skew3d,e.options.labels.skew3d);var g=l.frame3d,h=l.plotLeft,w=l.plotWidth+h,q=l.plotTop,n=l.plotHeight+q,l=!1,r=0,v=0,t={x:0,y:1,z:0};c=e.swapZ({x:c.x,
57
+ y:c.y,z:0});if(e.isZAxis)if(e.opposite){if(null===g.axes.z.top)return{};v=c.y-q;c.x=g.axes.z.top.x;c.y=g.axes.z.top.y;h=g.axes.z.top.xDir;l=!g.top.frontFacing}else{if(null===g.axes.z.bottom)return{};v=c.y-n;c.x=g.axes.z.bottom.x;c.y=g.axes.z.bottom.y;h=g.axes.z.bottom.xDir;l=!g.bottom.frontFacing}else if(e.horiz)if(e.opposite){if(null===g.axes.x.top)return{};v=c.y-q;c.y=g.axes.x.top.y;c.z=g.axes.x.top.z;h=g.axes.x.top.xDir;l=!g.top.frontFacing}else{if(null===g.axes.x.bottom)return{};v=c.y-n;c.y=g.axes.x.bottom.y;
58
+ c.z=g.axes.x.bottom.z;h=g.axes.x.bottom.xDir;l=!g.bottom.frontFacing}else if(e.opposite){if(null===g.axes.y.right)return{};r=c.x-w;c.x=g.axes.y.right.x;c.z=g.axes.y.right.z;h=g.axes.y.right.xDir;h={x:h.z,y:h.y,z:-h.x}}else{if(null===g.axes.y.left)return{};r=c.x-h;c.x=g.axes.y.left.x;c.z=g.axes.y.left.z;h=g.axes.y.left.xDir}"chart"!==m&&("flap"===m?e.horiz?(d=Math.sin(k),k=Math.cos(k),e.opposite&&(d=-d),l&&(d=-d),t={x:h.z*d,y:k,z:-h.x*d}):h={x:Math.cos(d),y:0,z:Math.sin(d)}:"ortho"===m?e.horiz?(t=
59
+ Math.cos(k),m=Math.sin(d)*t,k=-Math.sin(k),d=-t*Math.cos(d),t={x:h.y*d-h.z*k,y:h.z*m-h.x*d,z:h.x*k-h.y*m},k=1/Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z),l&&(k=-k),t={x:k*t.x,y:k*t.y,z:k*t.z}):h={x:Math.cos(d),y:0,z:Math.sin(d)}:e.horiz?t={x:Math.sin(d)*Math.sin(k),y:Math.cos(k),z:-Math.cos(d)*Math.sin(k)}:h={x:Math.cos(d),y:0,z:Math.sin(d)});c.x+=r*h.x+v*t.x;c.y+=r*h.y+v*t.y;c.z+=r*h.z+v*t.z;l=p([c],e.chart)[0];b&&(0>f(p([c,{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+t.x,y:c.y+t.y,z:c.z+t.z}],e.chart))&&(h={x:-h.x,
60
+ y:-h.y,z:-h.z}),e=p([{x:c.x,y:c.y,z:c.z},{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+t.x,y:c.y+t.y,z:c.z+t.z}],e.chart),l.matrix=[e[1].x-e[0].x,e[1].y-e[0].y,e[2].x-e[0].x,e[2].y-e[0].y,l.x,l.y],l.matrix[4]-=l.x*l.matrix[0]+l.y*l.matrix[2],l.matrix[5]-=l.x*l.matrix[1]+l.y*l.matrix[3]);return l}var x,v=b.addEvent,r=b.Axis,n=b.Chart,y=b.deg2rad,g=b.extend,t=b.merge,p=b.perspective,k=b.perspective3D,a=b.pick,f=b.shapeArea,q=b.splat,h=b.Tick,m=b.wrap;t(!0,r.prototype.defaultOptions,{labels:{position3d:"offset",
61
61
  skew3d:!1},title:{position3d:null,skew3d:null}});v(r,"afterSetOptions",function(){var e;this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(e=this.options,e.tickWidth=a(e.tickWidth,0),e.gridLineWidth=a(e.gridLineWidth,1))});m(r.prototype,"getPlotLinePath",function(a){var c=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===c)return c;var e=this.chart,b=e.options.chart.options3d,b=this.isZAxis?e.plotWidth:b.depth,e=e.frame3d,c=[this.swapZ({x:c[1],
62
62
  y:c[2],z:0}),this.swapZ({x:c[1],y:c[2],z:b}),this.swapZ({x:c[4],y:c[5],z:0}),this.swapZ({x:c[4],y:c[5],z:b})],b=[];this.horiz?(this.isZAxis?(e.left.visible&&b.push(c[0],c[2]),e.right.visible&&b.push(c[1],c[3])):(e.front.visible&&b.push(c[0],c[2]),e.back.visible&&b.push(c[1],c[3])),e.top.visible&&b.push(c[0],c[1]),e.bottom.visible&&b.push(c[2],c[3])):(e.front.visible&&b.push(c[0],c[2]),e.back.visible&&b.push(c[1],c[3]),e.left.visible&&b.push(c[0],c[1]),e.right.visible&&b.push(c[2],c[3]));b=p(b,this.chart,
63
- !1);return this.chart.renderer.toLineSegments(b)});m(r.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});m(r.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var c=arguments,e=c[2],b=[],c=this.getPlotLinePath(c[1]),e=this.getPlotLinePath(e);if(c&&e)for(var h=0;h<c.length;h+=6)b.push("M",c[h+1],c[h+2],"L",c[h+4],c[h+5],"L",e[h+4],e[h+
64
- 5],"L",e[h+1],e[h+2],"Z");return b});m(k.prototype,"getMarkPath",function(a){var c=a.apply(this,[].slice.call(arguments,1)),c=[u(this.axis,{x:c[1],y:c[2],z:0}),u(this.axis,{x:c[4],y:c[5],z:0})];return this.axis.chart.renderer.toLineSegments(c)});v(k,"afterGetLabelPosition",function(a){g(a.pos,u(this.axis,a.pos))});m(r.prototype,"getTitlePosition",function(a){var c=a.apply(this,[].slice.call(arguments,1));return u(this,c,!0)});v(r,"drawCrosshair",function(a){this.chart.is3d()&&"colorAxis"!==this.coll&&
65
- a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)});v(r,"destroy",function(){["backFrame","bottomFrame","sideFrame"].forEach(function(a){this[a]&&(this[a]=this[a].destroy())},this)});r.prototype.swapZ=function(a,c){return this.isZAxis?(c=c?0:this.chart.plotLeft,{x:c+a.z,y:a.y,z:a.x-c}):a};x=b.ZAxis=function(){this.init.apply(this,arguments)};g(x.prototype,r.prototype);g(x.prototype,{isZAxis:!0,setOptions:function(a){a=t({offset:0,lineWidth:0},a);r.prototype.setOptions.call(this,
63
+ !1);return this.chart.renderer.toLineSegments(b)});m(r.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});m(r.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var c=arguments,e=c[2],b=[],c=this.getPlotLinePath({value:c[1]}),e=this.getPlotLinePath({value:e});if(c&&e)for(var f=0;f<c.length;f+=6)b.push("M",c[f+1],c[f+2],"L",c[f+4],c[f+
64
+ 5],"L",e[f+4],e[f+5],"L",e[f+1],e[f+2],"Z");return b});m(h.prototype,"getMarkPath",function(a){var c=a.apply(this,[].slice.call(arguments,1)),c=[u(this.axis,{x:c[1],y:c[2],z:0}),u(this.axis,{x:c[4],y:c[5],z:0})];return this.axis.chart.renderer.toLineSegments(c)});v(h,"afterGetLabelPosition",function(a){g(a.pos,u(this.axis,a.pos))});m(r.prototype,"getTitlePosition",function(a){var c=a.apply(this,[].slice.call(arguments,1));return u(this,c,!0)});v(r,"drawCrosshair",function(a){this.chart.is3d()&&"colorAxis"!==
65
+ this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)});v(r,"destroy",function(){["backFrame","bottomFrame","sideFrame"].forEach(function(a){this[a]&&(this[a]=this[a].destroy())},this)});r.prototype.swapZ=function(a,c){return this.isZAxis?(c=c?0:this.chart.plotLeft,{x:c+a.z,y:a.y,z:a.x-c}):a};x=b.ZAxis=function(){this.init.apply(this,arguments)};g(x.prototype,r.prototype);g(x.prototype,{isZAxis:!0,setOptions:function(a){a=t({offset:0,lineWidth:0},a);r.prototype.setOptions.call(this,
66
66
  a);this.coll="zAxis"},setAxisSize:function(){r.prototype.setAxisSize.call(this);this.width=this.len=this.chart.options.chart.options3d.depth;this.right=this.chart.chartWidth-this.width-this.left},getSeriesExtremes:function(){var b=this,c=b.chart;b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.ignoreMinPadding=b.ignoreMaxPadding=null;b.buildStacks&&b.buildStacks();b.series.forEach(function(e){if(e.visible||!c.options.chart.ignoreHiddenSeries)b.hasVisibleSeries=!0,e=e.zData,e.length&&(b.dataMin=Math.min(a(b.dataMin,
67
- e[0]),Math.min.apply(null,e)),b.dataMax=Math.max(a(b.dataMax,e[0]),Math.max.apply(null,e)))})}});v(n,"afterGetAxes",function(){var a=this,c=this.options,c=c.zAxis=q(c.zAxis||{});a.is3d()&&(this.zAxis=[],c.forEach(function(c,b){c.index=b;c.isX=!0;(new x(a,c)).setScale()}))});m(r.prototype,"getSlotWidth",function(b,c){if(this.chart.is3d()&&c&&c.label&&this.categories&&this.chart.frameShapes){var e=this.chart,f=this.ticks,k=this.gridGroup.element.childNodes[0].getBBox(),d=e.frameShapes.left.getBBox(),
68
- g=e.options.chart.options3d,e={x:e.plotWidth/2,y:e.plotHeight/2,z:g.depth/2,vd:a(g.depth,1)*a(g.viewDistance,0)},m,q,g=c.pos,n=f[g-1],f=f[g+1];0!==g&&n&&n.label.xy&&(m=h({x:n.label.xy.x,y:n.label.xy.y,z:null},e,e.vd));f&&f.label.xy&&(q=h({x:f.label.xy.x,y:f.label.xy.y,z:null},e,e.vd));f={x:c.label.xy.x,y:c.label.xy.y,z:null};f=h(f,e,e.vd);return Math.abs(m?f.x-m.x:q?q.x-f.x:k.x-d.x)}return b.apply(this,[].slice.call(arguments,1))})});A(u,"parts-3d/Series.js",[u["parts/Globals.js"]],function(b){var u=
67
+ e[0]),Math.min.apply(null,e)),b.dataMax=Math.max(a(b.dataMax,e[0]),Math.max.apply(null,e)))})}});v(n,"afterGetAxes",function(){var a=this,c=this.options,c=c.zAxis=q(c.zAxis||{});a.is3d()&&(this.zAxis=[],c.forEach(function(c,b){c.index=b;c.isX=!0;(new x(a,c)).setScale()}))});m(r.prototype,"getSlotWidth",function(b,c){if(this.chart.is3d()&&c&&c.label&&this.categories&&this.chart.frameShapes){var e=this.chart,f=this.ticks,h=this.gridGroup.element.childNodes[0].getBBox(),d=e.frameShapes.left.getBBox(),
68
+ g=e.options.chart.options3d,e={x:e.plotWidth/2,y:e.plotHeight/2,z:g.depth/2,vd:a(g.depth,1)*a(g.viewDistance,0)},m,q,g=c.pos,n=f[g-1],f=f[g+1];0!==g&&n&&n.label.xy&&(m=k({x:n.label.xy.x,y:n.label.xy.y,z:null},e,e.vd));f&&f.label.xy&&(q=k({x:f.label.xy.x,y:f.label.xy.y,z:null},e,e.vd));f={x:c.label.xy.x,y:c.label.xy.y,z:null};f=k(f,e,e.vd);return Math.abs(m?f.x-m.x:q?q.x-f.x:h.x-d.x)}return b.apply(this,[].slice.call(arguments,1))})});A(u,"parts-3d/Series.js",[u["parts/Globals.js"]],function(b){var u=
69
69
  b.addEvent,x=b.perspective,v=b.pick;u(b.Series,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});b.Series.prototype.translate3dPoints=function(){var b=this.chart,n=v(this.zAxis,b.options.zAxis[0]),u=[],g,t,p;for(p=0;p<this.data.length;p++)g=this.data[p],n&&n.translate?(t=n.isLog&&n.val2lin?n.val2lin(g.z):g.z,g.plotZ=n.translate(t),g.isInside=g.isInside?t>=n.min&&t<=n.max:!1):g.plotZ=0,g.axisXpos=g.plotX,g.axisYpos=g.plotY,g.axisZpos=g.plotZ,u.push({x:g.plotX,y:g.plotY,z:g.plotZ});
70
- b=x(u,b,!0);for(p=0;p<this.data.length;p++)g=this.data[p],n=b[p],g.plotX=n.x,g.plotY=n.y,g.plotZ=n.z}});A(u,"parts-3d/Column.js",[u["parts/Globals.js"]],function(b){function u(b){var a=b.apply(this,[].slice.call(arguments,1));this.chart.is3d&&this.chart.is3d()&&(a.stroke=this.options.edgeColor||a.fill,a["stroke-width"]=n(this.options.edgeWidth,1));return a}function x(b,a,f){var h=this.chart.is3d&&this.chart.is3d();h&&(this.options.inactiveOtherPoints=!0);b.call(this,a,f);h&&(this.options.inactiveOtherPoints=
70
+ b=x(u,b,!0);for(p=0;p<this.data.length;p++)g=this.data[p],n=b[p],g.plotX=n.x,g.plotY=n.y,g.plotZ=n.z}});A(u,"parts-3d/Column.js",[u["parts/Globals.js"]],function(b){function u(b){var a=b.apply(this,[].slice.call(arguments,1));this.chart.is3d&&this.chart.is3d()&&(a.stroke=this.options.edgeColor||a.fill,a["stroke-width"]=n(this.options.edgeWidth,1));return a}function x(b,a,f){var g=this.chart.is3d&&this.chart.is3d();g&&(this.options.inactiveOtherPoints=!0);b.call(this,a,f);g&&(this.options.inactiveOtherPoints=
71
71
  !1)}var v=b.addEvent,r=b.perspective,n=b.pick,y=b.Series,g=b.seriesTypes,t=b.svg,p=b.wrap;p(g.column.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.translate3dShapes()});p(b.Series.prototype,"alignDataLabel",function(b){arguments[3].outside3dPlot=arguments[1].outside3dPlot;b.apply(this,[].slice.call(arguments,1))});p(b.Series.prototype,"justifyDataLabel",function(b){return arguments[2].outside3dPlot?!1:b.apply(this,[].slice.call(arguments,1))});
72
- g.column.prototype.translate3dPoints=function(){};g.column.prototype.translate3dShapes=function(){var b=this,a=b.chart,f=b.options,g=f.depth||25,k=(f.stacking?f.stack||0:b.index)*(g+(f.groupZPadding||1)),m=b.borderWidth%2?.5:0;a.inverted&&!b.yAxis.reversed&&(m*=-1);!1!==f.grouping&&(k=0);k+=f.groupZPadding||1;b.data.forEach(function(e){e.outside3dPlot=null;if(null!==e.y){var c=e.shapeArgs,f=e.tooltipPos,h;[["x","width"],["y","height"]].forEach(function(a){h=c[a[0]]-m;0>h&&(c[a[1]]+=c[a[0]]+m,c[a[0]]=
73
- -m,h=0);h+c[a[1]]>b[a[0]+"Axis"].len&&0!==c[a[1]]&&(c[a[1]]=b[a[0]+"Axis"].len-c[a[0]]);if(0!==c[a[1]]&&(c[a[0]]>=b[a[0]+"Axis"].len||c[a[0]]+c[a[1]]<=m)){for(var d in c)c[d]=0;e.outside3dPlot=!0}});"rect"===e.shapeType&&(e.shapeType="cuboid");c.z=k;c.depth=g;c.insidePlotArea=!0;f=r([{x:f[0],y:f[1],z:k}],a,!0)[0];e.tooltipPos=[f.x,f.y]}});b.z=k};p(g.column.prototype,"animate",function(b){if(this.chart.is3d()){var a=arguments[1],f=this.yAxis,g=this,k=this.yAxis.reversed;t&&(a?g.data.forEach(function(a){null!==
74
- a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,k||(a.shapeArgs.y=a.stackY?a.plotY+f.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(g.data.forEach(function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,g.options.animation))}),this.drawDataLabels(),g.animate=null))}else b.apply(this,[].slice.call(arguments,1))});p(g.column.prototype,"plotGroup",function(b,a,f,g,k,m){this.chart.is3d()&&m&&!this[a]&&
75
- (this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(m)),this[a]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[a].survive=!0);return b.apply(this,Array.prototype.slice.call(arguments,1))});p(g.column.prototype,"setVisible",function(b,a){var f=this,g;f.chart.is3d()&&f.data.forEach(function(b){g=(b.visible=b.options.visible=a=void 0===a?!b.visible:a)?"visible":"hidden";f.options.data[f.data.indexOf(b)]=b.options;b.graphic&&b.graphic.attr({visibility:g})});
76
- b.apply(this,Array.prototype.slice.call(arguments,1))});g.column.prototype.handle3dGrouping=!0;v(y,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,a=b.grouping,f=b.stacking,g=n(this.yAxis.options.reversedStacks,!0),k=0;if(void 0===a||a){a=this.chart.retrieveStacks(f);k=b.stack||0;for(f=0;f<a[k].series.length&&a[k].series[f]!==this;f++);k=10*(a.totalStacks-a[k].position)+(g?f:-f);this.xAxis.reversed||(k=10*a.totalStacks-k)}b.zIndex=k}});p(g.column.prototype,"pointAttribs",
77
- u);p(g.column.prototype,"setState",x);g.columnrange&&(p(g.columnrange.prototype,"pointAttribs",u),p(g.columnrange.prototype,"setState",x),g.columnrange.prototype.plotGroup=g.column.prototype.plotGroup,g.columnrange.prototype.setVisible=g.column.prototype.setVisible);p(y.prototype,"alignDataLabel",function(b){if(this.chart.is3d()&&this instanceof g.column){var a=arguments,f=a[4],a=a[1],h={x:f.x,y:f.y,z:this.z},h=r([h],this.chart,!0)[0];f.x=h.x;f.y=a.outside3dPlot?-9E9:h.y}b.apply(this,[].slice.call(arguments,
78
- 1))});p(b.StackItem.prototype,"getStackBox",function(g,a){var f=g.apply(this,[].slice.call(arguments,1));if(a.is3d()){var h={x:f.x,y:f.y,z:0},h=b.perspective([h],a,!0)[0];f.x=h.x;f.y=h.y}return f})});A(u,"parts-3d/Pie.js",[u["parts/Globals.js"]],function(b){var u=b.deg2rad,x=b.pick,v=b.seriesTypes,r=b.svg;b=b.wrap;b(v.pie.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var n=this,g=n.options,t=g.depth||0,p=n.chart.options.chart.options3d,h=p.alpha,
79
- a=p.beta,f=g.stacking?(g.stack||0)*t:n._i*t,f=f+t/2;!1!==g.grouping&&(f=0);n.data.forEach(function(b){var k=b.shapeArgs;b.shapeType="arc3d";k.z=f;k.depth=.75*t;k.alpha=h;k.beta=a;k.center=n.center;k=(k.end+k.start)/2;b.slicedTranslation={translateX:Math.round(Math.cos(k)*g.slicedOffset*Math.cos(h*u)),translateY:Math.round(Math.sin(k)*g.slicedOffset*Math.cos(h*u))}})}});b(v.pie.prototype.pointClass.prototype,"haloPath",function(b){var n=arguments;return this.series.chart.is3d()?[]:b.call(this,n[1])});
80
- b(v.pie.prototype,"pointAttribs",function(b,r,g){b=b.call(this,r,g);g=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=g.edgeColor||r.color||this.color,b["stroke-width"]=x(g.edgeWidth,1));return b});b(v.pie.prototype,"drawDataLabels",function(b){if(this.chart.is3d()){var n=this.chart.options.chart.options3d;this.data.forEach(function(b){var g=b.shapeArgs,p=g.r,h=(g.start+g.end)/2;b=b.labelPosition;var a=b.connectorPosition,f=-p*(1-Math.cos((g.alpha||n.alpha)*u))*Math.sin(h),q=p*(Math.cos((g.beta||
81
- n.beta)*u)-1)*Math.cos(h);[b.natural,a.breakAt,a.touchingSliceAt].forEach(function(a){a.x+=q;a.y+=f})})}b.apply(this,[].slice.call(arguments,1))});b(v.pie.prototype,"addPoint",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});b(v.pie.prototype,"animate",function(b){if(this.chart.is3d()){var n=arguments[1],g=this.options.animation,t=this.center,p=this.group,h=this.markerGroup;r&&(!0===g&&(g={}),n?(p.oldtranslateX=p.translateX,p.oldtranslateY=
82
- p.translateY,n={translateX:t[0],translateY:t[1],scaleX:.001,scaleY:.001},p.attr(n),h&&(h.attrSetters=p.attrSetters,h.attr(n))):(n={translateX:p.oldtranslateX,translateY:p.oldtranslateY,scaleX:1,scaleY:1},p.animate(n,g),h&&h.animate(n,g),this.animate=null))}else b.apply(this,[].slice.call(arguments,1))})});A(u,"parts-3d/Scatter.js",[u["parts/Globals.js"]],function(b){var u=b.Point,x=b.seriesType,v=b.seriesTypes;x("scatter3d","scatter",{tooltip:{pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3ez: \x3cb\x3e{point.z}\x3c/b\x3e\x3cbr/\x3e"}},
83
- {pointAttribs:function(r){var n=v.scatter.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&r&&(n.zIndex=b.pointCameraDistance(r,this.chart));return n},axisTypes:["xAxis","yAxis","zAxis"],pointArrayMap:["x","y","z"],parallelArrays:["x","y","z"],directTouch:!0},{applyOptions:function(){u.prototype.applyOptions.apply(this,arguments);void 0===this.z&&(this.z=0);return this}})});A(u,"parts-3d/VMLRenderer.js",[u["parts/Globals.js"]],function(b){var u=b.addEvent,x=b.Axis,v=b.SVGRenderer,r=
84
- b.VMLRenderer;r&&(b.setOptions({animate:!1}),r.prototype.face3d=v.prototype.face3d,r.prototype.polyhedron=v.prototype.polyhedron,r.prototype.elements3d=v.prototype.elements3d,r.prototype.element3d=v.prototype.element3d,r.prototype.cuboid=v.prototype.cuboid,r.prototype.cuboidPath=v.prototype.cuboidPath,r.prototype.toLinePath=v.prototype.toLinePath,r.prototype.toLineSegments=v.prototype.toLineSegments,r.prototype.arc3d=function(b){b=v.prototype.arc3d.call(this,b);b.css({zIndex:b.zIndex});return b},
85
- b.VMLRenderer.prototype.arc3dPath=b.SVGRenderer.prototype.arc3dPath,u(x,"render",function(){this.sideFrame&&(this.sideFrame.css({zIndex:0}),this.sideFrame.front.attr({fill:this.sideFrame.color}));this.bottomFrame&&(this.bottomFrame.css({zIndex:1}),this.bottomFrame.front.attr({fill:this.bottomFrame.color}));this.backFrame&&(this.backFrame.css({zIndex:0}),this.backFrame.front.attr({fill:this.backFrame.color}))}))});A(u,"masters/highcharts-3d.src.js",[],function(){})});
72
+ g.column.prototype.translate3dPoints=function(){};g.column.prototype.translate3dShapes=function(){var b=this,a=b.chart,f=b.options,g=f.depth||25,h=(f.stacking?f.stack||0:b.index)*(g+(f.groupZPadding||1)),m=b.borderWidth%2?.5:0;a.inverted&&!b.yAxis.reversed&&(m*=-1);!1!==f.grouping&&(h=0);h+=f.groupZPadding||1;b.data.forEach(function(e){e.outside3dPlot=null;if(null!==e.y){var c=e.shapeArgs,f=e.tooltipPos,k;[["x","width"],["y","height"]].forEach(function(a){k=c[a[0]]-m;0>k&&(c[a[1]]+=c[a[0]]+m,c[a[0]]=
73
+ -m,k=0);k+c[a[1]]>b[a[0]+"Axis"].len&&0!==c[a[1]]&&(c[a[1]]=b[a[0]+"Axis"].len-c[a[0]]);if(0!==c[a[1]]&&(c[a[0]]>=b[a[0]+"Axis"].len||c[a[0]]+c[a[1]]<=m)){for(var d in c)c[d]=0;e.outside3dPlot=!0}});"rect"===e.shapeType&&(e.shapeType="cuboid");c.z=h;c.depth=g;c.insidePlotArea=!0;f=r([{x:f[0],y:f[1],z:h}],a,!0)[0];e.tooltipPos=[f.x,f.y]}});b.z=h};p(g.column.prototype,"animate",function(b){if(this.chart.is3d()){var a=arguments[1],f=this.yAxis,g=this,h=this.yAxis.reversed;t&&(a?g.data.forEach(function(a){null!==
74
+ a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,h||(a.shapeArgs.y=a.stackY?a.plotY+f.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(g.data.forEach(function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,g.options.animation))}),this.drawDataLabels(),g.animate=null))}else b.apply(this,[].slice.call(arguments,1))});p(g.column.prototype,"plotGroup",function(b,a,f,g,h,m){this.chart.is3d()&&(this[a]&&
75
+ delete this[a],m&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(m)),this[a]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[a].survive=!0,"group"===a||"markerGroup"===a))&&(arguments[3]="visible");return b.apply(this,Array.prototype.slice.call(arguments,1))});p(g.column.prototype,"setVisible",function(b,a){var f=this,g;f.chart.is3d()&&f.data.forEach(function(b){g=(b.visible=b.options.visible=a=void 0===a?!n(f.visible,b.visible):
76
+ a)?"visible":"hidden";f.options.data[f.data.indexOf(b)]=b.options;b.graphic&&b.graphic.attr({visibility:g})});b.apply(this,Array.prototype.slice.call(arguments,1))});g.column.prototype.handle3dGrouping=!0;v(y,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,a=b.grouping,f=b.stacking,g=n(this.yAxis.options.reversedStacks,!0),h=0;if(void 0===a||a){a=this.chart.retrieveStacks(f);h=b.stack||0;for(f=0;f<a[h].series.length&&a[h].series[f]!==this;f++);h=10*(a.totalStacks-
77
+ a[h].position)+(g?f:-f);this.xAxis.reversed||(h=10*a.totalStacks-h)}b.zIndex=h}});p(g.column.prototype,"pointAttribs",u);p(g.column.prototype,"setState",x);g.columnrange&&(p(g.columnrange.prototype,"pointAttribs",u),p(g.columnrange.prototype,"setState",x),g.columnrange.prototype.plotGroup=g.column.prototype.plotGroup,g.columnrange.prototype.setVisible=g.column.prototype.setVisible);p(y.prototype,"alignDataLabel",function(b){if(this.chart.is3d()&&this instanceof g.column){var a=arguments,f=a[4],a=
78
+ a[1],k={x:f.x,y:f.y,z:this.z},k=r([k],this.chart,!0)[0];f.x=k.x;f.y=a.outside3dPlot?-9E9:k.y}b.apply(this,[].slice.call(arguments,1))});p(b.StackItem.prototype,"getStackBox",function(g,a){var f=g.apply(this,[].slice.call(arguments,1));if(a.is3d()){var k={x:f.x,y:f.y,z:0},k=b.perspective([k],a,!0)[0];f.x=k.x;f.y=k.y}return f})});A(u,"parts-3d/Pie.js",[u["parts/Globals.js"]],function(b){var u=b.deg2rad,x=b.pick,v=b.seriesTypes,r=b.svg;b=b.wrap;b(v.pie.prototype,"translate",function(b){b.apply(this,
79
+ [].slice.call(arguments,1));if(this.chart.is3d()){var n=this,g=n.options,t=g.depth||0,p=n.chart.options.chart.options3d,k=p.alpha,a=p.beta,f=g.stacking?(g.stack||0)*t:n._i*t,f=f+t/2;!1!==g.grouping&&(f=0);n.data.forEach(function(b){var h=b.shapeArgs;b.shapeType="arc3d";h.z=f;h.depth=.75*t;h.alpha=k;h.beta=a;h.center=n.center;h=(h.end+h.start)/2;b.slicedTranslation={translateX:Math.round(Math.cos(h)*g.slicedOffset*Math.cos(k*u)),translateY:Math.round(Math.sin(h)*g.slicedOffset*Math.cos(k*u))}})}});
80
+ b(v.pie.prototype.pointClass.prototype,"haloPath",function(b){var n=arguments;return this.series.chart.is3d()?[]:b.call(this,n[1])});b(v.pie.prototype,"pointAttribs",function(b,r,g){b=b.call(this,r,g);g=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=g.edgeColor||r.color||this.color,b["stroke-width"]=x(g.edgeWidth,1));return b});b(v.pie.prototype,"drawDataLabels",function(b){if(this.chart.is3d()){var n=this.chart.options.chart.options3d;this.data.forEach(function(b){var g=b.shapeArgs,
81
+ p=g.r,k=(g.start+g.end)/2;b=b.labelPosition;var a=b.connectorPosition,f=-p*(1-Math.cos((g.alpha||n.alpha)*u))*Math.sin(k),q=p*(Math.cos((g.beta||n.beta)*u)-1)*Math.cos(k);[b.natural,a.breakAt,a.touchingSliceAt].forEach(function(a){a.x+=q;a.y+=f})})}b.apply(this,[].slice.call(arguments,1))});b(v.pie.prototype,"addPoint",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});b(v.pie.prototype,"animate",function(b){if(this.chart.is3d()){var n=arguments[1],
82
+ g=this.options.animation,t=this.center,p=this.group,k=this.markerGroup;r&&(!0===g&&(g={}),n?(p.oldtranslateX=p.translateX,p.oldtranslateY=p.translateY,n={translateX:t[0],translateY:t[1],scaleX:.001,scaleY:.001},p.attr(n),k&&(k.attrSetters=p.attrSetters,k.attr(n))):(n={translateX:p.oldtranslateX,translateY:p.oldtranslateY,scaleX:1,scaleY:1},p.animate(n,g),k&&k.animate(n,g),this.animate=null))}else b.apply(this,[].slice.call(arguments,1))})});A(u,"parts-3d/Scatter.js",[u["parts/Globals.js"]],function(b){var u=
83
+ b.Point,x=b.seriesType,v=b.seriesTypes;x("scatter3d","scatter",{tooltip:{pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3ez: \x3cb\x3e{point.z}\x3c/b\x3e\x3cbr/\x3e"}},{pointAttribs:function(r){var n=v.scatter.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&r&&(n.zIndex=b.pointCameraDistance(r,this.chart));return n},axisTypes:["xAxis","yAxis","zAxis"],pointArrayMap:["x","y","z"],parallelArrays:["x","y","z"],directTouch:!0},{applyOptions:function(){u.prototype.applyOptions.apply(this,
84
+ arguments);void 0===this.z&&(this.z=0);return this}})});A(u,"parts-3d/VMLRenderer.js",[u["parts/Globals.js"]],function(b){var u=b.addEvent,x=b.Axis,v=b.SVGRenderer,r=b.VMLRenderer;r&&(b.setOptions({animate:!1}),r.prototype.face3d=v.prototype.face3d,r.prototype.polyhedron=v.prototype.polyhedron,r.prototype.elements3d=v.prototype.elements3d,r.prototype.element3d=v.prototype.element3d,r.prototype.cuboid=v.prototype.cuboid,r.prototype.cuboidPath=v.prototype.cuboidPath,r.prototype.toLinePath=v.prototype.toLinePath,
85
+ r.prototype.toLineSegments=v.prototype.toLineSegments,r.prototype.arc3d=function(b){b=v.prototype.arc3d.call(this,b);b.css({zIndex:b.zIndex});return b},b.VMLRenderer.prototype.arc3dPath=b.SVGRenderer.prototype.arc3dPath,u(x,"render",function(){this.sideFrame&&(this.sideFrame.css({zIndex:0}),this.sideFrame.front.attr({fill:this.sideFrame.color}));this.bottomFrame&&(this.bottomFrame.css({zIndex:1}),this.bottomFrame.front.attr({fill:this.bottomFrame.color}));this.backFrame&&(this.backFrame.css({zIndex:0}),
86
+ this.backFrame.front.attr({fill:this.backFrame.color}))}))});A(u,"masters/highcharts-3d.src.js",[],function(){})});
86
87
  //# sourceMappingURL=highcharts-3d.js.map