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
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Arrow Symbols
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Arrow Symbols
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Boost module
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v7.1.1 (2019-04-09)
2
+ * @license Highcharts JS v7.1.2 (2019-06-04)
3
3
  *
4
4
  * Boost module
5
5
  *
package/modules/boost.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- Highcharts JS v7.1.1 (2019-04-09)
2
+ Highcharts JS v7.1.2 (2019-06-03)
3
3
 
4
4
  Boost module
5
5
 
@@ -8,66 +8,66 @@
8
8
 
9
9
  License: www.highcharts.com/license
10
10
  */
11
- (function(g){"object"===typeof module&&module.exports?(g["default"]=g,module.exports=g):"function"===typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(t){g(t);g.Highcharts=t;return g}):g("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(g){function t(e,g,c,y){e.hasOwnProperty(g)||(e[g]=y.apply(null,c))}g=g?g._modules:{};t(g,"modules/boost/boostables.js",[],function(){return"area arearange column columnrange bar line scatter heatmap bubble treemap".split(" ")});
12
- t(g,"modules/boost/boostable-map.js",[g["modules/boost/boostables.js"]],function(e){var g={};e.forEach(function(c){g[c]=1});return g});t(g,"modules/boost/wgl-shader.js",[g["parts/Globals.js"]],function(e){var g=e.pick;return function(c){function u(){v.length&&e.error("[highcharts boost] shader error - "+v.join("\n"))}function h(a,f){var b=c.createShader("vertex"===f?c.VERTEX_SHADER:c.FRAGMENT_SHADER);c.shaderSource(b,a);c.compileShader(b);return c.getShaderParameter(b,c.COMPILE_STATUS)?b:(v.push("when compiling "+
13
- f+" shader:\n"+c.getShaderInfoLog(b)),!1)}function w(){function b(b){return c.getUniformLocation(a,b)}var e=h("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value \x3d aVertexPosition.w;\nfloat zMax \x3d bubbleZMax;\nfloat zMin \x3d bubbleZMin;\nfloat radius \x3d 0.0;\nfloat pos \x3d 0.0;\nfloat zRange \x3d zMax - zMin;\nif (bubbleSizeAbs){\nvalue \x3d value - bubbleZThreshold;\nzMax \x3d max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin \x3d 0.0;\n}\nif (value \x3c zMin){\nradius \x3d bubbleZMin / 2.0 - 1.0;\n} else {\npos \x3d zRange \x3e 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea \x26\x26 pos \x3e 0.0){\npos \x3d sqrt(pos);\n}\nradius \x3d ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign \x3d 1.0;\nfloat cvsOffset \x3d 0.0;\nif (cvsCoord) {\nsign *\x3d -1.0;\ncvsOffset \x3d len;\n}\nif (isLog) {\nval \x3d log(val) / LN10;\n}\nif (reversed) {\nsign *\x3d -1.0;\ncvsOffset -\x3d sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv \x3d value;// + yAxisPos;\n} else {\nv \x3d translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v \x3e yAxisLen) {\nv \x3d yAxisLen;\n}\n}\nif (checkTreshold \x3e 0.0 \x26\x26 hasThreshold) {\nv \x3d min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize \x3d bubbleRadius();\n} else {\ngl_PointSize \x3d pSize;\n}\nvColor \x3d aColor;\nif (skipTranslation \x26\x26 isInverted) {\ngl_Position \x3d uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position \x3d uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position \x3d uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
14
- "vertex"),k=h("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col \x3d fillColor;\nvec4 tcol;\nif (hasColor) {\ncol \x3d vColor;\n}\nif (isCircle) {\ntcol \x3d texture2D(uSampler, gl_PointCoord.st);\ncol *\x3d tcol;\nif (tcol.r \x3c 0.0) {\ndiscard;\n} else {\ngl_FragColor \x3d col;\n}\n} else {\ngl_FragColor \x3d col;\n}\n}","fragment");
15
- if(!e||!k)return a=!1,u(),!1;a=c.createProgram();c.attachShader(a,e);c.attachShader(a,k);c.linkProgram(a);if(!c.getProgramParameter(a,c.LINK_STATUS))return v.push(c.getProgramInfoLog(a)),u(),a=!1;c.useProgram(a);c.bindAttribLocation(a,0,"aVertexPosition");q=b("uPMatrix");K=b("pSize");D=b("fillColor");r=b("isBubble");n=b("bubbleSizeAbs");d=b("bubbleSizeByArea");R=b("uSampler");p=b("skipTranslation");f=b("isCircle");I=b("isInverted");return!0}function l(b,f){c&&a&&(b=m[b]=m[b]||c.getUniformLocation(a,
16
- b),c.uniform1f(b,f))}var m={},a,q,K,D,r,n,d,p,f,I,v=[],R;return c&&!w()?!1:{psUniform:function(){return K},pUniform:function(){return q},fillColorUniform:function(){return D},setBubbleUniforms:function(b,p,k){var e=b.options,v=Number.MAX_VALUE,h=-Number.MAX_VALUE;c&&a&&"bubble"===b.type&&(v=g(e.zMin,Math.min(v,Math.max(p,!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),h=g(e.zMax,Math.max(h,k)),c.uniform1i(r,1),c.uniform1i(f,1),c.uniform1i(d,"width"!==b.options.sizeBy),c.uniform1i(n,b.options.sizeByAbsoluteValue),
17
- l("bubbleZMin",v),l("bubbleZMax",h),l("bubbleZThreshold",b.options.zThreshold),l("bubbleMinSize",b.minPxSize),l("bubbleMaxSize",b.maxPxSize))},bind:function(){c&&a&&c.useProgram(a)},program:function(){return a},create:w,setUniform:l,setPMatrix:function(b){c&&a&&c.uniformMatrix4fv(q,!1,b)},setColor:function(b){c&&a&&c.uniform4f(D,b[0]/255,b[1]/255,b[2]/255,b[3])},setPointSize:function(b){c&&a&&c.uniform1f(K,b)},setSkipTranslation:function(b){c&&a&&c.uniform1i(p,!0===b?1:0)},setTexture:function(b){c&&
18
- a&&c.uniform1i(R,b)},setDrawAsCircle:function(b){c&&a&&c.uniform1i(f,b?1:0)},reset:function(){c&&a&&(c.uniform1i(r,0),c.uniform1i(f,0))},setInverted:function(b){c&&a&&c.uniform1i(I,b)},destroy:function(){c&&a&&(c.deleteProgram(a),a=!1)}}}});t(g,"modules/boost/wgl-vbuffer.js",[],function(){return function(e,g,c){function u(){h&&(e.deleteBuffer(h),w=h=!1);a=0;l=c||2;q=[]}var h=!1,w=!1,l=c||2,m=!1,a=0,q;return{destroy:u,bind:function(){if(!h)return!1;e.vertexAttribPointer(w,l,e.FLOAT,!1,0,0)},data:q,
19
- build:function(a,c,r){var n;q=a||[];if(!(q&&0!==q.length||m))return u(),!1;l=r||l;h&&e.deleteBuffer(h);m||(n=new Float32Array(q));h=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,h);e.bufferData(e.ARRAY_BUFFER,m||n,e.STATIC_DRAW);w=e.getAttribLocation(g.program(),c);e.enableVertexAttribArray(w);return!0},render:function(a,c,r){var g=m?m.length:q.length;if(!h||!g)return!1;if(!a||a>g||0>a)a=0;if(!c||c>g)c=g;e.drawArrays(e[(r||"points").toUpperCase()],a/l,(c-a)/l);return!0},allocate:function(c){a=-1;m=
20
- new Float32Array(4*c)},push:function(c,e,r,g){m&&(m[++a]=c,m[++a]=e,m[++a]=r,m[++a]=g)}}}});t(g,"modules/boost/wgl-renderer.js",[g["modules/boost/wgl-shader.js"],g["modules/boost/wgl-vbuffer.js"],g["parts/Globals.js"]],function(e,g,c){var u=c.win.document,h=c.merge,w=c.objEach,l=c.isNumber,m=c.some,a=c.Color,q=c.pick;return function(K){function t(a){var b,f;return a.isSeriesBoosting?(b=!!a.options.stacking,f=a.xData||a.options.xData||a.processedXData,b=(b?a.data:f||a.options.data).length,"treemap"===
21
- a.type?b*=12:"heatmap"===a.type?b*=6:Z[a.type]&&(b*=2),b):0}function r(){k.clear(k.COLOR_BUFFER_BIT|k.DEPTH_BUFFER_BIT)}function n(a,b){function f(a){a&&(b.colorData.push(a[0]),b.colorData.push(a[1]),b.colorData.push(a[2]),b.colorData.push(a[3]))}function d(a,b,d,c,k){f(k);z.usePreallocated?J.push(a,b,d?1:0,c||1):(L.push(a),L.push(b),L.push(d?1:0),L.push(c||1))}function k(){b.segments.length&&(b.segments[b.segments.length-1].to=L.length)}function p(){b.segments.length&&b.segments[b.segments.length-
22
- 1].from===L.length||(k(),b.segments.push({from:L.length}))}function e(a,b,c,k,p){f(p);d(a+c,b);f(p);d(a,b);f(p);d(a,b+k);f(p);d(a,b+k);f(p);d(a+c,b+k);f(p);d(a+c,b)}function g(a,f){z.useGPUTranslations||(b.skipTranslation=!0,a.x=y.toPixels(a.x,!0),a.y=w.toPixels(a.y,!0));f?L=[a.x,a.y,0,2].concat(L):d(a.x,a.y,0,2)}var r=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),O=a.chart,G=a.options,v=!!G.stacking,h=G.data,n=a.xAxis.getExtremes(),l=n.min,n=n.max,I=a.yAxis.getExtremes(),u=I.min,I=I.max,
23
- q=a.xData||G.xData||a.processedXData,R=a.yData||G.yData||a.processedYData,S=a.zData||G.zData||a.processedZData,w=a.yAxis,y=a.xAxis,K=a.chart.plotWidth,t=!q||0===q.length,H=G.connectNulls,x=a.points||!1,C=!1,D=!1,B,E,Q,h=v?a.data:q||h,q={x:Number.MAX_VALUE,y:0},N={x:-Number.MAX_VALUE,y:0},X=0,Y=!1,A,P,F=-1,U=!1,V=!1,aa,ta="undefined"===typeof O.index,ia=!1,ja=!1,M=!1,wa=Z[a.type],ka=!1,qa=!0,ra=!0,ba=G.zones||!1,W=!1,sa=G.threshold;if(!(G.boostData&&0<G.boostData.length)){ba&&(m(ba,function(a){if("undefined"===
24
- typeof a.value)return W=c.Color(a.color),!0}),W||(W=a.pointAttribs&&a.pointAttribs().fill||a.color,W=c.Color(W)));O.inverted&&(K=a.chart.plotHeight);a.closestPointRangePx=Number.MAX_VALUE;p();if(x&&0<x.length)b.skipTranslation=!0,b.drawMode="triangles",x[0].node&&x[0].node.levelDynamic&&x.sort(function(a,b){if(a.node){if(a.node.levelDynamic>b.node.levelDynamic)return 1;if(a.node.levelDynamic<b.node.levelDynamic)return-1}return 0}),x.forEach(function(b){var f=b.plotY,d;"undefined"===typeof f||isNaN(f)||
25
- null===b.y||(f=b.shapeArgs,d=O.styledMode?b.series.colorAttribs(b):d=b.series.pointAttribs(b),b=d["stroke-width"]||0,E=c.color(d.fill).rgba,E[0]/=255,E[1]/=255,E[2]/=255,"treemap"===a.type&&(b=b||1,Q=c.color(d.stroke).rgba,Q[0]/=255,Q[1]/=255,Q[2]/=255,e(f.x,f.y,f.width,f.height,Q),b/=2),"heatmap"===a.type&&O.inverted&&(f.x=y.len-f.x,f.y=w.len-f.y,f.width=-f.width,f.height=-f.height),e(f.x+b,f.y+b,f.width-2*b,f.height-2*b,E))});else{for(;F<h.length-1;){B=h[++F];if(ta)break;t?(x=B[0],A=B[1],h[F+1]&&
26
- (V=h[F+1][0]),h[F-1]&&(U=h[F-1][0]),3<=B.length&&(P=B[2],B[2]>b.zMax&&(b.zMax=B[2]),B[2]<b.zMin&&(b.zMin=B[2]))):(x=B,A=R[F],h[F+1]&&(V=h[F+1]),h[F-1]&&(U=h[F-1]),S&&S.length&&(P=S[F],S[F]>b.zMax&&(b.zMax=S[F]),S[F]<b.zMin&&(b.zMin=S[F])));if(H||null!==x&&null!==A){if(V&&V>=l&&V<=n&&(ia=!0),U&&U>=l&&U<=n&&(ja=!0),r?(t&&(A=B.slice(1,3)),aa=A[0],A=A[1]):v&&(x=B.x,A=B.stackY,aa=A-B.y),null!==u&&"undefined"!==typeof u&&null!==I&&"undefined"!==typeof I&&(qa=A>=u&&A<=I),x>n&&N.x<n&&(N.x=x,N.y=A),x<l&&q.x>
27
- l&&(q.x=x,q.y=A),null!==A||!H)if(null!==A&&(qa||ia||ja)){if((V>=l||x>=l)&&(U<=n||x<=n)&&(ka=!0),ka||ia||ja){ba&&(M=W.rgba,m(ba,function(a,b){b=ba[b-1];if("undefined"!==typeof a.value&&A<=a.value){if(!b||A>=b.value)M=c.color(a.color).rgba;return!0}}),M[0]/=255,M[1]/=255,M[2]/=255);if(!z.useGPUTranslations&&(b.skipTranslation=!0,x=y.toPixels(x,!0),A=w.toPixels(A,!0),x>K&&"points"===b.drawMode))continue;if(wa){B=aa;if(!1===aa||"undefined"===typeof aa)B=0>A?A:0;r||v||(B=Math.max(null===sa?u:sa,u));z.useGPUTranslations||
28
- (B=w.toPixels(B,!0));d(x,B,0,0,M)}b.hasMarkers&&ka&&!1!==C&&(a.closestPointRangePx=Math.min(a.closestPointRangePx,Math.abs(x-C)));!z.useGPUTranslations&&!z.usePreallocated&&C&&1>Math.abs(x-C)&&D&&1>Math.abs(A-D)?z.debug.showSkipSummary&&++X:(G.step&&!ra&&d(x,D,0,2,M),d(x,A,0,"bubble"===a.type?P||1:2,M),C=x,D=A,Y=!0,ra=!1)}}else p()}else p()}z.debug.showSkipSummary&&console.log("skipped points:",X);Y||!1===H||"line_strip"!==a.drawMode||(q.x<Number.MAX_VALUE&&g(q,!0),N.x>-Number.MAX_VALUE&&g(N))}k()}}
29
- function d(){C=[];X.data=L=[];Y=[];J&&J.destroy()}function p(a){b&&(b.setUniform("xAxisTrans",a.transA),b.setUniform("xAxisMin",a.min),b.setUniform("xAxisMinPad",a.minPixelPadding),b.setUniform("xAxisPointRange",a.pointRange),b.setUniform("xAxisLen",a.len),b.setUniform("xAxisPos",a.pos),b.setUniform("xAxisCVSCoord",!a.horiz),b.setUniform("xAxisIsLog",a.isLog),b.setUniform("xAxisReversed",!!a.reversed))}function f(a){b&&(b.setUniform("yAxisTrans",a.transA),b.setUniform("yAxisMin",a.min),b.setUniform("yAxisMinPad",
30
- a.minPixelPadding),b.setUniform("yAxisPointRange",a.pointRange),b.setUniform("yAxisLen",a.len),b.setUniform("yAxisPos",a.pos),b.setUniform("yAxisCVSCoord",!a.horiz),b.setUniform("yAxisIsLog",a.isLog),b.setUniform("yAxisReversed",!!a.reversed))}function I(a,f){b.setUniform("hasThreshold",a);b.setUniform("translatedThreshold",f)}function v(e){if(e)H=e.chartWidth||800,y=e.chartHeight||400;else return!1;if(!(k&&H&&y&&b))return!1;z.debug.timeRendering&&console.time("gl rendering");k.canvas.width=H;k.canvas.height=
31
- y;b.bind();k.viewport(0,0,H,y);b.setPMatrix([2/H,0,0,0,0,-(2/y),0,0,0,0,-2,0,-1,1,-1,1]);1<z.lineWidth&&!c.isMS&&k.lineWidth(z.lineWidth);J.build(X.data,"aVertexPosition",4);J.bind();b.setInverted(e.inverted);C.forEach(function(d,r){var h=d.series.options,n=h.marker,v;v="undefined"!==typeof h.lineWidth?h.lineWidth:1;var m=h.threshold,O=l(m),u=d.series.yAxis.getThreshold(m),m=q(h.marker?h.marker.enabled:null,d.series.xAxis.isRadial?!0:null,d.series.closestPointRangePx>2*((h.marker?h.marker.radius:
32
- 10)||10)),n=E[n&&n.symbol||d.series.symbol]||E.circle;if(!(0===d.segments.length||d.segmentslength&&d.segments[0].from===d.segments[0].to)){n.isReady&&(k.bindTexture(k.TEXTURE_2D,n.handle),b.setTexture(n.handle));e.styledMode?n=d.series.markerGroup&&d.series.markerGroup.getStyle("fill"):(n=d.series.pointAttribs&&d.series.pointAttribs().fill||d.series.color,h.colorByPoint&&(n=d.series.chart.options.colors[r]));d.series.fillOpacity&&h.fillOpacity&&(n=(new a(n)).setOpacity(q(h.fillOpacity,1)).get());
33
- n=c.color(n).rgba;z.useAlpha||(n[3]=1);"lines"===d.drawMode&&z.useAlpha&&1>n[3]&&(n[3]/=10);"add"===h.boostBlending?(k.blendFunc(k.SRC_ALPHA,k.ONE),k.blendEquation(k.FUNC_ADD)):"mult"===h.boostBlending||"multiply"===h.boostBlending?k.blendFunc(k.DST_COLOR,k.ZERO):"darken"===h.boostBlending?(k.blendFunc(k.ONE,k.ONE),k.blendEquation(k.FUNC_MIN)):k.blendFuncSeparate(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA,k.ONE,k.ONE_MINUS_SRC_ALPHA);b.reset();0<d.colorData.length&&(b.setUniform("hasColor",1),r=g(k,b),r.build(d.colorData,
34
- "aColor",4),r.bind());b.setColor(n);p(d.series.xAxis);f(d.series.yAxis);I(O,u);"points"===d.drawMode&&(h.marker&&h.marker.radius?b.setPointSize(2*h.marker.radius):b.setPointSize(1));b.setSkipTranslation(d.skipTranslation);"bubble"===d.series.type&&b.setBubbleUniforms(d.series,d.zMin,d.zMax);b.setDrawAsCircle(P[d.series.type]||!1);if(0<v||"line_strip"!==d.drawMode)for(v=0;v<d.segments.length;v++)J.render(d.segments[v].from,d.segments[v].to,d.drawMode);if(d.hasMarkers&&m)for(h.marker&&h.marker.radius?
35
- b.setPointSize(2*h.marker.radius):b.setPointSize(10),b.setDrawAsCircle(!0),v=0;v<d.segments.length;v++)J.render(d.segments[v].from,d.segments[v].to,"POINTS")}});z.debug.timeRendering&&console.timeEnd("gl rendering");K&&K();d()}function R(a){r();if(a.renderer.forExport)return v(a);N?v(a):setTimeout(function(){R(a)},1)}var b=!1,J=!1,k=!1,H=0,y=0,L=!1,Y=!1,X={},N=!1,C=[],E={},Z={column:!0,columnrange:!0,bar:!0,area:!0,arearange:!0},P={scatter:!0,bubble:!0},z={pointSize:1,lineWidth:1,fillColor:"#AA00AA",
36
- useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}};return X={allocateBufferForSingleSeries:function(a){var b=0;z.usePreallocated&&(a.isSeriesBoosting&&(b=t(a)),J.allocate(b))},pushSeries:function(a){0<C.length&&C[C.length-1].hasMarkers&&(C[C.length-1].markerTo=Y.length);z.debug.timeSeriesProcessing&&console.time("building "+a.type+" series");C.push({segments:[],markerFrom:Y.length,colorData:[],
37
- series:a,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:a.options.marker?!1!==a.options.marker.enabled:!1,showMarkers:!0,drawMode:{area:"lines",arearange:"lines",areaspline:"line_strip",column:"lines",columnrange:"lines",bar:"lines",line:"line_strip",scatter:"points",heatmap:"triangles",treemap:"triangles",bubble:"points"}[a.type]||"line_strip"});n(a,C[C.length-1]);z.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(a,d){H===a&&y===d||!b||(H=a,y=
38
- d,b.bind(),b.setPMatrix([2/H,0,0,0,0,-(2/y),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return N},setThreshold:I,init:function(a,f){function c(a,b){var d={isReady:!1,texture:u.createElement("canvas"),handle:k.createTexture()},f=d.texture.getContext("2d");E[a]=d;d.texture.width=512;d.texture.height=512;f.mozImageSmoothingEnabled=!1;f.webkitImageSmoothingEnabled=!1;f.msImageSmoothingEnabled=!1;f.imageSmoothingEnabled=!1;f.strokeStyle="rgba(255, 255, 255, 0)";f.fillStyle="#FFF";b(f);try{k.activeTexture(k.TEXTURE0),
39
- k.bindTexture(k.TEXTURE_2D,d.handle),k.texImage2D(k.TEXTURE_2D,0,k.RGBA,k.RGBA,k.UNSIGNED_BYTE,d.texture),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_S,k.CLAMP_TO_EDGE),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_T,k.CLAMP_TO_EDGE),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_MAG_FILTER,k.LINEAR),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_MIN_FILTER,k.LINEAR),k.bindTexture(k.TEXTURE_2D,null),d.isReady=!0}catch(ca){}}var p=0,h=["webgl","experimental-webgl","moz-webgl","webkit-3d"];N=!1;if(!a)return!1;for(z.debug.timeSetup&&
40
- console.time("gl setup");p<h.length&&!(k=a.getContext(h[p],{}));p++);if(k)f||d();else return!1;k.enable(k.BLEND);k.blendFunc(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA);k.disable(k.DEPTH_TEST);k.depthFunc(k.LESS);b=e(k);if(!b)return!1;J=g(k,b);c("circle",function(a){a.beginPath();a.arc(256,256,256,0,2*Math.PI);a.stroke();a.fill()});c("square",function(a){a.fillRect(0,0,512,512)});c("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});
41
- c("triangle",function(a){a.beginPath();a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});c("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});N=!0;z.debug.timeSetup&&console.timeEnd("gl setup");return!0},render:R,settings:z,valid:function(){return!1!==k},clear:r,flush:d,setXAxis:p,setYAxis:f,data:L,gl:function(){return k},allocateBuffer:function(a){var b=0;z.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&
42
- (b+=t(a))}),J.allocate(b))},destroy:function(){d();J.destroy();b.destroy();k&&(w(E,function(a){E[a].handle&&k.deleteTexture(E[a].handle)}),k.canvas.width=1,k.canvas.height=1)},setOptions:function(a){h(!0,z,a)}}}});t(g,"modules/boost/boost-attach.js",[g["parts/Globals.js"],g["modules/boost/wgl-renderer.js"]],function(e,g){var c=e.win.document,u=c.createElement("canvas");return function(h,w){var l=h.chartWidth,m=h.chartHeight,a=h,q=h.seriesGroup||w.group,y=c.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility",
43
- "1.1"),a=h.isChartSeriesBoosting()?h:w,y=!1;a.renderTarget||(a.canvas=u,h.renderer.forExport||!y?(a.renderTarget=h.renderer.image("",0,0,l,m).addClass("highcharts-boost-canvas").add(q),a.boostClear=function(){a.renderTarget.attr({href:""})},a.boostCopy=function(){a.boostResizeTarget();a.renderTarget.attr({href:a.canvas.toDataURL("image/png")})}):(a.renderTargetFo=h.renderer.createElement("foreignObject").add(q),a.renderTarget=c.createElement("canvas"),a.renderTargetCtx=a.renderTarget.getContext("2d"),
44
- a.renderTargetFo.element.appendChild(a.renderTarget),a.boostClear=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height},a.boostCopy=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height;a.renderTargetCtx.drawImage(a.canvas,0,0)}),a.boostResizeTarget=function(){l=h.chartWidth;m=h.chartHeight;(a.renderTargetFo||a.renderTarget).attr({x:0,y:0,width:l,height:m}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});a instanceof e.Chart&&
45
- a.markerGroup.translate(h.plotLeft,h.plotTop)},a.boostClipRect=h.renderer.clipRect(),(a.renderTargetFo||a.renderTarget).clip(a.boostClipRect),a instanceof e.Chart&&(a.markerGroup=a.renderer.g().add(q),a.markerGroup.translate(w.xAxis.pos,w.yAxis.pos)));a.canvas.width=l;a.canvas.height=m;a.boostClipRect.attr(h.getBoostClipRect(a));a.boostResizeTarget();a.boostClear();a.ogl||(a.ogl=g(function(){a.ogl.settings.debug.timeBufferCopy&&console.time("buffer copy");a.boostCopy();a.ogl.settings.debug.timeBufferCopy&&
46
- console.timeEnd("buffer copy")}),a.ogl.init(a.canvas)||e.error("[highcharts boost] - unable to init WebGL renderer"),a.ogl.setOptions(h.options.boost||{}),a instanceof e.Chart&&a.ogl.allocateBuffer(h));a.ogl.setSize(l,m);return a.ogl}});t(g,"modules/boost/boost-utils.js",[g["parts/Globals.js"],g["modules/boost/boostable-map.js"],g["modules/boost/boost-attach.js"]],function(e,g,c){function u(){var a=Array.prototype.slice.call(arguments),c=-Number.MAX_VALUE;a.forEach(function(a){if("undefined"!==typeof a&&
47
- null!==a&&"undefined"!==typeof a.length&&0<a.length)return c=a.length,!0});return c}function h(a,c,d){a&&c.renderTarget&&c.canvas&&!(d||c.chart).isChartSeriesBoosting()&&a.render(d||c.chart)}function w(a,c){a&&c.renderTarget&&c.canvas&&!c.chart.isChartSeriesBoosting()&&a.allocateBufferForSingleSeries(c)}function l(c,h,d,p,f,e){f=f||0;p=p||3E3;for(var g=f+p,r=!0;r&&f<g&&f<c.length;)r=h(c[f],f),++f;r&&(f<c.length?e?l(c,h,d,p,f,e):a.requestAnimationFrame?a.requestAnimationFrame(function(){l(c,h,d,p,
48
- f)}):setTimeout(function(){l(c,h,d,p,f)}):d&&d())}function m(){var c=0,h,d=["webgl","experimental-webgl","moz-webgl","webkit-3d"],p=!1;if("undefined"!==typeof a.WebGLRenderingContext)for(h=q.createElement("canvas");c<d.length;c++)try{if(p=h.getContext(d[c]),"undefined"!==typeof p&&null!==p)return!0}catch(f){}return!1}var a=e.win,q=a.document,t=e.pick,D={patientMax:u,boostEnabled:function(a){return t(a&&a.options&&a.options.boost&&a.options.boost.enabled,!0)},shouldForceChartSeriesBoosting:function(a){var c=
49
- 0,d=0,h=t(a.options.boost&&a.options.boost.allowForce,!0),f;if("undefined"!==typeof a.boostForceChartBoost)return a.boostForceChartBoost;if(1<a.series.length)for(var e=0;e<a.series.length;e++)f=a.series[e],0!==f.options.boostThreshold&&!1!==f.visible&&"heatmap"!==f.type&&(g[f.type]&&++d,u(f.processedXData,f.options.data,f.points)>=(f.options.boostThreshold||Number.MAX_VALUE)&&++c);a.boostForceChartBoost=h&&(d===a.series.length&&0<c||5<c);return a.boostForceChartBoost},renderIfNotSeriesBoosting:h,
50
- allocateIfNotSeriesBoosting:w,eachAsync:l,hasWebGLSupport:m,pointDrawHandler:function(a){var e=!0;this.chart.options&&this.chart.options.boost&&(e="undefined"===typeof this.chart.options.boost.enabled?!0:this.chart.options.boost.enabled);if(!e||!this.isSeriesBoosting)return a.call(this);this.chart.isBoosting=!0;if(a=c(this.chart,this))w(a,this),a.pushSeries(this);h(a,this)}};e.hasWebGLSupport=m;return D});t(g,"modules/boost/boost-init.js",[g["parts/Globals.js"],g["modules/boost/boost-utils.js"],g["modules/boost/boost-attach.js"]],
51
- function(e,g,c){var u=e.addEvent,h=e.fireEvent,w=e.extend,l=e.Series,m=e.seriesTypes,a=e.wrap,q=function(){},t=g.eachAsync,D=g.pointDrawHandler,r=g.allocateIfNotSeriesBoosting,n=g.renderIfNotSeriesBoosting,d=g.shouldForceChartSeriesBoosting,p;return function(){e.extend(l.prototype,{renderCanvas:function(){function a(a,b){var d,f,c=!1,e="undefined"===typeof l.index,h=!0;if(!e&&(oa?(d=a[0],f=a[1]):(d=a,f=w[b]),la?(oa&&(f=a.slice(1,3)),c=f[0],f=f[1]):ma&&(d=a.x,f=a.stackY,c=f-a.y),ua||(h=f>=C&&f<=E),
52
- null!==f&&d>=D&&d<=K&&h))if(a=k.toPixels(d,!0),z){if(void 0===T||a===P){la||(c=f);if(void 0===da||f>ca)ca=f,da=b;if(void 0===T||c<fa)fa=c,T=b}a!==P&&(void 0!==T&&(f=m.toPixels(ca,!0),ea=m.toPixels(fa,!0),ha(a,f,da),ea!==f&&ha(a,ea,T)),T=da=void 0,P=a)}else f=Math.ceil(m.toPixels(f,!0)),ha(a,f,b);return!e}function d(){h(e,"renderedCanvas");delete e.buildKDTree;e.buildKDTree();ga.debug.timeKDTree&&console.timeEnd("kd tree building")}var e=this,g=e.options||{},b=!1,l=e.chart,k=this.xAxis,m=this.yAxis,
53
- u=g.xData||e.processedXData,w=g.yData||e.processedYData,y=g.data,b=k.getExtremes(),D=b.min,K=b.max,b=m.getExtremes(),C=b.min,E=b.max,Z={},P,z=!!e.sampling,O,G=!1!==g.enableMouseTracking,ea=m.getThreshold(g.threshold),la=e.pointArrayMap&&"low,high"===e.pointArrayMap.join(","),ma=!!g.stacking,na=e.cropStart||0,ua=e.requireSorting,oa=!u,fa,ca,T,da,ga,va="x"===g.findNearestPointBy,pa=this.xData||this.options.xData||this.processedXData||!1,ha=function(a,b,f){a=Math.ceil(a);p=va?a:a+","+b;G&&!Z[p]&&(Z[p]=
54
- !0,l.inverted&&(a=k.len-a,b=m.len-b),O.push({x:pa?pa[na+f]:!1,clientX:a,plotX:a,plotY:b,i:na+f}))},b=c(l,e);l.isBoosting=!0;ga=b.settings;if(this.visible){if(this.points||this.graph)this.animate=null,this.destroyGraphics();l.isChartSeriesBoosting()?(this.markerGroup=l.markerGroup,this.renderTarget&&(this.renderTarget=this.renderTarget.destroy())):this.markerGroup=e.plotGroup("markerGroup","markers",!0,1,l.seriesGroup);O=this.points=[];e.buildKDTree=q;b&&(r(b,this),b.pushSeries(e),n(b,this,l));l.renderer.forExport||
55
- (ga.debug.timeKDTree&&console.time("kd tree building"),t(ma?e.data:u||y,a,d))}}});["heatmap","treemap"].forEach(function(f){m[f]&&a(m[f].prototype,"drawPoints",D)});m.bubble&&(delete m.bubble.prototype.buildKDTree,a(m.bubble.prototype,"markerAttribs",function(a){return this.isSeriesBoosting?!1:a.apply(this,[].slice.call(arguments,1))}));m.scatter.prototype.fill=!0;w(m.area.prototype,{fill:!0,fillOpacity:!0,sampling:!0});w(m.column.prototype,{fill:!0,sampling:!0});e.Chart.prototype.callbacks.push(function(a){u(a,
56
- "predraw",function(){a.boostForceChartBoost=void 0;a.boostForceChartBoost=d(a);a.isBoosting=!1;!a.isChartSeriesBoosting()&&a.didBoost&&(a.didBoost=!1);a.boostClear&&a.boostClear();a.canvas&&a.ogl&&a.isChartSeriesBoosting()&&(a.didBoost=!0,a.ogl.allocateBuffer(a));a.markerGroup&&a.xAxis&&0<a.xAxis.length&&a.yAxis&&0<a.yAxis.length&&a.markerGroup.translate(a.xAxis[0].pos,a.yAxis[0].pos)});u(a,"render",function(){a.ogl&&a.isChartSeriesBoosting()&&a.ogl.render(a)})})}});t(g,"modules/boost/boost-overrides.js",
57
- [g["parts/Globals.js"],g["modules/boost/boost-utils.js"],g["modules/boost/boostables.js"],g["modules/boost/boostable-map.js"]],function(e,g,c,t){var h=g.boostEnabled,u=g.shouldForceChartSeriesBoosting;g=e.Chart;var l=e.Series,m=e.Point,a=e.seriesTypes,q=e.addEvent,y=e.isNumber,D=e.pick,r=e.wrap,n=e.getOptions().plotOptions;g.prototype.isChartSeriesBoosting=function(){return D(this.options.boost&&this.options.boost.seriesThreshold,50)<=this.series.length||u(this)};g.prototype.getBoostClipRect=function(a){var d=
58
- {x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};a===this&&this.yAxis.forEach(function(a){d.y=Math.min(a.pos,d.y);d.height=Math.max(a.pos-this.plotTop+a.len,d.height)},this);return d};l.prototype.getPoint=function(a){var d=a,c=this.xData||this.options.xData||this.processedXData||!1;!a||a instanceof this.pointClass||(d=(new this.pointClass).init(this,this.options.data[a.i],c?c[a.i]:void 0),d.category=D(this.xAxis.categories?this.xAxis.categories[d.x]:d.x,d.x),d.dist=a.dist,
59
- d.distX=a.distX,d.plotX=a.plotX,d.plotY=a.plotY,d.index=a.i);return d};r(l.prototype,"searchPoint",function(a){return this.getPoint(a.apply(this,[].slice.call(arguments,1)))});r(m.prototype,"haloPath",function(a){var d,c=this.series,e=this.plotX,h=this.plotY,g=c.chart.inverted;c.isSeriesBoosting&&g&&(this.plotX=c.yAxis.len-h,this.plotY=c.xAxis.len-e);d=a.apply(this,Array.prototype.slice.call(arguments,1));c.isSeriesBoosting&&g&&(this.plotX=e,this.plotY=h);return d});r(l.prototype,"markerAttribs",
60
- function(a,c){var d,e=c.plotX,h=c.plotY,g=this.chart.inverted;this.isSeriesBoosting&&g&&(c.plotX=this.yAxis.len-h,c.plotY=this.xAxis.len-e);d=a.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&g&&(c.plotX=e,c.plotY=h);return d});q(l,"destroy",function(){var a=this,c=a.chart;c.markerGroup===a.markerGroup&&(a.markerGroup=null);c.hoverPoints&&(c.hoverPoints=c.hoverPoints.filter(function(c){return c.series===a}));c.hoverPoint&&c.hoverPoint.series===a&&(c.hoverPoint=null)});r(l.prototype,
61
- "getExtremes",function(a){if(!this.isSeriesBoosting||!this.hasExtremes||!this.hasExtremes())return a.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(c){function d(a){var d=this.options.stacking&&("translate"===c||"generatePoints"===c);if(!this.isSeriesBoosting||d||!h(this.chart)||"heatmap"===this.type||"treemap"===this.type||!t[this.type]||0===this.options.boostThreshold)a.call(this);else if(this[c+"Canvas"])this[c+
62
- "Canvas"]()}r(l.prototype,c,d);"translate"===c&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(f){a[f]&&r(a[f].prototype,c,d)})});r(l.prototype,"processData",function(a){function c(a){return d.chart.isChartSeriesBoosting()||(a?a.length:0)>=(d.options.boostThreshold||Number.MAX_VALUE)}var d=this,e=this.options.data;h(this.chart)&&t[this.type]?(c(e)&&"heatmap"!==this.type&&"treemap"!==this.type&&!this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(a.apply(this,
63
- Array.prototype.slice.call(arguments,1)),e=this.processedXData),(this.isSeriesBoosting=c(e))?this.enterBoost():this.exitBoost&&this.exitBoost()):a.apply(this,Array.prototype.slice.call(arguments,1))});q(l,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});l.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,val:this[a],own:this.hasOwnProperty(a)})},this);
64
- this.directTouch=this.allowDG=!1;this.stickyTracking=!0;this.animate=null;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};l.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},this);this.boostClear&&this.boostClear()};l.prototype.hasExtremes=function(a){var c=this.options,d=this.xAxis&&this.xAxis.options,e=this.yAxis&&this.yAxis.options;return c.data.length>(c.boostThreshold||Number.MAX_VALUE)&&y(e.min)&&
65
- y(e.max)&&(!a||y(d.min)&&y(d.max))};l.prototype.destroyGraphics=function(){var a=this,c=this.points,e,h;if(c)for(h=0;h<c.length;h+=1)(e=c[h])&&e.destroyElements&&e.destroyElements();["graph","area","tracker"].forEach(function(c){a[c]&&(a[c]=a[c].destroy())})};c.forEach(function(c){n[c]&&(n[c].boostThreshold=5E3,n[c].boostData=[],a[c].prototype.fillOpacity=!0)})});t(g,"modules/boost/named-colors.js",[g["parts/Globals.js"]],function(e){var g={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",
66
- aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",
67
- darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",
68
- honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",
69
- lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",
70
- orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",
71
- springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return e.Color.prototype.names=g});t(g,"modules/boost/boost.js",[g["parts/Globals.js"],g["modules/boost/boost-utils.js"],g["modules/boost/boost-init.js"]],function(e,g,c){g=g.hasWebGLSupport;g()?c():"undefined"!==typeof e.initCanvasBoost?e.initCanvasBoost():
72
- e.error(26)});t(g,"masters/modules/boost.src.js",[],function(){})});
11
+ (function(h){"object"===typeof module&&module.exports?(h["default"]=h,module.exports=h):"function"===typeof define&&define.amd?define("highcharts/modules/boost",["highcharts"],function(u){h(u);h.Highcharts=u;return h}):h("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(h){function u(e,h,c,C){e.hasOwnProperty(h)||(e[h]=C.apply(null,c))}h=h?h._modules:{};u(h,"modules/boost/boostables.js",[],function(){return"area arearange column columnrange bar line scatter heatmap bubble treemap".split(" ")});
12
+ u(h,"modules/boost/boostable-map.js",[h["modules/boost/boostables.js"]],function(e){var h={};e.forEach(function(c){h[c]=1});return h});u(h,"modules/boost/wgl-shader.js",[h["parts/Globals.js"]],function(e){var h=e.pick;return function(c){function v(){r.length&&e.error("[highcharts boost] shader error - "+r.join("\n"))}function g(a,f){var b=c.createShader("vertex"===f?c.VERTEX_SHADER:c.FRAGMENT_SHADER);c.shaderSource(b,a);c.compileShader(b);return c.getShaderParameter(b,c.COMPILE_STATUS)?b:(r.push("when compiling "+
13
+ f+" shader:\n"+c.getShaderInfoLog(b)),!1)}function w(){function b(b){return c.getUniformLocation(a,b)}var e=g("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value \x3d aVertexPosition.w;\nfloat zMax \x3d bubbleZMax;\nfloat zMin \x3d bubbleZMin;\nfloat radius \x3d 0.0;\nfloat pos \x3d 0.0;\nfloat zRange \x3d zMax - zMin;\nif (bubbleSizeAbs){\nvalue \x3d value - bubbleZThreshold;\nzMax \x3d max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin \x3d 0.0;\n}\nif (value \x3c zMin){\nradius \x3d bubbleZMin / 2.0 - 1.0;\n} else {\npos \x3d zRange \x3e 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea \x26\x26 pos \x3e 0.0){\npos \x3d sqrt(pos);\n}\nradius \x3d ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign \x3d 1.0;\nfloat cvsOffset \x3d 0.0;\nif (cvsCoord) {\nsign *\x3d -1.0;\ncvsOffset \x3d len;\n}\nif (isLog) {\nval \x3d log(val) / LN10;\n}\nif (reversed) {\nsign *\x3d -1.0;\ncvsOffset -\x3d sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv \x3d value;// + yAxisPos;\n} else {\nv \x3d translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v \x3e yAxisLen) {\nv \x3d yAxisLen;\n}\n}\nif (checkTreshold \x3e 0.0 \x26\x26 hasThreshold) {\nv \x3d min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize \x3d bubbleRadius();\n} else {\ngl_PointSize \x3d pSize;\n}\nvColor \x3d aColor;\nif (skipTranslation \x26\x26 isInverted) {\ngl_Position \x3d uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position \x3d uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position \x3d uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}",
14
+ "vertex"),k=g("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col \x3d fillColor;\nvec4 tcol;\nif (hasColor) {\ncol \x3d vColor;\n}\nif (isCircle) {\ntcol \x3d texture2D(uSampler, gl_PointCoord.st);\ncol *\x3d tcol;\nif (tcol.r \x3c 0.0) {\ndiscard;\n} else {\ngl_FragColor \x3d col;\n}\n} else {\ngl_FragColor \x3d col;\n}\n}","fragment");
15
+ if(!e||!k)return a=!1,v(),!1;a=c.createProgram();c.attachShader(a,e);c.attachShader(a,k);c.linkProgram(a);if(!c.getProgramParameter(a,c.LINK_STATUS))return r.push(c.getProgramInfoLog(a)),v(),a=!1;c.useProgram(a);c.bindAttribLocation(a,0,"aVertexPosition");q=b("uPMatrix");y=b("pSize");L=b("fillColor");t=b("isBubble");p=b("bubbleSizeAbs");d=b("bubbleSizeByArea");R=b("uSampler");n=b("skipTranslation");f=b("isCircle");I=b("isInverted");return!0}function l(b,f){c&&a&&(b=m[b]=m[b]||c.getUniformLocation(a,
16
+ b),c.uniform1f(b,f))}var m={},a,q,y,L,t,p,d,n,f,I,r=[],R;return c&&!w()?!1:{psUniform:function(){return y},pUniform:function(){return q},fillColorUniform:function(){return L},setBubbleUniforms:function(b,n,k){var e=b.options,r=Number.MAX_VALUE,g=-Number.MAX_VALUE;c&&a&&"bubble"===b.type&&(r=h(e.zMin,Math.min(r,Math.max(n,!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),g=h(e.zMax,Math.max(g,k)),c.uniform1i(t,1),c.uniform1i(f,1),c.uniform1i(d,"width"!==b.options.sizeBy),c.uniform1i(p,b.options.sizeByAbsoluteValue),
17
+ l("bubbleZMin",r),l("bubbleZMax",g),l("bubbleZThreshold",b.options.zThreshold),l("bubbleMinSize",b.minPxSize),l("bubbleMaxSize",b.maxPxSize))},bind:function(){c&&a&&c.useProgram(a)},program:function(){return a},create:w,setUniform:l,setPMatrix:function(b){c&&a&&c.uniformMatrix4fv(q,!1,b)},setColor:function(b){c&&a&&c.uniform4f(L,b[0]/255,b[1]/255,b[2]/255,b[3])},setPointSize:function(b){c&&a&&c.uniform1f(y,b)},setSkipTranslation:function(b){c&&a&&c.uniform1i(n,!0===b?1:0)},setTexture:function(b){c&&
18
+ a&&c.uniform1i(R,b)},setDrawAsCircle:function(b){c&&a&&c.uniform1i(f,b?1:0)},reset:function(){c&&a&&(c.uniform1i(t,0),c.uniform1i(f,0))},setInverted:function(b){c&&a&&c.uniform1i(I,b)},destroy:function(){c&&a&&(c.deleteProgram(a),a=!1)}}}});u(h,"modules/boost/wgl-vbuffer.js",[],function(){return function(e,h,c){function v(){g&&(e.deleteBuffer(g),w=g=!1);a=0;l=c||2;q=[]}var g=!1,w=!1,l=c||2,m=!1,a=0,q;return{destroy:v,bind:function(){if(!g)return!1;e.vertexAttribPointer(w,l,e.FLOAT,!1,0,0)},data:q,
19
+ build:function(a,c,t){var p;q=a||[];if(!(q&&0!==q.length||m))return v(),!1;l=t||l;g&&e.deleteBuffer(g);m||(p=new Float32Array(q));g=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,g);e.bufferData(e.ARRAY_BUFFER,m||p,e.STATIC_DRAW);w=e.getAttribLocation(h.program(),c);e.enableVertexAttribArray(w);return!0},render:function(a,c,t){var h=m?m.length:q.length;if(!g||!h)return!1;if(!a||a>h||0>a)a=0;if(!c||c>h)c=h;e.drawArrays(e[(t||"points").toUpperCase()],a/l,(c-a)/l);return!0},allocate:function(c){a=-1;m=
20
+ new Float32Array(4*c)},push:function(c,e,t,h){m&&(m[++a]=c,m[++a]=e,m[++a]=t,m[++a]=h)}}}});u(h,"modules/boost/wgl-renderer.js",[h["modules/boost/wgl-shader.js"],h["modules/boost/wgl-vbuffer.js"],h["parts/Globals.js"]],function(e,h,c){var v=c.win.document,g=c.merge,w=c.objEach,l=c.isNumber,m=c.some,a=c.Color,q=c.pick;return function(y){function u(a){var b,f;return a.isSeriesBoosting?(b=!!a.options.stacking,f=a.xData||a.options.xData||a.processedXData,b=(b?a.data:f||a.options.data).length,"treemap"===
21
+ a.type?b*=12:"heatmap"===a.type?b*=6:ka[a.type]&&(b*=2),b):0}function t(){k.clear(k.COLOR_BUFFER_BIT|k.DEPTH_BUFFER_BIT)}function p(a,b){function f(a){a&&(b.colorData.push(a[0]),b.colorData.push(a[1]),b.colorData.push(a[2]),b.colorData.push(a[3]))}function d(a,b,d,c,k){f(k);z.usePreallocated?K.push(a,b,d?1:0,c||1):(M.push(a),M.push(b),M.push(d?1:0),M.push(c||1))}function k(){b.segments.length&&(b.segments[b.segments.length-1].to=M.length)}function n(){b.segments.length&&b.segments[b.segments.length-
22
+ 1].from===M.length||(k(),b.segments.push({from:M.length}))}function e(a,b,c,k,n){f(n);d(a+c,b);f(n);d(a,b);f(n);d(a,b+k);f(n);d(a,b+k);f(n);d(a+c,b+k);f(n);d(a+c,b)}function h(a,f){z.useGPUTranslations||(b.skipTranslation=!0,a.x=C.toPixels(a.x,!0),a.y=w.toPixels(a.y,!0));f?M=[a.x,a.y,0,2].concat(M):d(a.x,a.y,0,2)}var t=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),O=a.chart,G=a.options,r=!!G.stacking,g=G.data,p=a.xAxis.getExtremes(),l=p.min,p=p.max,I=a.yAxis.getExtremes(),v=I.min,I=I.max,
23
+ q=a.xData||G.xData||a.processedXData,R=a.yData||G.yData||a.processedYData,S=a.zData||G.zData||a.processedZData,w=a.yAxis,C=a.xAxis,y=a.chart.plotWidth,u=!q||0===q.length,H=G.connectNulls,x=a.points||!1,D=!1,L=!1,B,E,Q,g=r?a.data:q||g,q={x:Number.MAX_VALUE,y:0},J={x:-Number.MAX_VALUE,y:0},X=0,Y=!1,A,P,F=-1,U=!1,V=!1,Z,ta="undefined"===typeof O.index,ha=!1,ia=!1,N=!1,wa=ka[a.type],ja=!1,qa=!0,ra=!0,aa=G.zones||!1,W=!1,sa=G.threshold;if(!(G.boostData&&0<G.boostData.length)){aa&&(m(aa,function(a){if("undefined"===
24
+ typeof a.value)return W=c.Color(a.color),!0}),W||(W=a.pointAttribs&&a.pointAttribs().fill||a.color,W=c.Color(W)));O.inverted&&(y=a.chart.plotHeight);a.closestPointRangePx=Number.MAX_VALUE;n();if(x&&0<x.length)b.skipTranslation=!0,b.drawMode="triangles",x[0].node&&x[0].node.levelDynamic&&x.sort(function(a,b){if(a.node){if(a.node.levelDynamic>b.node.levelDynamic)return 1;if(a.node.levelDynamic<b.node.levelDynamic)return-1}return 0}),x.forEach(function(b){var f=b.plotY,d;"undefined"===typeof f||isNaN(f)||
25
+ null===b.y||(f=b.shapeArgs,d=O.styledMode?b.series.colorAttribs(b):d=b.series.pointAttribs(b),b=d["stroke-width"]||0,E=c.color(d.fill).rgba,E[0]/=255,E[1]/=255,E[2]/=255,"treemap"===a.type&&(b=b||1,Q=c.color(d.stroke).rgba,Q[0]/=255,Q[1]/=255,Q[2]/=255,e(f.x,f.y,f.width,f.height,Q),b/=2),"heatmap"===a.type&&O.inverted&&(f.x=C.len-f.x,f.y=w.len-f.y,f.width=-f.width,f.height=-f.height),e(f.x+b,f.y+b,f.width-2*b,f.height-2*b,E))});else{for(;F<g.length-1;){B=g[++F];if(ta)break;u?(x=B[0],A=B[1],g[F+1]&&
26
+ (V=g[F+1][0]),g[F-1]&&(U=g[F-1][0]),3<=B.length&&(P=B[2],B[2]>b.zMax&&(b.zMax=B[2]),B[2]<b.zMin&&(b.zMin=B[2]))):(x=B,A=R[F],g[F+1]&&(V=g[F+1]),g[F-1]&&(U=g[F-1]),S&&S.length&&(P=S[F],S[F]>b.zMax&&(b.zMax=S[F]),S[F]<b.zMin&&(b.zMin=S[F])));if(H||null!==x&&null!==A){if(V&&V>=l&&V<=p&&(ha=!0),U&&U>=l&&U<=p&&(ia=!0),t?(u&&(A=B.slice(1,3)),Z=A[0],A=A[1]):r&&(x=B.x,A=B.stackY,Z=A-B.y),null!==v&&"undefined"!==typeof v&&null!==I&&"undefined"!==typeof I&&(qa=A>=v&&A<=I),x>p&&J.x<p&&(J.x=x,J.y=A),x<l&&q.x>
27
+ l&&(q.x=x,q.y=A),null!==A||!H)if(null!==A&&(qa||ha||ia)){if((V>=l||x>=l)&&(U<=p||x<=p)&&(ja=!0),ja||ha||ia){aa&&(N=W.rgba,m(aa,function(a,b){b=aa[b-1];if("undefined"!==typeof a.value&&A<=a.value){if(!b||A>=b.value)N=c.color(a.color).rgba;return!0}}),N[0]/=255,N[1]/=255,N[2]/=255);if(!z.useGPUTranslations&&(b.skipTranslation=!0,x=C.toPixels(x,!0),A=w.toPixels(A,!0),x>y&&"points"===b.drawMode))continue;if(wa){B=Z;if(!1===Z||"undefined"===typeof Z)B=0>A?A:0;t||r||(B=Math.max(null===sa?v:sa,v));z.useGPUTranslations||
28
+ (B=w.toPixels(B,!0));d(x,B,0,0,N)}b.hasMarkers&&ja&&!1!==D&&(a.closestPointRangePx=Math.min(a.closestPointRangePx,Math.abs(x-D)));!z.useGPUTranslations&&!z.usePreallocated&&D&&1>Math.abs(x-D)&&L&&1>Math.abs(A-L)?z.debug.showSkipSummary&&++X:(G.step&&!ra&&d(x,L,0,2,N),d(x,A,0,"bubble"===a.type?P||1:2,N),D=x,L=A,Y=!0,ra=!1)}}else n()}else n()}z.debug.showSkipSummary&&console.log("skipped points:",X);Y||!1===H||"line_strip"!==a.drawMode||(q.x<Number.MAX_VALUE&&h(q,!0),J.x>-Number.MAX_VALUE&&h(J))}k()}}
29
+ function d(){D=[];X.data=M=[];Y=[];K&&K.destroy()}function n(a){b&&(b.setUniform("xAxisTrans",a.transA),b.setUniform("xAxisMin",a.min),b.setUniform("xAxisMinPad",a.minPixelPadding),b.setUniform("xAxisPointRange",a.pointRange),b.setUniform("xAxisLen",a.len),b.setUniform("xAxisPos",a.pos),b.setUniform("xAxisCVSCoord",!a.horiz),b.setUniform("xAxisIsLog",a.isLog),b.setUniform("xAxisReversed",!!a.reversed))}function f(a){b&&(b.setUniform("yAxisTrans",a.transA),b.setUniform("yAxisMin",a.min),b.setUniform("yAxisMinPad",
30
+ a.minPixelPadding),b.setUniform("yAxisPointRange",a.pointRange),b.setUniform("yAxisLen",a.len),b.setUniform("yAxisPos",a.pos),b.setUniform("yAxisCVSCoord",!a.horiz),b.setUniform("yAxisIsLog",a.isLog),b.setUniform("yAxisReversed",!!a.reversed))}function I(a,f){b.setUniform("hasThreshold",a);b.setUniform("translatedThreshold",f)}function r(e){if(e)H=e.chartWidth||800,C=e.chartHeight||400;else return!1;if(!(k&&H&&C&&b))return!1;z.debug.timeRendering&&console.time("gl rendering");k.canvas.width=H;k.canvas.height=
31
+ C;b.bind();k.viewport(0,0,H,C);b.setPMatrix([2/H,0,0,0,0,-(2/C),0,0,0,0,-2,0,-1,1,-1,1]);1<z.lineWidth&&!c.isMS&&k.lineWidth(z.lineWidth);K.build(X.data,"aVertexPosition",4);K.bind();b.setInverted(e.inverted);D.forEach(function(d,t){var g=d.series.options,r=g.marker,p;p="undefined"!==typeof g.lineWidth?g.lineWidth:1;var m=g.threshold,O=l(m),v=d.series.yAxis.getThreshold(m),m=q(g.marker?g.marker.enabled:null,d.series.xAxis.isRadial?!0:null,d.series.closestPointRangePx>2*((g.marker?g.marker.radius:
32
+ 10)||10)),r=E[r&&r.symbol||d.series.symbol]||E.circle;if(!(0===d.segments.length||d.segmentslength&&d.segments[0].from===d.segments[0].to)){r.isReady&&(k.bindTexture(k.TEXTURE_2D,r.handle),b.setTexture(r.handle));e.styledMode?r=d.series.markerGroup&&d.series.markerGroup.getStyle("fill"):(r=d.series.pointAttribs&&d.series.pointAttribs().fill||d.series.color,g.colorByPoint&&(r=d.series.chart.options.colors[t]));d.series.fillOpacity&&g.fillOpacity&&(r=(new a(r)).setOpacity(q(g.fillOpacity,1)).get());
33
+ r=c.color(r).rgba;z.useAlpha||(r[3]=1);"lines"===d.drawMode&&z.useAlpha&&1>r[3]&&(r[3]/=10);"add"===g.boostBlending?(k.blendFunc(k.SRC_ALPHA,k.ONE),k.blendEquation(k.FUNC_ADD)):"mult"===g.boostBlending||"multiply"===g.boostBlending?k.blendFunc(k.DST_COLOR,k.ZERO):"darken"===g.boostBlending?(k.blendFunc(k.ONE,k.ONE),k.blendEquation(k.FUNC_MIN)):k.blendFuncSeparate(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA,k.ONE,k.ONE_MINUS_SRC_ALPHA);b.reset();0<d.colorData.length&&(b.setUniform("hasColor",1),t=h(k,b),t.build(d.colorData,
34
+ "aColor",4),t.bind());b.setColor(r);n(d.series.xAxis);f(d.series.yAxis);I(O,v);"points"===d.drawMode&&(g.marker&&g.marker.radius?b.setPointSize(2*g.marker.radius):b.setPointSize(1));b.setSkipTranslation(d.skipTranslation);"bubble"===d.series.type&&b.setBubbleUniforms(d.series,d.zMin,d.zMax);b.setDrawAsCircle(P[d.series.type]||!1);if(0<p||"line_strip"!==d.drawMode)for(p=0;p<d.segments.length;p++)K.render(d.segments[p].from,d.segments[p].to,d.drawMode);if(d.hasMarkers&&m)for(g.marker&&g.marker.radius?
35
+ b.setPointSize(2*g.marker.radius):b.setPointSize(10),b.setDrawAsCircle(!0),p=0;p<d.segments.length;p++)K.render(d.segments[p].from,d.segments[p].to,"POINTS")}});z.debug.timeRendering&&console.timeEnd("gl rendering");y&&y();d()}function R(a){t();if(a.renderer.forExport)return r(a);J?r(a):setTimeout(function(){R(a)},1)}var b=!1,K=!1,k=!1,H=0,C=0,M=!1,Y=!1,X={},J=!1,D=[],E={},ka={column:!0,columnrange:!0,bar:!0,area:!0,arearange:!0},P={scatter:!0,bubble:!0},z={pointSize:1,lineWidth:1,fillColor:"#AA00AA",
36
+ useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}};return X={allocateBufferForSingleSeries:function(a){var b=0;z.usePreallocated&&(a.isSeriesBoosting&&(b=u(a)),K.allocate(b))},pushSeries:function(a){0<D.length&&D[D.length-1].hasMarkers&&(D[D.length-1].markerTo=Y.length);z.debug.timeSeriesProcessing&&console.time("building "+a.type+" series");D.push({segments:[],markerFrom:Y.length,colorData:[],
37
+ series:a,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:a.options.marker?!1!==a.options.marker.enabled:!1,showMarkers:!0,drawMode:{area:"lines",arearange:"lines",areaspline:"line_strip",column:"lines",columnrange:"lines",bar:"lines",line:"line_strip",scatter:"points",heatmap:"triangles",treemap:"triangles",bubble:"points"}[a.type]||"line_strip"});p(a,D[D.length-1]);z.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(a,d){H===a&&C===d||!b||(H=a,C=
38
+ d,b.bind(),b.setPMatrix([2/H,0,0,0,0,-(2/C),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return J},setThreshold:I,init:function(a,f){function c(a,b){var d={isReady:!1,texture:v.createElement("canvas"),handle:k.createTexture()},f=d.texture.getContext("2d");E[a]=d;d.texture.width=512;d.texture.height=512;f.mozImageSmoothingEnabled=!1;f.webkitImageSmoothingEnabled=!1;f.msImageSmoothingEnabled=!1;f.imageSmoothingEnabled=!1;f.strokeStyle="rgba(255, 255, 255, 0)";f.fillStyle="#FFF";b(f);try{k.activeTexture(k.TEXTURE0),
39
+ k.bindTexture(k.TEXTURE_2D,d.handle),k.texImage2D(k.TEXTURE_2D,0,k.RGBA,k.RGBA,k.UNSIGNED_BYTE,d.texture),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_S,k.CLAMP_TO_EDGE),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_T,k.CLAMP_TO_EDGE),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_MAG_FILTER,k.LINEAR),k.texParameteri(k.TEXTURE_2D,k.TEXTURE_MIN_FILTER,k.LINEAR),k.bindTexture(k.TEXTURE_2D,null),d.isReady=!0}catch(ba){}}var n=0,g=["webgl","experimental-webgl","moz-webgl","webkit-3d"];J=!1;if(!a)return!1;for(z.debug.timeSetup&&
40
+ console.time("gl setup");n<g.length&&!(k=a.getContext(g[n],{}));n++);if(k)f||d();else return!1;k.enable(k.BLEND);k.blendFunc(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA);k.disable(k.DEPTH_TEST);k.depthFunc(k.LESS);b=e(k);if(!b)return!1;K=h(k,b);c("circle",function(a){a.beginPath();a.arc(256,256,256,0,2*Math.PI);a.stroke();a.fill()});c("square",function(a){a.fillRect(0,0,512,512)});c("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});
41
+ c("triangle",function(a){a.beginPath();a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});c("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});J=!0;z.debug.timeSetup&&console.timeEnd("gl setup");return!0},render:R,settings:z,valid:function(){return!1!==k},clear:t,flush:d,setXAxis:n,setYAxis:f,data:M,gl:function(){return k},allocateBuffer:function(a){var b=0;z.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&
42
+ (b+=u(a))}),K.allocate(b))},destroy:function(){d();K.destroy();b.destroy();k&&(w(E,function(a){E[a].handle&&k.deleteTexture(E[a].handle)}),k.canvas.width=1,k.canvas.height=1)},setOptions:function(a){g(!0,z,a)}}}});u(h,"modules/boost/boost-attach.js",[h["parts/Globals.js"],h["modules/boost/wgl-renderer.js"]],function(e,h){var c=e.win.document,v=c.createElement("canvas");return function(g,w){var l=g.chartWidth,m=g.chartHeight,a=g,q=g.seriesGroup||w.group,y=c.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility",
43
+ "1.1"),a=g.isChartSeriesBoosting()?g:w,y=!1;a.renderTarget||(a.canvas=v,g.renderer.forExport||!y?(a.renderTarget=g.renderer.image("",0,0,l,m).addClass("highcharts-boost-canvas").add(q),a.boostClear=function(){a.renderTarget.attr({href:""})},a.boostCopy=function(){a.boostResizeTarget();a.renderTarget.attr({href:a.canvas.toDataURL("image/png")})}):(a.renderTargetFo=g.renderer.createElement("foreignObject").add(q),a.renderTarget=c.createElement("canvas"),a.renderTargetCtx=a.renderTarget.getContext("2d"),
44
+ a.renderTargetFo.element.appendChild(a.renderTarget),a.boostClear=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height},a.boostCopy=function(){a.renderTarget.width=a.canvas.width;a.renderTarget.height=a.canvas.height;a.renderTargetCtx.drawImage(a.canvas,0,0)}),a.boostResizeTarget=function(){l=g.chartWidth;m=g.chartHeight;(a.renderTargetFo||a.renderTarget).attr({x:0,y:0,width:l,height:m}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});a instanceof e.Chart&&
45
+ a.markerGroup.translate(g.plotLeft,g.plotTop)},a.boostClipRect=g.renderer.clipRect(),(a.renderTargetFo||a.renderTarget).clip(a.boostClipRect),a instanceof e.Chart&&(a.markerGroup=a.renderer.g().add(q),a.markerGroup.translate(w.xAxis.pos,w.yAxis.pos)));a.canvas.width=l;a.canvas.height=m;a.boostClipRect.attr(g.getBoostClipRect(a));a.boostResizeTarget();a.boostClear();a.ogl||(a.ogl=h(function(){a.ogl.settings.debug.timeBufferCopy&&console.time("buffer copy");a.boostCopy();a.ogl.settings.debug.timeBufferCopy&&
46
+ console.timeEnd("buffer copy")}),a.ogl.init(a.canvas)||e.error("[highcharts boost] - unable to init WebGL renderer"),a.ogl.setOptions(g.options.boost||{}),a instanceof e.Chart&&a.ogl.allocateBuffer(g));a.ogl.setSize(l,m);return a.ogl}});u(h,"modules/boost/boost-utils.js",[h["parts/Globals.js"],h["modules/boost/boostable-map.js"],h["modules/boost/boost-attach.js"]],function(e,h,c){function v(){var a=Array.prototype.slice.call(arguments),c=-Number.MAX_VALUE;a.forEach(function(a){if("undefined"!==typeof a&&
47
+ null!==a&&"undefined"!==typeof a.length&&0<a.length)return c=a.length,!0});return c}function g(a,c,d){a&&c.renderTarget&&c.canvas&&!(d||c.chart).isChartSeriesBoosting()&&a.render(d||c.chart)}function w(a,c){a&&c.renderTarget&&c.canvas&&!c.chart.isChartSeriesBoosting()&&a.allocateBufferForSingleSeries(c)}function l(c,g,d,n,f,e){f=f||0;n=n||3E3;for(var h=f+n,t=!0;t&&f<h&&f<c.length;)t=g(c[f],f),++f;t&&(f<c.length?e?l(c,g,d,n,f,e):a.requestAnimationFrame?a.requestAnimationFrame(function(){l(c,g,d,n,
48
+ f)}):setTimeout(function(){l(c,g,d,n,f)}):d&&d())}function m(){var c=0,g,d=["webgl","experimental-webgl","moz-webgl","webkit-3d"],n=!1;if("undefined"!==typeof a.WebGLRenderingContext)for(g=q.createElement("canvas");c<d.length;c++)try{if(n=g.getContext(d[c]),"undefined"!==typeof n&&null!==n)return!0}catch(f){}return!1}var a=e.win,q=a.document,y=e.pick,u={patientMax:v,boostEnabled:function(a){return y(a&&a.options&&a.options.boost&&a.options.boost.enabled,!0)},shouldForceChartSeriesBoosting:function(a){var c=
49
+ 0,d=0,g=y(a.options.boost&&a.options.boost.allowForce,!0),f;if("undefined"!==typeof a.boostForceChartBoost)return a.boostForceChartBoost;if(1<a.series.length)for(var e=0;e<a.series.length;e++)f=a.series[e],0!==f.options.boostThreshold&&!1!==f.visible&&"heatmap"!==f.type&&(h[f.type]&&++d,v(f.processedXData,f.options.data,f.points)>=(f.options.boostThreshold||Number.MAX_VALUE)&&++c);a.boostForceChartBoost=g&&(d===a.series.length&&0<c||5<c);return a.boostForceChartBoost},renderIfNotSeriesBoosting:g,
50
+ allocateIfNotSeriesBoosting:w,eachAsync:l,hasWebGLSupport:m,pointDrawHandler:function(a){var e=!0;this.chart.options&&this.chart.options.boost&&(e="undefined"===typeof this.chart.options.boost.enabled?!0:this.chart.options.boost.enabled);if(!e||!this.isSeriesBoosting)return a.call(this);this.chart.isBoosting=!0;if(a=c(this.chart,this))w(a,this),a.pushSeries(this);g(a,this)}};e.hasWebGLSupport=m;return u});u(h,"modules/boost/boost-init.js",[h["parts/Globals.js"],h["modules/boost/boost-utils.js"],h["modules/boost/boost-attach.js"]],
51
+ function(e,h,c){var v=e.addEvent,g=e.fireEvent,w=e.extend,l=e.Series,m=e.seriesTypes,a=e.wrap,q=function(){},y=h.eachAsync,u=h.pointDrawHandler,t=h.allocateIfNotSeriesBoosting,p=h.renderIfNotSeriesBoosting,d=h.shouldForceChartSeriesBoosting,n;return function(){e.extend(l.prototype,{renderCanvas:function(){function a(a,b){var d,f,c=!1,e="undefined"===typeof l.index,g=!0;if(!e&&(oa?(d=a[0],f=a[1]):(d=a,f=w[b]),la?(oa&&(f=a.slice(1,3)),c=f[0],f=f[1]):ma&&(d=a.x,f=a.stackY,c=f-a.y),ua||(g=f>=D&&f<=E),
52
+ null!==f&&d>=C&&d<=J&&g))if(a=k.toPixels(d,!0),z){if(void 0===T||a===P){la||(c=f);if(void 0===ca||f>ba)ba=f,ca=b;if(void 0===T||c<ea)ea=c,T=b}a!==P&&(void 0!==T&&(f=m.toPixels(ba,!0),da=m.toPixels(ea,!0),ga(a,f,ca),da!==f&&ga(a,da,T)),T=ca=void 0,P=a)}else f=Math.ceil(m.toPixels(f,!0)),ga(a,f,b);return!e}function d(){g(e,"renderedCanvas");delete e.buildKDTree;e.buildKDTree();fa.debug.timeKDTree&&console.timeEnd("kd tree building")}var e=this,h=e.options||{},b=!1,l=e.chart,k=this.xAxis,m=this.yAxis,
53
+ v=h.xData||e.processedXData,w=h.yData||e.processedYData,u=h.data,b=k.getExtremes(),C=b.min,J=b.max,b=m.getExtremes(),D=b.min,E=b.max,L={},P,z=!!e.sampling,O,G=!1!==h.enableMouseTracking,da=m.getThreshold(h.threshold),la=e.pointArrayMap&&"low,high"===e.pointArrayMap.join(","),ma=!!h.stacking,na=e.cropStart||0,ua=e.requireSorting,oa=!v,ea,ba,T,ca,fa,va="x"===h.findNearestPointBy,pa=this.xData||this.options.xData||this.processedXData||!1,ga=function(a,b,f){a=Math.ceil(a);n=va?a:a+","+b;G&&!L[n]&&(L[n]=
54
+ !0,l.inverted&&(a=k.len-a,b=m.len-b),O.push({x:pa?pa[na+f]:!1,clientX:a,plotX:a,plotY:b,i:na+f}))},b=c(l,e);l.isBoosting=!0;fa=b.settings;if(this.visible){if(this.points||this.graph)this.animate=null,this.destroyGraphics();l.isChartSeriesBoosting()?(this.markerGroup&&this.markerGroup!==l.markerGroup&&this.markerGroup.destroy(),this.markerGroup=l.markerGroup,this.renderTarget&&(this.renderTarget=this.renderTarget.destroy())):(this.markerGroup===l.markerGroup&&(this.markerGroup=void 0),this.markerGroup=
55
+ e.plotGroup("markerGroup","markers",!0,1,l.seriesGroup));O=this.points=[];e.buildKDTree=q;b&&(t(b,this),b.pushSeries(e),p(b,this,l));l.renderer.forExport||(fa.debug.timeKDTree&&console.time("kd tree building"),y(ma?e.data:v||u,a,d))}}});["heatmap","treemap"].forEach(function(f){m[f]&&a(m[f].prototype,"drawPoints",u)});m.bubble&&(delete m.bubble.prototype.buildKDTree,a(m.bubble.prototype,"markerAttribs",function(a){return this.isSeriesBoosting?!1:a.apply(this,[].slice.call(arguments,1))}));m.scatter.prototype.fill=
56
+ !0;w(m.area.prototype,{fill:!0,fillOpacity:!0,sampling:!0});w(m.column.prototype,{fill:!0,sampling:!0});e.Chart.prototype.callbacks.push(function(a){v(a,"predraw",function(){a.boostForceChartBoost=void 0;a.boostForceChartBoost=d(a);a.isBoosting=!1;!a.isChartSeriesBoosting()&&a.didBoost&&(a.didBoost=!1);a.boostClear&&a.boostClear();a.canvas&&a.ogl&&a.isChartSeriesBoosting()&&(a.didBoost=!0,a.ogl.allocateBuffer(a));a.markerGroup&&a.xAxis&&0<a.xAxis.length&&a.yAxis&&0<a.yAxis.length&&a.markerGroup.translate(a.xAxis[0].pos,
57
+ a.yAxis[0].pos)});v(a,"render",function(){a.ogl&&a.isChartSeriesBoosting()&&a.ogl.render(a)})})}});u(h,"modules/boost/boost-overrides.js",[h["parts/Globals.js"],h["modules/boost/boost-utils.js"],h["modules/boost/boostables.js"],h["modules/boost/boostable-map.js"]],function(e,h,c,u){var g=h.boostEnabled,v=h.shouldForceChartSeriesBoosting;h=e.Chart;var l=e.Series,m=e.Point,a=e.seriesTypes,q=e.addEvent,y=e.isNumber,C=e.pick,t=e.wrap,p=e.getOptions().plotOptions;h.prototype.isChartSeriesBoosting=function(){return C(this.options.boost&&
58
+ this.options.boost.seriesThreshold,50)<=this.series.length||v(this)};h.prototype.getBoostClipRect=function(a){var d={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};a===this&&this.yAxis.forEach(function(a){d.y=Math.min(a.pos,d.y);d.height=Math.max(a.pos-this.plotTop+a.len,d.height)},this);return d};l.prototype.getPoint=function(a){var d=a,c=this.xData||this.options.xData||this.processedXData||!1;!a||a instanceof this.pointClass||(d=(new this.pointClass).init(this,this.options.data[a.i],
59
+ c?c[a.i]:void 0),d.category=C(this.xAxis.categories?this.xAxis.categories[d.x]:d.x,d.x),d.dist=a.dist,d.distX=a.distX,d.plotX=a.plotX,d.plotY=a.plotY,d.index=a.i);return d};t(l.prototype,"searchPoint",function(a){return this.getPoint(a.apply(this,[].slice.call(arguments,1)))});t(m.prototype,"haloPath",function(a){var d,c=this.series,e=this.plotX,g=this.plotY,h=c.chart.inverted;c.isSeriesBoosting&&h&&(this.plotX=c.yAxis.len-g,this.plotY=c.xAxis.len-e);d=a.apply(this,Array.prototype.slice.call(arguments,
60
+ 1));c.isSeriesBoosting&&h&&(this.plotX=e,this.plotY=g);return d});t(l.prototype,"markerAttribs",function(a,c){var d,e=c.plotX,g=c.plotY,h=this.chart.inverted;this.isSeriesBoosting&&h&&(c.plotX=this.yAxis.len-g,c.plotY=this.xAxis.len-e);d=a.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&h&&(c.plotX=e,c.plotY=g);return d});q(l,"destroy",function(){var a=this,c=a.chart;c.markerGroup===a.markerGroup&&(a.markerGroup=null);c.hoverPoints&&(c.hoverPoints=c.hoverPoints.filter(function(c){return c.series===
61
+ a}));c.hoverPoint&&c.hoverPoint.series===a&&(c.hoverPoint=null)});t(l.prototype,"getExtremes",function(a){if(!this.isSeriesBoosting||!this.hasExtremes||!this.hasExtremes())return a.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(c){function d(a){var d=this.options.stacking&&("translate"===c||"generatePoints"===c);if(!this.isSeriesBoosting||d||!g(this.chart)||"heatmap"===this.type||"treemap"===this.type||!u[this.type]||
62
+ 0===this.options.boostThreshold)a.call(this);else if(this[c+"Canvas"])this[c+"Canvas"]()}t(l.prototype,c,d);"translate"===c&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(f){a[f]&&t(a[f].prototype,c,d)})});t(l.prototype,"processData",function(a){function c(a){return d.chart.isChartSeriesBoosting()||(a?a.length:0)>=(d.options.boostThreshold||Number.MAX_VALUE)}var d=this,e=this.options.data;g(this.chart)&&u[this.type]?(c(e)&&"heatmap"!==this.type&&"treemap"!==this.type&&
63
+ !this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(a.apply(this,Array.prototype.slice.call(arguments,1)),e=this.processedXData),(this.isSeriesBoosting=c(e))?this.enterBoost():this.exitBoost&&this.exitBoost()):a.apply(this,Array.prototype.slice.call(arguments,1))});q(l,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});l.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,
64
+ val:this[a],own:this.hasOwnProperty(a)})},this);this.directTouch=this.allowDG=!1;this.stickyTracking=!0;this.animate=null;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};l.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},this);this.boostClear&&this.boostClear()};l.prototype.hasExtremes=function(a){var c=this.options,d=this.xAxis&&this.xAxis.options,e=this.yAxis&&this.yAxis.options,g=this.colorAxis&&this.colorAxis.options;
65
+ return c.data.length>(c.boostThreshold||Number.MAX_VALUE)&&y(e.min)&&y(e.max)&&(!a||y(d.min)&&y(d.max))&&(!g||y(g.min)&&y(g.max))};l.prototype.destroyGraphics=function(){var a=this,c=this.points,e,g;if(c)for(g=0;g<c.length;g+=1)(e=c[g])&&e.destroyElements&&e.destroyElements();["graph","area","tracker"].forEach(function(c){a[c]&&(a[c]=a[c].destroy())})};c.forEach(function(c){p[c]&&(p[c].boostThreshold=5E3,p[c].boostData=[],a[c].prototype.fillOpacity=!0)})});u(h,"modules/boost/named-colors.js",[h["parts/Globals.js"]],
66
+ function(e){var h={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",
67
+ darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",
68
+ goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",
69
+ lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",
70
+ oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",
71
+ skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return e.Color.prototype.names=h});u(h,"modules/boost/boost.js",[h["parts/Globals.js"],h["modules/boost/boost-utils.js"],h["modules/boost/boost-init.js"]],function(e,h,c){h=
72
+ h.hasWebGLSupport;h()?c():"undefined"!==typeof e.initCanvasBoost?e.initCanvasBoost():e.error(26)});u(h,"masters/modules/boost.src.js",[],function(){})});
73
73
  //# sourceMappingURL=boost.js.map