dealpos 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/POS/3rdpartylicenses.txt +1645 -0
  2. package/POS/assets/icons/icon-128x128.png +0 -0
  3. package/POS/assets/icons/icon-144x144.png +0 -0
  4. package/POS/assets/icons/icon-152x152.png +0 -0
  5. package/POS/assets/icons/icon-192x192.png +0 -0
  6. package/POS/assets/icons/icon-384x384.png +0 -0
  7. package/POS/assets/icons/icon-512x512.png +0 -0
  8. package/POS/assets/icons/icon-72x72.png +0 -0
  9. package/POS/assets/icons/icon-96x96.png +0 -0
  10. package/POS/chunk-26YXEYJK.js +1 -0
  11. package/POS/chunk-2DNKBN6G.js +1 -0
  12. package/POS/chunk-2FKYC63K.js +1 -0
  13. package/POS/chunk-2FWFPV5I.js +1 -0
  14. package/POS/chunk-2OSKJOSS.js +1 -0
  15. package/POS/chunk-2OXMYDYT.js +1 -0
  16. package/POS/chunk-2OZMF5DL.js +1 -0
  17. package/POS/chunk-2W3MAOOP.js +1 -0
  18. package/POS/chunk-33XCA4ER.js +14 -0
  19. package/POS/chunk-35V3VL6F.js +1 -0
  20. package/POS/chunk-3A7KA4YN.js +1 -0
  21. package/POS/chunk-3BODNSIH.js +1 -0
  22. package/POS/chunk-3FOIEYAT.js +4 -0
  23. package/POS/chunk-3PFXZUB6.js +7 -0
  24. package/POS/chunk-3QABPVXZ.js +3 -0
  25. package/POS/chunk-4BDQDYVB.js +1 -0
  26. package/POS/chunk-4CBDK52E.js +4 -0
  27. package/POS/chunk-4G26RHGA.js +1 -0
  28. package/POS/chunk-4MX7Q77M.js +2 -0
  29. package/POS/chunk-4UAHOTBD.js +1 -0
  30. package/POS/chunk-56EQRIAH.js +1 -0
  31. package/POS/chunk-5KBFQLSN.js +1 -0
  32. package/POS/chunk-5W7F4VJH.js +1 -0
  33. package/POS/chunk-64PDX5ZX.js +1 -0
  34. package/POS/chunk-65YDOCXF.js +1 -0
  35. package/POS/chunk-67VBXFVT.js +6 -0
  36. package/POS/chunk-6BQZINLH.js +1 -0
  37. package/POS/chunk-6L6CIH5M.js +1 -0
  38. package/POS/chunk-6PXJEE4K.js +1 -0
  39. package/POS/chunk-6S4Q5VRA.js +1 -0
  40. package/POS/chunk-75STMWUR.js +6 -0
  41. package/POS/chunk-76C33PK5.js +1 -0
  42. package/POS/chunk-77D6X2SQ.js +11 -0
  43. package/POS/chunk-7DWKYGA4.js +1 -0
  44. package/POS/chunk-7M6CWVRI.js +1 -0
  45. package/POS/chunk-7Q3437BR.js +1 -0
  46. package/POS/chunk-AA32I4UN.js +1 -0
  47. package/POS/chunk-AJMKP7YZ.js +1 -0
  48. package/POS/chunk-AOJW6WJT.js +1 -0
  49. package/POS/chunk-AOPKPEVH.js +1 -0
  50. package/POS/chunk-APJK7OH2.js +2 -0
  51. package/POS/chunk-APYNCJ2H.js +1 -0
  52. package/POS/chunk-AUYYX2UQ.js +45 -0
  53. package/POS/chunk-AVDGNFC7.js +1 -0
  54. package/POS/chunk-AWGZKLLY.js +1 -0
  55. package/POS/chunk-AYKDALBT.js +1 -0
  56. package/POS/chunk-B2OT7HA4.js +4 -0
  57. package/POS/chunk-B36XIZVJ.js +1 -0
  58. package/POS/chunk-B5FODXLM.js +1 -0
  59. package/POS/chunk-B7RM5KKA.js +1 -0
  60. package/POS/chunk-BCVO66L3.js +5 -0
  61. package/POS/chunk-BETKNHFK.js +1 -0
  62. package/POS/chunk-BH2ZVZIU.js +1 -0
  63. package/POS/chunk-BHXS5IA6.js +1 -0
  64. package/POS/chunk-BLZEDUEI.js +1 -0
  65. package/POS/chunk-BYXBJQAS.js +0 -0
  66. package/POS/chunk-BZC5JINN.js +5 -0
  67. package/POS/chunk-C43IYFVU.js +1 -0
  68. package/POS/chunk-CBW7IA6S.js +1 -0
  69. package/POS/chunk-CCGPOEE3.js +4 -0
  70. package/POS/chunk-CFIFFKWA.js +1 -0
  71. package/POS/chunk-CI45CZMG.js +1 -0
  72. package/POS/chunk-CJO25BBP.js +1 -0
  73. package/POS/chunk-CLL3TEL5.js +1 -0
  74. package/POS/chunk-CPUGWH3I.js +1 -0
  75. package/POS/chunk-CPW6IWAB.js +1 -0
  76. package/POS/chunk-CRSUSQ3W.js +1 -0
  77. package/POS/chunk-CW27R4N3.js +2 -0
  78. package/POS/chunk-CWU5DTSS.js +1 -0
  79. package/POS/chunk-CY2FQLP4.js +1 -0
  80. package/POS/chunk-DRGWLGRP.js +1 -0
  81. package/POS/chunk-DXF4M3Z6.js +1 -0
  82. package/POS/chunk-E72IOARD.js +1 -0
  83. package/POS/chunk-EA7CLJMQ.js +18 -0
  84. package/POS/chunk-ECMSF3OR.js +1 -0
  85. package/POS/chunk-EOFWQEK7.js +1 -0
  86. package/POS/chunk-EQOB7536.js +156 -0
  87. package/POS/chunk-ESD5O3BQ.js +1 -0
  88. package/POS/chunk-EZCHVNC5.js +3 -0
  89. package/POS/chunk-F3ZYFWTM.js +1 -0
  90. package/POS/chunk-F6GAPEFT.js +1 -0
  91. package/POS/chunk-FBR7TAEJ.js +5 -0
  92. package/POS/chunk-FE5LZK5I.js +1 -0
  93. package/POS/chunk-FOEYBSQT.js +2 -0
  94. package/POS/chunk-FWVI7M5F.js +1 -0
  95. package/POS/chunk-G4DDQBH4.js +1 -0
  96. package/POS/chunk-GDFWXFK2.js +1 -0
  97. package/POS/chunk-GHQFOULJ.js +2 -0
  98. package/POS/chunk-GNSQPTDB.js +1 -0
  99. package/POS/chunk-GSLPZSSX.js +1 -0
  100. package/POS/chunk-GVXSG66Q.js +1 -0
  101. package/POS/chunk-H55AJAX5.js +8 -0
  102. package/POS/chunk-HIRUHGYD.js +2 -0
  103. package/POS/chunk-HKR2C3HA.js +1 -0
  104. package/POS/chunk-HSOC6U4B.js +1 -0
  105. package/POS/chunk-I6CGSFEU.js +1 -0
  106. package/POS/chunk-I6YPWC52.js +1 -0
  107. package/POS/chunk-IDDHFZWG.js +1 -0
  108. package/POS/chunk-IE5R6YWY.js +1 -0
  109. package/POS/chunk-IOQ3OION.js +1 -0
  110. package/POS/chunk-IUKSWU5B.js +1 -0
  111. package/POS/chunk-IY6EDHBT.js +1 -0
  112. package/POS/chunk-IZGPRDGN.js +2 -0
  113. package/POS/chunk-J3W6DQKW.js +1 -0
  114. package/POS/chunk-JLWKTGB2.js +1 -0
  115. package/POS/chunk-JM3SJLS7.js +1 -0
  116. package/POS/chunk-JNUC6PO5.js +1 -0
  117. package/POS/chunk-K5XVN3MT.js +1 -0
  118. package/POS/chunk-KBQ5ZM55.js +1 -0
  119. package/POS/chunk-KCNSCS4R.js +1 -0
  120. package/POS/chunk-KI2MQKDF.js +1 -0
  121. package/POS/chunk-KNRLGMUT.js +1 -0
  122. package/POS/chunk-KR4OPCRF.js +1 -0
  123. package/POS/chunk-KW4B7WMB.js +1 -0
  124. package/POS/chunk-KYX6U2UX.js +1 -0
  125. package/POS/chunk-KZNSGBGF.js +2 -0
  126. package/POS/chunk-L3UWNQXB.js +1 -0
  127. package/POS/chunk-LHWN2J4H.js +15 -0
  128. package/POS/chunk-LJUP6CCS.js +1 -0
  129. package/POS/chunk-LY4FOMQ6.css +1 -0
  130. package/POS/chunk-LZ3SKBTU.js +1 -0
  131. package/POS/chunk-M5ONTRWK.js +1 -0
  132. package/POS/chunk-MA7NEQCZ.js +1 -0
  133. package/POS/chunk-MDKYCLYA.js +17 -0
  134. package/POS/chunk-MGDA6GY6.js +1 -0
  135. package/POS/chunk-MWWGZRMN.js +1 -0
  136. package/POS/chunk-NCATMO6T.js +1 -0
  137. package/POS/chunk-NDAI7L23.js +1 -0
  138. package/POS/chunk-NHUK6IK5.js +40 -0
  139. package/POS/chunk-NUZ5K7GT.js +1 -0
  140. package/POS/chunk-O2PELRQA.js +1 -0
  141. package/POS/chunk-OUOP65JB.js +1 -0
  142. package/POS/chunk-OXSD6KML.js +1 -0
  143. package/POS/chunk-PEOMRJUI.js +3 -0
  144. package/POS/chunk-PHGK3EAU.js +1 -0
  145. package/POS/chunk-PLC4GZ67.js +1 -0
  146. package/POS/chunk-PTF6AQY6.js +1 -0
  147. package/POS/chunk-PTXKBWBA.js +1 -0
  148. package/POS/chunk-Q3SJOSAG.js +1 -0
  149. package/POS/chunk-QBDEGNJP.js +1 -0
  150. package/POS/chunk-QCTMAR3L.js +1 -0
  151. package/POS/chunk-QZWOQRAM.js +1 -0
  152. package/POS/chunk-R5VG3XDC.js +1 -0
  153. package/POS/chunk-R7NR3M2Q.js +1 -0
  154. package/POS/chunk-RBKYZOZX.js +3 -0
  155. package/POS/chunk-RHQGCHFI.js +1 -0
  156. package/POS/chunk-RL3GYZVU.js +8 -0
  157. package/POS/chunk-RRKCUSBB.js +1 -0
  158. package/POS/chunk-S4OLP2TR.js +18 -0
  159. package/POS/chunk-SDH32O74.js +1 -0
  160. package/POS/chunk-SE7OFLAL.js +1 -0
  161. package/POS/chunk-SEVYM4GA.js +1 -0
  162. package/POS/chunk-SGRJ5YG2.js +1 -0
  163. package/POS/chunk-SNNLFZQ3.js +3 -0
  164. package/POS/chunk-SVNOJVQF.js +1 -0
  165. package/POS/chunk-TCLYGBIP.js +1 -0
  166. package/POS/chunk-TIDDF777.js +1 -0
  167. package/POS/chunk-TJQIORGG.js +1 -0
  168. package/POS/chunk-TK5H65DN.js +1 -0
  169. package/POS/chunk-TLHNFDPP.js +1 -0
  170. package/POS/chunk-TVNDX4KA.js +3 -0
  171. package/POS/chunk-TX6G2LAN.js +1 -0
  172. package/POS/chunk-U3O6FO5X.js +1 -0
  173. package/POS/chunk-UJMXJABS.js +1 -0
  174. package/POS/chunk-UNGT7KQO.js +1 -0
  175. package/POS/chunk-UPRH3DLS.js +1 -0
  176. package/POS/chunk-UVFDCVT4.js +2 -0
  177. package/POS/chunk-V22EVF6N.js +1 -0
  178. package/POS/chunk-V4RKZMUB.js +11 -0
  179. package/POS/chunk-VBOV2ZGQ.js +1 -0
  180. package/POS/chunk-VGGNSOCP.js +1 -0
  181. package/POS/chunk-VLGOEX3D.js +24 -0
  182. package/POS/chunk-VPAQFQA7.js +1 -0
  183. package/POS/chunk-VSMYP4AC.js +1 -0
  184. package/POS/chunk-VXCP4DBC.js +1 -0
  185. package/POS/chunk-W43P2XHR.js +1 -0
  186. package/POS/chunk-W7PIRMKD.js +1 -0
  187. package/POS/chunk-WG6PV6VL.js +4 -0
  188. package/POS/chunk-WK4T26FX.js +2 -0
  189. package/POS/chunk-WKS7JIOA.js +1 -0
  190. package/POS/chunk-WKXE4B24.js +1 -0
  191. package/POS/chunk-WLRXTHLM.js +1 -0
  192. package/POS/chunk-WSZGVB3P.js +1 -0
  193. package/POS/chunk-WXHOQKTU.js +1 -0
  194. package/POS/chunk-X55EKFUZ.js +1 -0
  195. package/POS/chunk-X7QMXCEW.js +4 -0
  196. package/POS/chunk-XIGLLWLV.js +1 -0
  197. package/POS/chunk-XRKZOON6.js +4 -0
  198. package/POS/chunk-XW2QKXZF.js +5 -0
  199. package/POS/chunk-XZPCPUT7.js +1 -0
  200. package/POS/chunk-Y5SPDICN.js +2 -0
  201. package/POS/chunk-Y7XBMFXR.js +1 -0
  202. package/POS/chunk-YATUCULL.js +1 -0
  203. package/POS/chunk-YBFOOZH4.js +2 -0
  204. package/POS/chunk-YBINYTS7.js +1 -0
  205. package/POS/chunk-YE2HNBMX.js +1 -0
  206. package/POS/chunk-YENHZRM5.js +9 -0
  207. package/POS/chunk-YHCFOJEX.js +1 -0
  208. package/POS/chunk-YKBQYDEJ.js +2 -0
  209. package/POS/chunk-YPFXYXHP.js +8 -0
  210. package/POS/chunk-YRHYSRBM.js +1 -0
  211. package/POS/chunk-YRITVFOW.js +1 -0
  212. package/POS/chunk-YRNTUREW.js +1 -0
  213. package/POS/chunk-YXRRTX7W.js +1 -0
  214. package/POS/chunk-Z426RGUL.js +24 -0
  215. package/POS/chunk-ZB45Y55B.js +1 -0
  216. package/POS/chunk-ZGRVB4IB.js +1 -0
  217. package/POS/chunk-ZJ3TX62Q.js +1 -0
  218. package/POS/chunk-ZKWXTWYY.js +1 -0
  219. package/POS/index.html +33 -0
  220. package/POS/main-CNMNNNEI.js +4 -0
  221. package/POS/main-VPAR6OBK.css +1 -0
  222. package/POS/manifest.webmanifest +59 -0
  223. package/POS/media/color-727V6BA6.png +0 -0
  224. package/POS/media/hue-3YTJE6JS.png +0 -0
  225. package/POS/media/primeicons-4GST5W3O.woff2 +0 -0
  226. package/POS/media/primeicons-DHQU4SEP.svg +345 -0
  227. package/POS/media/primeicons-GEFHGEHP.ttf +0 -0
  228. package/POS/media/primeicons-P53SE5CV.woff +0 -0
  229. package/POS/media/primeicons-RSSEDYLY.eot +0 -0
  230. package/POS/polyfills-FHOOFFEX.js +2 -0
  231. package/POS/scripts-3E2G6IZ4.js +10 -0
  232. package/POS/styles-T7FPZRNG.css +25 -0
  233. package/Styles/Master/app_custom.css +18 -0
  234. package/Styles/Master/login_custom.css +0 -0
  235. package/Styles/Print/PaperSize8cm_custom.css +1 -0
  236. package/Styles/Print/PaperSizeA4_custom.css +1 -0
  237. package/StylesB/Master/app_custom.css +0 -0
  238. package/package.json +1 -0
@@ -0,0 +1 @@
1
+ import{ga as w}from"./chunk-2FKYC63K.js";import{Ba as U,Fc as Y,Ga as I,I as N,Ia as j,Lb as $,M as T,Mb as B,Mc as F,Oa as d,Q as M,V as b,Va as g,a as y,da as v,fb as z,gc as V,ha as L,ia as O,ja as E,ka as m,kd as q,la as x,lb as H,o as f,ob as k,p as R,pa as P,qa as D,qb as W,rd as G,t as u,z as A}from"./chunk-H55AJAX5.js";var tt=["*"],S;function et(){if(S===void 0&&(S=null,typeof window<"u")){let r=window;r.trustedTypes!==void 0&&(S=r.trustedTypes.createPolicy("angular#components",{createHTML:c=>c}))}return S}function _(r){return et()?.createHTML(r)||r}function J(r){return Error(`Unable to find icon with the name "${r}"`)}function nt(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function K(r){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${r}".`)}function Q(r){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${r}".`)}var a=class{constructor(c,t,e){this.url=c,this.svgText=t,this.options=e}},it=(()=>{class r{constructor(t,e,n,i){this._httpClient=t,this._sanitizer=e,this._errorHandler=i,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=n}addSvgIcon(t,e,n){return this.addSvgIconInNamespace("",t,e,n)}addSvgIconLiteral(t,e,n){return this.addSvgIconLiteralInNamespace("",t,e,n)}addSvgIconInNamespace(t,e,n,i){return this._addSvgIconConfig(t,e,new a(n,null,i))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,n,i){let o=this._sanitizer.sanitize(d.HTML,n);if(!o)throw Q(n);let s=_(o);return this._addSvgIconConfig(t,e,new a("",s,i))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,n){return this._addSvgIconSetConfig(t,new a(e,null,n))}addSvgIconSetLiteralInNamespace(t,e,n){let i=this._sanitizer.sanitize(d.HTML,e);if(!i)throw Q(e);let o=_(i);return this._addSvgIconSetConfig(t,new a("",o,n))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(...t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){let e=this._sanitizer.sanitize(d.RESOURCE_URL,t);if(!e)throw K(t);let n=this._cachedIconsByUrl.get(e);return n?f(C(n)):this._loadSvgIconFromConfig(new a(t,null)).pipe(v(i=>this._cachedIconsByUrl.set(e,i)),u(i=>C(i)))}getNamedSvgIcon(t,e=""){let n=X(e,t),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(e,t),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);let o=this._iconSetConfigs.get(e);return o?this._getSvgFromIconSetConfigs(t,o):R(J(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?f(C(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(u(e=>C(e)))}_getSvgFromIconSetConfigs(t,e){let n=this._extractIconWithNameFromAnySet(t,e);if(n)return f(n);let i=e.filter(o=>!o.svgText).map(o=>this._loadSvgIconSetFromConfig(o).pipe(N(s=>{let h=`Loading icon set URL: ${this._sanitizer.sanitize(d.RESOURCE_URL,o.url)} failed: ${s.message}`;return this._errorHandler.handleError(new Error(h)),f(null)})));return A(i).pipe(u(()=>{let o=this._extractIconWithNameFromAnySet(t,e);if(!o)throw J(t);return o}))}_extractIconWithNameFromAnySet(t,e){for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.svgText&&i.svgText.toString().indexOf(t)>-1){let o=this._svgElementFromConfig(i),s=this._extractSvgIconFromSet(o,t,i.options);if(s)return s}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(v(e=>t.svgText=e),u(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?f(null):this._fetchIcon(t).pipe(v(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,n){let i=t.querySelector(`[id="${e}"]`);if(!i)return null;let o=i.cloneNode(!0);if(o.removeAttribute("id"),o.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(o,n);if(o.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(o),n);let s=this._svgElementFromString(_("<svg></svg>"));return s.appendChild(o),this._setSvgAttributes(s,n)}_svgElementFromString(t){let e=this._document.createElement("DIV");e.innerHTML=t;let n=e.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(t){let e=this._svgElementFromString(_("<svg></svg>")),n=t.attributes;for(let i=0;i<n.length;i++){let{name:o,value:s}=n[i];o!=="id"&&e.setAttribute(o,s)}for(let i=0;i<t.childNodes.length;i++)t.childNodes[i].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[i].cloneNode(!0));return e}_setSvgAttributes(t,e){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserveAspectRatio","xMidYMid meet"),t.setAttribute("focusable","false"),e&&e.viewBox&&t.setAttribute("viewBox",e.viewBox),t}_fetchIcon(t){let{url:e,options:n}=t,i=n?.withCredentials??!1;if(!this._httpClient)throw nt();if(e==null)throw Error(`Cannot fetch icon from URL "${e}".`);let o=this._sanitizer.sanitize(d.RESOURCE_URL,e);if(!o)throw K(e);let s=this._inProgressUrlFetches.get(o);if(s)return s;let l=this._httpClient.get(o,{responseType:"text",withCredentials:i}).pipe(u(h=>_(h)),M(()=>this._inProgressUrlFetches.delete(o)),b());return this._inProgressUrlFetches.set(o,l),l}_addSvgIconConfig(t,e,n){return this._svgIconConfigs.set(X(t,e),n),this}_addSvgIconSetConfig(t,e){let n=this._iconSetConfigs.get(t);return n?n.push(e):this._iconSetConfigs.set(t,[e]),this}_svgElementFromConfig(t){if(!t.svgElement){let e=this._svgElementFromString(t.svgText);this._setSvgAttributes(e,t.options),t.svgElement=e}return t.svgElement}_getIconConfigFromResolvers(t,e){for(let n=0;n<this._resolvers.length;n++){let i=this._resolvers[n](e,t);if(i)return ot(i)?new a(i.url,null,i.options):new a(i,null)}}static{this.\u0275fac=function(e){return new(e||r)(m(q,8),m(G),m(F,8),m(I))}}static{this.\u0275prov=L({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();function C(r){return r.cloneNode(!0)}function X(r,c){return r+":"+c}function ot(r){return!!(r.url&&r.options)}var rt=new E("MAT_ICON_DEFAULT_OPTIONS"),st=new E("mat-icon-location",{providedIn:"root",factory:ct});function ct(){let r=x(F),c=r?r.location:null;return{getPathname:()=>c?c.pathname+c.search:""}}var Z=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],at=Z.map(r=>`[${r}]`).join(", "),lt=/^url\(['"]?#(.*?)['"]?\)$/,Nt=(()=>{class r{get color(){return this._color||this._defaultColor}set color(t){this._color=t}get svgIcon(){return this._svgIcon}set svgIcon(t){t!==this._svgIcon&&(t?this._updateSvgIcon(t):this._svgIcon&&this._clearSvgElement(),this._svgIcon=t)}get fontSet(){return this._fontSet}set fontSet(t){let e=this._cleanupFontValue(t);e!==this._fontSet&&(this._fontSet=e,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(t){let e=this._cleanupFontValue(t);e!==this._fontIcon&&(this._fontIcon=e,this._updateFontIconClasses())}constructor(t,e,n,i,o,s){this._elementRef=t,this._iconRegistry=e,this._location=i,this._errorHandler=o,this.inline=!1,this._previousFontSetClass=[],this._currentIconFetch=y.EMPTY,s&&(s.color&&(this.color=this._defaultColor=s.color),s.fontSet&&(this.fontSet=s.fontSet)),n||t.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(t){if(!t)return["",""];let e=t.split(":");switch(e.length){case 1:return["",e[0]];case 2:return e;default:throw Error(`Invalid icon name: "${t}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let t=this._elementsWithExternalReferences;if(t&&t.size){let e=this._location.getPathname();e!==this._previousPath&&(this._previousPath=e,this._prependPathToReferences(e))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(t){this._clearSvgElement();let e=this._location.getPathname();this._previousPath=e,this._cacheChildrenWithExternalReferences(t),this._prependPathToReferences(e),this._elementRef.nativeElement.appendChild(t)}_clearSvgElement(){let t=this._elementRef.nativeElement,e=t.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();e--;){let n=t.childNodes[e];(n.nodeType!==1||n.nodeName.toLowerCase()==="svg")&&n.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let t=this._elementRef.nativeElement,e=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(n=>n.length>0);this._previousFontSetClass.forEach(n=>t.classList.remove(n)),e.forEach(n=>t.classList.add(n)),this._previousFontSetClass=e,this.fontIcon!==this._previousFontIconClass&&!e.includes("mat-ligature-font")&&(this._previousFontIconClass&&t.classList.remove(this._previousFontIconClass),this.fontIcon&&t.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(t){return typeof t=="string"?t.trim().split(" ")[0]:t}_prependPathToReferences(t){let e=this._elementsWithExternalReferences;e&&e.forEach((n,i)=>{n.forEach(o=>{i.setAttribute(o.name,`url('${t}#${o.value}')`)})})}_cacheChildrenWithExternalReferences(t){let e=t.querySelectorAll(at),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i<e.length;i++)Z.forEach(o=>{let s=e[i],l=s.getAttribute(o),h=l?l.match(lt):null;if(h){let p=n.get(s);p||(p=[],n.set(s,p)),p.push({name:o,value:h[1]})}})}_updateSvgIcon(t){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),t){let[e,n]=this._splitIconName(t);e&&(this._svgNamespace=e),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,e).pipe(T(1)).subscribe(i=>this._setSvgElement(i),i=>{let o=`Error retrieving icon ${e}:${n}! ${i.message}`;this._errorHandler.handleError(new Error(o))})}}static{this.\u0275fac=function(e){return new(e||r)(g(j),g(it),U("aria-hidden"),g(st),g(I),g(rt,8))}}static{this.\u0275cmp=P({type:r,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(e,n){e&2&&(H("data-mat-icon-type",n._usingFontIcon()?"font":"svg")("data-mat-icon-name",n._svgName||n.fontIcon)("data-mat-icon-namespace",n._svgNamespace||n.fontSet)("fontIcon",n._usingFontIcon()?n.fontIcon:null),W(n.color?"mat-"+n.color:""),k("mat-icon-inline",n.inline)("mat-icon-no-color",n.color!=="primary"&&n.color!=="accent"&&n.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",Y],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],standalone:!0,features:[z,V],ngContentSelectors:tt,decls:1,vars:0,template:function(e,n){e&1&&($(),B(0))},styles:["mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0})}}return r})(),Tt=(()=>{class r{static{this.\u0275fac=function(e){return new(e||r)}}static{this.\u0275mod=D({type:r})}static{this.\u0275inj=O({imports:[w,w]})}}return r})();export{Nt as a,Tt as b};
@@ -0,0 +1 @@
1
+ import{a as $}from"./chunk-75STMWUR.js";import{a as Z}from"./chunk-ZJ3TX62Q.js";import{b as W}from"./chunk-Z426RGUL.js";import{Aa as N,Ba as D}from"./chunk-2FKYC63K.js";import{a as j}from"./chunk-26YXEYJK.js";import{$b as R,Ab as s,Bb as h,Cb as C,Db as x,Ea as g,Fb as f,Ha as v,Ib as _,Jc as z,Kb as r,Qa as U,Rc as L,Sc as I,Ua as a,Zb as y,ac as k,bb as T,cd as P,gb as u,gc as E,la as S,mb as m,nb as F,pa as b,qc as V,sc as B,ub as w,wa as c,xa as d,zb as l}from"./chunk-H55AJAX5.js";import{j as O}from"./chunk-KW4B7WMB.js";function X(t,i){if(t&1){let e=f();l(0,"img",7),_("error",function(o){c(e);let p=r();return d(p.onImageError(o))}),s()}if(t&2){let e=r();F("display",e.isImageError()?"none":"block"),m("src",e.imageUrl(),U)}}function Y(t,i){t&1&&(l(0,"div",3),h(1,"i",8),s())}function ee(t,i){if(t&1){let e=f();C(0),l(1,"a",10),_("click",function(o){return c(e),r(2).onEdit(o),d(o.stopPropagation())}),h(2,"i",11),s(),h(3,"div",12),x()}if(t&2){let e=r(2);a(),m("matTooltip",e.editBtntooltip())}}function te(t,i){if(t&1){let e=f();C(0),l(1,"a",13),_("click",function(o){return c(e),r(2).onRemove(),d(o.stopPropagation())}),h(2,"i",14),s(),x()}if(t&2){let e=r(2);a(),m("matTooltip",e.removeBtntooltip())}}function ne(t,i){if(t&1){let e=f();C(0),l(1,"div",9),_("click",function(o){return c(e),d(o.stopPropagation())}),u(2,ee,4,1,"ng-container",5)(3,te,3,1,"ng-container",5),s(),x()}if(t&2){let e=r();a(2),m("ngIf",e.showEdit),a(),m("ngIf",e.showRemove)}}function ie(t,i){if(t&1&&(l(0,"div",6),y(1),V(2,"limitText"),s()),t&2){let e,n=r();m("matTooltip",((e=n.title())==null?null:e.length)>15?n.title().Display:""),a(),R(" ",B(2,2,n.title(),15)," ")}}var be=BiggerPicture({target:document.body}),M=class t{biggerPicService=S($);title=v(null);imageUrl=v(null);showEdit=!0;showRemove=!0;onEditEvent=new g;onRemoveEvent=new g;removeBtntooltip=v("Remove Image");editBtntooltip=v("Crop Image");isImageError=T(!1);constructor(){z(()=>{this.imageUrl()&&this.isImageError.set(!1)},{allowSignalWrites:!0})}onEdit(i){this.onEditEvent.emit(i)}onRemove(){this.onRemoveEvent.emit()}onZoom(i,e){return O(this,null,function*(){j.IsNotEmpty(i)&&this.isImageError()==!1&&this.biggerPicService.openBiggerPicture(e,i)})}onImageError(i){this.isImageError.set(!0)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["image-container"]],inputs:{title:[1,"title"],imageUrl:[1,"imageUrl"],showEdit:"showEdit",showRemove:"showRemove",removeBtntooltip:[1,"removeBtntooltip"],editBtntooltip:[1,"editBtntooltip"]},outputs:{onEditEvent:"onEdit",onRemoveEvent:"onRemove"},standalone:!0,features:[E],decls:7,vars:4,consts:[[1,"image_temporary","productUpload_defaultSize","me-2","image-upload"],[1,"imgContainer"],[1,"imgUpload",3,"src","display"],[1,"imgUpload","d-flex","align-items-center","justify-content-center"],[1,"overlay","pointer",3,"click"],[4,"ngIf"],[1,"overlay-img-title",3,"matTooltip"],[1,"imgUpload",3,"error","src"],[1,"fa-solid","fa-image","text-secondary","pb-4",2,"font-size","40px"],[1,"overlay-title","overlay-actions","d-flex","justify-content-center","align-items-center",2,"column-gap","24px",3,"click"],["matTooltipPosition","above",1,"edit-icon","image_upload_icon","cursor-pointer",3,"click","matTooltip"],[1,"fa","fa-file-pen"],[2,"width","2px","height","20px","background-color","white"],["matTooltipPosition","above",1,"trash-icon","image_upload_icon","pointer","cursor-pointer",3,"click","matTooltip"],[1,"fa","fa-trash"]],template:function(e,n){e&1&&(l(0,"div",0)(1,"div",1),u(2,X,1,3,"img",2)(3,Y,2,0,"div",3),l(4,"div",4),_("click",function(p){return n.onZoom(n.imageUrl(),p)}),u(5,ne,4,2,"ng-container",5),s(),u(6,ie,3,5,"div",6),s()()),e&2&&(a(2),w(n.imageUrl()?2:-1),a(),w(!n.imageUrl()||n.isImageError()?3:-1),a(2),m("ngIf",n.showEdit||n.showRemove),a(),w(n.title()?6:-1))},dependencies:[P,I,D,N,Z],styles:[".image_temporary[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid #dde2f0;border-radius:6px;cursor:auto}.productUpload_defaultSize[_ngcontent-%COMP%]{width:140px;height:140px}.imgUpload[_ngcontent-%COMP%]{position:absolute;overflow:hidden;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;object-fit:scale-down}.imgContainer[_ngcontent-%COMP%]{width:95px;height:95px}.image_upload_icon[_ngcontent-%COMP%]{font-size:20px;color:#fff}.image-upload[_ngcontent-%COMP%]{border:1px solid #dde2f0;position:relative}.overlay[_ngcontent-%COMP%]{position:absolute;inset:0;height:100%;width:100%;opacity:0;transition:.3s ease;background-color:#6e6e6e9a;border:1px solid rgba(110,110,110,.603);border-radius:6px}.imgContainer[_ngcontent-%COMP%]:hover .overlay[_ngcontent-%COMP%]{opacity:1}.imgContainer[_ngcontent-%COMP%]:hover div.overlay-img-title[_ngcontent-%COMP%]{display:none}.overlay-title[_ngcontent-%COMP%], .overlay-img-title[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;background:#00000080;width:100%;transition:.5s ease;opacity:1;color:#fff;font-size:12px;padding-top:0;text-align:center;border:1px solid rgba(88,88,88,.5);border-bottom-right-radius:6px;border-bottom-left-radius:6px}.trash-icon[_ngcontent-%COMP%]{color:#fff;font-size:18px;text-align:center;cursor:pointer}fieldset[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{all:revert}legend[_ngcontent-%COMP%]{color:#9da2a6!important}.fa-upload[_ngcontent-%COMP%]{position:absolute;top:74px;font-size:14px;right:39px;background:#fff;padding:5px;border-radius:15px;box-shadow:1px 1px 5px}"]})};function oe(t,i){if(t&1&&(C(0),l(1,"legend",9)(2,"span"),y(3),s()(),x()),t&2){let e=r();a(3),k("Image ",e.totalImagesLength,"/",e.maxFile,"")}}function re(t,i){if(t&1){let e=f();l(0,"POS-uppy",10),_("multipleFilesUploaded",function(o){c(e);let p=r();return d(p.onUploadFile(o))})("fileRemoved",function(o){c(e);let p=r();return d(p.removeImage(o))}),s()}if(t&2){let e=r();m("uppyCoreConfiguration",e.uppyCoreConfiguration)}}function ae(t,i){if(t&1){let e=f();C(0),l(1,"image-container",11),_("onEdit",function(o){let p=c(e),A=p.$implicit,G=p.index,H=r();return d(H.onEdit(A.ImageURL,G,o))})("onRemove",function(){let o=c(e).index,p=r();return d(p.onRemove(o))}),s(),x()}if(t&2){let e=i.$implicit,n=r();a(),m("imageUrl",e.ImageURL)("showEdit",n.showEdit)}}var q=class t{totalImagesLength=0;uppyCoreConfiguration;images=[];showLegend=!0;showEdit=!1;maxFile=0;onUploadEvent=new g;onRemoveEvent=new g;onEditEvent=new g;uploadFiles=new g;removeFile=new g;constructor(){}onUpload(){this.onUploadEvent.emit()}onRemove(i){this.onRemoveEvent.emit(i)}onEdit(i,e,n){this.onEditEvent.emit({imageUrl:i,index:e,element:n})}onUploadFile(i){this.uploadFiles.emit(i)}removeImage(i){this.removeFile.emit(i)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["multiple-images-container"]],inputs:{totalImagesLength:"totalImagesLength",uppyCoreConfiguration:"uppyCoreConfiguration",images:"images",showLegend:"showLegend",showEdit:"showEdit",maxFile:"maxFile"},outputs:{onUploadEvent:"onUpload",onRemoveEvent:"onRemove",onEditEvent:"onEdit",uploadFiles:"uploadFiles",removeFile:"removeFile"},standalone:!0,features:[E],decls:9,vars:3,consts:[[1,"row"],[1,"col-12"],[1,"form-group","p-3","border","rounded"],[4,"ngIf"],[1,"row","mt-3"],[1,"col-md-12"],[3,"uppyCoreConfiguration","multipleFilesUploaded","fileRemoved",4,"ngIf"],[1,"upload_trigger","d-flex","align-items-center","justify-content-center","my-5"],[4,"ngFor","ngForOf"],[1,"w-auto","px-2","text-secondary"],[3,"multipleFilesUploaded","fileRemoved","uppyCoreConfiguration"],[3,"onEdit","onRemove","imageUrl","showEdit"]],template:function(e,n){e&1&&(l(0,"div",0)(1,"div",1)(2,"fieldset",2),u(3,oe,4,2,"ng-container",3),l(4,"div",4)(5,"div",5),u(6,re,1,1,"POS-uppy",6),l(7,"div",7),u(8,ae,2,2,"ng-container",8),s()()()()()()),e&2&&(a(3),m("ngIf",n.showLegend),a(3),m("ngIf",n.images.length!=n.maxFile),a(2),m("ngForOf",n.images))},dependencies:[P,L,I,M,W],styles:[".upload_trigger[_ngcontent-%COMP%]{cursor:pointer;display:inline-block;vertical-align:top;width:100%}.image_temporary[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid #dde2f0;border-radius:6px;cursor:auto}.productUpload_defaultSize[_ngcontent-%COMP%]{width:140px;height:140px}.imgUpload[_ngcontent-%COMP%]{position:absolute;overflow:hidden;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;object-fit:scale-down}.imgContainer[_ngcontent-%COMP%]{width:95px;height:95px}.image-upload[_ngcontent-%COMP%]{border:1px solid #dde2f0;position:relative}.overlay[_ngcontent-%COMP%]{position:absolute;inset:0;height:100%;width:100%;opacity:0;transition:.3s ease;background-color:#6e6e6e9a;border:1px solid rgba(110,110,110,.603);border-radius:6px}.imgContainer[_ngcontent-%COMP%]:hover .overlay[_ngcontent-%COMP%]{opacity:1}.overlay-title[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;background:#00000080;width:100%;transition:.5s ease;opacity:1;color:#fff;font-size:12px;padding-top:0;text-align:center;border:1px solid rgba(88,88,88,.5);border-bottom-right-radius:6px;border-bottom-left-radius:6px}@media only screen and (max-width: 650px){.upload_trigger[_ngcontent-%COMP%]{flex-wrap:wrap;margin-top:.625rem!important;justify-content:center}}@media only screen and (min-device-width: 768px) and (max-device-width: 1112px){.upload_trigger[_ngcontent-%COMP%]{flex-wrap:wrap;margin-top:.625rem!important;justify-content:center}}fieldset[_ngcontent-%COMP%], legend[_ngcontent-%COMP%]{all:revert}legend[_ngcontent-%COMP%]{color:#9da2a6!important}.fa-upload[_ngcontent-%COMP%]{position:absolute;top:74px;font-size:14px;right:39px;background:#fff;padding:5px;border-radius:15px;box-shadow:1px 1px 5px}"]})};export{M as a,q as b};
@@ -0,0 +1,156 @@
1
+ import{a as Wt,e as Ft}from"./chunk-KW4B7WMB.js";var Ht=Ft((_t,Ot)=>{(function(St){typeof Ot=="object"&&Ot.exports?(St.default=St,Ot.exports=St):typeof define=="function"&&define.amd?define("highcharts/modules/boost",["highcharts"],function(l){return St(l),St.Highcharts=l,St}):St(typeof Highcharts<"u"?Highcharts:void 0)})(function(St){"use strict";var l=St?St._modules:{};function at(p,m,L,S){p.hasOwnProperty(m)||(p[m]=S.apply(null,L),typeof CustomEvent=="function"&&St.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:m,module:p[m]}})))}at(l,"Extensions/Boost/Boostables.js",[],function(){return["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"]}),at(l,"Extensions/Boost/BoostableMap.js",[l["Extensions/Boost/Boostables.js"]],function(p){let m={};return p.forEach(L=>{m[L]=!0}),m}),at(l,"Extensions/Boost/BoostChart.js",[l["Extensions/Boost/BoostableMap.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m,L){let{composed:S}=m,{addEvent:I,pick:Y,pushUnique:w}=L;function F(M){let v=M.series,b=M.boost=M.boost||{},n=M.options.boost||{},x=Y(n.seriesThreshold,50);if(v.length>=x)return!0;if(v.length===1)return!1;let e=n.allowForce;if(e===void 0){for(let o of(e=!0,M.xAxis))if(Y(o.min,-1/0)>Y(o.dataMin,-1/0)||Y(o.max,1/0)<Y(o.dataMax,1/0)){e=!1;break}}if(b.forceChartBoost!==void 0){if(e)return b.forceChartBoost;b.forceChartBoost=void 0}let c=0,u=0,a;for(let o of v)(a=o.options).boostThreshold!==0&&o.visible!==!1&&o.type!=="heatmap"&&(p[o.type]&&++c,function(...t){let i=-Number.MAX_VALUE;return t.forEach(function(d){if(d!=null&&d.length!==void 0&&d.length>0)return i=d.length,!0}),i}(o.processedXData,a.data,o.points)>=(a.boostThreshold||Number.MAX_VALUE)&&++u);return b.forceChartBoost=e&&(c===v.length&&u===c||u>5),b.forceChartBoost}function q(M){function v(){M.boost&&M.boost.wgl&&F(M)&&M.boost.wgl.render(M)}I(M,"predraw",function(){M.boost=M.boost||{},M.boost.forceChartBoost=void 0,M.boosted=!1,M.axes.some(x=>x.isPanning)||M.boost.clear?.(),M.boost.canvas&&M.boost.wgl&&F(M)&&M.boost.wgl.allocateBuffer(M),M.boost.markerGroup&&M.xAxis&&M.xAxis.length>0&&M.yAxis&&M.yAxis.length>0&&M.boost.markerGroup.translate(M.xAxis[0].pos,M.yAxis[0].pos)}),I(M,"load",v,{order:-1}),I(M,"redraw",v);let b=-1,n=-1;I(M.pointer,"afterGetHoverData",x=>{let e=x.hoverPoint?.series;if(M.boost=M.boost||{},M.boost.markerGroup&&e){let c=M.inverted?e.yAxis:e.xAxis,u=M.inverted?e.xAxis:e.yAxis;(c&&c.pos!==b||u&&u.pos!==n)&&(M.series.forEach(a=>{a.halo?.hide()}),M.boost.markerGroup.translate(c.pos,u.pos),b=c.pos,n=u.pos)}})}return{compose:function(M,v){return v&&w(S,"Boost.Chart")&&M.prototype.callbacks.push(q),M},getBoostClipRect:function(M,v){let b=M.navigator,n={x:M.plotLeft,y:M.plotTop,width:M.plotWidth,height:M.plotHeight};if(b&&M.inverted?(n.width+=b.top+b.height,b.opposite||(n.x=b.left)):b&&!M.inverted&&(n.height=b.top+b.height-M.plotTop),v.getClipBox){let{xAxis:x,yAxis:e}=v;if(n=v.getClipBox(),M.inverted){let c=n.width;n.width=n.height,n.height=c,n.x=e.pos,n.y=x.pos}else n.x=x.pos,n.y=e.pos}if(v===M){let x=M.inverted?M.xAxis:M.yAxis;x.length<=1&&(n.y=Math.min(x[0].pos,n.y),n.height=x[0].pos-M.plotTop+x[0].len)}return n},isChartSeriesBoosting:F}}),at(l,"Extensions/Boost/WGLDrawMode.js",[],function(){return{area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"}}),at(l,"Extensions/Boost/WGLShader.js",[l["Core/Utilities.js"]],function(p){let{clamp:m,error:L,pick:S}=p;return class{constructor(I){this.errors=[],this.uLocations={},this.gl=I,I&&this.createShader()}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let I=this.stringToProgram(`#version 100
2
+ #define LN10 2.302585092994046
3
+ precision highp float;
4
+ attribute vec4 aVertexPosition;
5
+ attribute vec4 aColor;
6
+ varying highp vec2 position;
7
+ varying highp vec4 vColor;
8
+ uniform mat4 uPMatrix;
9
+ uniform float pSize;
10
+ uniform float translatedThreshold;
11
+ uniform bool hasThreshold;
12
+ uniform bool skipTranslation;
13
+ uniform float xAxisTrans;
14
+ uniform float xAxisMin;
15
+ uniform float xAxisMinPad;
16
+ uniform float xAxisPointRange;
17
+ uniform float xAxisLen;
18
+ uniform bool xAxisPostTranslate;
19
+ uniform float xAxisOrdinalSlope;
20
+ uniform float xAxisOrdinalOffset;
21
+ uniform float xAxisPos;
22
+ uniform bool xAxisCVSCoord;
23
+ uniform bool xAxisIsLog;
24
+ uniform bool xAxisReversed;
25
+ uniform float yAxisTrans;
26
+ uniform float yAxisMin;
27
+ uniform float yAxisMinPad;
28
+ uniform float yAxisPointRange;
29
+ uniform float yAxisLen;
30
+ uniform bool yAxisPostTranslate;
31
+ uniform float yAxisOrdinalSlope;
32
+ uniform float yAxisOrdinalOffset;
33
+ uniform float yAxisPos;
34
+ uniform bool yAxisCVSCoord;
35
+ uniform bool yAxisIsLog;
36
+ uniform bool yAxisReversed;
37
+ uniform bool isBubble;
38
+ uniform bool bubbleSizeByArea;
39
+ uniform float bubbleZMin;
40
+ uniform float bubbleZMax;
41
+ uniform float bubbleZThreshold;
42
+ uniform float bubbleMinSize;
43
+ uniform float bubbleMaxSize;
44
+ uniform bool bubbleSizeAbs;
45
+ uniform bool isInverted;
46
+ float bubbleRadius(){
47
+ float value = aVertexPosition.w;
48
+ float zMax = bubbleZMax;
49
+ float zMin = bubbleZMin;
50
+ float radius = 0.0;
51
+ float pos = 0.0;
52
+ float zRange = zMax - zMin;
53
+ if (bubbleSizeAbs){
54
+ value = value - bubbleZThreshold;
55
+ zMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);
56
+ zMin = 0.0;
57
+ }
58
+ if (value < zMin){
59
+ radius = bubbleZMin / 2.0 - 1.0;
60
+ } else {
61
+ pos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;
62
+ if (bubbleSizeByArea && pos > 0.0){
63
+ pos = sqrt(pos);
64
+ }
65
+ radius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;
66
+ }
67
+ return radius * 2.0;
68
+ }
69
+ float translate(float val,
70
+ float pointPlacement,
71
+ float localA,
72
+ float localMin,
73
+ float minPixelPadding,
74
+ float pointRange,
75
+ float len,
76
+ bool cvsCoord,
77
+ bool isLog,
78
+ bool reversed
79
+ ){
80
+ float sign = 1.0;
81
+ float cvsOffset = 0.0;
82
+ if (cvsCoord) {
83
+ sign *= -1.0;
84
+ cvsOffset = len;
85
+ }
86
+ if (isLog) {
87
+ val = log(val) / LN10;
88
+ }
89
+ if (reversed) {
90
+ sign *= -1.0;
91
+ cvsOffset -= sign * len;
92
+ }
93
+ return sign * (val - localMin) * localA + cvsOffset +
94
+ (sign * minPixelPadding);
95
+ }
96
+ float xToPixels(float value) {
97
+ if (skipTranslation){
98
+ return value;// + xAxisPos;
99
+ }
100
+ return translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;
101
+ }
102
+ float yToPixels(float value, float checkTreshold) {
103
+ float v;
104
+ if (skipTranslation){
105
+ v = value;// + yAxisPos;
106
+ } else {
107
+ v = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;
108
+ if (v > yAxisLen) {
109
+ v = yAxisLen;
110
+ }
111
+ }
112
+ if (checkTreshold > 0.0 && hasThreshold) {
113
+ v = min(v, translatedThreshold);
114
+ }
115
+ return v;
116
+ }
117
+ void main(void) {
118
+ if (isBubble){
119
+ gl_PointSize = bubbleRadius();
120
+ } else {
121
+ gl_PointSize = pSize;
122
+ }
123
+ vColor = aColor;
124
+ if (skipTranslation && isInverted) {
125
+ gl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);
126
+ } else if (isInverted) {
127
+ gl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);
128
+ } else {
129
+ gl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);
130
+ }
131
+ }`,"vertex"),Y=this.stringToProgram(`precision highp float;
132
+ uniform vec4 fillColor;
133
+ varying highp vec2 position;
134
+ varying highp vec4 vColor;
135
+ uniform sampler2D uSampler;
136
+ uniform bool isCircle;
137
+ uniform bool hasColor;
138
+ void main(void) {
139
+ vec4 col = fillColor;
140
+ vec4 tcol = texture2D(uSampler, gl_PointCoord.st);
141
+ if (hasColor) {
142
+ col = vColor;
143
+ }
144
+ if (isCircle) {
145
+ col *= tcol;
146
+ if (tcol.r < 0.0) {
147
+ discard;
148
+ } else {
149
+ gl_FragColor = col;
150
+ }
151
+ } else {
152
+ gl_FragColor = col;
153
+ }
154
+ }`,"fragment"),w=F=>this.gl.getUniformLocation(this.shaderProgram,F);return I&&Y?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,I),this.gl.attachShader(this.shaderProgram,Y),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS)?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=w("uPMatrix"),this.psUniform=w("pSize"),this.fcUniform=w("fillColor"),this.isBubbleUniform=w("isBubble"),this.bubbleSizeAbsUniform=w("bubbleSizeAbs"),this.bubbleSizeAreaUniform=w("bubbleSizeByArea"),this.uSamplerUniform=w("uSampler"),this.skipTranslationUniform=w("skipTranslation"),this.isCircleUniform=w("isCircle"),this.isInverted=w("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1)):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&L("[highcharts boost] shader error - "+this.errors.join(`
155
+ `))}stringToProgram(I,Y){let w=this.gl.createShader(Y==="vertex"?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return this.gl.shaderSource(w,I),this.gl.compileShader(w),this.gl.getShaderParameter(w,this.gl.COMPILE_STATUS)?w:(this.errors.push("when compiling "+Y+` shader:
156
+ `+this.gl.getShaderInfoLog(w)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(I,Y,w,F=1){let q=I.options,M=Number.MAX_VALUE,v=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&I.is("bubble")){let b=I.getPxExtremes();M=S(q.zMin,m(Y,q.displayNegative===!1?q.zThreshold:-Number.MAX_VALUE,M)),v=S(q.zMax,Math.max(v,w)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,I.options.sizeBy!=="width"),this.gl.uniform1i(this.bubbleSizeAbsUniform,I.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",b.minPxSize*F),this.setUniform("bubbleMaxSize",b.maxPxSize*F),this.setUniform("bubbleZMin",M),this.setUniform("bubbleZMax",v),this.setUniform("bubbleZThreshold",I.options.zThreshold)}}setColor(I){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,I[0]/255,I[1]/255,I[2]/255,I[3])}setDrawAsCircle(I){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,I?1:0)}setInverted(I){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,I)}setPMatrix(I){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,I)}setPointSize(I){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,I)}setSkipTranslation(I){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,I===!0?1:0)}setTexture(I){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,I)}setUniform(I,Y){if(this.gl&&this.shaderProgram){let w=this.uLocations[I]=this.uLocations[I]||this.gl.getUniformLocation(this.shaderProgram,I);this.gl.uniform1f(w,Y)}}}}),at(l,"Extensions/Boost/WGLVertexBuffer.js",[],function(){return class{constructor(p,m,L){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=L||2,this.dataComponents=L,this.gl=p,this.shader=m}allocate(p){this.iterator=-1,this.preAllocated=new Float32Array(4*p)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(p,m,L){let S;return this.data=p||[],this.data&&this.data.length!==0||this.preAllocated?(this.components=L||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(S=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||S,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),m),this.gl.enableVertexAttribArray(this.vertAttribute),S=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(p,m,L,S){this.preAllocated&&(this.preAllocated[++this.iterator]=p,this.preAllocated[++this.iterator]=m,this.preAllocated[++this.iterator]=L,this.preAllocated[++this.iterator]=S)}render(p,m,L){let S=this.preAllocated?this.preAllocated.length:this.data.length;return!!this.buffer&&!!S&&((!p||p>S||p<0)&&(p=0),(!m||m>S)&&(m=S),!(p>=m)&&(L=L||"POINTS",this.gl.drawArrays(this.gl[L],p/this.components,(m-p)/this.components),!0))}}}),at(l,"Extensions/Boost/WGLRenderer.js",[l["Core/Color/Color.js"],l["Core/Globals.js"],l["Core/Utilities.js"],l["Extensions/Boost/WGLDrawMode.js"],l["Extensions/Boost/WGLShader.js"],l["Extensions/Boost/WGLVertexBuffer.js"]],function(p,m,L,S,I,Y){let{parse:w}=p,{doc:F,win:q}=m,{isNumber:M,isObject:v,merge:b,objectEach:n,pick:x}=L,e={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},c={scatter:!0,bubble:!0},u=["webgl","experimental-webgl","moz-webgl","webkit-3d"];class a{static orthoMatrix(t,i){return[2/t,0,0,0,0,-(2/i),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(t){let i,d,h;return t.boosted?(i=!!t.options.stacking,d=t.xData||t.options.xData||t.processedXData,h=(i?t.data:d||t.options.data).length,t.type==="treemap"?h*=12:t.type==="heatmap"?h*=6:e[t.type]&&(h*=2),h):0}constructor(t){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=t,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||q.devicePixelRatio||1}setOptions(t){"pixelRatio"in t||(t.pixelRatio=1),b(!0,this.settings,t)}allocateBuffer(t){let i=this.vbuffer,d=0;this.settings.usePreallocated&&(t.series.forEach(h=>{h.boosted&&(d+=a.seriesPointCount(h))}),i&&i.allocate(d))}allocateBufferForSingleSeries(t){let i=this.vbuffer,d=0;this.settings.usePreallocated&&(t.boosted&&(d=a.seriesPointCount(t)),i&&i.allocate(d))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(t,i){let d=this.data,h=this.settings,E=this.vbuffer,N=t.pointArrayMap&&t.pointArrayMap.join(",")==="low,high",{chart:g,options:A,sorted:C,xAxis:W,yAxis:r}=t,k=!!A.stacking,P=A.data,B=t.xAxis.getExtremes(),O=B.min-(t.xAxis.minPointOffset||0),j=B.max+(t.xAxis.minPointOffset||0),Q=t.yAxis.getExtremes(),K=Q.min-(t.yAxis.minPointOffset||0),st=Q.max+(t.yAxis.minPointOffset||0),V=t.xData||A.xData||t.processedXData,y=t.yData||A.yData||t.processedYData,z=t.zData||A.zData||t.processedZData,H=!V||V.length===0,Z=A.connectNulls,$=t.points||!1,f=k?t.data:V||P,s={x:Number.MAX_VALUE,y:0},R={x:-Number.MAX_VALUE,y:0},D=g.index===void 0,X=e[t.type],G=A.zoneAxis||"y",T=A.zones||!1,_=A.threshold,J=this.getPixelRatio(),U=t.chart.plotWidth,tt=!1,ot=!1,rt,dt,et=0,ht=!1,it,nt,ut,xt,ct=-1,mt=!1,yt=!1,gt,kt=!1,At=!1,bt=!1,vt=!1,wt=!0,Dt=!0,Tt,Lt=!1,Nt=!1,Bt=0;if(A.boostData&&A.boostData.length>0)return;A.gapSize&&(Nt=A.gapUnit!=="value"?A.gapSize*t.closestPointRange:A.gapSize),T&&(Tt=[],T.forEach((lt,pt)=>{if(lt.color){let ft=w(lt.color).rgba;ft[0]/=255,ft[1]/=255,ft[2]/=255,Tt[pt]=ft,Lt||lt.value!==void 0||(Lt=ft)}}),Lt||(Lt=w(t.pointAttribs&&t.pointAttribs().fill||t.color).rgba,Lt[0]/=255,Lt[1]/=255,Lt[2]/=255)),g.inverted&&(U=t.chart.plotHeight),t.closestPointRangePx=Number.MAX_VALUE;let Xt=lt=>{lt&&(i.colorData.push(lt[0]),i.colorData.push(lt[1]),i.colorData.push(lt[2]),i.colorData.push(lt[3]))},Et=(lt,pt,ft,Pt=1,Mt)=>{Xt(Mt),J!==1&&(!h.useGPUTranslations||i.skipTranslation)&&(lt*=J,pt*=J,Pt*=J),h.usePreallocated&&E?(E.push(lt,pt,ft?1:0,Pt),Bt+=4):(d.push(lt),d.push(pt),d.push(ft?J:0),d.push(Pt))},zt=()=>{i.segments.length&&(i.segments[i.segments.length-1].to=d.length||Bt)},Ct=()=>{i.segments.length&&i.segments[i.segments.length-1].from===(d.length||Bt)||(zt(),i.segments.push({from:d.length||Bt}))},Rt=(lt,pt,ft,Pt,Mt)=>{Xt(Mt),Et(lt+ft,pt),Xt(Mt),Et(lt,pt),Xt(Mt),Et(lt,pt+Pt),Xt(Mt),Et(lt,pt+Pt),Xt(Mt),Et(lt+ft,pt+Pt),Xt(Mt),Et(lt+ft,pt)};if(Ct(),$&&$.length>0){i.skipTranslation=!0,i.drawMode="TRIANGLES",$[0].node&&$[0].node.levelDynamic&&$.sort((lt,pt)=>{if(lt.node){if(lt.node.levelDynamic>pt.node.levelDynamic)return 1;if(lt.node.levelDynamic<pt.node.levelDynamic)return-1}return 0}),$.forEach(lt=>{let pt,ft,Pt=lt.plotY;if(Pt!==void 0&&!isNaN(Pt)&&lt.y!==null&&lt.shapeArgs){let{x:Mt=0,y:It=0,width:Yt=0,height:Ut=0}=lt.shapeArgs;pt=(ft=g.styledMode?lt.series.colorAttribs(lt):ft=lt.series.pointAttribs(lt))["stroke-width"]||0,bt=w(ft.fill).rgba,bt[0]/=255,bt[1]/=255,bt[2]/=255,t.is("treemap")&&(pt=pt||1,dt=w(ft.stroke).rgba,dt[0]/=255,dt[1]/=255,dt[2]/=255,Rt(Mt,It,Yt,Ut,dt),pt/=2),t.is("heatmap")&&g.inverted&&(Mt=W.len-Mt,It=r.len-It,Yt=-Yt,Ut=-Ut),Rt(Mt+pt,It+pt,Yt-2*pt,Ut-2*pt,bt)}}),zt();return}for(;ct<f.length-1;){if((ut=f[++ct])===void 0)continue;if(D)break;let lt=P&&P[ct];if(!H&&v(lt,!0)&&lt.color&&(bt=w(lt.color).rgba,bt[0]/=255,bt[1]/=255,bt[2]/=255),H?(it=ut[0],nt=ut[1],f[ct+1]&&(yt=f[ct+1][0]),f[ct-1]&&(mt=f[ct-1][0]),ut.length>=3&&(xt=ut[2],ut[2]>i.zMax&&(i.zMax=ut[2]),ut[2]<i.zMin&&(i.zMin=ut[2]))):(it=ut,nt=y[ct],f[ct+1]&&(yt=f[ct+1]),f[ct-1]&&(mt=f[ct-1]),z&&z.length&&(xt=z[ct],z[ct]>i.zMax&&(i.zMax=z[ct]),z[ct]<i.zMin&&(i.zMin=z[ct]))),!Z&&(it===null||nt===null)){Ct();continue}if(yt&&yt>=O&&yt<=j&&(kt=!0),mt&&mt>=O&&mt<=j&&(At=!0),N?(H&&(nt=ut.slice(1,3)),gt=nt[0],nt=nt[1]):k&&(it=ut.x,gt=(nt=ut.stackY)-ut.y),K!=null&&st!=null&&(wt=nt>=K&&nt<=st),it>j&&R.x<j&&(R.x=it,R.y=nt),it<O&&s.x>O&&(s.x=it,s.y=nt),nt!==null||!Z){if(nt===null||!wt&&!kt&&!At){Ct();continue}if(C&&(yt>=O||it>=O)&&(mt<=j||it<=j)&&(vt=!0),vt||kt||At){if(Nt&&it-mt>Nt&&Ct(),T){let pt;T.some((ft,Pt)=>{let Mt=T[Pt-1];return G==="x"?ft.value!==void 0&&it<=ft.value&&(Tt[Pt]&&(!Mt||it>=Mt.value)&&(pt=Tt[Pt]),!0):ft.value!==void 0&&nt<=ft.value&&(Tt[Pt]&&(!Mt||nt>=Mt.value)&&(pt=Tt[Pt]),!0)}),bt=pt||Lt||bt}if(h.useGPUTranslations||(i.skipTranslation=!0,it=W.toPixels(it,!0),nt=r.toPixels(nt,!0),!(it>U)||i.drawMode!=="POINTS")){if(i.hasMarkers&&vt&&tt!==!1&&(t.closestPointRangePx=Math.min(t.closestPointRangePx,Math.abs(it-tt))),!h.useGPUTranslations&&!h.usePreallocated&&tt&&1>Math.abs(it-tt)&&ot&&1>Math.abs(nt-ot)){h.debug.showSkipSummary&&++et;continue}X&&(rt=gt,(gt===!1||gt===void 0)&&(rt=nt<0?nt:0),(N||k)&&!r.logarithmic||(rt=Math.max(_===null?K:_,K)),h.useGPUTranslations||(rt=r.toPixels(rt,!0)),Et(it,rt,0,0,bt)),A.step&&!Dt&&Et(it,ot,0,2,bt),Et(it,nt,0,t.type==="bubble"?xt||1:2,bt),tt=it,ot=nt,ht=!0,Dt=!1}}}}h.debug.showSkipSummary&&console.log("skipped points:",et);let jt=(lt,pt)=>{if(h.useGPUTranslations||(i.skipTranslation=!0,lt.x=W.toPixels(lt.x,!0),lt.y=r.toPixels(lt.y,!0)),pt){this.data=[lt.x,lt.y,0,2].concat(this.data);return}Et(lt.x,lt.y,0,2)};!ht&&Z!==!1&&t.drawMode==="line_strip"&&(s.x<Number.MAX_VALUE&&jt(s,!0),R.x>-Number.MAX_VALUE&&jt(R)),zt()}pushSeries(t){let i=this.markerData,d=this.series,h=this.settings;d.length>0&&d[d.length-1].hasMarkers&&(d[d.length-1].markerTo=i.length),h.debug.timeSeriesProcessing&&console.time("building "+t.type+" series");let E={segments:[],markerFrom:i.length,colorData:[],series:t,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!t.options.marker&&t.options.marker.enabled!==!1,showMarkers:!0,drawMode:S[t.type]||"LINE_STRIP"};t.index>=d.length?d.push(E):d[t.index]=E,this.pushSeriesData(t,E),h.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let i=this.shader;if(!i)return;let d=this.getPixelRatio();i.setUniform("xAxisTrans",t.transA*d),i.setUniform("xAxisMin",t.min),i.setUniform("xAxisMinPad",t.minPixelPadding*d),i.setUniform("xAxisPointRange",t.pointRange),i.setUniform("xAxisLen",t.len*d),i.setUniform("xAxisPos",t.pos*d),i.setUniform("xAxisCVSCoord",!t.horiz),i.setUniform("xAxisIsLog",!!t.logarithmic),i.setUniform("xAxisReversed",!!t.reversed)}setYAxis(t){let i=this.shader;if(!i)return;let d=this.getPixelRatio();i.setUniform("yAxisTrans",t.transA*d),i.setUniform("yAxisMin",t.min),i.setUniform("yAxisMinPad",t.minPixelPadding*d),i.setUniform("yAxisPointRange",t.pointRange),i.setUniform("yAxisLen",t.len*d),i.setUniform("yAxisPos",t.pos*d),i.setUniform("yAxisCVSCoord",!t.horiz),i.setUniform("yAxisIsLog",!!t.logarithmic),i.setUniform("yAxisReversed",!!t.reversed)}setThreshold(t,i){let d=this.shader;d&&(d.setUniform("hasThreshold",t),d.setUniform("translatedThreshold",i))}renderChart(t){let i=this.gl,d=this.settings,h=this.shader,E=this.vbuffer,N=this.getPixelRatio();if(!t)return!1;this.width=t.chartWidth*N,this.height=t.chartHeight*N;let g=this.height,A=this.width;if(!i||!h||!A||!g)return!1;d.debug.timeRendering&&console.time("gl rendering"),i.canvas.width=A,i.canvas.height=g,h.bind(),i.viewport(0,0,A,g),h.setPMatrix(a.orthoMatrix(A,g)),d.lineWidth>1&&!m.isMS&&i.lineWidth(d.lineWidth),E&&(E.build(this.data,"aVertexPosition",4),E.bind()),h.setInverted(t.inverted),this.series.forEach((C,W)=>{let r=C.series.options,k=r.marker,P=r.lineWidth!==void 0?r.lineWidth:1,B=r.threshold,O=M(B),j=C.series.yAxis.getThreshold(B),Q=x(r.marker?r.marker.enabled:null,!!C.series.xAxis.isRadial||null,C.series.closestPointRangePx>2*((r.marker?r.marker.radius:10)||10)),K=this.textureHandles[k&&k.symbol||C.series.symbol]||this.textureHandles.circle,st,V,y,z=[];if(C.segments.length!==0&&C.segments[0].from!==C.segments[0].to&&(K.isReady&&(i.bindTexture(i.TEXTURE_2D,K.handle),h.setTexture(K.handle)),t.styledMode?C.series.markerGroup===C.series.chart.boost?.markerGroup?(delete C.series.markerGroup,C.series.markerGroup=C.series.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"),y=C.series.markerGroup.getStyle("fill"),C.series.markerGroup.destroy(),C.series.markerGroup=C.series.chart.boost?.markerGroup):y=C.series.markerGroup?.getStyle("fill"):(y=C.drawMode==="POINTS"&&C.series.pointAttribs&&C.series.pointAttribs().fill||C.series.color,r.colorByPoint&&(y=C.series.chart.options.colors[W])),C.series.fillOpacity&&r.fillOpacity&&(y=new p(y).setOpacity(x(r.fillOpacity,1)).get()),z=w(y).rgba,d.useAlpha||(z[3]=1),r.boostBlending==="add"?(i.blendFunc(i.SRC_ALPHA,i.ONE),i.blendEquation(i.FUNC_ADD)):r.boostBlending==="mult"||r.boostBlending==="multiply"?i.blendFunc(i.DST_COLOR,i.ZERO):r.boostBlending==="darken"?(i.blendFunc(i.ONE,i.ONE),i.blendEquation(i.FUNC_MIN)):i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA),h.reset(),C.colorData.length>0?(h.setUniform("hasColor",1),(V=new Y(i,h)).build(Array(C.segments[0].from).concat(C.colorData),"aColor",4),V.bind()):(h.setUniform("hasColor",0),i.disableVertexAttribArray(i.getAttribLocation(h.getProgram(),"aColor"))),h.setColor(z),this.setXAxis(C.series.xAxis),this.setYAxis(C.series.yAxis),this.setThreshold(O,j),C.drawMode==="POINTS"&&h.setPointSize(2*x(r.marker&&r.marker.radius,.5)*N),h.setSkipTranslation(C.skipTranslation),C.series.type==="bubble"&&h.setBubbleUniforms(C.series,C.zMin,C.zMax,N),h.setDrawAsCircle(c[C.series.type]||!1),E)){if(P>0||C.drawMode!=="LINE_STRIP")for(st=0;st<C.segments.length;st++)E.render(C.segments[st].from,C.segments[st].to,C.drawMode);if(C.hasMarkers&&Q)for(h.setPointSize(2*x(r.marker&&r.marker.radius,5)*N),h.setDrawAsCircle(!0),st=0;st<C.segments.length;st++)E.render(C.segments[st].from,C.segments[st].to,"POINTS")}}),d.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(t){if(this.clear(),t.renderer.forExport)return this.renderChart(t);this.isInited?this.renderChart(t):setTimeout(()=>{this.render(t)},1)}setSize(t,i){let d=this.shader;d&&(this.width!==t||this.height!==i)&&(this.width=t,this.height=i,d.bind(),d.setPMatrix(a.orthoMatrix(t,i)))}init(t,i){let d=this.settings;if(this.isInited=!1,!t)return!1;d.debug.timeSetup&&console.time("gl setup");for(let g=0;g<u.length&&(this.gl=t.getContext(u[g],{}),!this.gl);++g);let h=this.gl;if(!h)return!1;i||this.flush(),h.enable(h.BLEND),h.blendFunc(h.SRC_ALPHA,h.ONE_MINUS_SRC_ALPHA),h.disable(h.DEPTH_TEST),h.depthFunc(h.LESS);let E=this.shader=new I(h);if(!E)return!1;this.vbuffer=new Y(h,E);let N=(g,A)=>{let C={isReady:!1,texture:F.createElement("canvas"),handle:h.createTexture()},W=C.texture.getContext("2d");this.textureHandles[g]=C,C.texture.width=512,C.texture.height=512,W.mozImageSmoothingEnabled=!1,W.webkitImageSmoothingEnabled=!1,W.msImageSmoothingEnabled=!1,W.imageSmoothingEnabled=!1,W.strokeStyle="rgba(255, 255, 255, 0)",W.fillStyle="#FFF",A(W);try{h.activeTexture(h.TEXTURE0),h.bindTexture(h.TEXTURE_2D,C.handle),h.texImage2D(h.TEXTURE_2D,0,h.RGBA,h.RGBA,h.UNSIGNED_BYTE,C.texture),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,h.LINEAR),h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,h.LINEAR),h.bindTexture(h.TEXTURE_2D,null),C.isReady=!0}catch{}};return N("circle",g=>{g.beginPath(),g.arc(256,256,256,0,2*Math.PI),g.stroke(),g.fill()}),N("square",g=>{g.fillRect(0,0,512,512)}),N("diamond",g=>{g.beginPath(),g.moveTo(256,0),g.lineTo(512,256),g.lineTo(256,512),g.lineTo(0,256),g.lineTo(256,0),g.fill()}),N("triangle",g=>{g.beginPath(),g.moveTo(0,512),g.lineTo(256,0),g.lineTo(512,512),g.lineTo(0,512),g.fill()}),N("triangle-down",g=>{g.beginPath(),g.moveTo(0,0),g.lineTo(256,512),g.lineTo(512,0),g.lineTo(0,0),g.fill()}),this.isInited=!0,d.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,i=this.shader,d=this.vbuffer;this.flush(),d&&d.destroy(),i&&i.destroy(),t&&(n(this.textureHandles,h=>{h.handle&&t.deleteTexture(h.handle)}),t.canvas.width=1,t.canvas.height=1)}}return a}),at(l,"Extensions/Boost/BoostSeries.js",[l["Extensions/Boost/BoostableMap.js"],l["Extensions/Boost/Boostables.js"],l["Extensions/Boost/BoostChart.js"],l["Core/Defaults.js"],l["Core/Globals.js"],l["Core/Utilities.js"],l["Extensions/Boost/WGLRenderer.js"]],function(p,m,L,S,I,Y,w){let F,q,{getBoostClipRect:M,isChartSeriesBoosting:v}=L,{getOptions:b}=S,{composed:n,doc:x,noop:e,win:c}=I,{addEvent:u,destroyObjectProperties:a,error:o,extend:t,fireEvent:i,isArray:d,isNumber:h,pick:E,pushUnique:N,wrap:g,defined:A}=Y;function C(f,s){let R=s.boost;f&&R&&R.target&&R.canvas&&!v(s.chart)&&f.allocateBufferForSingleSeries(s)}function W(f){return E(f&&f.options&&f.options.boost&&f.options.boost.enabled,!0)}function r(f,s){let R=f.constructor,D=f.seriesGroup||s.group,X=f.chartWidth,G=f.chartHeight,T=f,_=typeof SVGForeignObjectElement<"u",J=!1;v(f)?T=f:(T=s,J=!!(s.options.events?.click||s.options.point?.events?.click));let U=T.boost=T.boost||{};if(_=!1,q||(q=x.createElement("canvas")),!U.target&&(U.canvas=q,f.renderer.forExport||!_?(T.renderTarget=U.target=f.renderer.image("",0,0,X,G).addClass("highcharts-boost-canvas").add(D),U.clear=function(){U.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},U.copy=function(){U.resize(),U.target.attr({href:U.canvas.toDataURL("image/png")})}):(U.targetFo=f.renderer.createElement("foreignObject").add(D),T.renderTarget=U.target=x.createElement("canvas"),U.targetCtx=U.target.getContext("2d"),U.targetFo.element.appendChild(U.target),U.clear=function(){U.target.width=U.canvas.width,U.target.height=U.canvas.height},U.copy=function(){U.target.width=U.canvas.width,U.target.height=U.canvas.height,U.targetCtx.drawImage(U.canvas,0,0)}),U.resize=function(){X=f.chartWidth,G=f.chartHeight,(U.targetFo||U.target).attr({x:0,y:0,width:X,height:G}).css({pointerEvents:J?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(J?"highcharts-tracker":""),T instanceof R&&T.boost?.markerGroup?.translate(f.plotLeft,f.plotTop)},U.clipRect=f.renderer.clipRect(),(U.targetFo||U.target).attr({zIndex:s.options.zIndex}),T instanceof R&&(T.boost.markerGroup=T.renderer.g().add(D).translate(s.xAxis.pos,s.yAxis.pos))),U.canvas.width=X,U.canvas.height=G,U.clipRect){let tt=M(f,T),ot=tt.width===f.clipBox.width&&tt.height===f.clipBox.height?D:U.targetFo||U.target;U.clipRect.attr(tt),ot?.clip(U.clipRect)}return U.resize(),U.clear(),!U.wgl&&(U.wgl=new w(tt=>{tt.settings.debug.timeBufferCopy&&console.time("buffer copy"),U.copy(),tt.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),U.wgl.init(U.canvas)||o("[highcharts boost] - unable to init WebGL renderer"),U.wgl.setOptions(f.options.boost||{}),T instanceof R&&U.wgl.allocateBuffer(f)),U.wgl.setSize(X,G),U.wgl}function k(f){let s=f.points;if(s){let R,D;for(D=0;D<s.length;D+=1)(R=s[D])&&R.destroyElements&&R.destroyElements()}for(let R of(["graph","area","tracker"].forEach(D=>{let X=f[D];X&&(f[D]=X.destroy())}),f.zones))a(R,void 0,!0)}function P(f,s,R,D,X,G){let T=(X=X||0)+(D=D||3e3),_=!0;for(;_&&X<T&&X<f.length;)_=s(f[X],X),++X;_&&(X<f.length?G?P(f,s,R,D,X,G):c.requestAnimationFrame?c.requestAnimationFrame(function(){P(f,s,R,D,X)}):setTimeout(P,0,f,s,R,D,X):R&&R())}function B(f,s){let R=f.options,D=R.data,X=f.xAxis&&f.xAxis.options,G=f.yAxis&&f.yAxis.options,T=f.colorAxis&&f.colorAxis.options;return D.length>(R.boostThreshold||Number.MAX_VALUE)&&h(G.min)&&h(G.max)&&(!s||h(X.min)&&h(X.max))&&(!T||h(T.min)&&h(T.max))}let O=(f,s)=>!f.forceCrop&&(v(f.chart)||(s?s.length:0)>=(f.options.boostThreshold||Number.MAX_VALUE));function j(){let f=this,s=f.chart;s.boost&&s.boost.markerGroup===f.markerGroup&&(f.markerGroup=null),s.hoverPoints&&(s.hoverPoints=s.hoverPoints.filter(function(R){return R.series===f})),s.hoverPoint&&s.hoverPoint.series===f&&(s.hoverPoint=null)}function Q(){let f=this.boost;f&&f.canvas&&f.target&&(f.wgl&&f.wgl.clear(),f.clear&&f.clear())}function K(f){let s=f.boost;s&&s.canvas&&s.target&&s.wgl&&!v(f.chart)&&s.wgl.render(f.chart)}function st(f,s){let R=f.options,D=f.xAxis,X=f.pointClass;if(s instanceof X)return s;let G=f.xData||R.xData||f.processedXData||!1,T=new X(f,(f.options.data||[])[s.i],G?G[s.i]:void 0);return T.category=E(D.categories?D.categories[T.x]:T.x,T.x),T.dist=s.dist,T.distX=s.distX,T.plotX=s.plotX,T.plotY=s.plotY,T.index=s.i,T.percentage=s.percentage,T.isInside=f.isPointInside(T),T}function V(f){var s,R,D,X;let{options:G,xAxis:T,yAxis:_}=this;if(!this.isDirty&&!T.isDirty&&!_.isDirty&&!f)return!1;this.yAxis.setTickInterval();let J=G.boostThreshold||0,U=G.cropThreshold,tt=G.data||this.data,ot=this.xData,rt=T.getExtremes(),dt=rt.max??Number.MAX_VALUE,et=rt.min??-Number.MAX_VALUE,ht=this.yData,it=_.getExtremes(),nt=it.max??Number.MAX_VALUE,ut=it.min??-Number.MAX_VALUE;if(!this.boosted&&T.old&&_.old&&et>=(T.old.min??-Number.MAX_VALUE)&&dt<=(T.old.max??Number.MAX_VALUE)&&ut>=(_.old.min??-Number.MAX_VALUE)&&nt<=(_.old.max??Number.MAX_VALUE))return this.processedXData??(this.processedXData=ot),this.processedYData??(this.processedYData=ht),!0;if(!J||tt.length<J||U&&!this.forceCrop&&!this.getExtremesFromAll&&!G.getExtremesFromAll&&tt.length<U)return this.processedXData=ot,this.processedYData=ht,!0;let xt=[],ct=[],mt=[],yt=!(h(rt.max)||h(rt.min)),gt=!(h(it.max)||h(it.min)),kt=!1,At,bt=ot[0],vt=ot[0],wt,Dt=ht[0],Tt=ht[0];for(let Lt=0,Nt=ot.length;Lt<Nt;++Lt)At=ot[Lt],wt=ht[Lt],At>=et&&At<=dt&&wt>=ut&&wt<=nt?(xt.push({x:At,y:wt}),ct.push(At),mt.push(wt),yt&&(bt=Math.max(bt,At),vt=Math.min(vt,At)),gt&&(Dt=Math.max(Dt,wt),Tt=Math.min(Tt,wt))):kt=!0;return yt&&((s=T.options).max??(s.max=bt),(R=T.options).min??(R.min=vt)),gt&&((D=_.options).max??(D.max=Dt),(X=_.options).min??(X.min=Tt)),this.cropped=kt,this.cropStart=0,this.processedXData=ct,this.processedYData=mt,O(this,ct)||(this.processedData=xt),!0}function y(){let f=this.options||{},s=this.chart,R=s.boost,D=this.boost,X=this.xAxis,G=this.yAxis,T=f.xData||this.processedXData,_=f.yData||this.processedYData,J=this.processedData||f.data,U=X.getExtremes(),tt=U.min-(X.minPointOffset||0),ot=U.max+(X.minPointOffset||0),rt=G.getExtremes(),dt=rt.min-(G.minPointOffset||0),et=rt.max+(G.minPointOffset||0),ht={},it=!!this.sampling,nt=f.enableMouseTracking,ut=f.threshold,xt=this.pointArrayMap&&this.pointArrayMap.join(",")==="low,high",ct=!!f.stacking,mt=this.cropStart||0,yt=this.requireSorting,gt=!T,kt=f.findNearestPointBy==="x",At=this.xData||this.options.xData||this.processedXData||!1,bt=E(f.lineWidth,1),vt=!1,wt,Dt=G.getThreshold(ut),Tt,Lt,Nt,Bt;if(X.isPanning||G.isPanning||(vt=r(s,this),s.boosted=!0,!this.visible))return;(this.points||this.graph)&&k(this),v(s)?(this.markerGroup&&this.markerGroup!==R?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=R?.markerGroup,D&&D.target&&(this.renderTarget=D.target=D.target.destroy())):(this.markerGroup===R?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,s.seriesGroup).addClass("highcharts-tracker"));let Xt=this.points=[],Et=(Ct,Rt,jt,lt)=>{let pt=!!At&&At[mt+jt],ft=Pt=>{s.inverted&&(Pt=X.len-Pt,Rt=G.len-Rt),Xt.push({destroy:e,x:pt,clientX:Pt,plotX:Pt,plotY:Rt,i:mt+jt,percentage:lt})};Ct=Math.ceil(Ct),F=kt?Ct:Ct+","+Rt,nt&&(ht[F]?pt===At[At.length-1]&&(Xt.length--,ft(Ct)):(ht[F]=!0,ft(Ct)))};this.buildKDTree=e,i(this,"renderCanvas"),this.is("line")&&bt>1&&D?.target&&R&&!R.lineWidthFilter&&(R.lineWidthFilter=s.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*bt}}],attributes:{id:"linewidth"}}),D.target.attr({filter:"url(#linewidth)"})),vt&&(C(vt,this),vt.pushSeries(this),K(this));let zt=vt.settings;s.renderer.forExport||(zt.debug.timeKDTree&&console.time("kd tree building"),P(ct?this.data.slice(mt):T||J,function(Ct,Rt){let jt=s.index===void 0,lt,pt,ft,Pt,Mt,It=!1,Yt=!0;return!A(Ct)||(!jt&&(gt?(lt=Ct[0],pt=Ct[1]):(lt=Ct,pt=_[Rt]),xt?(gt&&(pt=Ct.slice(1,3)),It=pt[0],pt=pt[1]):ct&&(lt=Ct.x,It=(pt=Ct.stackY)-Ct.y,Mt=Ct.percentage),yt||(Yt=(pt||0)>=dt&&pt<=et),pt!==null&&lt>=tt&&lt<=ot&&Yt&&(ft=X.toPixels(lt,!0),it?((Nt===void 0||ft===wt)&&(xt||(It=pt),(Bt===void 0||pt>Lt)&&(Lt=pt,Bt=Rt),(Nt===void 0||It<Tt)&&(Tt=It,Nt=Rt)),kt&&ft===wt||(Nt!==void 0&&(Pt=G.toPixels(Lt,!0),Dt=G.toPixels(Tt,!0),Et(ft,Pt,Bt,Mt),Dt!==Pt&&Et(ft,Dt,Nt,Mt)),Nt=Bt=void 0,wt=ft)):Et(ft,Pt=Math.ceil(G.toPixels(pt,!0)),Rt,Mt))),!jt)},()=>{i(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),zt.debug.timeKDTree&&console.timeEnd("kd tree building")}))}function z(f){let s=!0;if(this.chart.options&&this.chart.options.boost&&(s=this.chart.options.boost.enabled===void 0||this.chart.options.boost.enabled),!s||!this.boosted)return f.call(this);this.chart.boosted=!0;let R=r(this.chart,this);R&&(C(R,this),R.pushSeries(this)),K(this)}function H(f){if(this.boosted){if(B(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return f.apply(this,[].slice.call(arguments,1))}function Z(f){let s=this.options.data;if(W(this.chart)&&p[this.type]){let R=this.is("scatter")&&!this.is("bubble")&&!this.is("heatmap");if(!O(this,s)||R||this.options.stacking||!B(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;R&&!this.yAxis.treeGrid?V.call(this,arguments[1]):f.apply(this,[].slice.call(arguments,1)),s=this.processedXData}if(this.boosted=O(this,s),this.boosted){let D;this.options.data&&this.options.data.length&&!h(D=this.getFirstValidPoint(this.options.data))&&!d(D)&&o(12,!1,this.chart),function(X){X.boost=X.boost||{getPoint:T=>st(X,T)};let G=X.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(T=>{G.push({prop:T,val:X[T],own:Object.hasOwnProperty.call(X,T)})}),X.allowDG=!1,X.directTouch=!1,X.stickyTracking=!0,X.finishedAnimating=!0,X.labelBySeries&&(X.labelBySeries=X.labelBySeries.destroy()),X.is("scatter")&&X.data.length){for(let T of X.data)T?.destroy?.();X.data.length=0,X.points.length=0,delete X.processedData}}(this)}else(function(D){let X=D.boost,G=D.chart,T=G.boost;if(T?.markerGroup)for(let _ of(T.markerGroup.destroy(),T.markerGroup=void 0,G.series))_.markerGroup=void 0,_.markerGroup=_.plotGroup("markerGroup","markers","visible",1,G.seriesGroup).addClass("highcharts-tracker");X&&((X.altered||[]).forEach(_=>{_.own?D[_.prop]=_.val:delete D[_.prop]}),X.clear&&X.clear()),(G.seriesGroup||D.group)?.clip()})(this)}else f.apply(this,[].slice.call(arguments,1))}function $(f){let s=f.apply(this,[].slice.call(arguments,1));return this.boost&&s?this.boost.getPoint(s):s}return{compose:function(f,s,R){if(N(n,"Boost.Series")){let D=b().plotOptions,X=f.prototype;if(u(f,"destroy",j),u(f,"hide",Q),R&&(X.renderCanvas=y),g(X,"getExtremes",H),g(X,"processData",Z),g(X,"searchPoint",$),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(G=>function(T,_,J){function U(tt){let ot=this.options.stacking&&(J==="translate"||J==="generatePoints");this.boosted&&!ot&&W(this.chart)&&this.type!=="heatmap"&&this.type!=="treemap"&&p[this.type]&&this.options.boostThreshold!==0?J==="render"&&this.renderCanvas&&this.renderCanvas():tt.call(this)}if(g(T,J,U),J==="translate")for(let tt of["column","arearange","columnrange","heatmap","treemap"])_[tt]&&g(_[tt].prototype,J,U)}(X,s,G)),m.forEach(G=>{let T=D[G];T&&(T.boostThreshold=5e3,T.boostData=[],s[G].prototype.fillOpacity=!0)}),R){let{area:G,areaspline:T,bubble:_,column:J,heatmap:U,scatter:tt,treemap:ot}=s;if(G&&t(G.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),T&&t(T.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),_){let rt=_.prototype;delete rt.buildKDTree,g(rt,"markerAttribs",function(dt){return!this.boosted&&dt.apply(this,[].slice.call(arguments,1))})}J&&t(J.prototype,{fill:!0,sampling:!0}),tt&&(tt.prototype.fill=!0),[U,ot].forEach(rt=>{rt&&g(rt.prototype,"drawPoints",z)})}}return f},destroyGraphics:k,eachAsync:P,getPoint:st}}),at(l,"Extensions/Boost/NamedColors.js",[],function(){return{defaultHTMLColorMap:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",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",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",grey:"#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",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",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",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",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}}}),at(l,"Extensions/Boost/Boost.js",[l["Extensions/Boost/BoostChart.js"],l["Extensions/Boost/BoostSeries.js"],l["Core/Globals.js"],l["Extensions/Boost/NamedColors.js"],l["Core/Utilities.js"]],function(p,m,L,S,I){let{doc:Y,win:w}=L,{addEvent:F,error:q}=I,M=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function v(){let b;if(w.WebGLRenderingContext!==void 0){b=Y.createElement("canvas");for(let n=0;n<M.length;++n)try{if(b.getContext(M[n])!=null)return!0}catch{}}return!1}return{compose:function(b,n,x,e,c){let u=v();u||(L.initCanvasBoost!==void 0?L.initCanvasBoost():q(26)),c&&!c.names.lightgoldenrodyellow&&(c.names=Wt(Wt({},c.names),S.defaultHTMLColorMap)),p.compose(b,u),m.compose(x,e,u),F(n,"setExtremes",function(a){for(let o of[this.chart,...this.series].map(t=>t.renderTarget).filter(Boolean)){let{horiz:t,pos:i}=this,d=t?"scaleX":"scaleY",h=t?"translateX":"translateY",E=o?.[d]??1,N=1,g=0,A=1,C="none";this.isPanning&&(N=(a.scale??1)*E,g=(o?.[h]||0)-N*(a.move||0)+E*i-N*i,A=.7,C="blur(3px)"),o?.attr({[d]:N,[h]:g}).css({transition:"250ms filter, 250ms opacity",filter:C,opacity:A})}})},hasWebGLSupport:v}}),at(l,"masters/modules/boost.src.js",[l["Core/Globals.js"],l["Extensions/Boost/Boost.js"]],function(p,m){return p.hasWebGLSupport=m.hasWebGLSupport,m.compose(p.Chart,p.Axis,p.Series,p.seriesTypes,p.Color),p})})});var Vt=Ft((Qt,Gt)=>{(function(St){typeof Gt=="object"&&Gt.exports?(St.default=St,Gt.exports=St):typeof define=="function"&&define.amd?define("highcharts/highcharts-more",["highcharts"],function(l){return St(l),St.Highcharts=l,St}):St(typeof Highcharts<"u"?Highcharts:void 0)})(function(St){"use strict";var l=St?St._modules:{};function at(p,m,L,S){p.hasOwnProperty(m)||(p[m]=S.apply(null,L),typeof CustomEvent=="function"&&St.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:m,module:p[m]}})))}at(l,"Extensions/Pane/PaneComposition.js",[l["Core/Utilities.js"]],function(p){let{addEvent:m,correctFloat:L,defined:S,pick:I}=p;function Y(v){let b,n=this;return v&&n.pane.forEach(x=>{w(v.chartX-n.plotLeft,v.chartY-n.plotTop,x.center)&&(b=x)}),b}function w(v,b,n,x,e){let c=!0,u=n[0],a=n[1],o=Math.sqrt(Math.pow(v-u,2)+Math.pow(b-a,2));if(S(x)&&S(e)){let t=Math.atan2(L(b-a,8),L(v-u,8));e!==x&&(c=x>e?t>=x&&t<=Math.PI||t<=e&&t>=-Math.PI:t>=x&&t<=L(e,8))}return o<=Math.ceil(n[2]/2)&&c}function F(v){this.polar&&(v.options.inverted&&([v.x,v.y]=[v.y,v.x]),v.isInsidePlot=this.pane.some(b=>w(v.x,v.y,b.center,b.axis&&b.axis.normalizedStartAngleRad,b.axis&&b.axis.normalizedEndAngleRad)))}function q(v){let b=this.chart;v.hoverPoint&&v.hoverPoint.plotX&&v.hoverPoint.plotY&&b.hoverPane&&!w(v.hoverPoint.plotX,v.hoverPoint.plotY,b.hoverPane.center)&&(v.hoverPoint=void 0)}function M(v){let b=this.chart;b.polar?(b.hoverPane=b.getHoverPane(v),v.filter=function(n){return n.visible&&!(!v.shared&&n.directTouch)&&I(n.options.enableMouseTracking,!0)&&(!b.hoverPane||n.xAxis.pane===b.hoverPane)}):b.hoverPane=void 0}return{compose:function(v,b){let n=v.prototype;n.getHoverPane||(n.collectionsWithUpdate.push("pane"),n.getHoverPane=Y,m(v,"afterIsInsidePlot",F),m(b,"afterGetHoverData",q),m(b,"beforeGetHoverData",M))}}}),at(l,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderRadius:0,borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),at(l,"Extensions/Pane/Pane.js",[l["Series/CenteredUtilities.js"],l["Extensions/Pane/PaneComposition.js"],l["Extensions/Pane/PaneDefaults.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{extend:I,merge:Y,splat:w}=S;class F{constructor(M,v){this.coll="pane",this.init(M,v)}init(M,v){this.chart=v,this.background=[],v.pane.push(this),this.setOptions(M)}setOptions(M){this.options=M=Y(L.pane,this.chart.angular?{background:{}}:void 0,M)}render(){let M=this.options,v=this.chart.renderer;this.group||(this.group=v.g("pane-group").attr({zIndex:M.zIndex||0}).add()),this.updateCenter();let b=this.options.background;if(b){let n=Math.max((b=w(b)).length,this.background.length||0);for(let x=0;x<n;x++)b[x]&&this.axis?this.renderBackground(Y(L.background,b[x]),x):this.background[x]&&(this.background[x]=this.background[x].destroy(),this.background.splice(x,1))}}renderBackground(M,v){let b={class:"highcharts-pane "+(M.className||"")},n="animate";this.chart.styledMode||I(b,{fill:M.backgroundColor,stroke:M.borderColor,"stroke-width":M.borderWidth}),this.background[v]||(this.background[v]=this.chart.renderer.path().add(this.group),n="attr"),this.background[v][n]({d:this.axis.getPlotBandPath(M.from,M.to,M)}).attr(b)}updateCenter(M){this.center=(M||this.axis||{}).center=p.getCenter.call(this)}update(M,v){Y(!0,this.options,M),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(b){b.pane===this&&(b.pane=null,b.update({},v))},this)}}return F.compose=m.compose,F}),at(l,"Series/AreaRange/AreaRangePoint.js",[l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m){let{area:{prototype:{pointClass:L,pointClass:{prototype:S}}}}=p.seriesTypes,{defined:I,isNumber:Y}=m;return class extends L{setState(){let w=this.state,F=this.series,q=F.chart.polar;I(this.plotHigh)||(this.plotHigh=F.yAxis.toPixels(this.high,!0)),I(this.plotLow)||(this.plotLow=this.plotY=F.yAxis.toPixels(this.low,!0)),F.lowerStateMarkerGraphic=F.stateMarkerGraphic,F.stateMarkerGraphic=F.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,q&&Y(this.plotHighX)&&(this.plotX=this.plotHighX),S.setState.apply(this,arguments),this.state=w,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],q&&Y(this.plotLowX)&&(this.plotX=this.plotLowX),F.upperStateMarkerGraphic=F.stateMarkerGraphic,F.stateMarkerGraphic=F.lowerStateMarkerGraphic,F.lowerStateMarkerGraphic=void 0;let M=F.modifyMarkerSettings();S.setState.apply(this,arguments),F.restoreMarkerSettings(M)}haloPath(){let w=this.series.chart.polar,F=[];return this.plotY=this.plotLow,w&&Y(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(F=S.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,w&&Y(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(F=F.concat(S.haloPath.apply(this,arguments))),F}isValid(){return Y(this.low)&&Y(this.high)}}}),at(l,"Series/AreaRange/AreaRangeSeries.js",[l["Series/AreaRange/AreaRangePoint.js"],l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{noop:I}=m,{area:Y,area:{prototype:w},column:{prototype:F}}=L.seriesTypes,{addEvent:q,defined:M,extend:v,isArray:b,isNumber:n,pick:x,merge:e}=S;class c extends Y{toYData(a){return[a.low,a.high]}highToXY(a){let o=this.chart,t=this.xAxis.postTranslate(a.rectPlotX||0,this.yAxis.len-(a.plotHigh||0));a.plotHighX=t.x-o.plotLeft,a.plotHigh=t.y-o.plotTop,a.plotLowX=a.plotX}getGraphPath(a){let o=[],t=[],i=w.getGraphPath,d=this.options,h=this.chart.polar,E=h&&d.connectEnds!==!1,N=d.connectNulls,g,A,C,W=d.step;for(g=(a=a||this.points).length;g--;){A=a[g];let O=h?{plotX:A.rectPlotX,plotY:A.yBottom,doCurve:!1}:{plotX:A.plotX,plotY:A.plotY,doCurve:!1};A.isNull||E||N||a[g+1]&&!a[g+1].isNull||t.push(O),C={polarPlotY:A.polarPlotY,rectPlotX:A.rectPlotX,yBottom:A.yBottom,plotX:x(A.plotHighX,A.plotX),plotY:A.plotHigh,isNull:A.isNull},t.push(C),o.push(C),A.isNull||E||N||a[g-1]&&!a[g-1].isNull||t.push(O)}let r=i.call(this,a);W&&(W===!0&&(W="left"),d.step={left:"right",center:"center",right:"left"}[W]);let k=i.call(this,o),P=i.call(this,t);d.step=W;let B=[].concat(r,k);return!this.chart.polar&&P[0]&&P[0][0]==="M"&&(P[0]=["L",P[0][1],P[0][2]]),this.graphPath=B,this.areaPath=r.concat(P),B.isArea=!0,B.xMap=r.xMap,this.areaPath.xMap=r.xMap,B}drawDataLabels(){let a,o,t,i,d,h=this.points,E=h.length,N=[],g=this.options.dataLabels,A=this.chart.inverted;if(g){if(b(g)?(i=g[0]||{enabled:!1},d=g[1]||{enabled:!1}):((i=v({},g)).x=g.xHigh,i.y=g.yHigh,(d=v({},g)).x=g.xLow,d.y=g.yLow),i.enabled||this.hasDataLabels?.()){for(a=E;a--;)if(o=h[a]){let{plotHigh:C=0,plotLow:W=0}=o;t=i.inside?C<W:C>W,o.y=o.high,o._plotY=o.plotY,o.plotY=C,N[a]=o.dataLabel,o.dataLabel=o.dataLabelUpper,o.below=t,A?i.align||(i.align=t?"right":"left"):i.verticalAlign||(i.verticalAlign=t?"top":"bottom")}for(this.options.dataLabels=i,w.drawDataLabels&&w.drawDataLabels.apply(this,arguments),a=E;a--;)(o=h[a])&&(o.dataLabelUpper=o.dataLabel,o.dataLabel=N[a],delete o.dataLabels,o.y=o.low,o.plotY=o._plotY)}if(d.enabled||this.hasDataLabels?.()){for(a=E;a--;)if(o=h[a]){let{plotHigh:C=0,plotLow:W=0}=o;t=d.inside?C<W:C>W,o.below=!t,A?d.align||(d.align=t?"left":"right"):d.verticalAlign||(d.verticalAlign=t?"bottom":"top")}this.options.dataLabels=d,w.drawDataLabels&&w.drawDataLabels.apply(this,arguments)}if(i.enabled)for(a=E;a--;)(o=h[a])&&(o.dataLabels=[o.dataLabelUpper,o.dataLabel].filter(function(C){return!!C}));this.options.dataLabels=g}}alignDataLabel(){F.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let a={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:o,lowMarker:t}}=this;this.options.marker=e(o,t),t.symbol&&(this.symbol=t.symbol)}return a}restoreMarkerSettings(a){this.options.marker=a.marker,this.symbol=a.symbol}drawPoints(){let a,o,t=this.points.length,i=this.modifyMarkerSettings();for(w.drawPoints.apply(this,arguments),this.restoreMarkerSettings(i),a=0;a<t;)(o=this.points[a]).graphics=o.graphics||[],o.origProps={plotY:o.plotY,plotX:o.plotX,isInside:o.isInside,negative:o.negative,zone:o.zone,y:o.y},(o.graphic||o.graphics[0])&&(o.graphics[0]=o.graphic),o.graphic=o.graphics[1],o.plotY=o.plotHigh,M(o.plotHighX)&&(o.plotX=o.plotHighX),o.y=x(o.high,o.origProps.y),o.negative=o.y<(this.options.threshold||0),this.zones.length&&(o.zone=o.getZone()),this.chart.polar||(o.isInside=o.isTopInside=o.plotY!==void 0&&o.plotY>=0&&o.plotY<=this.yAxis.len&&o.plotX>=0&&o.plotX<=this.xAxis.len),a++;for(w.drawPoints.apply(this,arguments),a=0;a<t;)(o=this.points[a]).graphics=o.graphics||[],(o.graphic||o.graphics[1])&&(o.graphics[1]=o.graphic),o.graphic=o.graphics[0],o.origProps&&(v(o,o.origProps),delete o.origProps),a++}hasMarkerChanged(a,o){let t=a.lowMarker,i=o.lowMarker||{};return t&&(t.enabled===!1||i.symbol!==t.symbol||i.height!==t.height||i.width!==t.width)||super.hasMarkerChanged(a,o)}}return c.defaultOptions=e(Y.defaultOptions,{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">\u25CF</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),q(c,"afterTranslate",function(){this.pointArrayMap.join(",")==="low,high"&&this.points.forEach(u=>{let a=u.high,o=u.plotY;u.isNull?u.plotY=void 0:(u.plotLow=o,u.plotHigh=n(a)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(a):a,!1,!0,void 0,!0):void 0,this.dataModify&&(u.yBottom=u.plotHigh))})},{order:0}),q(c,"afterTranslate",function(){this.points.forEach(u=>{if(this.chart.polar)this.highToXY(u),u.plotLow=u.plotY,u.tooltipPos=[((u.plotHighX||0)+(u.plotLowX||0))/2,((u.plotHigh||0)+(u.plotLow||0))/2];else{let a=u.pos(!1,u.plotLow),o=u.pos(!1,u.plotHigh);a&&o&&(a[0]=(a[0]+o[0])/2,a[1]=(a[1]+o[1])/2),u.tooltipPos=a}})},{order:3}),v(c.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:p,pointValKey:"low",setStackedPoints:I}),L.registerSeriesType("arearange",c),c}),at(l,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[l["Series/AreaRange/AreaRangeSeries.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L){let{spline:{prototype:S}}=m.seriesTypes,{merge:I,extend:Y}=L;class w extends p{}return w.defaultOptions=I(p.defaultOptions),Y(w.prototype,{getPointSpline:S.getPointSpline}),m.registerSeriesType("areasplinerange",w),w}),at(l,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">\u25CF</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),at(l,"Series/BoxPlot/BoxPlotSeries.js",[l["Series/BoxPlot/BoxPlotSeriesDefaults.js"],l["Series/Column/ColumnSeries.js"],l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S,I){let{noop:Y}=L,{crisp:w,extend:F,merge:q,pick:M}=I;class v extends m{pointAttribs(){return{}}translate(){let n=this.yAxis,x=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(e){x.forEach(function(c){e[c]!==null&&(e[c+"Plot"]=n.translate(e[c],0,1,0,1))}),e.plotHigh=e.highPlot})}drawPoints(){let n,x,e,c,u,a,o,t,i,d,h,E,N,g=this.points,A=this.options,C=this.chart,W=C.renderer,r=this.doQuartiles!==!1,k=this.options.whiskerLength;for(let P of g){let B=(t=P.graphic)?"animate":"attr",O=P.shapeArgs,j={},Q={},K={},st={},V=P.color||this.color;if(P.plotY!==void 0){let y;i=O.width,h=(d=O.x)+i,E=i/2,n=r?P.q1Plot:P.lowPlot,x=r?P.q3Plot:P.lowPlot,e=P.highPlot,c=P.lowPlot,t||(P.graphic=t=W.g("point").add(this.group),P.stem=W.path().addClass("highcharts-boxplot-stem").add(t),k&&(P.whiskers=W.path().addClass("highcharts-boxplot-whisker").add(t)),r&&(P.box=W.path(o).addClass("highcharts-boxplot-box").add(t)),P.medianShape=W.path(a).addClass("highcharts-boxplot-median").add(t)),C.styledMode||(Q.stroke=P.stemColor||A.stemColor||V,Q["stroke-width"]=M(P.stemWidth,A.stemWidth,A.lineWidth),Q.dashstyle=P.stemDashStyle||A.stemDashStyle||A.dashStyle,P.stem.attr(Q),k&&(K.stroke=P.whiskerColor||A.whiskerColor||V,K["stroke-width"]=M(P.whiskerWidth,A.whiskerWidth,A.lineWidth),K.dashstyle=P.whiskerDashStyle||A.whiskerDashStyle||A.dashStyle,P.whiskers.attr(K)),r&&(j.fill=P.fillColor||A.fillColor||V,j.stroke=A.lineColor||V,j["stroke-width"]=A.lineWidth||0,j.dashstyle=P.boxDashStyle||A.boxDashStyle||A.dashStyle,P.box.attr(j)),st.stroke=P.medianColor||A.medianColor||V,st["stroke-width"]=M(P.medianWidth,A.medianWidth,A.lineWidth),st.dashstyle=P.medianDashStyle||A.medianDashStyle||A.dashStyle,P.medianShape.attr(st));let z=w((P.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,P.stem.strokeWidth());if(y=[["M",z,x],["L",z,e],["M",z,n],["L",z,c]],P.stem[B]({d:y}),r){let H=P.box.strokeWidth();n=w(n,H),x=w(x,H),y=[["M",d=w(d,H),x],["L",d,n],["L",h=w(h,H),n],["L",h,x],["L",d,x],["Z"]],P.box[B]({d:y})}if(k){let H=P.whiskers.strokeWidth();e=w(P.highPlot,H),c=w(P.lowPlot,H),y=[["M",w(z-(N=typeof k=="string"&&/%$/.test(k)?E*parseFloat(k)/100:Number(k)/2)),e],["L",w(z+N),e],["M",w(z-N),c],["L",w(z+N),c]],P.whiskers[B]({d:y})}y=[["M",d,u=w(P.medianPlot,P.medianShape.strokeWidth())],["L",h,u]],P.medianShape[B]({d:y})}}}toYData(n){return[n.low,n.q1,n.median,n.q3,n.high]}}return v.defaultOptions=q(m.defaultOptions,p),F(v.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:Y,setStackedPoints:Y}),S.registerSeriesType("boxplot",v),v}),at(l,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),at(l,"Series/Bubble/BubbleLegendItem.js",[l["Core/Color/Color.js"],l["Core/Templating.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{parse:I}=p,{noop:Y}=L,{arrayMax:w,arrayMin:F,isNumber:q,merge:M,pick:v,stableSort:b}=S;return class{constructor(n,x){this.setState=Y,this.init(n,x)}init(n,x){this.options=n,this.visible=!0,this.chart=x.chart,this.legend=x}addToLegend(n){n.splice(this.options.legendIndex,0,this)}drawLegendSymbol(n){let x,e=v(n.options.itemDistance,20),c=this.legendItem||{},u=this.options,a=u.ranges,o=u.connectorDistance;if(!a||!a.length||!q(a[0].value)){n.options.bubbleLegend.autoRanges=!0;return}b(a,function(h,E){return E.value-h.value}),this.ranges=a,this.setOptions(),this.render();let t=this.getMaxLabelSize(),i=this.ranges[0].radius,d=2*i;x=(x=o-i+t.width)>0?x:0,this.maxLabel=t,this.movementX=u.labels.align==="left"?x:0,c.labelWidth=d+x+e,c.labelHeight=d+t.height/2}setOptions(){let n=this.ranges,x=this.options,e=this.chart.series[x.seriesIndex],c=this.legend.baseline,u={zIndex:x.zIndex,"stroke-width":x.borderWidth},a={zIndex:x.zIndex,"stroke-width":x.connectorWidth},o={align:this.legend.options.rtl||x.labels.align==="left"?"right":"left",zIndex:x.zIndex},t=e.options.marker.fillOpacity,i=this.chart.styledMode;n.forEach(function(d,h){i||(u.stroke=v(d.borderColor,x.borderColor,e.color),u.fill=v(d.color,x.color,t!==1?I(e.color).setOpacity(t).get("rgba"):e.color),a.stroke=v(d.connectorColor,x.connectorColor,e.color)),n[h].radius=this.getRangeRadius(d.value),n[h]=M(n[h],{center:n[0].radius-n[h].radius+c}),i||M(!0,n[h],{bubbleAttribs:M(u),connectorAttribs:M(a),labelAttribs:o})},this)}getRangeRadius(n){let x=this.options,e=this.options.seriesIndex,c=this.chart.series[e],u=x.ranges[0].value,a=x.ranges[x.ranges.length-1].value,o=x.minSize,t=x.maxSize;return c.getRadius.call(this,a,u,o,t,n)}render(){let n=this.legendItem||{},x=this.chart.renderer,e=this.options.zThreshold;for(let c of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),n.symbol=x.g("bubble-legend"),n.label=x.g("bubble-legend-item").css(this.legend.itemStyle||{}),n.symbol.translateX=0,n.symbol.translateY=0,n.symbol.add(n.label),n.label.add(n.group),this.ranges))c.value>=e&&this.renderRange(c);this.hideOverlappingLabels()}renderRange(n){let x=this.ranges[0],e=this.legend,c=this.options,u=c.labels,a=this.chart,o=a.series[c.seriesIndex],t=a.renderer,i=this.symbols,d=i.labels,h=n.center,E=Math.abs(n.radius),N=c.connectorDistance||0,g=u.align,A=e.options.rtl,C=c.borderWidth,W=c.connectorWidth,r=x.radius||0,k=h-E-C/2+W/2,P=(k%1?1:.5)-(W%2?0:.5),B=t.styledMode,O=A||g==="left"?-N:N;g==="center"&&(O=0,c.connectorDistance=0,n.labelAttribs.align="center"),i.bubbleItems.push(t.circle(r,h+P,E).attr(B?{}:n.bubbleAttribs).addClass((B?"highcharts-color-"+o.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(c.className||"")).add(this.legendItem.symbol)),i.connectors.push(t.path(t.crispLine([["M",r,k],["L",r+O,k]],c.connectorWidth)).attr(B?{}:n.connectorAttribs).addClass((B?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(c.connectorClassName||"")).add(this.legendItem.symbol));let j=t.text(this.formatLabel(n)).attr(B?{}:n.labelAttribs).css(B?{}:u.style).addClass("highcharts-bubble-legend-labels "+(c.labels.className||"")).add(this.legendItem.symbol),Q={x:r+O+c.labels.x,y:k+c.labels.y+.4*j.getBBox().height};j.attr(Q),d.push(j),j.placed=!0,j.alignAttr=Q}getMaxLabelSize(){let n,x;return this.symbols.labels.forEach(function(e){x=e.getBBox(!0),n=n?x.width>n.width?x:n:x}),n||{}}formatLabel(n){let x=this.options,e=x.labels.formatter,c=x.labels.format,{numberFormatter:u}=this.chart;return c?m.format(c,n):e?e.call(n):u(n.value,1)}hideOverlappingLabels(){let n=this.chart,x=this.options.labels.allowOverlap,e=this.symbols;!x&&e&&(n.hideOverlappingLabels(e.labels),e.labels.forEach(function(c,u){c.newOpacity?c.newOpacity!==c.oldOpacity&&e.connectors[u].show():e.connectors[u].hide()}))}getRanges(){let n=this.legend.bubbleLegend,x=n.chart.series,e=n.options.ranges,c,u,a=Number.MAX_VALUE,o=-Number.MAX_VALUE;return x.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(u=t.zData.filter(q)).length&&(a=v(t.options.zMin,Math.min(a,Math.max(F(u),t.options.displayNegative===!1?t.options.zThreshold:-Number.MAX_VALUE))),o=v(t.options.zMax,Math.max(o,w(u))))}),c=a===o?[{value:o}]:[{value:a},{value:(a+o)/2},{value:o,autoRanges:!0}],e.length&&e[0].radius&&c.reverse(),c.forEach(function(t,i){e&&e[i]&&(c[i]=M(e[i],t))}),c}predictBubbleSizes(){let n=this.chart,x=n.legend.options,e=x.floating,c=x.layout==="horizontal",u=c?n.legend.lastLineHeight:0,a=n.plotSizeX,o=n.plotSizeY,t=n.series[this.options.seriesIndex],i=t.getPxExtremes(),d=Math.ceil(i.minPxSize),h=Math.ceil(i.maxPxSize),E=Math.min(o,a),N,g=t.options.maxSize;return e||!/%$/.test(g)?N=h:(N=(E+u)*(g=parseFloat(g))/100/(g/100+1),(c&&o-N>=a||!c&&a-N>=o)&&(N=h)),[d,Math.ceil(N)]}updateRanges(n,x){let e=this.legend.options.bubbleLegend;e.minSize=n,e.maxSize=x,e.ranges=this.getRanges()}correctSizes(){let n=this.legend,x=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(x.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,x.maxPxSize),n.render())}}}),at(l,"Series/Bubble/BubbleLegendComposition.js",[l["Series/Bubble/BubbleLegendDefaults.js"],l["Series/Bubble/BubbleLegendItem.js"],l["Core/Defaults.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m,L,S,I){let{setOptions:Y}=L,{composed:w}=S,{addEvent:F,objectEach:q,pushUnique:M,wrap:v}=I;function b(a,o,t){let i,d,h,E=this.legend,N=n(this)>=0;E&&E.options.enabled&&E.bubbleLegend&&E.options.bubbleLegend.autoRanges&&N?(i=E.bubbleLegend.options,d=E.bubbleLegend.predictBubbleSizes(),E.bubbleLegend.updateRanges(d[0],d[1]),i.placed||(E.group.placed=!1,E.allItems.forEach(g=>{(h=g.legendItem||{}).group&&(h.group.translateY=void 0)})),E.render(),i.placed||(this.getMargins(),this.axes.forEach(function(g){g.visible&&g.render(),i.placed||(g.setScale(),g.updateNames(),q(g.ticks,function(A){A.isNew=!0,A.isNewLabel=!0}))}),this.getMargins()),i.placed=!0,a.call(this,o,t),E.bubbleLegend.correctSizes(),u(E,x(E))):(a.call(this,o,t),E&&E.options.enabled&&E.bubbleLegend&&(E.render(),u(E,x(E))))}function n(a){let o=a.series,t=0;for(;t<o.length;){if(o[t]&&o[t].isBubble&&o[t].visible&&o[t].zData.length)return t;t++}return-1}function x(a){let o=a.allItems,t=[],i=o.length,d,h,E,N=0,g=0;for(N=0;N<i;N++)if(h=o[N].legendItem||{},E=(o[N+1]||{}).legendItem||{},h.labelHeight&&(o[N].itemHeight=h.labelHeight),o[N]===o[i-1]||h.y!==E.y){for(t.push({height:0}),d=t[t.length-1];g<=N;g++)o[g].itemHeight>d.height&&(d.height=o[g].itemHeight);d.step=N}return t}function e(a){let o=this.bubbleLegend,t=this.options,i=t.bubbleLegend,d=n(this.chart);o&&o.ranges&&o.ranges.length&&(i.ranges.length&&(i.autoRanges=!!i.ranges[0].autoRanges),this.destroyItem(o)),d>=0&&t.enabled&&i.enabled&&(i.seriesIndex=d,this.bubbleLegend=new m(i,this),this.bubbleLegend.addToLegend(a.allItems))}function c(a){let o;if(a.defaultPrevented)return!1;let t=a.legendItem,i=this.chart,d=t.visible;this&&this.bubbleLegend&&(t.visible=!d,t.ignoreSeries=d,o=n(i)>=0,this.bubbleLegend.visible!==o&&(this.update({bubbleLegend:{enabled:o}}),this.bubbleLegend.visible=o),t.visible=d)}function u(a,o){let t=a.allItems,i=a.options.rtl,d,h,E,N,g=0;t.forEach((A,C)=>{(N=A.legendItem||{}).group&&(d=N.group.translateX||0,h=N.y||0,((E=A.movementX)||i&&A.ranges)&&(E=i?d-A.options.maxSize/2:d+E,N.group.attr({translateX:E})),C>o[g].step&&g++,N.group.attr({translateY:Math.round(h+o[g].height/2)}),N.y=h+o[g].height/2)})}return{compose:function(a,o){M(w,"Series.BubbleLegend")&&(Y({legend:{bubbleLegend:p}}),v(a.prototype,"drawChartBox",b),F(o,"afterGetAllItems",e),F(o,"itemClick",c))}}}),at(l,"Series/Bubble/BubblePoint.js",[l["Core/Series/Point.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L){let{seriesTypes:{scatter:{prototype:{pointClass:S}}}}=m,{extend:I}=L;class Y extends S{haloPath(F){let q=(F&&this.marker&&this.marker.radius||0)+F;if(this.series.chart.inverted){let M=this.pos()||[0,0],{xAxis:v,yAxis:b,chart:n}=this.series;return n.renderer.symbols.circle(v.len-M[1]-q,b.len-M[0]-q,2*q,2*q)}return p.prototype.haloPath.call(this,q)}}return I(Y.prototype,{ttBelow:!1}),Y}),at(l,"Series/Bubble/BubbleSeries.js",[l["Series/Bubble/BubbleLegendComposition.js"],l["Series/Bubble/BubblePoint.js"],l["Core/Color/Color.js"],l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S,I,Y){let{parse:w}=L,{composed:F,noop:q}=S,{series:M,seriesTypes:{column:{prototype:v},scatter:b}}=I,{addEvent:n,arrayMax:x,arrayMin:e,clamp:c,extend:u,isNumber:a,merge:o,pick:t,pushUnique:i}=Y;function d(){let E=this.len,{coll:N,isXAxis:g,min:A}=this,C=g?"xData":"yData",W=(this.max||0)-(A||0),r=0,k=E,P=E/W,B;(N==="xAxis"||N==="yAxis")&&(this.series.forEach(O=>{if(O.bubblePadding&&O.reserveSpace()){this.allowZoomOutside=!0,B=!0;let j=O[C];if(g&&((O.onPoint||O).getRadii(0,0,O),O.onPoint&&(O.radii=O.onPoint.radii)),W>0){let Q=j.length;for(;Q--;)if(a(j[Q])&&this.dataMin<=j[Q]&&j[Q]<=this.max){let K=O.radii&&O.radii[Q]||0;r=Math.min((j[Q]-A)*P-K,r),k=Math.max((j[Q]-A)*P+K,k)}}}}),B&&W>0&&!this.logarithmic&&(k-=E,P*=(E+Math.max(0,r)-Math.min(k,E))/E,[["min","userMin",r],["max","userMax",k]].forEach(O=>{t(this.options[O[0]],this[O[1]])===void 0&&(this[O[0]]+=O[2]/P)})))}class h extends b{static compose(N,g,A){p.compose(g,A),i(F,"Series.Bubble")&&n(N,"foundExtremes",d)}animate(N){!N&&this.points.length<this.options.animationLimit&&this.points.forEach(function(g){let{graphic:A,plotX:C=0,plotY:W=0}=g;A&&A.width&&(this.hasRendered||A.attr({x:C,y:W,width:1,height:1}),A.animate(this.markerAttribs(g),this.options.animation))},this)}getRadii(){let N=this.zData,g=this.yData,A=[],C,W,r,k=this.chart.bubbleZExtremes,{minPxSize:P,maxPxSize:B}=this.getPxExtremes();if(!k){let O,j=Number.MAX_VALUE,Q=-Number.MAX_VALUE;this.chart.series.forEach(K=>{if(K.bubblePadding&&K.reserveSpace()){let st=(K.onPoint||K).getZExtremes();st&&(j=Math.min(t(j,st.zMin),st.zMin),Q=Math.max(t(Q,st.zMax),st.zMax),O=!0)}}),O?(k={zMin:j,zMax:Q},this.chart.bubbleZExtremes=k):k={zMin:0,zMax:0}}for(W=0,C=N.length;W<C;W++)r=N[W],A.push(this.getRadius(k.zMin,k.zMax,P,B,r,g&&g[W]));this.radii=A}getRadius(N,g,A,C,W,r){let k=this.options,P=k.sizeBy!=="width",B=k.zThreshold,O=g-N,j=.5;if(r===null||W===null)return null;if(a(W)){if(k.sizeByAbsoluteValue&&(W=Math.abs(W-B),g=O=Math.max(g-B,Math.abs(N-B)),N=0),W<N)return A/2-1;O>0&&(j=(W-N)/O)}return P&&j>=0&&(j=Math.sqrt(j)),Math.ceil(A+j*(C-A))/2}hasData(){return!!this.processedXData.length}markerAttribs(N,g){let A=super.markerAttribs(N,g),{height:C=0,width:W=0}=A;return this.chart.inverted?u(A,{x:(N.plotX||0)-W/2,y:(N.plotY||0)-C/2}):A}pointAttribs(N,g){let A=this.options.marker.fillOpacity,C=M.prototype.pointAttribs.call(this,N,g);return A!==1&&(C.fill=w(C.fill).setOpacity(A).get("rgba")),C}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:N,options:g,radii:A}=this,{minPxSize:C}=this.getPxExtremes(),W=N.length;for(;W--;){let r=N[W],k=A?A[W]:0;this.zoneAxis==="z"&&(r.negative=(r.z||0)<(g.zThreshold||0)),a(k)&&k>=C/2?(r.marker=u(r.marker,{radius:k,width:2*k,height:2*k}),r.dlBox={x:r.plotX-k,y:r.plotY-k,width:2*k,height:2*k}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let N=Math.min(this.chart.plotWidth,this.chart.plotHeight),g=W=>{let r;return typeof W=="string"&&(r=/%$/.test(W),W=parseInt(W,10)),r?N*W/100:W},A=g(t(this.options.minSize,8)),C=Math.max(g(t(this.options.maxSize,"20%")),A);return{minPxSize:A,maxPxSize:C}}getZExtremes(){let N=this.options,g=(this.zData||[]).filter(a);if(g.length){let A=t(N.zMin,c(e(g),N.displayNegative===!1?N.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),C=t(N.zMax,x(g));if(a(A)&&a(C))return{zMin:A,zMax:C}}}}return h.defaultOptions=o(b.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:E}=this.series.chart,{z:N}=this.point;return a(N)?E(N,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),u(h.prototype,{alignDataLabel:v.alignDataLabel,applyZones:q,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:m,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),n(h,"updatedData",E=>{delete E.target.chart.bubbleZExtremes}),n(h,"remove",E=>{delete E.target.chart.bubbleZExtremes}),I.registerSeriesType("bubble",h),h}),at(l,"Series/ColumnRange/ColumnRangePoint.js",[l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m){let{seriesTypes:{column:{prototype:{pointClass:{prototype:L}}},arearange:{prototype:{pointClass:S}}}}=p,{extend:I,isNumber:Y}=m;class w extends S{isValid(){return Y(this.low)}}return I(w.prototype,{setState:L.setState}),w}),at(l,"Series/ColumnRange/ColumnRangeSeries.js",[l["Series/ColumnRange/ColumnRangePoint.js"],l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{noop:I}=m,{seriesTypes:{arearange:Y,column:w,column:{prototype:F}}}=L,{addEvent:q,clamp:M,extend:v,isNumber:b,merge:n,pick:x}=S;class e extends Y{setOptions(){return n(!0,arguments[0],{stacking:void 0}),Y.prototype.setOptions.apply(this,arguments)}translate(){return F.translate.apply(this)}pointAttribs(){return F.pointAttribs.apply(this,arguments)}translate3dPoints(){return F.translate3dPoints.apply(this,arguments)}translate3dShapes(){return F.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let u,a,o,t,i=this.yAxis,d=this.xAxis,h=d.startAngleRad,E=this.chart,N=this.xAxis.isRadial,g=Math.max(E.chartWidth,E.chartHeight)+999;this.points.forEach(A=>{let C=A.shapeArgs||{},W=this.options.minPointLength,r=A.plotY,k=i.translate(A.high,0,1,0,1);if(b(k)&&b(r))if(A.plotHigh=M(k,-g,g),A.plotLow=M(r,-g,g),t=A.plotHigh,Math.abs(u=x(A.rectPlotY,A.plotY)-A.plotHigh)<W?(a=W-u,u+=a,t-=a/2):u<0&&(u*=-1,t-=u),N&&this.polar)o=A.barX+h,A.shapeType="arc",A.shapeArgs=this.polar.arc(t+u,t,o,o+A.pointWidth);else{C.height=u,C.y=t;let{x:P=0,width:B=0}=C;A.shapeArgs=n(A.shapeArgs,this.crispCol(P,t,B,u)),A.tooltipPos=E.inverted?[i.len+i.pos-E.plotLeft-t-u/2,d.len+d.pos-E.plotTop-P-B/2,u]:[d.left-E.plotLeft+P+B/2,i.pos-E.plotTop+t+u/2,u]}})}}return e.defaultOptions=n(w.defaultOptions,Y.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),q(e,"afterColumnTranslate",function(){e.prototype.afterColumnTranslate.apply(this)},{order:5}),v(e.prototype,{directTouch:!0,pointClass:p,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:F.adjustForMissingColumns,animate:F.animate,crispCol:F.crispCol,drawGraph:I,drawPoints:F.drawPoints,getSymbol:I,drawTracker:F.drawTracker,getColumnMetrics:F.getColumnMetrics}),L.registerSeriesType("columnrange",e),e}),at(l,"Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js",[],function(){return{}}),at(l,"Series/ColumnPyramid/ColumnPyramidSeries.js",[l["Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L){let{column:S}=m.seriesTypes,{clamp:I,merge:Y,pick:w}=L;class F extends S{translate(){let M=this.chart,v=this.options,b=this.dense=this.closestPointRange*this.xAxis.transA<2,n=this.borderWidth=w(v.borderWidth,b?0:1),x=this.yAxis,e=v.threshold,c=w(v.minPointLength,5),u=this.getColumnMetrics(),a=u.width,o=this.pointXOffset=u.offset,t=this.translatedThreshold=x.getThreshold(e),i=this.barW=Math.max(a,1+2*n);for(let d of(M.inverted&&(t-=.5),v.pointPadding&&(i=Math.ceil(i)),super.translate(),this.points)){let h=w(d.yBottom,t),E=999+Math.abs(h),N=I(d.plotY,-E,x.len+E),g=i/2,A=Math.min(N,h),C=Math.max(N,h)-A,W=d.plotX+o,r,k,P,B,O,j,Q,K,st,V,y;v.centerInCategory&&(W=this.adjustForMissingColumns(W,a,d,u)),d.barX=W,d.pointWidth=a,d.tooltipPos=M.inverted?[x.len+x.pos-M.plotLeft-N,this.xAxis.len-W-g,C]:[W+g,N+x.pos-M.plotTop,C],r=e+(d.total||d.y),v.stacking==="percent"&&(r=e+(d.y<0)?-100:100);let z=x.toPixels(r,!0);P=(k=M.plotHeight-z-(M.plotHeight-t))?g*(A-z)/k:0,B=k?g*(A+C-z)/k:0,j=W-P+g,Q=W+P+g,K=W+B+g,st=W-B+g,V=A-c,y=A+C,d.y<0&&(V=A,y=A+C+c),M.inverted&&(O=x.width-A,k=z-(x.width-t),P=g*(z-O)/k,B=g*(z-(O-C))/k,Q=(j=W+g+P)-2*P,K=W-B+g,st=W+B+g,V=A,y=A+C-c,d.y<0&&(y=A+C+c)),d.shapeType="path",d.shapeArgs={x:j,y:V,width:Q-j,height:C,d:[["M",j,V],["L",Q,V],["L",K,y],["L",st,y],["Z"]]}}}}return F.defaultOptions=Y(S.defaultOptions,p),m.registerSeriesType("columnpyramid",F),F}),at(l,"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}}),at(l,"Series/ErrorBar/ErrorBarSeries.js",[l["Series/BoxPlot/BoxPlotSeries.js"],l["Series/Column/ColumnSeries.js"],l["Series/ErrorBar/ErrorBarSeriesDefaults.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S,I){let{arearange:Y}=S.seriesTypes,{addEvent:w,merge:F,extend:q}=I;class M extends p{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||m.prototype.getColumnMetrics.call(this)}drawDataLabels(){let b=this.pointValKey;if(Y)for(let n of(Y.prototype.drawDataLabels.call(this),this.points))n.y=n[b]}toYData(b){return[b.low,b.high]}}return M.defaultOptions=F(p.defaultOptions,L),w(M,"afterTranslate",function(){for(let v of this.points)v.plotLow=v.plotY},{order:0}),q(M.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),S.registerSeriesType("errorbar",M),M}),at(l,"Series/Gauge/GaugePoint.js",[l["Core/Series/SeriesRegistry.js"]],function(p){let{series:{prototype:{pointClass:m}}}=p;return class extends m{setState(L){this.state=L}}}),at(l,"Series/Gauge/GaugeSeries.js",[l["Series/Gauge/GaugePoint.js"],l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{noop:I}=m,{series:Y,seriesTypes:{column:w}}=L,{clamp:F,isNumber:q,extend:M,merge:v,pick:b,pInt:n,defined:x}=S;class e extends Y{translate(){let u=this.yAxis,a=this.options,o=u.center;this.generatePoints(),this.points.forEach(t=>{let i=v(a.dial,t.dial),d=n(i.radius)*o[2]/200,h=n(i.baseLength)*d/100,E=n(i.rearLength)*d/100,N=i.baseWidth,g=i.topWidth,A=a.overshoot,C=u.startAngleRad+u.translate(t.y,void 0,void 0,void 0,!0);(q(A)||a.wrap===!1)&&(A=q(A)?A/180*Math.PI:0,C=F(C,u.startAngleRad-A,u.endAngleRad+A)),C=180*C/Math.PI,t.shapeType="path";let W=i.path||[["M",-E,-N/2],["L",h,-N/2],["L",d,-g/2],["L",d,g/2],["L",h,N/2],["L",-E,N/2],["Z"]];t.shapeArgs={d:W,translateX:o[0],translateY:o[1],rotation:C},t.plotX=o[0],t.plotY=o[1],x(t.y)&&u.max-u.min&&(t.percentage=(t.y-u.min)/(u.max-u.min)*100)})}drawPoints(){let u=this,a=u.chart,o=u.yAxis.center,t=u.pivot,i=u.options,d=i.pivot,h=a.renderer;u.points.forEach(E=>{let N=E.graphic,g=E.shapeArgs,A=g.d,C=v(i.dial,E.dial);N?(N.animate(g),g.d=A):E.graphic=h[E.shapeType](g).addClass("highcharts-dial").add(u.group),a.styledMode||E.graphic[N?"animate":"attr"]({stroke:C.borderColor,"stroke-width":C.borderWidth,fill:C.backgroundColor})}),t?t.animate({translateX:o[0],translateY:o[1]}):d&&(u.pivot=h.circle(0,0,d.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(o[0],o[1]).add(u.group),a.styledMode||u.pivot.attr({fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth}))}animate(u){let a=this;u||a.points.forEach(o=>{let t=o.graphic;t&&(t.attr({rotation:180*a.yAxis.startAngleRad/Math.PI}),t.animate({rotation:o.shapeArgs.rotation},a.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),Y.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(u,a){Y.prototype.setData.call(this,u,!1),this.processData(),this.generatePoints(),b(a,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return e.defaultOptions=v(Y.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),M(e.prototype,{angular:!0,directTouch:!0,drawGraph:I,drawTracker:w.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:p,trackerGroups:["group","dataLabelsGroup"]}),L.registerSeriesType("gauge",e),e}),at(l,"Series/DragNodesComposition.js",[l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m){let{composed:L}=p,{addEvent:S,pushUnique:I}=m;function Y(){let w,F,q,M=this;M.container&&(w=S(M.container,"mousedown",v=>{let b=M.hoverPoint;b&&b.series&&b.series.hasDraggableNodes&&b.series.options.draggable&&(b.series.onMouseDown(b,v),F=S(M.container,"mousemove",n=>b&&b.series&&b.series.onMouseMove(b,n)),q=S(M.container.ownerDocument,"mouseup",n=>(F(),q(),b&&b.series&&b.series.onMouseUp(b,n))))})),S(M,"destroy",function(){w()})}return{compose:function(w){I(L,"DragNodes")&&S(w,"load",Y)},onMouseDown:function(w,F){let q=this.chart.pointer?.normalize(F)||F;w.fixedPosition={chartX:q.chartX,chartY:q.chartY,plotX:w.plotX,plotY:w.plotY},w.inDragMode=!0},onMouseMove:function(w,F){if(w.fixedPosition&&w.inDragMode){let q,M,v=this.chart,b=v.pointer?.normalize(F)||F,n=w.fixedPosition.chartX-b.chartX,x=w.fixedPosition.chartY-b.chartY,e=v.graphLayoutsLookup;(Math.abs(n)>5||Math.abs(x)>5)&&(q=w.fixedPosition.plotX-n,M=w.fixedPosition.plotY-x,v.isInsidePlot(q,M)&&(w.plotX=q,w.plotY=M,w.hasDragged=!0,this.redrawHalo(w),e.forEach(c=>{c.restartSimulation()})))}},onMouseUp:function(w){w.fixedPosition&&(w.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),w.inDragMode=w.hasDragged=!1,this.options.fixedDraggable||delete w.fixedPosition)},redrawHalo:function(w){w&&this.halo&&this.halo.attr({d:w.haloPath(this.options.states.hover.halo.size)})}}}),at(l,"Series/GraphLayoutComposition.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m,L){let{setAnimation:S}=p,{composed:I}=m,{addEvent:Y,pushUnique:w}=L;function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(b=>{b.updateSimulation()}),this.redraw())}function q(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(b=>{b.updateSimulation(!1)}),this.redraw())}function M(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(b=>{b.stop()})}function v(){let b,n=!1,x=e=>{e.maxIterations--&&isFinite(e.temperature)&&!e.isStable()&&!e.enableSimulation&&(e.beforeStep&&e.beforeStep(),e.step(),b=!1,n=!0)};if(this.graphLayoutsLookup){for(S(!1,this),this.graphLayoutsLookup.forEach(e=>e.start());!b;)b=!0,this.graphLayoutsLookup.forEach(x);n&&this.series.forEach(e=>{e&&e.layout&&e.render()})}}return{compose:function(b){w(I,"GraphLayout")&&(Y(b,"afterPrint",F),Y(b,"beforePrint",q),Y(b,"predraw",M),Y(b,"render",v))},integrations:{},layouts:{}}}),at(l,"Series/PackedBubble/PackedBubblePoint.js",[l["Core/Chart/Chart.js"],l["Core/Series/Point.js"],l["Core/Series/SeriesRegistry.js"]],function(p,m,L){let{seriesTypes:{bubble:{prototype:{pointClass:S}}}}=L;return class extends S{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),m.prototype.destroy.apply(this,arguments)}firePointEvent(){let I=this.series.options;if(this.isParentNode&&I.parentNode){let Y=I.allowPointSelect;I.allowPointSelect=I.parentNode.allowPointSelect,m.prototype.firePointEvent.apply(this,arguments),I.allowPointSelect=Y}else m.prototype.firePointEvent.apply(this,arguments)}select(){let I=this.series.chart;this.isParentNode?(I.getSelectedPoints=I.getSelectedParentNodes,m.prototype.select.apply(this,arguments),I.getSelectedPoints=p.prototype.getSelectedPoints):m.prototype.select.apply(this,arguments)}}}),at(l,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[l["Core/Utilities.js"]],function(p){let{isNumber:m}=p;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:L}=this.series.chart,{value:S}=this.point;return m(S)?L(S,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),at(l,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(p,m,L){let S=p.getMass(),I=-L.x*m*this.diffTemperature,Y=-L.y*m*this.diffTemperature;p.fromNode.fixedPosition||(p.fromNode.plotX-=I*S.fromNode/p.fromNode.degree,p.fromNode.plotY-=Y*S.fromNode/p.fromNode.degree),p.toNode.fixedPosition||(p.toNode.plotX+=I*S.toNode/p.toNode.degree,p.toNode.plotY+=Y*S.toNode/p.toNode.degree)},attractiveForceFunction:function(p,m){return(m-p)/p},barycenter:function(){let p=this.options.gravitationalConstant||0,m=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*p,L=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*p;this.nodes.forEach(function(S){S.fixedPosition||(S.plotX-=m/S.mass/S.degree,S.plotY-=L/S.mass/S.degree)})},getK:function(p){return Math.pow(p.box.width*p.box.height/p.nodes.length,.5)},integrate:function(p,m){let L=-p.options.friction,S=p.options.maxSpeed,I=m.prevX,Y=m.prevY,w=(m.plotX+m.dispX-I)*L,F=(m.plotY+m.dispY-Y)*L,q=Math.abs,M=q(w)/(w||1),v=q(F)/(F||1),b=M*Math.min(S,Math.abs(w)),n=v*Math.min(S,Math.abs(F));m.prevX=m.plotX+m.dispX,m.prevY=m.plotY+m.dispY,m.plotX+=b,m.plotY+=n,m.temperature=p.vectorLength({x:b,y:n})},repulsive:function(p,m,L){let S=m*this.diffTemperature/p.mass/p.degree;p.fixedPosition||(p.plotX+=L.x*S,p.plotY+=L.y*S)},repulsiveForceFunction:function(p,m){return(m-p)/p*(m>p?1:0)}}}),at(l,"Series/PackedBubble/PackedBubbleIntegration.js",[l["Core/Globals.js"],l["Series/Networkgraph/VerletIntegration.js"]],function(p,m){let{noop:L}=p;return{barycenter:function(){let S,I,Y=this.options.gravitationalConstant,w=this.box,F=this.nodes;for(let q of F)this.options.splitSeries&&!q.isParentNode?(S=q.series.parentNode.plotX,I=q.series.parentNode.plotY):(S=w.width/2,I=w.height/2),q.fixedPosition||(q.plotX-=(q.plotX-S)*Y/(q.mass*Math.sqrt(F.length)),q.plotY-=(q.plotY-I)*Y/(q.mass*Math.sqrt(F.length)))},getK:L,integrate:m.integrate,repulsive:function(S,I,Y,w){let F=I*this.diffTemperature/S.mass/S.degree,q=Y.x*F,M=Y.y*F;S.fixedPosition||(S.plotX+=q,S.plotY+=M),w.fixedPosition||(w.plotX-=q,w.plotY-=M)},repulsiveForceFunction:function(S,I,Y,w){return Math.min(S,(Y.marker.radius+w.marker.radius)/2)}}}),at(l,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(p,m,L,S){let I=p.getMass(),Y=L.x/S*m,w=L.y/S*m;p.fromNode.fixedPosition||(p.fromNode.dispX-=Y*I.fromNode/p.fromNode.degree,p.fromNode.dispY-=w*I.fromNode/p.fromNode.degree),p.toNode.fixedPosition||(p.toNode.dispX+=Y*I.toNode/p.toNode.degree,p.toNode.dispY+=w*I.toNode/p.toNode.degree)},attractiveForceFunction:function(p,m){return p*p/m},barycenter:function(){let p=this.options.gravitationalConstant,m=this.barycenter.xFactor,L=this.barycenter.yFactor;this.nodes.forEach(function(S){if(!S.fixedPosition){let I=S.getDegree(),Y=I*(1+I/2);S.dispX+=(m-S.plotX)*p*Y/S.degree,S.dispY+=(L-S.plotY)*p*Y/S.degree}})},getK:function(p){return Math.pow(p.box.width*p.box.height/p.nodes.length,.3)},integrate:function(p,m){m.dispX+=m.dispX*p.options.friction,m.dispY+=m.dispY*p.options.friction;let L=m.temperature=p.vectorLength({x:m.dispX,y:m.dispY});L!==0&&(m.plotX+=m.dispX/L*Math.min(Math.abs(m.dispX),p.temperature),m.plotY+=m.dispY/L*Math.min(Math.abs(m.dispY),p.temperature))},repulsive:function(p,m,L,S){p.dispX+=L.x/S*m/p.degree,p.dispY+=L.y/S*m/p.degree},repulsiveForceFunction:function(p,m){return m*m/p}}}),at(l,"Series/Networkgraph/QuadTreeNode.js",[],function(){class p{constructor(L){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=L,this.boxSize=Math.min(L.width,L.height)}divideBox(){let L=this.box.width/2,S=this.box.height/2;this.nodes[0]=new p({left:this.box.left,top:this.box.top,width:L,height:S}),this.nodes[1]=new p({left:this.box.left+L,top:this.box.top,width:L,height:S}),this.nodes[2]=new p({left:this.box.left+L,top:this.box.top+S,width:L,height:S}),this.nodes[3]=new p({left:this.box.left,top:this.box.top+S,width:L,height:S})}getBoxPosition(L){let S=L.plotX<this.box.left+this.box.width/2,I=L.plotY<this.box.top+this.box.height/2;return S?I?0:3:I?1:2}insert(L,S){let I;this.isInternal?this.nodes[this.getBoxPosition(L)].insert(L,S-1):(this.isEmpty=!1,this.body?S?(this.isInternal=!0,this.divideBox(),this.body!==!0&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,S-1),this.body=!0),this.nodes[this.getBoxPosition(L)].insert(L,S-1)):((I=new p({top:L.plotX||NaN,left:L.plotY||NaN,width:.1,height:.1})).body=L,I.isInternal=!1,this.nodes.push(I)):(this.isInternal=!1,this.body=L))}updateMassAndCenter(){let L=0,S=0,I=0;if(this.isInternal){for(let Y of this.nodes)Y.isEmpty||(L+=Y.mass,S+=Y.plotX*Y.mass,I+=Y.plotY*Y.mass);S/=L,I/=L}else this.body&&(L=this.body.mass,S=this.body.plotX,I=this.body.plotY);this.mass=L,this.plotX=S,this.plotY=I}}return p}),at(l,"Series/Networkgraph/QuadTree.js",[l["Series/Networkgraph/QuadTreeNode.js"]],function(p){return class{constructor(m,L,S,I){this.box={left:m,top:L,width:S,height:I},this.maxDepth=25,this.root=new p(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(m){m.updateMassAndCenter()})}insertNodes(m){for(let L of m)this.root.insert(L,this.maxDepth)}visitNodeRecursive(m,L,S){let I;if(m||(m=this.root),m===this.root&&L&&(I=L(m)),I!==!1){for(let Y of m.nodes){if(Y.isInternal){if(L&&(I=L(Y)),I===!1)continue;this.visitNodeRecursive(Y,L,S)}else Y.body&&L&&L(Y.body);S&&S(Y)}m===this.root&&S&&S(m)}}}}),at(l,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[l["Series/Networkgraph/EulerIntegration.js"],l["Core/Globals.js"],l["Series/GraphLayoutComposition.js"],l["Series/Networkgraph/QuadTree.js"],l["Core/Utilities.js"],l["Series/Networkgraph/VerletIntegration.js"]],function(p,m,L,S,I,Y){let{win:w}=m,{clamp:F,defined:q,isFunction:M,fireEvent:v,pick:b}=I;class n{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(e){L.compose(e),L.integrations.euler=p,L.integrations.verlet=Y,L.layouts["reingold-fruchterman"]=n}init(e){this.options=e,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=L.integrations[e.integration],this.enableSimulation=e.enableSimulation,this.attractiveForce=b(e.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=b(e.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=e.approximation}updateSimulation(e){this.enableSimulation=b(e,this.options.enableSimulation)}start(){let e=this.series,c=this.options;this.currentStep=0,this.forces=e[0]&&e[0].forces||[],this.chart=e[0]&&e[0].chart,this.initialRendering&&(this.initPositions(),e.forEach(function(u){u.finishedAnimating=!0,u.render()})),this.setK(),this.resetSimulation(c),this.enableSimulation&&this.step()}step(){let e=this.series;for(let c of(this.currentStep++,this.approximation==="barnes-hut"&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[c+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let c of e)c.chart&&c.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&w.cancelAnimationFrame(this.simulation),this.simulation=w.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(c=>{v(c,"afterSimulation")}))}}stop(){this.simulation&&w.cancelAnimationFrame(this.simulation)}setArea(e,c,u,a){this.box={left:e,top:c,width:u,height:a}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(e,c){for(let u of e)c.indexOf(u)===-1&&c.push(u)}removeElementFromCollection(e,c){let u=c.indexOf(e);u!==-1&&c.splice(u,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(e){this.maxIterations=b(e,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(e){this.initialRendering=e}createQuadTree(){this.quadTree=new S(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let e=this.options.initialPositions;if(M(e))for(let c of(e.call(this),this.nodes))q(c.prevX)||(c.prevX=c.plotX),q(c.prevY)||(c.prevY=c.plotY),c.dispX=0,c.dispY=0;else e==="circle"?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let e,c=this.box,u=this.nodes,a=2*Math.PI/(u.length+1),o=u.filter(function(E){return E.linksTo.length===0}),t={},i=this.options.initialPositionRadius,d=E=>{for(let N of E.linksFrom||[])t[N.toNode.id]||(t[N.toNode.id]=!0,h.push(N.toNode),d(N.toNode))},h=[];for(let E of o)h.push(E),d(E);if(h.length)for(let E of u)h.indexOf(E)===-1&&h.push(E);else h=u;for(let E=0,N=h.length;E<N;++E)(e=h[E]).plotX=e.prevX=b(e.plotX,c.width/2+i*Math.cos(E*a)),e.plotY=e.prevY=b(e.plotY,c.height/2+i*Math.sin(E*a)),e.dispX=0,e.dispY=0}setRandomPositions(){let e,c=this.box,u=this.nodes,a=u.length+1,o=t=>{let i=t*t/Math.PI;return i-Math.floor(i)};for(let t=0,i=u.length;t<i;++t)(e=u[t]).plotX=e.prevX=b(e.plotX,c.width*o(t)),e.plotY=e.prevY=b(e.plotY,c.height*o(a+t)),e.dispX=0,e.dispY=0}force(e,...c){this.integration[e].apply(this,c)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let e=0,c=0,u=0;for(let a of this.nodes)c+=a.plotX*a.mass,u+=a.plotY*a.mass,e+=a.mass;return this.barycenter={x:c,y:u,xFactor:c/e,yFactor:u/e},this.barycenter}barnesHutApproximation(e,c){let u,a,o=this.getDistXY(e,c),t=this.vectorLength(o);return e!==c&&t!==0&&(c.isInternal?c.boxSize/t<this.options.theta&&t!==0?(a=this.repulsiveForce(t,this.k),this.force("repulsive",e,a*c.mass,o,t),u=!1):u=!0:(a=this.repulsiveForce(t,this.k),this.force("repulsive",e,a*c.mass,o,t))),u}repulsiveForces(){if(this.approximation==="barnes-hut")for(let e of this.nodes)this.quadTree.visitNodeRecursive(null,c=>this.barnesHutApproximation(e,c));else{let e,c,u;for(let a of this.nodes)for(let o of this.nodes)a===o||a.fixedPosition||(u=this.getDistXY(a,o),(c=this.vectorLength(u))!==0&&(e=this.repulsiveForce(c,this.k),this.force("repulsive",a,e*o.mass,u,c)))}}attractiveForces(){let e,c,u;for(let a of this.links)a.fromNode&&a.toNode&&(e=this.getDistXY(a.fromNode,a.toNode),(c=this.vectorLength(e))!==0&&(u=this.attractiveForce(c,this.k),this.force("attractive",a,u,e,c)))}applyLimits(){for(let e of this.nodes)e.fixedPosition||(this.integration.integrate(this,e),this.applyLimitBox(e,this.box),e.dispX=0,e.dispY=0)}applyLimitBox(e,c){let u=e.radius;e.plotX=F(e.plotX,c.left+u,c.width-u),e.plotY=F(e.plotY,c.top+u,c.height-u)}coolDown(e,c,u){return e-c*u}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let e=0;for(let c of this.nodes)e+=c.temperature;return e}vectorLength(e){return Math.sqrt(e.x*e.x+e.y*e.y)}getDistR(e,c){let u=this.getDistXY(e,c);return this.vectorLength(u)}getDistXY(e,c){let u=e.plotX-c.plotX,a=e.plotY-c.plotY;return{x:u,y:a,absX:Math.abs(u),absY:Math.abs(a)}}}return n}),at(l,"Series/PackedBubble/PackedBubbleLayout.js",[l["Series/GraphLayoutComposition.js"],l["Series/PackedBubble/PackedBubbleIntegration.js"],l["Series/Networkgraph/ReingoldFruchtermanLayout.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{addEvent:I,pick:Y}=S;function w(){let M=this.series,v=[];return M.forEach(b=>{b.parentNode&&b.parentNode.selected&&v.push(b.parentNode)}),v}function F(){this.allDataPoints&&delete this.allDataPoints}class q extends L{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(v){L.compose(v),p.integrations.packedbubble=m,p.layouts.packedbubble=q;let b=v.prototype;b.getSelectedParentNodes||(I(v,"beforeRedraw",F),b.getSelectedParentNodes=w)}beforeStep(){this.options.marker&&this.series.forEach(v=>{v&&v.calculateParentRadius()})}isStable(){let v=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&v<1e-5||this.temperature<=0}setCircularPositions(){let v=this.box,b=this.nodes,n=2*Math.PI/(b.length+1),x=this.options.initialPositionRadius,e,c,u=0;for(let a of b)this.options.splitSeries&&!a.isParentNode?(e=a.series.parentNode.plotX,c=a.series.parentNode.plotY):(e=v.width/2,c=v.height/2),a.plotX=a.prevX=Y(a.plotX,e+x*Math.cos(a.index||u*n)),a.plotY=a.prevY=Y(a.plotY,c+x*Math.sin(a.index||u*n)),a.dispX=0,a.dispY=0,u++}repulsiveForces(){let v,b,n,x=this,e=x.options.bubblePadding,c=x.nodes;c.forEach(u=>{u.degree=u.mass,u.neighbours=0,c.forEach(a=>{v=0,u!==a&&!u.fixedPosition&&(x.options.seriesInteraction||u.series===a.series)&&(n=x.getDistXY(u,a),(b=x.vectorLength(n)-(u.marker.radius+a.marker.radius+e))<0&&(u.degree+=.01,u.neighbours++,v=x.repulsiveForce(-b/Math.sqrt(u.neighbours),x.k,u,a)),x.force("repulsive",u,v*a.mass,n,a,b))})})}applyLimitBox(v,b){let n,x;this.options.splitSeries&&!v.isParentNode&&this.options.parentNodeLimit&&(n=this.getDistXY(v,v.series.parentNode),(x=v.series.parentNodeRadius-v.marker.radius-this.vectorLength(n))<0&&x>-2*v.marker.radius&&(v.plotX-=.01*n.x,v.plotY-=.01*n.y)),super.applyLimitBox(v,b)}}return p.layouts.packedbubble=q,q}),at(l,"Series/SimulationSeriesUtilities.js",[l["Core/Utilities.js"],l["Core/Animation/AnimationUtilities.js"]],function(p,m){let{merge:L,syncTimeout:S}=p,{animObject:I}=m;return{initDataLabels:function(){let Y=this.options.dataLabels;if(!this.dataLabelsGroup){let w=this.initDataLabelsGroup();return!this.chart.styledMode&&Y?.style&&w.css(Y.style),w.attr({opacity:0}),this.visible&&w.show(),w}return this.dataLabelsGroup.attr(L({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let Y=this.options.dataLabels;Y?.defer&&this.options.layoutAlgorithm?.enableSimulation?S(()=>{this.deferDataLabels=!1},Y?I(Y.animation).defer:0):this.deferDataLabels=!1}}}),at(l,"Extensions/TextPath.js",[l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m){let{deg2rad:L}=p,{addEvent:S,merge:I,uniqueKey:Y,defined:w,extend:F}=m;function q(b,n){n=I(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},n);let x=this.renderer.url,e=this.text||this,c=e.textPath,{attributes:u,enabled:a}=n;if(b=b||c&&c.path,c&&c.undo(),b&&a){let o=S(e,"afterModifyTree",t=>{if(b&&a){let i=b.attr("id");i||b.attr("id",i=Y());let d={x:0,y:0};w(u.dx)&&(d.dx=u.dx,delete u.dx),w(u.dy)&&(d.dy=u.dy,delete u.dy),e.attr(d),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=t.nodes.slice(0);t.nodes.length=0,t.nodes[0]={tagName:"textPath",attributes:F(u,{"text-anchor":u.textAnchor,href:`${x}#${i}`}),children:h}}});e.textPath={path:b,undo:o}}else e.attr({dx:0,dy:0}),delete e.textPath;return this.added&&(e.textCache="",this.renderer.buildText(e)),this}function M(b){let n=b.bBox,x=this.element?.querySelector("textPath");if(x){let e=[],{b:c,h:u}=this.renderer.fontMetrics(this.element),a=u-c,o=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),t=x.innerHTML.replace(o,"").split(/<tspan class="highcharts-br"[^>]*>/),i=t.length,d=(h,E)=>{let{x:N,y:g}=E,A=(x.getRotationOfChar(h)-90)*L,C=Math.cos(A),W=Math.sin(A);return[[N-a*C,g-a*W],[N+c*C,g+c*W]]};for(let h=0,E=0;E<i;E++){let N=t[E].length;for(let g=0;g<N;g+=5)try{let A=h+g+E,[C,W]=d(A,x.getStartPositionOfChar(A));g===0?(e.push(W),e.push(C)):(E===0&&e.unshift(W),E===i-1&&e.push(C))}catch{break}h+=N-1;try{let g=h+E,A=x.getEndPositionOfChar(g),[C,W]=d(g,A);e.unshift(W),e.unshift(C)}catch{break}}e.length&&e.push(e[0].slice()),n.polygon=e}return n}function v(b){let n=b.labelOptions,x=b.point,e=n[x.formatPrefix+"TextPath"]||n.textPath;e&&!n.useHTML&&(this.setTextPath(x.getDataLabelPath?.(this)||x.graphic,e),x.dataLabelPath&&!e.enabled&&(x.dataLabelPath=x.dataLabelPath.destroy()))}return{compose:function(b){S(b,"afterGetBBox",M),S(b,"beforeAddingDataLabel",v);let n=b.prototype;n.setTextPath||(n.setTextPath=q)}}}),at(l,"Series/PackedBubble/PackedBubbleSeries.js",[l["Core/Color/Color.js"],l["Series/DragNodesComposition.js"],l["Series/GraphLayoutComposition.js"],l["Core/Globals.js"],l["Series/PackedBubble/PackedBubblePoint.js"],l["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],l["Series/PackedBubble/PackedBubbleLayout.js"],l["Core/Series/SeriesRegistry.js"],l["Series/SimulationSeriesUtilities.js"],l["Core/Utilities.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Extensions/TextPath.js"]],function(p,m,L,S,I,Y,w,F,q,M,v,b){let{parse:n}=p,{noop:x}=S,{series:{prototype:e},seriesTypes:{bubble:c}}=F,{initDataLabels:u,initDataLabelsDefer:a}=q,{addEvent:o,clamp:t,defined:i,extend:d,fireEvent:h,isArray:E,isNumber:N,merge:g,pick:A}=M;b.compose(v);class C extends c{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(r,k,P){c.compose(r,k,P),m.compose(k),w.compose(k)}accumulateAllPoints(){let r,k=this.chart,P=[];for(let B of k.series)if(B.is("packedbubble")&&B.reserveSpace()){r=B.yData||[];for(let O=0;O<r.length;O++)P.push([null,null,r[O],B.index,O,{id:O,marker:{radius:0}}])}return P}addLayout(){let r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},k=r.type||"packedbubble",P=this.chart.options.chart,B=this.chart.graphLayoutsStorage,O=this.chart.graphLayoutsLookup,j;B||(this.chart.graphLayoutsStorage=B={},this.chart.graphLayoutsLookup=O=[]),(j=B[k])||(r.enableSimulation=i(P.forExport)?!P.forExport:r.enableSimulation,B[k]=j=new L.layouts[k],j.init(r),O.splice(j.index,0,j)),this.layout=j,this.points.forEach(Q=>{Q.mass=2,Q.degree=1,Q.collisionNmb=1}),j.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),j.addElementsToCollection([this],j.series),j.addElementsToCollection(this.points,j.nodes)}addSeriesLayout(){let r=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},k=r.type||"packedbubble",P=this.chart.graphLayoutsStorage,B=this.chart.graphLayoutsLookup,O=g(r,r.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),j=P[k+"-series"];j||(P[k+"-series"]=j=new L.layouts[k],j.init(O),B.splice(j.index,0,j)),this.parentNodeLayout=j,this.createParentNodes()}calculateParentRadius(){let r=this.seriesBox();this.parentNodeRadius=t(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,r?Math.max(Math.sqrt(Math.pow(r.width,2)+Math.pow(r.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let r=this.chart.series,k=this.options.zMin,P=this.options.zMax,B=1/0,O=-1/0;return k&&P?[k,P]:(r.forEach(j=>{j.yData.forEach(Q=>{i(Q)&&(Q>O&&(O=Q),Q<B&&(B=Q))})}),[k=A(k,B),P=A(P,O)])}checkOverlap(r,k){let P=r[0]-k[0],B=r[1]-k[1];return Math.sqrt(P*P+B*B)-Math.abs(r[2]+k[2])<-.001}createParentNodes(){let r=this.pointClass,k=this.chart,P=this.parentNodeLayout,B=this.layout.options,O,j=this.parentNode,Q={radius:this.parentNodeRadius,lineColor:this.color,fillColor:n(this.color).brighten(.4).get()};B.parentNodeOptions&&(Q=g(B.parentNodeOptions.marker||{},Q)),this.parentNodeMass=0,this.points.forEach(K=>{this.parentNodeMass+=Math.PI*Math.pow(K.marker.radius,2)}),this.calculateParentRadius(),P.nodes.forEach(K=>{K.seriesIndex===this.index&&(O=!0)}),P.setArea(0,0,k.plotWidth,k.plotHeight),O||(j||(j=new r(this,{mass:this.parentNodeRadius/2,marker:Q,dataLabels:{inside:!1},states:{normal:{marker:Q},hover:{marker:Q}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(j.plotX=this.parentNode.plotX,j.plotY=this.parentNode.plotY),this.parentNode=j,P.addElementsToCollection([this],P.series),P.addElementsToCollection([j],P.nodes))}deferLayout(){let r=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),r.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(r=>{r.removeElementFromCollection(this,r.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),e.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(e.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",e.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let r=this.chart,k=this.layout.options.parentNodeOptions.marker,P={fill:k.fillColor||n(this.color).brighten(.4).get(),opacity:k.fillOpacity,stroke:k.lineColor||this.color,"stroke-width":A(k.lineWidth,this.options.lineWidth)},B={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,r.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&i(this.parentNode.plotX)&&i(this.parentNode.plotY)&&i(this.parentNodeRadius)&&(B=g({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},P),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(P.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(B))}drawTracker(){let r,k=this.parentNode;super.drawTracker(),k&&(r=E(k.dataLabels)?k.dataLabels:k.dataLabel?[k.dataLabel]:[],k.graphic&&(k.graphic.element.point=k),r.forEach(P=>{(P.div||P.element).point=k}))}getPointRadius(){let r,k,P,B,O=this.chart,j=O.plotWidth,Q=O.plotHeight,K=this.options,st=K.useSimulation,V=Math.min(j,Q),y={},z=[],H=O.allDataPoints||[],Z=H.length;["minSize","maxSize"].forEach(f=>{let s=parseInt(K[f],10),R=/%$/.test(K[f]);y[f]=R?V*s/100:s*Math.sqrt(Z)}),O.minRadius=r=y.minSize/Math.sqrt(Z),O.maxRadius=k=y.maxSize/Math.sqrt(Z);let $=st?this.calculateZExtremes():[r,k];H.forEach((f,s)=>{P=st?t(f[2],$[0],$[1]):f[2],(B=this.getRadius($[0],$[1],r,k,P))===0&&(B=null),H[s][2]=B,z.push(B)}),this.radii=z}init(){return e.init.apply(this,arguments),a.call(this),this.eventsToUnbind.push(o(this,"updatedData",function(){this.chart.series.forEach(r=>{r.type===this.type&&(r.isDirty=!0)},this)})),this}onMouseUp(r){if(r.fixedPosition&&!r.removed){let k,P=this.layout,B=this.parentNodeLayout;B&&P.options.dragBetweenSeries&&B.nodes.forEach(O=>{r&&r.marker&&O!==r.series.parentNode&&(k=P.getDistXY(r,O),P.vectorLength(k)-O.marker.radius-r.marker.radius<0&&(O.series.addPoint(g(r.options,{plotX:r.plotX,plotY:r.plotY}),!1),P.removeElementFromCollection(r,P.nodes),r.remove()))}),m.onMouseUp.apply(this,arguments)}}placeBubbles(r){let k=this.checkOverlap,P=this.positionBubble,B=[],O=1,j=0,Q=0,K,st=[],V,y=r.sort((z,H)=>H[2]-z[2]);if(y.length){if(B.push([[0,0,y[0][2],y[0][3],y[0][4]]]),y.length>1)for(B.push([[0,0-y[1][2]-y[0][2],y[1][2],y[1][3],y[1][4]]]),V=2;V<y.length;V++)y[V][2]=y[V][2]||1,k(K=P(B[O][j],B[O-1][Q],y[V]),B[O][0])?(B.push([]),Q=0,B[O+1].push(P(B[O][j],B[O][0],y[V])),O++,j=0):O>1&&B[O-1][Q+1]&&k(K,B[O-1][Q+1])?(Q++,B[O].push(P(B[O][j],B[O-1][Q],y[V])),j++):(j++,B[O].push(K));this.chart.stages=B,this.chart.rawPositions=[].concat.apply([],B),this.resizeRadius(),st=this.chart.rawPositions}return st}pointAttribs(r,k){let P=this.options,B=r&&r.isParentNode,O=P.marker;B&&P.layoutAlgorithm&&P.layoutAlgorithm.parentNodeOptions&&(O=P.layoutAlgorithm.parentNodeOptions.marker);let j=O.fillOpacity,Q=e.pointAttribs.call(this,r,k);return j!==1&&(Q["fill-opacity"]=j),Q}positionBubble(r,k,P){let B=Math.asin,O=Math.acos,j=Math.pow,Q=Math.abs,K=(0,Math.sqrt)(j(r[0]-k[0],2)+j(r[1]-k[1],2)),st=O((j(K,2)+j(P[2]+k[2],2)-j(P[2]+r[2],2))/(2*(P[2]+k[2])*K)),V=B(Q(r[0]-k[0])/K),y=(r[1]-k[1]<0?0:Math.PI)+st+V*((r[0]-k[0])*(r[1]-k[1])<0?1:-1),z=Math.cos(y),H=Math.sin(y);return[k[0]+(k[2]+P[2])*H,k[1]-(k[2]+P[2])*z,P[2],P[3],P[4]]}render(){let r=[];e.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(k=>{E(k.dataLabels)&&k.dataLabels.forEach(P=>{r.push(P)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(r))}resizeRadius(){let r,k,P,B,O,j=this.chart,Q=j.rawPositions,K=Math.min,st=Math.max,V=j.plotLeft,y=j.plotTop,z=j.plotHeight,H=j.plotWidth;for(let s of(r=P=Number.POSITIVE_INFINITY,k=B=Number.NEGATIVE_INFINITY,Q))O=s[2],r=K(r,s[0]-O),k=st(k,s[0]+O),P=K(P,s[1]-O),B=st(B,s[1]+O);let Z=[k-r,B-P],$=[(H-V)/Z[0],(z-y)/Z[1]],f=K.apply([],$);if(Math.abs(f-1)>1e-10){for(let s of Q)s[2]*=f;this.placeBubbles(Q)}else j.diffY=z/2+y-P-(B-P)/2,j.diffX=H/2+V-r-(k-r)/2}seriesBox(){let r,k=this.chart,P=this.data,B=Math.max,O=Math.min,j=[k.plotLeft,k.plotLeft+k.plotWidth,k.plotTop,k.plotTop+k.plotHeight];return P.forEach(Q=>{i(Q.plotX)&&i(Q.plotY)&&Q.marker.radius&&(r=Q.marker.radius,j[0]=O(j[0],Q.plotX-r),j[1]=B(j[1],Q.plotX+r),j[2]=O(j[2],Q.plotY-r),j[3]=B(j[3],Q.plotY+r))}),N(j.width/j.height)?j:null}setVisible(){let r=this;e.setVisible.apply(r,arguments),r.parentNodeLayout&&r.graph?r.visible?(r.graph.show(),r.parentNode.dataLabel&&r.parentNode.dataLabel.show()):(r.graph.hide(),r.parentNodeLayout.removeElementFromCollection(r.parentNode,r.parentNodeLayout.nodes),r.parentNode.dataLabel&&r.parentNode.dataLabel.hide()):r.layout&&(r.visible?r.layout.addElementsToCollection(r.points,r.layout.nodes):r.points.forEach(k=>{r.layout.removeElementFromCollection(k,r.layout.nodes)}))}translate(){let r,k,P,B=this.chart,O=this.data,j=this.index,Q=this.options.useSimulation;for(let K of(this.processedXData=this.xData,this.generatePoints(),i(B.allDataPoints)||(B.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),Q?P=B.allDataPoints:(P=this.placeBubbles(B.allDataPoints),this.options.draggable=!1),P))K[3]===j&&(r=O[K[4]],k=A(K[2],void 0),Q||(r.plotX=K[0]-B.plotLeft+B.diffX,r.plotY=K[1]-B.plotTop+B.diffY),N(k)&&(r.marker=d(r.marker,{radius:k,width:2*k,height:2*k}),r.radius=k));Q&&this.deferLayout(),h(this,"afterTranslate")}}return C.defaultOptions=g(c.defaultOptions,Y),d(C.prototype,{pointClass:I,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:u,alignDataLabel:e.alignDataLabel,indexateNodes:x,onMouseDown:m.onMouseDown,onMouseMove:m.onMouseMove,redrawHalo:m.redrawHalo,searchPoint:x}),F.registerSeriesType("packedbubble",C),C}),at(l,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),at(l,"Series/Polygon/PolygonSeries.js",[l["Core/Globals.js"],l["Series/Polygon/PolygonSeriesDefaults.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(p,m,L,S){let{noop:I}=p,{area:Y,line:w,scatter:F}=L.seriesTypes,{extend:q,merge:M}=S;class v extends F{getGraphPath(){let n=w.prototype.getGraphPath.call(this),x=n.length+1;for(;x--;)(x===n.length||n[x][0]==="M")&&x>0&&n.splice(x,0,["Z"]);return this.areaPath=n,n}drawGraph(){this.options.fillColor=this.color,Y.prototype.drawGraph.call(this)}}return v.defaultOptions=M(F.defaultOptions,m),q(v.prototype,{type:"polygon",drawTracker:w.prototype.drawTracker,setStackedPoints:I}),L.registerSeriesType("polygon",v),v}),at(l,"Core/Axis/RadialAxisDefaults.js",[],function(){return{circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2}}}),at(l,"Core/Axis/RadialAxis.js",[l["Core/Axis/RadialAxisDefaults.js"],l["Core/Defaults.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(p,m,L,S){var I;let{defaultOptions:Y}=m,{composed:w,noop:F}=L,{addEvent:q,correctFloat:M,defined:v,extend:b,fireEvent:n,isObject:x,merge:e,pick:c,pushUnique:u,relativeLength:a,wrap:o}=S;return function(t){function i(){this.autoConnect=this.isCircular&&c(this.userMax,this.options.max)===void 0&&M(this.endAngleRad-this.startAngleRad)===M(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function d(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&this.options.labels.allowOverlap!==!0)return this.tickPositions.map(s=>this.ticks[s]&&this.ticks[s].label).filter(s=>!!s)}}function h(){return F}function E(s,R,D){let X=this.pane.center,G=s.value,T,_,J;return this.isCircular?(v(G)?s.point&&(s.point.shapeArgs||{}).start&&(G=this.chart.inverted?this.translate(s.point.rectPlotY,!0):s.point.x):(_=s.chartX||0,J=s.chartY||0,G=this.translate(Math.atan2(J-D,_-R)-this.startAngleRad,!0)),_=(T=this.getPosition(G)).x,J=T.y):(v(G)||(_=s.chartX,J=s.chartY),v(_)&&v(J)&&(D=X[1]+this.chart.plotTop,G=this.translate(Math.min(Math.sqrt(Math.pow(_-R,2)+Math.pow(J-D,2)),X[2]/2)-X[3]/2,!0))),[G,_||0,J||0]}function N(s,R,D){let X=this.pane.center,G=this.chart,T=this.left||0,_=this.top||0,J,U=c(R,X[2]/2-this.offset),tt;return D===void 0&&(D=this.horiz?0:this.center&&-this.center[3]/2),D&&(U+=D),this.isCircular||R!==void 0?((tt=this.chart.renderer.symbols.arc(T+X[0],_+X[1],U,U,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[T+X[0]],tt.yBounds=[_+X[1]-U]):(J=this.postTranslate(this.angleRad,U),tt=[["M",this.center[0]+G.plotLeft,this.center[1]+G.plotTop],["L",J.x,J.y]]),tt}function g(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function A(s,R,D){let X=this.chart,G=gt=>{if(typeof gt=="string"){let kt=parseInt(gt,10);return rt.test(gt)&&(kt=kt*J/100),kt}return gt},T=this.center,_=this.startAngleRad,J=T[2]/2,U=Math.min(this.offset,0),tt=this.left||0,ot=this.top||0,rt=/%$/,dt=this.isCircular,et,ht,it,nt,ut,xt,ct=c(G(D.outerRadius),J),mt=G(D.innerRadius),yt=c(G(D.thickness),10);if(this.options.gridLineInterpolation==="polygon")xt=this.getPlotLinePath({value:s}).concat(this.getPlotLinePath({value:R,reverse:!0}));else{s=Math.max(s,this.min),R=Math.min(R,this.max);let gt=this.translate(s),kt=this.translate(R);dt||(ct=gt||0,mt=kt||0),D.shape!=="circle"&&dt?(et=_+(gt||0),ht=_+(kt||0)):(et=-Math.PI/2,ht=1.5*Math.PI,ut=!0),ct-=U,yt-=U,xt=X.renderer.symbols.arc(tt+T[0],ot+T[1],ct,ct,{start:Math.min(et,ht),end:Math.max(et,ht),innerR:c(mt,ct-yt),open:ut,borderRadius:D.borderRadius}),dt&&(it=(ht+et)/2,nt=tt+T[0]+T[2]/2*Math.cos(it),xt.xBounds=it>-Math.PI/2&&it<Math.PI/2?[nt,X.plotWidth]:[0,nt],xt.yBounds=[ot+T[1]+T[2]/2*Math.sin(it)],xt.yBounds[0]+=it>-Math.PI&&it<0||it>Math.PI?-10:10)}return xt}function C(s){let R=this.pane.center,D=this.chart,X=D.inverted,G=s.reverse,T=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},_=T.innerRadius||"0%",J=T.outerRadius||"100%",U=R[0]+D.plotLeft,tt=R[1]+D.plotTop,ot=this.height,rt=s.isCrosshair,dt=R[3]/2,et=s.value,ht,it,nt,ut,xt,ct,mt,yt,gt,kt=this.getPosition(et),At=kt.x,bt=kt.y;if(rt&&(et=(yt=this.getCrosshairPosition(s,U,tt))[0],At=yt[1],bt=yt[2]),this.isCircular)it=Math.sqrt(Math.pow(At-U,2)+Math.pow(bt-tt,2)),nt=typeof _=="string"?a(_,1):_/it,ut=typeof J=="string"?a(J,1):J/it,R&&dt&&(nt<(ht=dt/it)&&(nt=ht),ut<ht&&(ut=ht)),gt=[["M",U+nt*(At-U),tt-nt*(tt-bt)],["L",At-(1-ut)*(At-U),bt+(1-ut)*(tt-bt)]];else if((et=this.translate(et))&&(et<0||et>ot)&&(et=0),this.options.gridLineInterpolation==="circle")gt=this.getLinePath(0,et,dt);else if(gt=[],D[X?"yAxis":"xAxis"].forEach(vt=>{vt.pane===this.pane&&(xt=vt)}),xt){mt=xt.tickPositions,xt.autoConnect&&(mt=mt.concat([mt[0]])),G&&(mt=mt.slice().reverse()),et&&(et+=dt);for(let vt=0;vt<mt.length;vt++)ct=xt.getPosition(mt[vt],et),gt.push(vt?["L",ct.x,ct.y]:["M",ct.x,ct.y])}return gt}function W(s,R){let D=this.translate(s);return this.postTranslate(this.isCircular?D:this.angleRad,c(this.isCircular?R:D<0?0:D,this.center[2]/2)-this.offset)}function r(){let s=this.center,R=this.chart,D=this.options.title;return{x:R.plotLeft+s[0]+(D.x||0),y:R.plotTop+s[1]-{high:.5,middle:.25,low:0}[D.align]*s[2]+(D.y||0)}}function k(s){s.beforeSetTickPositions=i,s.createLabelCollector=d,s.getCrosshairPosition=E,s.getLinePath=N,s.getOffset=g,s.getPlotBandPath=A,s.getPlotLinePath=C,s.getPosition=W,s.getTitlePosition=r,s.postTranslate=y,s.setAxisSize=H,s.setAxisTranslation=Z,s.setOptions=$}function P(){let s=this.chart,R=this.options,D=s.angular&&this.isXAxis,X=this.pane,G=X&&X.options;if(!D&&X&&(s.angular||s.polar)){let T=2*Math.PI,_=(c(G.startAngle,0)-90)*Math.PI/180,J=(c(G.endAngle,c(G.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(R.angle||0)*Math.PI/180,this.startAngleRad=_,this.endAngleRad=J,this.offset=R.offset||0;let U=(_%T+T)%T,tt=(J%T+T)%T;U>Math.PI&&(U-=T),tt>Math.PI&&(tt-=T),this.normalizedStartAngleRad=U,this.normalizedEndAngleRad=tt}}function B(s){this.isRadial&&(s.align=void 0,s.preventDefault())}function O(){if(this.chart&&this.chart.labelCollectors){let s=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;s>=0&&this.chart.labelCollectors.splice(s,1)}}function j(s){let R,D=this.chart,X=D.angular,G=D.polar,T=this.isXAxis,_=this.coll,J=s.userOptions.pane||0,U=this.pane=D.pane&&D.pane[J];if(_==="colorAxis"){this.isRadial=!1;return}X?(X&&T?(this.isHidden=!0,this.createLabelCollector=h,this.getOffset=F,this.redraw=z,this.render=z,this.setScale=F,this.setCategories=F,this.setTitle=F):k(this),R=!T):G&&(k(this),R=this.horiz),X||G?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&D.labelCollectors.push(this.labelCollector)):this.isRadial=!1,U&&R&&(U.axis=this),this.isCircular=R}function Q(){this.isRadial&&this.beforeSetTickPositions()}function K(s){let R=this.label;if(!R)return;let D=this.axis,X=R.getBBox(),G=D.options.labels,T=(D.translate(this.pos)+D.startAngleRad+Math.PI/2)/Math.PI*180%360,_=Math.round(T),J=v(G.y)?0:-(.3*X.height),U=G.y,tt,ot=20,rt=G.align,dt="end",et=_<0?_+360:_,ht=et,it=0,nt=0;D.isRadial&&(tt=D.getPosition(this.pos,D.center[2]/2+a(c(G.distance,-25),D.center[2]/2,-D.center[2]/2)),G.rotation==="auto"?R.attr({rotation:T}):v(U)||(U=D.chart.renderer.fontMetrics(R).b-X.height/2),v(rt)||(D.isCircular?(X.width>D.len*D.tickInterval/(D.max-D.min)&&(ot=0),rt=T>ot&&T<180-ot?"left":T>180+ot&&T<360-ot?"right":"center"):rt="center",R.attr({align:rt})),rt==="auto"&&D.tickPositions.length===2&&D.isCircular&&(et>90&&et<180?et=180-et:et>270&&et<=360&&(et=540-et),ht>180&&ht<=360&&(ht=360-ht),(D.pane.options.startAngle===_||D.pane.options.startAngle===_+360||D.pane.options.startAngle===_-360)&&(dt="start"),rt=_>=-90&&_<=90||_>=-360&&_<=-270||_>=270&&_<=360?dt==="start"?"right":"left":dt==="start"?"left":"right",ht>70&&ht<110&&(rt="center"),et<15||et>=180&&et<195?it=.3*X.height:et>=15&&et<=35?it=dt==="start"?0:.75*X.height:et>=195&&et<=215?it=dt==="start"?.75*X.height:0:et>35&&et<=90?it=dt==="start"?-(.25*X.height):X.height:et>215&&et<=270&&(it=dt==="start"?X.height:-(.25*X.height)),ht<15?nt=dt==="start"?-(.15*X.height):.15*X.height:ht>165&&ht<=180&&(nt=dt==="start"?.15*X.height:-(.15*X.height)),R.attr({align:rt}),R.translate(nt,it+J)),s.pos.x=tt.x+(G.x||0),s.pos.y=tt.y+(U||0))}function st(s){this.axis.getPosition&&b(s.pos,this.axis.getPosition(this.pos))}function V({options:s}){s.xAxis&&e(!0,t.radialDefaultOptions.circular,s.xAxis),s.yAxis&&e(!0,t.radialDefaultOptions.radialGauge,s.yAxis)}function y(s,R){let D=this.chart,X=this.center;return s=this.startAngleRad+s,{x:D.plotLeft+X[0]+Math.cos(s)*R,y:D.plotTop+X[1]+Math.sin(s)*R}}function z(){this.isDirty=!1}function H(){let s,R;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),s=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(R=this.postTranslate(this.angleRad,s[3]/2),s[0]=R.x-this.chart.plotLeft,s[1]=R.y-this.chart.plotTop),this.len=this.width=this.height=(s[2]-s[3])*c(this.sector,1)/2)}function Z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function $(s){let{coll:R}=this,{angular:D,inverted:X,polar:G}=this.chart,T={};D?this.isXAxis||(T=e(Y.yAxis,t.radialDefaultOptions.radialGauge)):G&&(T=this.horiz?e(Y.xAxis,t.radialDefaultOptions.circular):e(R==="xAxis"?Y.xAxis:Y.yAxis,t.radialDefaultOptions.radial)),X&&R==="yAxis"&&(T.stackLabels=x(Y.yAxis,!0)?Y.yAxis.stackLabels:{},T.reversedStacks=!0);let _=this.options=e(T,s);_.plotBands||(_.plotBands=[]),n(this,"afterSetOptions")}function f(s,R,D,X,G,T,_){let J,U=this.axis;return U.isRadial?["M",R,D,"L",(J=U.getPosition(this.pos,U.center[2]/2+X)).x,J.y]:s.call(this,R,D,X,G,T,_)}t.radialDefaultOptions=e(p),t.compose=function(s,R){return u(w,"Axis.Radial")&&(q(s,"afterInit",P),q(s,"autoLabelAlign",B),q(s,"destroy",O),q(s,"init",j),q(s,"initialAxisTranslation",Q),q(R,"afterGetLabelPosition",K),q(R,"afterGetPosition",st),q(L,"setOptions",V),o(R.prototype,"getMarkPath",f)),s}}(I||(I={})),I}),at(l,"Series/PolarComposition.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Globals.js"],l["Core/Series/Series.js"],l["Extensions/Pane/Pane.js"],l["Core/Axis/RadialAxis.js"],l["Core/Utilities.js"]],function(p,m,L,S,I,Y){let{animObject:w}=p,{composed:F}=m,{addEvent:q,defined:M,find:v,isNumber:b,merge:n,pick:x,pushUnique:e,relativeLength:c,splat:u,uniqueKey:a,wrap:o}=Y;function t(){(this.pane||[]).forEach(V=>{V.render()})}function i(V){let y=V.args[0].xAxis,z=V.args[0].yAxis,H=V.args[0].chart;y&&z&&(z.gridLineInterpolation==="polygon"?(y.startOnTick=!0,y.endOnTick=!0):y.gridLineInterpolation==="polygon"&&H.inverted&&(z.startOnTick=!0,z.endOnTick=!0))}function d(){this.pane||(this.pane=[]),this.options.pane=u(this.options.pane),this.options.pane.forEach(V=>{new S(V,this)},this)}function h(V){let y=V.args.marker,z=this.chart.xAxis[0],H=this.chart.yAxis[0],Z=this.chart.inverted,$=Z?H:z,f=Z?z:H;if(this.chart.polar){V.preventDefault();let s=(y.attr?y.attr("start"):y.start)-$.startAngleRad,R=y.attr?y.attr("r"):y.r,D=(y.attr?y.attr("end"):y.end)-$.startAngleRad,X=y.attr?y.attr("innerR"):y.innerR;V.result.x=s+$.pos,V.result.width=D-s,V.result.y=f.len+f.pos-R,V.result.height=R-X}}function E(V){let y=this.chart;if(y.polar&&y.hoverPane&&y.hoverPane.axis){V.preventDefault();let z=y.hoverPane.center,H=y.mouseDownX||0,Z=y.mouseDownY||0,$=V.args.chartY,f=V.args.chartX,s=2*Math.PI,R=y.hoverPane.axis.startAngleRad,D=y.hoverPane.axis.endAngleRad,X=y.inverted?y.xAxis[0]:y.yAxis[0],G={},T="arc";if(G.x=z[0]+y.plotLeft,G.y=z[1]+y.plotTop,this.zoomHor){let _=R>0?D-R:Math.abs(R)+Math.abs(D),J=Math.atan2(Z-y.plotTop-z[1],H-y.plotLeft-z[0])-R,U=Math.atan2($-y.plotTop-z[1],f-y.plotLeft-z[0])-R;G.r=z[2]/2,G.innerR=z[3]/2,J<=0&&(J+=s),U<=0&&(U+=s),U<J&&(U=[J,J=U][0]),_<s&&R+U>D+(s-_)/2&&(U=J,J=R<=0?R:0);let tt=G.start=Math.max(J+R,R),ot=G.end=Math.min(U+R,D);if(X.options.gridLineInterpolation==="polygon"){let rt=y.hoverPane.axis,dt=tt-rt.startAngleRad+rt.pos,et=X.getPlotLinePath({value:X.max}),ht=rt.toValue(dt),it=rt.toValue(dt+(ot-tt));if(ht<rt.getExtremes().min){let{min:nt,max:ut}=rt.getExtremes();ht=ut-(nt-ht)}if(it<rt.getExtremes().min){let{min:nt,max:ut}=rt.getExtremes();it=ut-(nt-it)}it<ht&&(it=[ht,ht=it][0]),(et=C(et,ht,it,rt)).push(["L",z[0]+y.plotLeft,y.plotTop+z[1]]),G.d=et,T="path"}}if(this.zoomVert){let _=y.inverted?y.xAxis[0]:y.yAxis[0],J=Math.sqrt(Math.pow(H-y.plotLeft-z[0],2)+Math.pow(Z-y.plotTop-z[1],2)),U=Math.sqrt(Math.pow(f-y.plotLeft-z[0],2)+Math.pow($-y.plotTop-z[1],2));if(U<J&&(J=[U,U=J][0]),U>z[2]/2&&(U=z[2]/2),J<z[3]/2&&(J=z[3]/2),this.zoomHor||(G.start=R,G.end=D),G.r=U,G.innerR=J,_.options.gridLineInterpolation==="polygon"){let tt=_.toValue(_.len+_.pos-J),ot=_.toValue(_.len+_.pos-U),rt=_.getPlotLinePath({value:ot}).concat(_.getPlotLinePath({value:tt,reverse:!0}));G.d=rt,T="path"}}if(this.zoomHor&&this.zoomVert&&X.options.gridLineInterpolation==="polygon"){let _=y.hoverPane.axis,J=G.start||0,U=G.end||0,tt=J-_.startAngleRad+_.pos,ot=_.toValue(tt),rt=_.toValue(tt+(U-J));if(G.d instanceof Array){let dt=G.d.slice(0,G.d.length/2),et=G.d.slice(G.d.length/2,G.d.length);et=[...et].reverse();let ht=y.hoverPane.axis;dt=C(dt,ot,rt,ht),(et=C(et,ot,rt,ht))&&(et[0][0]="L"),et=[...et].reverse(),G.d=dt.concat(et),T="path"}}V.attrs=G,V.shapeType=T}}function N(){let V=this.chart;V.polar&&(this.polar=new st(this),V.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function g(){if(this.chart.polar&&this.xAxis){let{xAxis:V,yAxis:y}=this,z=this.chart;this.kdByAngle=z.tooltip&&z.tooltip.shared,this.kdByAngle||z.inverted?this.searchPoint=A:this.options.findNearestPointBy="xy";let H=this.points,Z=H.length;for(;Z--;)this.is("column")||this.is("columnrange")||this.polar.toXY(H[Z]),z.hasParallelCoordinates||this.yAxis.reversed||(x(H[Z].y,Number.MIN_VALUE)<y.min||H[Z].x<V.min||H[Z].x>V.max?(H[Z].isNull=!0,H[Z].plotY=NaN):H[Z].isNull=H[Z].isValid&&!H[Z].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(q(this,"afterRender",function(){let $;z.polar&&this.options.clip!==!1&&($=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:$[0],y:$[1],r:$[2]/2,innerR:$[3]/2}):this.clipCircle=function(f,s,R,D,X){let G=a(),T=f.createElement("clipPath").attr({id:G}).add(f.defs),_=X?f.arc(s,R,D,X,0,2*Math.PI).add(T):f.circle(s,R,D).add(T);return _.id=G,_.clipPath=T,_}(z.renderer,$[0],$[1],$[2]/2,$[3]/2),this.group.clip(this.clipCircle),this.setClip=m.noop)})))}}function A(V){let y=this.chart,z=this.xAxis,H=this.yAxis,Z=z.pane&&z.pane.center,$=V.chartX-(Z&&Z[0]||0)-y.plotLeft,f=V.chartY-(Z&&Z[1]||0)-y.plotTop,s=y.inverted?{clientX:V.chartX-H.pos,plotY:V.chartY-z.pos}:{clientX:180+-180/Math.PI*Math.atan2($,f)};return this.searchKDTree(s)}function C(V,y,z,H){let Z=H.tickInterval,$=H.tickPositions,f=v($,R=>R>=z),s=v([...$].reverse(),R=>R<=y);return M(f)||(f=$[$.length-1]),M(s)||(s=$[0],f+=Z,V[0][0]="L",V.unshift(V[V.length-3])),(V=V.slice($.indexOf(s),$.indexOf(f)+1))[0][0]="M",V}function W(V,y){return v(this.pane||[],z=>z.options.id===y)||V.call(this,y)}function r(V,y,z,H,Z,$){let f,s,R,D=this.chart,X=x(H.inside,!!this.options.stacking);if(D.polar){if(f=y.rectPlotX/Math.PI*180,D.inverted)this.forceDL=D.isInsidePlot(y.plotX,y.plotY),X&&y.shapeArgs?(s=y.shapeArgs,Z=n(Z,{x:(R=this.yAxis.postTranslate(((s.start||0)+(s.end||0))/2-this.xAxis.startAngleRad,y.barX+y.pointWidth/2)).x-D.plotLeft,y:R.y-D.plotTop})):y.tooltipPos&&(Z=n(Z,{x:y.tooltipPos[0],y:y.tooltipPos[1]})),H.align=x(H.align,"center"),H.verticalAlign=x(H.verticalAlign,"middle");else{var G;let T,_;(G=H).align===null&&(T=f>20&&f<160?"left":f>200&&f<340?"right":"center",G.align=T),G.verticalAlign===null&&(_=f<45||f>315?"bottom":f>135&&f<225?"top":"middle",G.verticalAlign=_),H=G}L.prototype.alignDataLabel.call(this,y,z,H,Z,$),this.isRadialBar&&y.shapeArgs&&y.shapeArgs.start===y.shapeArgs.end?z.hide():z.show()}else V.call(this,y,z,H,Z,$)}function k(){let V=this.options,y=V.stacking,z=this.chart,H=this.xAxis,Z=this.yAxis,$=Z.reversed,f=Z.center,s=H.startAngleRad,R=H.endAngleRad-s,D=V.threshold,X=0,G,T,_,J,U,tt=0,ot=0,rt,dt,et,ht,it,nt,ut,xt;if(H.isRadial)for(_=(G=this.points).length,J=Z.translate(Z.min),U=Z.translate(Z.max),D=V.threshold||0,z.inverted&&b(D)&&M(X=Z.translate(D))&&(X<0?X=0:X>R&&(X=R),this.translatedThreshold=X+s);_--;){if(nt=(T=G[_]).barX,dt=T.x,et=T.y,T.shapeType="arc",z.inverted){T.plotY=Z.translate(et),y&&Z.stacking?(it=Z.stacking.stacks[(et<0?"-":"")+this.stackKey],this.visible&&it&&it[dt]&&!T.isNull&&(ht=it[dt].points[this.getStackIndicator(void 0,dt,this.index).key],tt=Z.translate(ht[0]),ot=Z.translate(ht[1]),M(tt)&&(tt=Y.clamp(tt,0,R)))):(tt=X,ot=T.plotY),tt>ot&&(ot=[tt,tt=ot][0]),$?ot>J?ot=J:tt<U?tt=U:(tt>J||ot<U)&&(tt=ot=R):tt<J?tt=J:ot>U?ot=U:(ot<J||tt>U)&&(tt=ot=0),Z.min>Z.max&&(tt=ot=$?R:0),tt+=s,ot+=s,f&&(T.barX=nt+=f[3]/2),ut=Math.max(nt,0),xt=Math.max(nt+T.pointWidth,0);let ct=V.borderRadius,mt=c((typeof ct=="object"?ct.radius:ct)||0,xt-ut);T.shapeArgs={x:f[0],y:f[1],r:xt,innerR:ut,start:tt,end:ot,borderRadius:mt},T.opacity=tt===ot?0:void 0,T.plotY=(M(this.translatedThreshold)&&(tt<this.translatedThreshold?tt:ot))-s}else tt=nt+s,T.shapeArgs=this.polar.arc(T.yBottom,T.plotY,tt,tt+T.pointWidth),T.shapeArgs.borderRadius=0;this.polar.toXY(T),z.inverted?(rt=Z.postTranslate(T.rectPlotY,nt+T.pointWidth/2),T.tooltipPos=[rt.x-z.plotLeft,rt.y-z.plotTop]):T.tooltipPos=[T.plotX,T.plotY],f&&(T.ttBelow=T.plotY>f[1])}}function P(V,y){let z,H,Z=this;if(this.chart.polar){y=y||this.points;for(let f=0;f<y.length;f++)if(!y[f].isNull){z=f;break}this.options.connectEnds!==!1&&z!==void 0&&(this.connectEnds=!0,y.splice(y.length,0,y[z]),H=!0),y.forEach(f=>{f.polarPlotY===void 0&&Z.polar.toXY(f)})}let $=V.apply(this,[].slice.call(arguments,1));return H&&y.pop(),$}function B(V,y){let z=this.chart,H={xAxis:[],yAxis:[]};return z.polar?z.axes.forEach(Z=>{if(Z.coll==="colorAxis")return;let $=Z.isXAxis,f=Z.center,s=y.chartX-f[0]-z.plotLeft,R=y.chartY-f[1]-z.plotTop;H[$?"xAxis":"yAxis"].push({axis:Z,value:Z.translate($?Math.PI-Math.atan2(s,R):Math.sqrt(Math.pow(s,2)+Math.pow(R,2)),!0)})}):H=V.call(this,y),H}function O(V,y){this.chart.polar||V.call(this,y)}function j(V,y){let z=this,H=this.chart,Z=this.group,$=this.markerGroup,f=this.xAxis&&this.xAxis.center,s=H.plotLeft,R=H.plotTop,D=this.options.animation,X,G,T,_,J,U;H.polar?z.isRadialBar?y||(z.startAngleRad=x(z.translatedThreshold,z.xAxis.startAngleRad),m.seriesTypes.pie.prototype.animate.call(z,y)):(D=w(D),z.is("column")?y||(G=f[3]/2,z.points.forEach(tt=>{T=tt.graphic,J=(_=tt.shapeArgs)&&_.r,U=_&&_.innerR,T&&_&&(T.attr({r:G,innerR:G}),T.animate({r:J,innerR:U},z.options.animation))})):y?(X={translateX:f[0]+s,translateY:f[1]+R,scaleX:.001,scaleY:.001},Z.attr(X),$&&$.attr(X)):(X={translateX:s,translateY:R,scaleX:1,scaleY:1},Z.animate(X,D),$&&$.animate(X,D))):V.call(this,y)}function Q(V,y,z,H){let Z,$;if(this.chart.polar)if(H){let f=($=function R(D,X,G,T){let _,J,U,tt,ot,rt,dt=T?1:0,et=(_=X>=0&&X<=D.length-1?X:X<0?D.length-1+X:0)-1<0?D.length-(1+dt):_-1,ht=_+1>D.length-1?dt:_+1,it=D[et],nt=D[ht],ut=it.plotX,xt=it.plotY,ct=nt.plotX,mt=nt.plotY,yt=D[_].plotX,gt=D[_].plotY;J=(1.5*yt+ut)/2.5,U=(1.5*gt+xt)/2.5,tt=(1.5*yt+ct)/2.5,ot=(1.5*gt+mt)/2.5;let kt=Math.sqrt(Math.pow(J-yt,2)+Math.pow(U-gt,2)),At=Math.sqrt(Math.pow(tt-yt,2)+Math.pow(ot-gt,2)),bt=Math.atan2(U-gt,J-yt);rt=Math.PI/2+(bt+Math.atan2(ot-gt,tt-yt))/2,Math.abs(bt-rt)>Math.PI/2&&(rt-=Math.PI),J=yt+Math.cos(rt)*kt,U=gt+Math.sin(rt)*kt;let vt={rightContX:tt=yt+Math.cos(Math.PI+rt)*At,rightContY:ot=gt+Math.sin(Math.PI+rt)*At,leftContX:J,leftContY:U,plotX:yt,plotY:gt};return G&&(vt.prevPointCont=R(D,et,!1,T)),vt}(y,H,!0,this.connectEnds)).prevPointCont&&$.prevPointCont.rightContX,s=$.prevPointCont&&$.prevPointCont.rightContY;Z=["C",b(f)?f:$.plotX,b(s)?s:$.plotY,b($.leftContX)?$.leftContX:$.plotX,b($.leftContY)?$.leftContY:$.plotY,$.plotX,$.plotY]}else Z=["M",z.plotX,z.plotY];else Z=V.call(this,y,z,H);return Z}function K(V,y,z=this.plotY){if(!this.destroyed){let{plotX:H,series:Z}=this,{chart:$}=Z;return $.polar&&b(H)&&b(z)?[H+(y?$.plotLeft:0),z+(y?$.plotTop:0)]:V.call(this,y,z)}}class st{static compose(y,z,H,Z,$,f,s,R,D,X){if(S.compose(z,H),I.compose(y,$),e(F,"Polar")){let G=z.prototype,T=f.prototype,_=H.prototype,J=Z.prototype;if(q(z,"afterDrawChartBox",t),q(z,"getAxes",d),q(z,"init",i),o(G,"get",W),o(_,"getCoordinates",B),o(_,"pinch",O),q(H,"getSelectionMarkerAttrs",E),q(H,"getSelectionBox",h),q(Z,"afterInit",N),q(Z,"afterTranslate",g,{order:2}),q(Z,"afterColumnTranslate",k,{order:4}),o(J,"animate",j),o(T,"pos",K),R){let U=R.prototype;o(U,"alignDataLabel",r),o(U,"animate",j)}if(D&&o(D.prototype,"getGraphPath",P),X){let U=X.prototype;o(U,"getPointSpline",Q),s&&(s.prototype.getPointSpline=U.getPointSpline)}}}constructor(y){this.series=y}arc(y,z,H,Z){let $=this.series,f=$.xAxis.center,s=$.yAxis.len,R=f[3]/2,D=s-z+R,X=s-x(y,s)+R;return $.yAxis.reversed&&(D<0&&(D=R),X<0&&(X=R)),{x:f[0],y:f[1],r:D,innerR:X,start:H,end:Z}}toXY(y){let z=this.series,H=z.chart,Z=z.xAxis,$=z.yAxis,f=y.plotX,s=H.inverted,R=y.y,D=y.plotY,X=s?f:$.len-D,G;if(s&&z&&!z.isRadialBar&&(y.plotY=D=b(R)?$.translate(R):0),y.rectPlotX=f,y.rectPlotY=D,$.center&&(X+=$.center[3]/2),b(D)){let T=s?$.postTranslate(D,X):Z.postTranslate(f,X);y.plotX=y.polarPlotX=T.x-H.plotLeft,y.plotY=y.polarPlotY=T.y-H.plotTop}z.kdByAngle?((G=(f/Math.PI*180+Z.pane.options.startAngle)%360)<0&&(G+=360),y.clientX=G):y.clientX=y.plotX}}return st}),at(l,"Core/Axis/WaterfallAxis.js",[l["Core/Globals.js"],l["Core/Axis/Stacking/StackItem.js"],l["Core/Utilities.js"]],function(p,m,L){var S;let{composed:I}=p,{addEvent:Y,objectEach:w,pushUnique:F}=L;return function(q){function M(){let e=this.waterfall.stacks;e&&(e.changed=!1,delete e.alreadyChanged)}function v(){let e=this.options.stackLabels;e&&e.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function b(){this.waterfall||(this.waterfall=new x(this))}function n(){let e=this.axes;for(let c of this.series)if(c.options.stacking){for(let u of e)u.isXAxis||(u.waterfall.stacks.changed=!0);break}}q.compose=function(e,c){F(I,"Axis.Waterfall")&&(Y(e,"init",b),Y(e,"afterBuildStacks",M),Y(e,"afterRender",v),Y(c,"beforeRedraw",n))};class x{constructor(c){this.axis=c,this.stacks={changed:!1}}renderStackTotals(){let c=this.axis,u=c.waterfall.stacks,a=c.stacking&&c.stacking.stackTotalGroup,o=new m(c,c.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=o,a&&w(u,t=>{w(t,(i,d)=>{o.total=i.stackTotal,o.x=+d,i.label&&(o.label=i.label),m.prototype.render.call(o,a),i.label=o.label,delete o.label})}),o.total=null}}q.Composition=x}(S||(S={})),S}),at(l,"Series/Waterfall/WaterfallPoint.js",[l["Series/Column/ColumnSeries.js"],l["Core/Series/Point.js"],l["Core/Utilities.js"]],function(p,m,L){let{isNumber:S}=L;class I extends p.prototype.pointClass{getClassName(){let w=m.prototype.getClassName.call(this);return this.isSum?w+=" highcharts-sum":this.isIntermediateSum&&(w+=" highcharts-intermediate-sum"),w}isValid(){return S(this.y)||this.isSum||!!this.isIntermediateSum}}return I}),at(l,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),at(l,"Series/Waterfall/WaterfallSeries.js",[l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"],l["Core/Axis/WaterfallAxis.js"],l["Series/Waterfall/WaterfallPoint.js"],l["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(p,m,L,S,I){let{column:Y,line:w}=p.seriesTypes,{addEvent:F,arrayMax:q,arrayMin:M,correctFloat:v,crisp:b,extend:n,isNumber:x,merge:e,objectEach:c,pick:u}=m;function a(t,i){return Object.hasOwnProperty.call(t,i)}class o extends Y{generatePoints(){Y.prototype.generatePoints.apply(this);for(let i=0,d=this.points.length;i<d;i++){let h=this.points[i],E=this.processedYData[i];x(E)&&(h.isIntermediateSum||h.isSum)&&(h.y=v(E))}}processData(i){let d,h,E,N,g,A,C=this.options,W=this.yData,r=C.data,k=W.length,P=C.threshold||0;E=h=N=g=0;for(let B=0;B<k;B++)A=W[B],d=r&&r[B]?r[B]:{},A==="sum"||d.isSum?W[B]=v(E):A==="intermediateSum"||d.isIntermediateSum?(W[B]=v(h),h=0):(E+=A,h+=A),N=Math.min(E,N),g=Math.max(E,g);super.processData.call(this,i),C.stacking||(this.dataMin=N+P,this.dataMax=g)}toYData(i){return i.isSum?"sum":i.isIntermediateSum?"intermediateSum":i.y}updateParallelArrays(i,d){super.updateParallelArrays.call(this,i,d),(this.yData[0]==="sum"||this.yData[0]==="intermediateSum")&&(this.yData[0]=null)}pointAttribs(i,d){let h=this.options.upColor;h&&!i.options.color&&x(i.y)&&(i.color=i.y>0?h:void 0);let E=Y.prototype.pointAttribs.call(this,i,d);return delete E.dashstyle,E}getGraphPath(){return[["M",0,0]]}getCrispPath(){let i=this.data.filter(W=>x(W.y)),d=this.yAxis,h=i.length,E=this.graph?.strokeWidth()||0,N=this.xAxis.reversed,g=this.yAxis.reversed,A=this.options.stacking,C=[];for(let W=1;W<h;W++){if(!(this.options.connectNulls||x(this.data[i[W].index-1].y)))continue;let r=i[W].box,k=i[W-1],P=k.y||0,B=i[W-1].box;if(!r||!B)continue;let O=d.waterfall.stacks[this.stackKey],j=P>0?-B.height:0;if(O&&B&&r){let Q,K=O[W-1];if(A){let st=K.connectorThreshold;Q=b(d.translate(st,!1,!0,!1,!0)+(g?j:0),E)}else Q=b(B.y+(k.minPointLengthOffset||0),E);C.push(["M",(B.x||0)+(N?0:B.width||0),Q],["L",(r.x||0)+(N&&r.width||0),Q])}if(B&&C.length&&(!A&&P<0&&!g||P>0&&g)){let Q=C[C.length-2];Q&&typeof Q[2]=="number"&&(Q[2]+=B.height||0);let K=C[C.length-1];K&&typeof K[2]=="number"&&(K[2]+=B.height||0)}}return C}drawGraph(){w.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(i){let d=this.options,h=i.waterfall?.stacks,E=d.threshold||0,N=this.stackKey,g=this.xData,A=g.length,C=E,W=C,r,k=0,P=0,B=0,O,j,Q,K,st,V,y,z,H=(Z,$,f,s)=>{if(r){if(O)for(;f<O;f++)r.stackState[f]+=s;else r.stackState[0]=Z,O=r.stackState.length;r.stackState.push(r.stackState[O-1]+$)}};if(i.stacking&&h&&this.reserveSpace()){z=h.changed,(y=h.alreadyChanged)&&0>y.indexOf(N)&&(z=!0),h[N]||(h[N]={});let Z=h[N];if(Z)for(let $=0;$<A;$++)(!Z[V=g[$]]||z)&&(Z[V]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:z&&Z[V]?Z[V].label:void 0}),r=Z[V],(st=this.yData[$])>=0?r.posTotal+=st:r.negTotal+=st,K=d.data[$],j=r.absolutePos=r.posTotal,Q=r.absoluteNeg=r.negTotal,r.stackTotal=j+Q,O=r.stackState.length,K&&K.isIntermediateSum?(H(B,P,0,B),B=P,P=E,C^=W,W^=C,C^=W):K&&K.isSum?(H(E,k,O,0),C=E):(H(C,st,0,k),K&&(k+=st,P+=st)),r.stateIndex++,r.threshold=C,C+=r.stackTotal;h.changed=!1,h.alreadyChanged||(h.alreadyChanged=[]),h.alreadyChanged.push(N)}}getExtremes(){let i,d,h,E=this.options.stacking;return E?(i=this.yAxis.waterfall.stacks,d=this.stackedYNeg=[],h=this.stackedYPos=[],E==="overlap"?c(i[this.stackKey],function(N){d.push(M(N.stackState)),h.push(q(N.stackState))}):c(i[this.stackKey],function(N){d.push(N.negTotal+N.threshold),h.push(N.posTotal+N.threshold)}),{dataMin:M(d),dataMax:q(h)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return o.defaultOptions=e(Y.defaultOptions,I),o.compose=L.compose,n(o.prototype,{pointValKey:"y",showLine:!0,pointClass:S}),F(o,"afterColumnTranslate",function(){let{options:t,points:i,yAxis:d}=this,h=u(t.minPointLength,5),E=h/2,N=t.threshold||0,g=t.stacking,A=d.waterfall.stacks[this.stackKey],C=N,W=N,r,k,P,B;for(let O=0;O<i.length;O++){let j=i[O],Q=this.processedYData[O],K=n({x:0,y:0,width:0,height:0},j.shapeArgs||{});j.box=K;let st=[0,Q],V=j.y||0;if(g){if(A){let H=A[O];g==="overlap"?(k=H.stackState[H.stateIndex--],r=V>=0?k:k-V,a(H,"absolutePos")&&delete H.absolutePos,a(H,"absoluteNeg")&&delete H.absoluteNeg):(V>=0?(k=H.threshold+H.posTotal,H.posTotal-=V,r=k):(k=H.threshold+H.negTotal,H.negTotal-=V,r=k-V),!H.posTotal&&x(H.absolutePos)&&a(H,"absolutePos")&&(H.posTotal=H.absolutePos,delete H.absolutePos),!H.negTotal&&x(H.absoluteNeg)&&a(H,"absoluteNeg")&&(H.negTotal=H.absoluteNeg,delete H.absoluteNeg)),j.isSum||(H.connectorThreshold=H.threshold+H.stackTotal),d.reversed?(P=V>=0?r-V:r+V,B=r):(P=r,B=r-V),j.below=P<=N,K.y=d.translate(P,!1,!0,!1,!0),K.height=Math.abs(K.y-d.translate(B,!1,!0,!1,!0));let Z=d.waterfall.dummyStackItem;Z&&(Z.x=O,Z.label=A[O].label,Z.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[O],this.stackedYPos[O],void 0,this.xAxis))}}else r=Math.max(W,W+V)+st[0],K.y=d.translate(r,!1,!0,!1,!0),j.isSum?(K.y=d.translate(st[1],!1,!0,!1,!0),K.height=Math.min(d.translate(st[0],!1,!0,!1,!0),d.len)-K.y,j.below=st[1]<=N):j.isIntermediateSum?(V>=0?(P=st[1]+C,B=C):(P=C,B=st[1]+C),d.reversed&&(P^=B,B^=P,P^=B),K.y=d.translate(P,!1,!0,!1,!0),K.height=Math.abs(K.y-Math.min(d.translate(B,!1,!0,!1,!0),d.len)),C+=st[1],j.below=P<=N):(K.height=Q>0?d.translate(W,!1,!0,!1,!0)-K.y:d.translate(W,!1,!0,!1,!0)-d.translate(W-Q,!1,!0,!1,!0),W+=Q,j.below=W<N),K.height<0&&(K.y+=K.height,K.height*=-1);j.plotY=K.y,j.yBottom=K.y+K.height,K.height<=h&&!j.isNull?(K.height=h,K.y-=E,j.yBottom=K.y+K.height,j.plotY=K.y,V<0?j.minPointLengthOffset=-E:j.minPointLengthOffset=E):(j.isNull&&(K.width=0),j.minPointLengthOffset=0);let y=j.plotY+(j.negative?K.height:0);j.below&&(j.plotY+=K.height),j.tooltipPos&&(this.chart.inverted?j.tooltipPos[0]=d.len-y:j.tooltipPos[1]=y),j.isInside=this.isPointInside(j);let z=b(j.yBottom,this.borderWidth);K.y=b(K.y,this.borderWidth),K.height=z-K.y,e(!0,j.shapeArgs,K)}},{order:2}),p.registerSeriesType("waterfall",o),o}),at(l,"masters/highcharts-more.src.js",[l["Core/Globals.js"],l["Core/Series/SeriesRegistry.js"],l["Extensions/Pane/Pane.js"],l["Series/Bubble/BubbleSeries.js"],l["Series/PackedBubble/PackedBubbleSeries.js"],l["Series/PolarComposition.js"],l["Core/Axis/RadialAxis.js"],l["Series/Waterfall/WaterfallSeries.js"]],function(p,m,L,S,I,Y,w,F){return p.RadialAxis=w,S.compose(p.Axis,p.Chart,p.Legend),I.compose(p.Axis,p.Chart,p.Legend),L.compose(p.Chart,p.Pointer),Y.compose(p.Axis,p.Chart,p.Pointer,p.Series,p.Tick,p.Point,m.seriesTypes.areasplinerange,m.seriesTypes.column,m.seriesTypes.line,m.seriesTypes.spline),F.compose(p.Axis,p.Chart),p})})});export{Ht as a,Vt as b};