PageSourceSearch

https://app.evalandgo.com/build/7244.f36eb412.js

js evalandgo.com collected 2026-09-24 08:48:00 UTC 418,576 bytes, 2 lines download raw bytes

1(()=>{var ca=Object.defineProperty,pa=Object.defineProperties;var ua=Object.getOwnPropertyDescriptors;var zr=Object.getOwnPropertySymbols;var ga=Object.prototype.hasOwnProperty,fa=Object.prototype.propertyIsEnumerable;var Xr=(Be,qt,ae)=>qt in Be?ca(Be,qt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):Be[qt]=ae,Ii=(Be,qt)=>{for(var ae in qt||(qt={}))ga.call(qt,ae)&&Xr(Be,ae,qt[ae]);if(zr)for(var ae of zr(qt))fa.call(qt,ae)&&Xr(Be,ae,qt[ae]);return Be},Ys=(Be,qt)=>pa(Be,ua(qt));(function(Be){const qt=Be.fr=Be.fr||{};qt.dictionary=Object.assign(qt.dictionary||{},{"(may require <kbd>Fn</kbd>)":"(peut n\xE9cessiter <kbd> Fn </kbd> )","%0 of %1":"%0 sur %1",Accept:"Accepter",Accessibility:"Accessibilit\xE9","Accessibility help":"Aide \xE0 l'accessibilit\xE9","Align cell text to the bottom":"Aligner le texte en bas","Align cell text to the center":"Aligner la cellule au centre","Align cell text to the left":"Aligner la cellule \xE0 gauche","Align cell text to the middle":"Aligner le texte au milieu","Align cell text to the right":"Aligner la cellule \xE0 droite","Align cell text to the top":"Aligner le texte en haut","Align center":"Centrer","Align left":"Aligner \xE0 gauche","Align right":"Aligner \xE0 droite","Align table to the left":"Aligner le tableau \xE0 gauche","Align table to the right":"Aligner le tableau \xE0 droite",Alignment:"Alignement",Aquamarine:"Bleu vert",Background:"Fond","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ci-dessous, vous trouverez une liste de raccourcis clavier pouvant \xEAtre utilis\xE9s dans l\u2019\xE9diteur.",Big:"Grand",Black:"Noir","Block quote":"Citation",Blue:"Bleu","Blue marker":"Marqueur bleu",Bold:"Gras","Bold text":"Texte en gras",Border:"Bordure","Break text":"Saut de ligne","Bulleted List":"Liste \xE0 puces","Bulleted list styles toolbar":"Barre d'outils des styles de liste \xE0 puce",Cancel:"Annuler","Cannot upload file:":"Envoi du fichier \xE9chou\xE9 :","Caption for image: %0":"L\xE9gende de l'image\xA0: %0","Caption for the image":"L\xE9gende de l'image","Cell properties":"Propri\xE9t\xE9s de la cellule","Center table":"Centrer le tableau ","Centered image":"Image centr\xE9e","Change image text alternative":"Changer le texte alternatif \xE0 l\u2019image","Choose heading":"Choisir l'en-t\xEAte",Circle:"Cercle",Clear:"Effacer","Click to edit block":"Cliquer pour modifier le bloc",Close:"Fermer","Close contextual balloons, dropdowns, and dialogs":"Fermer les bulles contextuelles, les listes d\xE9roulantes et les bo\xEEtes de dialogue",Code:"Code","Code block":"Bloc de code",Color:"Couleur","Color picker":"Pipette \xE0 couleurs",Column:"Colonne","Content editing keystrokes":"Touches d'\xE9dition de contenu","Copy selected content":"Copier le contenu s\xE9lectionn\xE9","Could not insert image at the current position.":"Impossible d'ins\xE9rer l'image \xE0 la position courante.","Could not obtain resized image URL.":"Impossible d'obtenir l'image redimensionn\xE9e","Create link":"Cr\xE9er un lien",Custom:"Personnalis\xE9","Custom image size":"Taille d'image personnalis\xE9e",Dashed:"Tirets",Decimal:"Chiffres","Decimal with leading zero":"Chiffres avec des z\xE9ros suppl\xE9mentaire","Decrease indent":"Diminuer le retrait","Decrease list item indent":"Diminuer le retrait des \xE9l\xE9ments de liste",Default:"Par d\xE9faut","Delete column":"Supprimer la colonne","Delete row":"Supprimer la ligne","Dim grey":"Gris p\xE2le",Dimensions:"Dimensions","Disable editing":"D\xE9sactiver l'\xE9dition",Disc:"Disque","Document colors":"Couleurs du document",Dotted:"Pointill\xE9s",Double:"Double",Downloadable:"Fichier t\xE9l\xE9chargeable","Drag to move":"Faire glisser pour d\xE9placer","Dropdown toolbar":"Barre d'outils dans un menu d\xE9roulant","Edit block":"Modifier le bloc","Edit link":"Modifier le lien","Editor block content toolbar":"Barre d'outils du contenu du bloc \xE9diteur","Editor contextual toolbar":"Barre d'outils contextuelle de l'\xE9diteur","Editor dialog":"Bo\xEEte de dialogue de l'\xE9diteur","Editor editing area: %0":"Zone d'\xE9dition de l'\xE9diteur\xA0: %0","Editor menu bar":"Barre de menu de l'\xE9diteur","Editor toolbar":"Barre d'outils de l'\xE9diteur","Enable editing":"Activer l'\xE9dition","Enter image caption":"Saisir la l\xE9gende de l\u2019image","Entering %0 code snippet":"Saisie d'un extrait de code %0","Entering a to-do list":"Saisie d'une liste de t\xE2ches","Entering code snippet":"Saisie d'un extrait de code","Error during image upload":"Une erreur s'est produite lors du t\xE9l\xE9chargement de l'image.","Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.":"Ex\xE9cuter le bouton sur lequel se trouve le focus. L'ex\xE9cution de boutons qui interagissent avec le contenu de l'\xE9diteur ram\xE8ne le focus sur le contenu.",File:"Fichier","Font Backgroun
1d Color":"Couleur d'arri\xE8re-plan","Font Color":"Couleur de police","Font Family":"Police","Font Size":"Taille de police","From computer":"Depuis l'ordinateur","Full size image":"Image taille r\xE9elle",Green:"Vert","Green marker":"Marqueur vert","Green pen":"Crayon vert",Grey:"Gris",Groove:"Rainur\xE9","Header column":"Colonne d'ent\xEAte","Header row":"Ligne d'ent\xEAte",Heading:"En-t\xEAte","Heading 1":"Titre 1","Heading 2":"Titre 2","Heading 3":"Titre 3","Heading 4":"Titre 4","Heading 5":"Titre 5","Heading 6":"Titre 6",Height:"Hauteur","Help Contents. To close this dialog press ESC.":"Contenu de l'aide. Pour fermer cette bo\xEEte de dialogue, appuyez sur ESC.",HEX:"HEX",Highlight:"Surlignage","Horizontal text alignment toolbar":"Barre d'outils pour modifier l'alignement horizontal du texte",Huge:"Enorme",Image:"Image","Image from computer":"Image provenant d'un ordinateur","Image resize list":"Liste des tailles d'images","Image toolbar":"Barre d'outils des images","Image upload complete":"T\xE9l\xE9chargement de l'image termin\xE9","Image via URL":"Image par URL","image widget":"Objet image","In line":"Align\xE9","Increase indent":"Augmenter le retrait","Increase list item indent":"Augmenter le retrait des \xE9l\xE9ments de liste","Insert a hard break (a new paragraph)":"Ins\xE9rer une pause (un nouveau paragraphe)","Insert a new paragraph directly after a widget":"Ins\xE9rer un nouveau paragraphe directement apr\xE8s un widget","Insert a new paragraph directly before a widget":"Ins\xE9rer un nouveau paragraphe directement avant un widget","Insert a new table row (when in the last cell of a table)":"Ins\xE9rer une nouvelle ligne de tableau (dans la derni\xE8re cellule d'un tableau)","Insert a soft break (a <code>&lt;br&gt;</code> element)":"Ins\xE9rer un saut progressif (un \xE9l\xE9ment <code> <br> </code> )","Insert code block":"Ins\xE9rer un bloc de code","Insert column left":"Ins\xE9rer une colonne \xE0 gauche","Insert column right":"Ins\xE9rer une colonne \xE0 droite","Insert image":"Ins\xE9rer une image","Insert image or file":"Ins\xE9rer une image ou un fichier","Insert image via URL":"Ins\xE9rer une image \xE0 partir d'une URL","Insert image with file manager":"Ins\xE9rer une image avec le gestionnaire de fichiers","Insert media":"Ins\xE9rer un m\xE9dia","Insert paragraph after block":"Ins\xE9rer du texte apr\xE8s ce bloc","Insert paragraph before block":"Ins\xE9rer du texte avant ce bloc","Insert row above":"Ins\xE9rer une ligne au-dessus","Insert row below":"Ins\xE9rer une ligne en-dessous","Insert table":"Ins\xE9rer un tableau","Insert via URL":"Ins\xE9rer par URL","Insert with file manager":"Ins\xE9rer avec le gestionnaire de fichiers","Inserting image failed":"L'insertion d'image a \xE9chou\xE9.",Inset:"Relief int\xE9rieur","Invalid start index value.":"Valeur d'index de d\xE9part invalide.",Italic:"Italique","Italic text":"Texte en italique",Justify:"Justifier","Justify cell text":"Justifier le contenu de la cellule","Keystrokes that can be used in a list":"Frappes de touches pouvant \xEAtre utilis\xE9es dans une liste","Keystrokes that can be used in a table cell":"Frappes de touches pouvant \xEAtre utilis\xE9es dans une cellule de tableau","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Frappes de touches pouvant \xEAtre utilis\xE9es lorsqu'un widget est s\xE9lectionn\xE9 (par exemple : image, tableau, etc.)","Leaving %0 code snippet":"Laisser un extrait de code %0","Leaving a to-do list":"Laisser une liste de t\xE2ches","Leaving code snippet":"Laisser un extrait de code","Left aligned image":"Image align\xE9e \xE0 gauche","Light blue":"Bleu clair","Light green":"Vert clair","Light grey":"Gris clair",Link:"Lien","Link image":"Lien d'image","Link URL":"URL du lien","Link URL must not be empty.":"L'URL du lien ne doit pas \xEAtre vide.","List properties":"Liste des propri\xE9t\xE9s","Lower-latin":"Lettres minuscules","Lower\u2013roman":"Chiffres romains en minuscules",Media:"M\xE9dia","Media URL":"URL de m\xE9dia","media widget":"Widget m\xE9dia",MENU_BAR_MENU_EDIT:"\xC9diter",MENU_BAR_MENU_FILE:"Fichier",MENU_BAR_MENU_FONT:"Police de caract\xE8re",MENU_BAR_MENU_FORMAT:"Format",MENU_BAR_MENU_HELP:"Aide",MENU_BAR_MENU_INSERT:"Ins\xE9rer",MENU_BAR_MENU_TEXT:"Texte",MENU_BAR_MENU_TOOLS:"Outils",MENU_BAR_MENU_VIEW:"Afficher","Merge cell down":"Fusionner la cellule en-dessous","Merge cell left":"Fusionner la cellule \xE0 gauche","Merge cell right":"Fusionner la cellule \xE0 droite","Merge cell up":"Fusionner la cellule au-dessus","Merge cells":"Fusionner les cellules","Move focus between form fields (inputs, buttons, etc.)":"D\xE9placer le focus entre les champs du formulaire (saisies, boutons, etc.)","Move focus from an editable area back to the parent widget":"D\xE9placer le focus d'une zone modifiable vers le widget parent","Move focus in and out of an active dialog window":"D\xE9placer le focus vers et hors d'une fen\xEAtre de dialogue active","Move focus to the menu bar, navigate between menu bars":"D\xE9placer le focus sur la barre du menu, naviguer entre les barres de menu","Move focus to the toolbar, navigate between toolbars":"D\xE9placez le focus sur la barre d'outils, naviguez entre les barres d'outils","Move out of a link":"Sortir d'un lien","Move out of an inline code style":"Sortir d'un style de code en ligne","Move the caret to allow typing directly after a widget":"D\xE9placez le curseur pour permettre de taper directement apr\xE8s un widget","Move the caret to allow typing directly before a widget":"D\xE9placez le curseur pour permettre la saisie directement avant un widget","Move the selection to the next cell":"D\xE9placer la s\xE9lection vers la cellule suivante","Move the selection to the previous cell":"D\xE9placer la s\xE9lection vers la cellule pr\xE9c\xE9dente","Navigate through the table":"Naviguer dans le tableau","Navigate through the toolbar or menu bar":"Naviguer sur la barre d'outils ou la barre de menu",Next:"Suivant","No results found":"Aucun r\xE9sultat trouv\xE9","No searchable items":"Aucun \xE9l\xE9ment consultable",None:"Aucun","Numbered List":"Liste num\xE9rot\xE9e","Numbered list styles toolbar":"Barre d'outils des styles de liste num\xE9rot\xE9e","Open in a new tab":"Ouvrir dans un nouvel onglet","Open link in new tab":"Ouvrir le lien dans un nouvel onglet","Open media in new tab":"Ouvrir le m\xE9dia dans un nouvel onglet","Open the accessibility help dialog":"Ouvrir la bo\xEEte de dialogue d'aide sur l'accessibilit\xE9",Orange:"Orange",Original:"Taille originale",Outset:"Relief ext\xE9rieur",Padding:"Remplissage pour a\xE9rer le texte",Paragraph:"Paragraphe","Paste content":"Coller le contenu","Paste content as plain text":"Coller le contenu sous forme de texte brut","Paste the media URL in the input.":"Coller l'URL du m\xE9dia","Pink marker":"Marqueur rose","Plain text":"Texte brut",'Please enter a valid color (e.g. "ff0000").':"Veuillez saisir une couleur valide (par exemple \xAB\xA0ff0000\xA0\xBB).","Press %0 for help.":"Appuyez sur %0 pour obtenir de l'aide.","Press Enter to type after or press Shift + Enter to type before the widget":"Appuyez sur la touche Entr\xE9e pour taper apr\xE8s ou sur Maj + Entr\xE9e pour taper avant le widget.",Previous:"Pr\xE9cedent",Purple:"Violet",Red:"Rouge","Red pen":"Crayon rouge",Redo:"Restaurer","Remove c
1olor":"Enlever la couleur","Remove Format":"Enlever le format","Remove highlight":"Enlever le surlignage","Replace from computer":"Remplacer depuis l'ordinateur","Replace image":"Remplacer l'image","Replace image from computer":"Remplacer l'image depuis l'ordinateur","Replace image with file manager":"Remplacer l'image avec le gestionnaire de fichiers","Replace with file manager":"Remplacer avec le gestionnaire de fichiers","Resize image":"Redimensionner l'image","Resize image (in %0)":"Redimensionner l'image (en %0)","Resize image to %0":"Redimensionner \xE0 %0","Resize image to the original size":"Appliquer les dimensions d'origine","Restore default":"Restaurer par d\xE9faut","Reversed order":"Ordre invers\xE9","Revert autoformatting action":"Annuler l'action de formatage automatique","Rich Text Editor":"\xC9diteur de texte enrichi","Rich Text Editor. Editing area: %0":"\xC9diteur de texte enrichi. Zone d'\xE9dition\xA0: %0",Ridge:"Relief","Right aligned image":"Image align\xE9e \xE0 droite",Row:"Ligne",Save:"Enregistrer","Saving changes":"Enregistrement des modifications","Select all":"S\xE9lectionner tout","Select column":"S\xE9lectionner la colonne","Select row":"S\xE9lectionner la ligne","Selecting resized image failed":"La s\xE9lection de l'image redimensionn\xE9e a \xE9chou\xE9.","Show more items":"Montrer plus d'\xE9l\xE9ments","Side image":"Image lat\xE9rale",Small:"Petit",Solid:"Continu","Split cell horizontally":"Scinder la cellule horizontalement","Split cell vertically":"Scinder la cellule verticalement",Square:"Carr\xE9","Start at":"Commencer \xE0","Start index must be greater than 0.":"L'indice de d\xE9part doit \xEAtre sup\xE9rieur \xE0 0.",Strikethrough:"Barr\xE9","Strikethrough text":"Texte barr\xE9",Style:"Style",Subscript:"Indice",Superscript:"Exposant",Table:"Tableau","Table alignment toolbar":"Barre d'outils pour modifier l'alignement du tableau","Table cell text alignment":"Alignement du texte de la cellule","Table properties":"Propri\xE9t\xE9s du tableau","Table toolbar":"Barre d'outils des tableaux","Text alignment":"Alignement du texte","Text alignment toolbar":"Barre d'outils d'alignement du texte","Text alternative":"Texte alternatif","Text highlight toolbar":"Barre d'outils du surlignage",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'La couleur est invalide. Essayez "#FF0000" ou "rgb(255,0,0)" ou "red".',"The URL must not be empty.":"L'URL ne doit pas \xEAtre vide.",'The value is invalid. Try "10px" or "2em" or simply "2".':'La valeur est invalide. Essayez "10px" ou "2em" ou simplement "2".',"The value must not be empty.":"La valeur ne doit pas \xEAtre vide.","The value should be a plain number.":"La valeur doit \xEAtre un nombre simple.","These keyboard shortcuts allow for quick access to content editing features.":"Ces raccourcis clavier permettent un acc\xE8s rapide aux fonctionnalit\xE9s d'\xE9dition de contenu.","This link has no URL":"Ce lien n'a pas d'URL","This media URL is not supported.":"Cette URL de m\xE9dia n'est pas support\xE9e.",Tiny:"Minuscule","Tip: Paste the URL into the content to embed faster.":"Astuce : Copier l'URL du m\xE9dia dans le contenu pour l'ins\xE9rer plus rapidement","To-do List":"Liste de t\xE2ches","Toggle caption off":"D\xE9sactiver la l\xE9gende","Toggle caption on":"Activer la l\xE9gende","Toggle the circle list style":'Activer / d\xE9sactiver le style de liste "cercle"',"Toggle the decimal list style":'Activer / d\xE9sactiver le style de liste "chiffres"',"Toggle the decimal with leading zero list style":'Activer / d\xE9sactiver le style de liste "chiffres de m\xEAmes longueurs"',"Toggle the disc list style":'Activer / d\xE9sactiver le style de liste "disque"',"Toggle the lower\u2013latin list style":'Activer / d\xE9sactiver le style de liste "lettres minuscules"',"Toggle the lower\u2013roman list style":'Activer / d\xE9sactiver le style de liste "chiffres romains en minuscules"',"Toggle the square list style":'Activer / d\xE9sactiver le style de liste "carr\xE9"',"Toggle the upper\u2013latin list style":'Activer / d\xE9sactiver le style de liste "lettres majuscules"',"Toggle the upper\u2013roman list style":'Activer / d\xE9sactiver le style de liste "chiffres romains en majuscules"',Turquoise:"Turquoise",Underline:"Soulign\xE9","Underline text":"Souligner le texte",Undo:"Annuler",Unlink:"Supprimer le lien","Update image URL":"Modifier l'URL de l'image","Upload failed":"\xC9chec de l'envoi","Upload from computer":"T\xE9l\xE9charger depuis l'ordinateur","Upload image from computer":"T\xE9l\xE9charger une image depuis l'ordinateur","Upload in progress":"T\xE9l\xE9chargement en cours","Uploading image":"T\xE9l\xE9chargement de l'image","Upper-latin":"Lettres majuscules","Upper-roman":"Chiffres romains en majuscules","Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.":"Utilisez les touches suivantes pour une navigation plus efficace dans l'interface utilisateur de CKEditor 5.","User interface and content navigation keystrokes":"Interface utilisateur et frappes de navigation dans le contenu","Vertical text alignment toolbar":"Barre d'outils pour modifier l'alignement vertical du texte","Via URL":"Par URL",White:"Blanc","Wi
1dget toolbar":"Barre d'outils du widget",Width:"Largeur","With file manager":"Avec le gestionnaire de fichiers","Wrap text":"Retour \xE0 la ligne",Yellow:"Jaune","Yellow marker":"Marqueur jaune"}),qt.getPluralForm=function(ae){return ae==0||ae==1?0:ae!=0&&ae%1e6==0?1:2}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(self.webpackChunk=self.webpackChunk||[]).push([[7244],{76252(Be){(function(qt,ae){Be.exports=ae(qt._Highcharts,qt._Highcharts.SeriesRegistry,qt._Highcharts.Series,qt._Highcharts.Series.types.column,qt._Highcharts.Templating,qt._Highcharts.Point,qt._Highcharts.Color,qt._Highcharts.Chart,qt._Highcharts.SVGElement,qt._Highcharts.StackItem)})("u"<typeof window?this:window,(qt,ae,Ss,os,Oe,rs,Xt,ei,Ps,As)=>(()=>{"use strict";var Wi,as,ns,Ke,_i={28:m=>{m.exports=Ps},184:m=>{m.exports=As},260:m=>{m.exports=rs},448:m=>{m.exports=os},512:m=>{m.exports=ae},620:m=>{m.exports=Xt},820:m=>{m.exports=Ss},944:m=>{m.exports=qt},960:m=>{m.exports=ei},984:m=>{m.exports=Oe}},Hi={};function Yt(m){var l=Hi[m];if(l!==void 0)return l.exports;var p=Hi[m]={exports:{}};return _i[m](p,p.exports,Yt),p.exports}Yt.n=m=>{var l=m&&m.__esModule?()=>m.default:()=>m;return Yt.d(l,{a:l}),l},Yt.d=(m,l)=>{for(var p in l)Yt.o(l,p)&&!Yt.o(m,p)&&Object.defineProperty(m,p,{enumerable:!0,get:l[p]})},Yt.o=(m,l)=>Object.prototype.hasOwnProperty.call(m,l);var Fi={};Yt.d(Fi,{default:()=>fr});var Ge=Yt(944),jt=Yt.n(Ge),ls=Yt(512),_t=Yt.n(ls),hs=Yt(820),Gi=Yt.n(hs);let{doc:mi,win:ds}=jt();function St(m,l,p,x={}){let v=typeof m=="function"&&m.prototype||m;Object.hasOwnProperty.call(v,"hcEvents")||(v.hcEvents={});let w=v.hcEvents;jt().Point&&m instanceof jt().Point&&m.series&&m.series.chart&&(m.series.chart.runTrackerClick=!0);let P=m.addEventListener;P&&P.call(m,l,p,!!jt().supportsPassiveEvents&&{passive:x.passive===void 0?l.indexOf("touch")!==-1:x.passive,capture:!1}),w[l]||(w[l]=[]);let T={fn:p,order:typeof x.order=="number"?x.order:1/0};return w[l].push(T),w[l].sort((I,L)=>I.order-L.order),function(){(function(I,L,R){function C(Z,V){let U=I.removeEventListener;U&&U.call(I,Z,V,!1)}function W(Z){let V,U;I.nodeName&&(L?(V={})[L]=!0:V=Z,ee(V,function(q,ot){if(Z[ot])for(U=Z[ot].length;U--;)C(ot,Z[ot][U].fn)}))}let B=typeof I=="function"&&I.prototype||I;if(Object.hasOwnProperty.call(B,"hcEvents")){let Z=B.hcEvents;if(L){let V=Z[L]||[];R?(Z[L]=V.filter(function(U){return R!==U.fn}),C(L,R)):(W(Z),Z[L]=[])}else W(Z),delete B.hcEvents}})(m,l,p)}}function xi(m){let l=m.length,p=m[0];for(;l--;)m[l]<p&&(p=m[l]);return p}function yi(m){let l=m.length,p=m[0];for(;l--;)m[l]>p&&(p=m[l]);return p}function He(m,l,p){return m>l?m<p?m:p:l}function ii(m,l){return m>1e14?m:parseFloat(m.toPrecision(l||14))}function Me(m,l=0,p){let x=l%2/2,v=p?-1:1;return(Math.round(m*v-x)+x)*v}function Ut(m){return m!=null}function re(m,l){let p;for(p in m||(m={}),l)m[p]=l[p];return m}function G(m,l,p,x){if(p=p||{},(mi==null?void 0:mi.createEvent)&&(m.dispatchEvent||m.fireEvent&&m!==jt())){let v=mi.createEvent("Events");v.initEvent(l,!0,!0),p=re(v,p),m.dispatchEvent?m.dispatchEvent(p):m.fireEvent(l,p)}else if(m.hcEvents){p.target||re(p,{preventDefault:function(){p.defaultPrevented=!0},target:m,type:l});let v=[],w=m,P=!1;for(;w.hcEvents;)Object.hasOwnProperty.call(w,"hcEvents")&&w.hcEvents[l]&&(v.length&&(P=!0),v.unshift.apply(v,w.hcEvents[l])),w=Object.getPrototypeOf(w);P&&v.sort((T,I)=>T.order-I.order),v.forEach(T=>{T.fn.call(m,p,m)===!1&&p.preventDefault()})}x&&!p.defaultPrevented&&x.call(m,p)}let hi=Array.prototype.find?function(m,l){return m.find(l)}:function(m,l){let p,x=m.length;for(p=0;p<x;p++)if(l(m[p],p))return m[p]};function ji(m){return Pe(m)&&typeof m.nodeType=="number"}function rt(m){return typeof m=="number"&&!isNaN(m)&&m<1/0&&m>-1/0}function Ze(m){let l=Object.prototype.toString.call(m);return l==="[object Array]"||l==="[object Array Iterator]"}function Pe(m,l){return!!m&&typeof m=="object"&&(!l||!Ze(m))}function Tt(m,...l){let p,x=[m,...l],v={},w=function(T,I){return typeof T!="object"&&(T={}),ee(I,function(L,R){if(R!=="__proto__"&&R!=="constructor"){let C;!Pe(L,!0)||(C=L==null?void 0:L.constructor,Pe(L,!0)&&!ji(L)&&(C==null?void 0:C.name)&&C.name!=="Object")||ji(L)?T[R]=I[R]:T[R]=w(T[R]||{},L)}}),T};m===!0&&(v=x[1],x=Array.prototype.slice.call(x,2));let P=x.length;for(p=0;p<P;p++)v=w(v,x[p]);return v}function ee(m,l,p){for(let x in m)Object.hasOwnProperty.call(m,x)&&l.call(p||m[x],m[x],x,m)}function ht(){let m=arguments,l=m.length;for(let p=0;p<l;p++){let x=m[p];if(x!=null)return x}}function Ee(m,l){return parseInt(m,l||10)}function ke(m,l){return 0>m.indexOf(l)&&!!m.push(l)}function Dt(m,l,p){return/%$/.test(m)?l*parseFloat(m)/100+(p||0):parseFloat(m)}function K(m){return Ze(m)?m:[m]}function we(m,l,p){let x=m[l];m[l]=function(){let v=arguments,w=this;return p.apply(this,[function(){return x.apply(w,arguments.length?arguments:v)}].concat([].slice.call(arguments)))}}let{deg2rad:Ui}=jt();(Wi=as||(as={})).getCenter=function(){let m=this.options,l=this.chart,p=2*(m.slicedOffset||0),x=l.plotWidth-2*p,v=l.plotHeight-2*p,w=m.center,P=Math.min(x,v),T=m.thickness,I,L=m.size,R=m.innerSize||0,C,W;
1typeof L=="string"&&(L=parseFloat(L)),typeof R=="string"&&(R=parseFloat(R));let B=[ht(w==null?void 0:w[0],"50%"),ht(w==null?void 0:w[1],"50%"),ht(L&&L<0?void 0:m.size,"100%"),ht(R&&R<0?void 0:m.innerSize||0,"0%")];for(!l.angular||this instanceof Gi()||(B[3]=0),C=0;C<4;++C)W=B[C],I=C<2||C===2&&/%$/.test(W),B[C]=Dt(W,[x,v,P,B[2]][C])+(I?p:0);return B[3]>B[2]&&(B[3]=B[2]),rt(T)&&2*T<B[2]&&T>0&&(B[3]=B[2]-2*T),G(this,"afterGetCenter",{positions:B}),B},Wi.getStartAndEndRadians=function(m,l){let p=rt(m)?m:0,x=rt(l)&&l>p&&l-p<360?l:p+360;return{start:Ui*(p+-90),end:Ui*(x+-90)}};let bi=as;function _e(m){let l,p=this;return m&&p.pane.forEach(x=>{$(m.chartX-p.plotLeft,m.chartY-p.plotTop,x.center)&&(l=x)}),l}function z({clipBox:m}){if(!this.xAxis||!this.yAxis||!this.chart.angular&&!this.chart.polar)return;let{plotWidth:l,plotHeight:p}=this.chart,x=Math.min(l,p),v=this.xAxis.pane,w=this.yAxis.pane;v&&v.axis&&(m.x+=v.center[0]-v.center[2]/x*l/2),w&&w.axis&&(m.y+=w.center[1]-w.center[2]/x*p/2)}function $(m,l,p,x,v){let w=!0,P=p[0],T=p[1],I=2*Math.PI,L=Math.sqrt(Math.pow(m-P,2)+Math.pow(l-T,2));if(Ut(x)&&Ut(v)){let R=Math.atan2(ii(l-T,8),ii(m-P,8));R=(R+I)%I,x=(x+I)%I,Math.abs((v=(v+I)%I)-x)>1e-6&&(w=x>v?R>=x||R<=v:R>=x&&R<=v)}else w=!0;return L<=Math.ceil(p[2]/2)&&w}function E(m){this.polar&&(m.options.inverted&&([m.x,m.y]=[m.y,m.x]),m.isInsidePlot=this.pane.some(l=>$(m.x,m.y,l.center,l.axis&&l.axis.normalizedStartAngleRad,l.axis&&l.axis.normalizedEndAngleRad)))}function et(m){let l=this.chart;m.hoverPoint&&m.hoverPoint.plotX&&m.hoverPoint.plotY&&l.hoverPane&&!$(m.hoverPoint.plotX,m.hoverPoint.plotY,l.hoverPane.center)&&(m.hoverPoint=void 0)}function pt(m){let l=this.chart;l.polar?(l.hoverPane=l.getHoverPane(m),m.filter=function(p){return p.visible&&!(!m.shared&&p.directTouch)&&ht(p.options.enableMouseTracking,!0)&&(!l.hoverPane||p.xAxis.pane===l.hoverPane)}):l.hoverPane=void 0}let{defaultOptions:kt}=jt(),Pt={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%"},Ct={background:Pt,center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0};kt.pane=Ct;class Jt{constructor(l,p){this.coll="pane",this.init(l,p)}init(l,p){this.chart=p,this.background=[],p.pane.push(this),this.setOptions(l)}setOptions(l){this.options=l=Tt(Ct,{background:this.chart.angular?{}:void 0},l)}render(){let l=this.options,p=this.chart.renderer;this.group||(this.group=p.g("pane-group").attr({zIndex:l.zIndex||0}).add()),this.updateCenter();let x=this.options.background;if(x){let v=Math.max((x=K(x)).length,this.background.length||0);for(let w=0;w<v;w++)x[w]&&this.axis?this.renderBackground(Tt(Pt,x[w]),w):this.background[w]&&(this.background[w]=this.background[w].destroy(),this.background.splice(w,1))}}renderBackground(l,p){let x={class:"highcharts-pane "+(l.className||"")},v="animate";this.chart.styledMode||re(x,{fill:l.backgroundColor,stroke:l.borderColor,"stroke-width":l.borderWidth}),this.background[p]||(this.background[p]=this.chart.renderer.path().add(this.group),v="attr"),this.background[p][v]({d:this.axis.getPlotBandPath(l.from,l.to,l)}).attr(x)}updateCenter(l){this.center=(l||this.axis||{}).center=bi.getCenter.call(this)}update(l,p){Tt(!0,this.options,l),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(x){x.pane===this&&(x.pane=null,x.update({},p))},this)}}Jt.compose=function(m,l,p){let x=m.prototype;x.getHoverPane||(x.collectionsWithUpdate.push("pane"),x.getHoverPane=_e,St(m,"afterIsInsidePlot",E),St(l,"afterGetHoverData",et),St(l,"beforeGetHoverData",pt),St(p,"setClip",z))};let{area:{prototype:{pointClass:$t,pointClass:{prototype:Kt}}}}=_t().seriesTypes,Se=class extends $t{setState(){let m=this.state,l=this.series,p=l.chart.polar;Ut(this.plotHigh)||(this.plotHigh=l.yAxis.toPixels(this.high,!0)),Ut(this.plotLow)||(this.plotLow=this.plotY=l.yAxis.toPixels(this.low,!0)),l.lowerStateMarkerGraphic=l.stateMarkerGraphic,l.stateMarkerGraphic=l.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,p&&rt(this.plotHighX)&&(this.plotX=this.plotHighX),Kt.setState.apply(this,arguments),this.state=m,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],p&&rt(this.plotLowX)&&(this.plotX=this.plotLowX),l.upperStateMarkerGraphic=l.stateMarkerGraphic,l.stateMarkerGraphic=l.lowerStateMarkerGraphic,l.lowerStateMarkerGraphic=void 0;let x=l.modifyMarkerSettings();Kt.setState.apply(this,arguments),l.restoreMarkerSettings(x)}haloPath(){let m=this.series.chart.polar,l=[];return this.plotY=this.plotLow,m&&rt(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(l=Kt.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,m&&rt(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(l=l.concat(Kt.haloPath.apply(this,arguments))),l}isValid(){return rt(this.low)&&rt(this.high)}},{noop:j}=jt(),{area:Rt,area:{prototype:Ft},column:{prototype:ce}}=_t().seriesTypes;class Ot extends Rt{toYData(l){return[l.low,l.high]}highToXY(l){let p=this.chart,x=this.xAxis.postTranslate(l.rectPlotX||0,this.yAxis.len-(l.plotHigh||
10));l.plotHighX=x.x-p.plotLeft,l.plotHigh=x.y-p.plotTop,l.plotLowX=l.plotX}getGraphPath(l){let p=[],x=[],v=Ft.getGraphPath,w=this.options,P=this.chart.polar,T=P&&w.connectEnds!==!1,I=w.connectNulls,L,R,C,W=w.step;for(L=(l=l||this.points).length;L--;){R=l[L];let q=P?{plotX:R.rectPlotX,plotY:R.yBottom,doCurve:!1}:{plotX:R.plotX,plotY:R.plotY,doCurve:!1};R.isNull||T||I||l[L+1]&&!l[L+1].isNull||x.push(q),C={polarPlotY:R.polarPlotY,rectPlotX:R.rectPlotX,yBottom:R.yBottom,plotX:ht(R.plotHighX,R.plotX),plotY:R.plotHigh,isNull:R.isNull},x.push(C),p.push(C),R.isNull||T||I||l[L-1]&&!l[L-1].isNull||x.push(q)}let B=v.call(this,l);W&&(W===!0&&(W="left"),w.step={left:"right",center:"center",right:"left"}[W]);let Z=v.call(this,p),V=v.call(this,x);w.step=W;let U=[].concat(B,Z);return!this.chart.polar&&V[0]&&V[0][0]==="M"&&(V[0]=["L",V[0][1],V[0][2]]),this.graphPath=U,this.areaPath=B.concat(V),U.isArea=!0,U.xMap=B.xMap,this.areaPath.xMap=B.xMap,U}drawDataLabels(){var C,W;let l,p,x,v,w,P=this.points,T=P.length,I=[],L=this.options.dataLabels,R=this.chart.inverted;if(L){if(Ze(L)?(v=L[0]||{enabled:!1},w=L[1]||{enabled:!1}):((v=re({},L)).x=L.xHigh,v.y=L.yHigh,(w=re({},L)).x=L.xLow,w.y=L.yLow),v.enabled||((C=this.hasDataLabels)==null?void 0:C.call(this))){for(l=T;l--;)if(p=P[l]){let{plotHigh:B=0,plotLow:Z=0}=p;x=v.inside?B<Z:B>Z,p.y=p.high,p._plotY=p.plotY,p.plotY=B,I[l]=p.dataLabel,p.dataLabel=p.dataLabelUpper,p.below=x,R?v.align||(v.align=x?"right":"left"):v.verticalAlign||(v.verticalAlign=x?"top":"bottom")}for(this.options.dataLabels=v,Ft.drawDataLabels&&Ft.drawDataLabels.apply(this,arguments),l=T;l--;)(p=P[l])&&(p.dataLabelUpper=p.dataLabel,p.dataLabel=I[l],delete p.dataLabels,p.y=p.low,p.plotY=p._plotY)}if(w.enabled||(W=this.hasDataLabels)!=null&&W.call(this)){for(l=T;l--;)if(p=P[l]){let{plotHigh:B=0,plotLow:Z=0}=p;x=w.inside?B<Z:B>Z,p.below=!x,R?w.align||(w.align=x?"left":"right"):w.verticalAlign||(w.verticalAlign=x?"bottom":"top")}this.options.dataLabels=w,Ft.drawDataLabels&&Ft.drawDataLabels.apply(this,arguments)}if(v.enabled)for(l=T;l--;)(p=P[l])&&(p.dataLabels=[p.dataLabelUpper,p.dataLabel].filter(function(B){return!!B}));this.options.dataLabels=L}}alignDataLabel(){ce.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let l={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:p,lowMarker:x}}=this;this.options.marker=Tt(p,x),x.symbol&&(this.symbol=x.symbol)}return l}restoreMarkerSettings(l){this.options.marker=l.marker,this.symbol=l.symbol}drawPoints(){let l,p,x=this.points.length,v=this.modifyMarkerSettings();for(Ft.drawPoints.apply(this,arguments),this.restoreMarkerSettings(v),l=0;l<x;)(p=this.points[l]).graphics=p.graphics||[],p.origProps={plotY:p.plotY,plotX:p.plotX,isInside:p.isInside,negative:p.negative,zone:p.zone,y:p.y},(p.graphic||p.graphics[0])&&(p.graphics[0]=p.graphic),p.graphic=p.graphics[1],p.plotY=p.plotHigh,Ut(p.plotHighX)&&(p.plotX=p.plotHighX),p.y=ht(p.high,p.origProps.y),p.negative=p.y<(this.options.threshold||0),this.zones.length&&(p.zone=p.getZone()),this.chart.polar||(p.isInside=p.isTopInside=p.plotY!==void 0&&p.plotY>=0&&p.plotY<=this.yAxis.len&&p.plotX>=0&&p.plotX<=this.xAxis.len),l++;for(Ft.drawPoints.apply(this,arguments),l=0;l<x;)(p=this.points[l]).graphics=p.graphics||[],(p.graphic||p.graphics[1])&&(p.graphics[1]=p.graphic),p.graphic=p.graphics[0],p.origProps&&(re(p,p.origProps),delete p.origProps),l++}hasMarkerChanged(l,p){let x=l.lowMarker,v=p.lowMarker||{};return x&&(x.enabled===!1||v.symbol!==x.symbol||v.height!==x.height||v.width!==x.width)||super.hasMarkerChanged(l,p)}}Ot.defaultOptions=Tt(Rt.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}}),St(Ot,"afterTranslate",function(){this.pointArrayMap.join(",")==="low,high"&&this.points.forEach(m=>{let l=m.high,p=m.plotY;m.isNull?m.plotY=void 0:(m.plotLow=p,m.plotHigh=rt(l)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(l):l,!1,!0,void 0,!0):void 0,this.dataModify&&(m.yBottom=m.plotHigh))})},{order:0}
1),St(Ot,"afterTranslate",function(){this.points.forEach(m=>{if(this.chart.polar)this.highToXY(m),m.plotLow=m.plotY,m.tooltipPos=[((m.plotHighX||0)+(m.plotLowX||0))/2,((m.plotHigh||0)+(m.plotLow||0))/2];else{let l=m.pos(!1,m.plotLow),p=m.pos(!1,m.plotHigh);l&&p&&(l[0]=(l[0]+p[0])/2,l[1]=(l[1]+p[1])/2),m.tooltipPos=l}})},{order:3}),re(Ot.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:Se,pointValKey:"low",setStackedPoints:j}),_t().registerSeriesType("arearange",Ot);let it=Ot,{spline:{prototype:ze}}=_t().seriesTypes;class ut extends it{}ut.defaultOptions=Tt(it.defaultOptions),re(ut.prototype,{getPointSpline:ze.getPointSpline}),_t().registerSeriesType("areasplinerange",ut);var ri=Yt(448),me=Yt.n(ri);let{noop:X}=jt();class Wt extends me(){pointAttribs(){return{}}getWhiskerPair(l,p,x,v,w){let P=w.whiskers.strokeWidth(),T=(I,L)=>{let R=Dt(I,2*l)/2,C=Me(L,P);return[["M",Me(p-R),C],["L",Me(p+R),C]]};return[...T(x,w.highPlot),...T(v,w.lowPlot)]}translate(){let l=this.yAxis,p=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(x){p.forEach(function(v){x[v]!==null&&(x[v+"Plot"]=l.translate(x[v],0,1,0,1))}),x.plotHigh=x.highPlot})}drawPoints(){var ot,st,gt,wt;let l,p,x,v,w,P,T,I,L,R,C,W=this.points,B=this.options,Z=this.chart,V=Z.renderer,U=this.doQuartiles!==!1,q=this.options.whiskerLength;for(let at of W){let Nt=(I=at.graphic)?"animate":"attr",ft=at.shapeArgs,Bt={},J={},lt={},nt={},bt=at.color||this.color,Lt=at.options.whiskerLength||q;if(at.plotY!==void 0){let Mt;L=ft.width,C=(R=ft.x)+L,l=U?at.q1Plot:at.lowPlot,p=U?at.q3Plot:at.lowPlot,x=at.highPlot,v=at.lowPlot,I||(at.graphic=I=V.g("point").add(this.group),at.stem=V.path().addClass("highcharts-boxplot-stem").add(I),q&&(at.whiskers=V.path().addClass("highcharts-boxplot-whisker").add(I)),U&&(at.box=V.path(T).addClass("highcharts-boxplot-box").add(I)),at.medianShape=V.path(P).addClass("highcharts-boxplot-median").add(I)),Z.styledMode||(J.stroke=at.stemColor||B.stemColor||bt,J["stroke-width"]=ht(at.stemWidth,B.stemWidth,B.lineWidth),J.dashstyle=at.stemDashStyle||B.stemDashStyle||B.dashStyle,at.stem.attr(J),Lt&&(lt.stroke=at.whiskerColor||B.whiskerColor||bt,lt["stroke-width"]=ht(at.whiskerWidth,B.whiskerWidth,B.lineWidth),lt.dashstyle=at.whiskerDashStyle||B.whiskerDashStyle||B.dashStyle,at.whiskers.attr(lt)),U&&(Bt.fill=at.fillColor||B.fillColor||bt,Bt.stroke=B.lineColor||bt,Bt["stroke-width"]=B.lineWidth||0,Bt.dashstyle=at.boxDashStyle||B.boxDashStyle||B.dashStyle,at.box.attr(Bt)),nt.stroke=at.medianColor||B.medianColor||bt,nt["stroke-width"]=ht(at.medianWidth,B.medianWidth,B.lineWidth),nt.dashstyle=at.medianDashStyle||B.medianDashStyle||B.dashStyle,at.medianShape.attr(nt));let At=Me((at.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,at.stem.strokeWidth());if(Mt=[["M",At,p],["L",At,x],["M",At,l],["L",At,v]],at.stem[Nt]({d:Mt}),U){let Gt=at.box.strokeWidth();l=Me(l,Gt),p=Me(p,Gt),Mt=[["M",R=Me(R,Gt),p],["L",R,l],["L",C=Me(C,Gt),l],["L",C,p],["L",R,p],["Z"]],at.box[Nt]({d:Mt})}if(Lt){let Gt=L/2,Qt=this.getWhiskerPair(Gt,At,(st=(ot=at.upperWhiskerLength)!=null?ot:B.upperWhiskerLength)!=null?st:Lt,(wt=(gt=at.lowerWhiskerLength)!=null?gt:B.lowerWhiskerLength)!=null?wt:Lt,at);at.whiskers[Nt]({d:Qt})}Mt=[["M",R,w=Me(at.medianPlot,at.medianShape.strokeWidth())],["L",C,w]],at.medianShape[Nt]({d:Mt})}}}toYData(l){return[l.low,l.q1,l.median,l.q3,l.high]}}Wt.defaultOptions=Tt(me().defaultOptions,{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}),re(Wt.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:X,setStackedPoints:X}),_t().registerSeriesType("boxplot",Wt);let xe=Wt,te={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};var Fe=Yt(984),je=Yt.n(Fe);let{noop:Xe}=jt(),cs=class{constructor(m,l){this.setState=Xe,this.init(m,l)}init(m,l){this.options=m,this.visible=!0,this.chart=l.chart,this.legend=l}addToLegend(m){m.splice(this.options.legendIndex,0,this)}drawLegendSymbol(m){let l,p=ht(m.options.itemDistance,20),x=this.legendItem||{},v=this.options,w=v.ranges,P=v.connectorDistance;if(!w||!w.length||!rt(w[0].value)){m.options.bubbleLegend.autoRanges=!0;return}(function(R,C){let W,B,Z=R.length;for(B=0;B<Z;B++)R[B].safeI=B;for(R.sort(function(V,U){return(W=C(V,U))===0?V.safeI-U.safeI:W}),B=0;B<Z;B++)delete R[B].safeI})(w,function(R,C){return C.value-R.value}),this.ranges=w,this.setOptions(),this.render();let T=this.getMaxLabelSize(),I=this.ranges[0].radius,L=2*I;l=(l=P-I+T.width)>0?l:0,this.maxLabel=T,this.movementX=v.labels.align==="left"?l:0,x.labelWidth=L+l+p,x.labelHeight=L+T.height/2}setOptions(){let m=this.ranges,l=this.options,p=this.chart.series[l.seriesIndex],x=this.legend.baseline,v={zIndex:l.zIndex,"stroke-width":l.borderWidth},w={zIndex:l.zIndex,"stroke-width":l.connectorWidth},P={align:this.legend.options.rtl||l.labels.align==="left"?"right":"left",zIndex:l.zIndex},T=p.options.marker.fillOpacity,I=this.chart.styledMode;m.forEach(function(L,R){I||(v.stroke=ht(L.borderColor,l.borderColor,p.color),v.fill=L.color||l.color,v.fill||(v.fill=p.color,v["fill-opacity"]=T!=null?T:1),w.stroke=ht(L.connectorColor,l.connectorColor,p.color)),m[R].radius=this.getRangeRadius(L.value),m[R]=Tt(m[R],{center:m[0].radius-m[R].radius+x}),I||Tt(!0,m[R],{bubbleAttribs:Tt(v),connectorAttribs:Tt(w),labelAttribs:P})},this)}getRangeRadius(m){let l=this.options,p=this.options.seriesIndex,x=this.chart.series[p],v=l.ranges[0].value,w=l.ranges[l.ranges.length-1].value,P=l.minSize,T=l.maxSize;return x.getRadius.call(this,w,v,P,T,m)}render(){let m=this.legendItem||{},l=this.chart.renderer,p=this.options.zThreshold;for(let x of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),m.symbol=l.g("bubble-legend"),m.label=l.g("bubble-legend-item").
vendor: 5,491 bytes, line 1
1css(this.legend.itemStyle||{}),m.symbol.translateX=0,m.symbol.translateY=0,m.symbol.add(m.label),m.label.add(m.group),this.ranges))x.value>=p&&this.renderRange(x);this.hideOverlappingLabels()}renderRange(m){let l=this.ranges[0],p=this.legend,x=this.options,v=x.labels,w=this.chart,P=w.series[x.seriesIndex],T=w.renderer,I=this.symbols,L=I.labels,R=m.center,C=Math.abs(m.radius),W=x.connectorDistance||0,B=v.align,Z=p.options.rtl,V=x.borderWidth,U=x.connectorWidth,q=l.radius||0,ot=R-C-V/2+U/2,st=(ot%1?1:.5)-(U%2?0:.5),gt=T.styledMode,wt=Z||B==="left"?-W:W;B==="center"&&(wt=0,x.connectorDistance=0,m.labelAttribs.align="center"),I.bubbleItems.push(T.circle(q,R+st,C).attr(gt?{}:m.bubbleAttribs).addClass((gt?"highcharts-color-"+P.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(x.className||"")).add(this.legendItem.symbol)),I.connectors.push(T.path(T.crispLine([["M",q,ot],["L",q+wt,ot]],x.connectorWidth)).attr(gt?{}:m.connectorAttribs).addClass((gt?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(x.connectorClassName||"")).add(this.legendItem.symbol));let at=T.text(this.formatLabel(m)).attr(gt?{}:m.labelAttribs).css(gt?{}:v.style).addClass("highcharts-bubble-legend-labels "+(x.labels.className||"")).add(this.legendItem.symbol),Nt={x:q+wt+x.labels.x,y:ot+x.labels.y+.4*at.getBBox().height};at.attr(Nt),L.push(at),at.placed=!0,at.alignAttr=Nt}getMaxLabelSize(){let m,l;return this.symbols.labels.forEach(function(p){l=p.getBBox(!0),m=m?l.width>m.width?l:m:l}),m||{}}formatLabel(m){let l=this.options,p=l.labels.formatter,x=l.labels.format,{numberFormatter:v}=this.chart;return x?je().format(x,m,this.chart):p?p.call(m,m):v(m.value,1)}hideOverlappingLabels(){let m=this.chart,l=this.options.labels.allowOverlap,p=this.symbols;!l&&p&&(m.hideOverlappingLabels(p.labels),p.labels.forEach(function(x,v){x.newOpacity?x.newOpacity!==x.oldOpacity&&p.connectors[v].show():p.connectors[v].hide()}))}getRanges(){let m=this.legend.bubbleLegend,l=m.chart.series,p=m.options.ranges,x,v,w=Number.MAX_VALUE,P=-Number.MAX_VALUE;return l.forEach(function(T){T.isBubble&&!T.ignoreSeries&&(v=T.getColumn("z").filter(rt)).length&&(w=ht(T.options.zMin,Math.min(w,Math.max(xi(v),T.options.displayNegative===!1?T.options.zThreshold:-Number.MAX_VALUE))),P=ht(T.options.zMax,Math.max(P,yi(v))))}),x=w===P?[{value:P}]:[{value:w},{value:(w+P)/2},{value:P,autoRanges:!0}],p.length&&p[0].radius&&x.reverse(),x.forEach(function(T,I){p&&p[I]&&(x[I]=Tt(p[I],T))}),x}predictBubbleSizes(){let m=this.chart,l=m.legend.options,p=l.floating,x=l.layout==="horizontal",v=x?m.legend.lastLineHeight:0,w=m.plotSizeX,P=m.plotSizeY,T=m.series[this.options.seriesIndex],I=T.getPxExtremes(),L=Math.ceil(I.minPxSize),R=Math.ceil(I.maxPxSize),C=Math.min(P,w),W,B=T.options.maxSize;return p||!/%$/.test(B)?W=R:(W=(C+v)*(B=parseFloat(B))/100/(B/100+1),(x&&P-W>=w||!x&&w-W>=P)&&(W=R)),[L,Math.ceil(W)]}updateRanges(m,l){let p=this.legend.options.bubbleLegend;p.minSize=m,p.maxSize=l,p.ranges=this.getRanges()}correctSizes(){let m=this.legend,l=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(l.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,l.maxPxSize),m.render())}},{setOptions:ai}=jt(),{composed:to}=jt();function Do(m,l,p){let x,v,w,P=this.legend,T=ps(this)>=0;P&&P.options.enabled&&P.bubbleLegend&&P.options.bubbleLegend.autoRanges&&T?(x=P.bubbleLegend.options,v=P.bubbleLegend.predictBubbleSizes(),P.bubbleLegend.updateRanges(v[0],v[1]),x.placed||(P.group.placed=!1,P.allItems.forEach(I=>{(w=I.legendItem||{}).group&&(w.group.translateY=void 0)})),P.render(),x.placed||(this.getMargins(),this.axes.forEach(I=>{I.setScale(),I.updateNames(),ee(I.ticks,function(L){L.isNew=!0,L.isNewLabel=!0})}),this.getMargins()),x.placed=!0,m.call(this,l,p),P.bubbleLegend.correctSizes()):(m.call(this,l,p),P&&P.options.enabled&&P.bubbleLegend&&P.render())}function ps(m){let l=m.series,p=0;for(;p<l.length;){if(l[p]&&l[p].isBubble&&l[p].visible&&l[p].dataTable.rowCount)return p;p++}return-1}function ye(m){let l=this.bubbleLegend,p=this.options,x=p.bubbleLegend,v=ps(this.chart);l&&l.ranges&&l.ranges.length&&(x.ranges.length&&(x.autoRanges=!!x.ranges[0].autoRanges),this.destroyItem(l)),v>=0&&p.enabled&&x.enabled&&(x.seriesIndex=v,this.bubbleLegend=new cs(x,this),this.bubbleLegend.addToLegend(m.allItems))}function Ts(){if(this.bubbleLegend){let m=this.allItems,l=this.options.rtl,p=(function(I){let L=I.allItems,R=[],C=L.length,W,B,Z,V=0,U=0;for(V=0;V<C;V++)if(B=L[V].legendItem||{},Z=(L[V+1]||{}).legendItem||{},B.labelHeight&&(L[V].itemHeight=B.labelHeight),L[V]===L[C-1]||B.y!==Z.y){for(R.push({height:0}),W=R[R.length-1];U<=V;U++)L[U].itemHeight>W.height&&(W.height=L[U].itemHeight);W.step=V}return R})(this),x,v,w,P,T=0;m.forEach((I,L)=>{(P=I.legendItem||{}).group&&(x=P.group.translateX||0,v=P.y||0,((w=I.movementX)||l&&I.ranges)&&(w=l?x-I.options.maxSize/2:x+w,P.group.attr({translateX:w})),L>p[T].step&&T++,P.group.attr({translateY:Math.round(v+p[T].height/2)}),P.y=v+p[T].height/2)})}}function ie(m){let l;if(m.defaultPrevented)return!1;let p=m.legendItem,x=this.chart,v=p.visible;this&&this.bubbleLegend&&(p.visible=!v,p.ignoreSeries=v,l=ps(x)>=0,this.bubbleLegend.visible!==l&&(this.update({bubbleLegend:{enabled:l}}),this.bubbleLegend.visible=l),p.visible=v)}let si=function(m,l){ke(to,"Series.BubbleLegend")&&(ai({legend:{bubbleLegend:te}}),we(m.prototype,"drawChartBox",Do),St(l,"afterGetAllItems",ye),St(l,"afterRe
1nder",Ts),St(l,"itemClick",ie))};var Bo=Yt(260),di=Yt.n(Bo);let{seriesTypes:{scatter:{prototype:{pointClass:zo}}}}=_t();class eo extends zo{haloPath(l){let p=(l&&this.marker&&this.marker.radius||0)+l;if(this.series.chart.inverted){let x=this.pos()||[0,0],{xAxis:v,yAxis:w,chart:P}=this.series,T=2*p;return P.renderer.symbols.circle(((v==null?void 0:v.len)||0)-x[1]-p,((w==null?void 0:w.len)||0)-x[0]-p,T,T)}return di().prototype.haloPath.call(this,p)}}re(eo.prototype,{ttBelow:!1});let{composed:Ws,noop:Hs}=jt(),{series:vi,seriesTypes:{column:{prototype:Fs},scatter:Je}}=_t();function Xo(){let m=this.len,{coll:l,isXAxis:p,min:x}=this,v=(this.max||0)-(x||0),w=0,P=m,T=m/v,I;(l==="xAxis"||l==="yAxis")&&(this.series.forEach(L=>{if(L.bubblePadding&&L.reserveSpace()){this.allowZoomOutside=!0,I=!0;let R=L.getColumn(p?"x":"y");if(p&&((L.onPoint||L).getRadii(0,0,L),L.onPoint&&(L.radii=L.onPoint.radii)),v>0){let C=R.length;for(;C--;)if(rt(R[C])&&this.dataMin<=R[C]&&R[C]<=this.max){let W=L.radii&&L.radii[C]||0;w=Math.min((R[C]-x)*T-W,w),P=Math.max((R[C]-x)*T+W,P)}}}}),I&&v>0&&!this.logarithmic&&(P-=m,T*=(m+Math.max(0,w)-Math.min(P,m))/m,[["min","userMin",w],["max","userMax",P]].forEach(L=>{ht(this.options[L[0]],this[L[1]])===void 0&&(this[L[0]]+=L[2]/T)})))}function io(){var P;let{ticks:m,tickPositions:l,dataMin:p=0,dataMax:x=0,categories:v}=this,w=this.options.type;if((v!=null&&v.length||w==="category")&&this.series.find(T=>T.bubblePadding)){let T=l.length;for(;T--;){let I=m[l[T]],L=I.pos||0;(L>x||L<p)&&((P=I.label)==null||P.hide())}}}class Mi extends Je{static compose(l,p,x){si(p,x),ke(Ws,"Series.Bubble")&&(St(l,"foundExtremes",Xo),St(l,"afterRender",io))}animate(l){!l&&this.points.length<this.options.animationLimit&&this.points.forEach(function(p){let{graphic:x,plotX:v=0,plotY:w=0}=p;x&&x.width&&(this.hasRendered||x.attr({x:v,y:w,width:1,height:1}),x.animate(this.markerAttribs(p),this.options.animation))},this)}getRadii(){let l=this.getColumn("z"),p=this.getColumn("y"),x=[],v,w,P,T=this.chart.bubbleZExtremes,{minPxSize:I,maxPxSize:L}=this.getPxExtremes();if(!T){let R,C=Number.MAX_VALUE,W=-Number.MAX_VALUE;this.chart.series.forEach(B=>{if(B.bubblePadding&&B.reserveSpace()){let Z=(B.onPoint||B).getZExtremes();Z&&(C=Math.min(ht(C,Z.zMin),Z.zMin),W=Math.max(ht(W,Z.zMax),Z.zMax),R=!0)}}),R?(T={zMin:C,zMax:W},this.chart.bubbleZExtremes=T):T={zMin:0,zMax:0}}for(w=0,v=l.length;w<v;w++)P=l[w],x.push(this.getRadius(T.zMin,T.zMax,I,L,P,p&&p[w]));this.radii=x}getRadius(l,p,x,v,w,P){let T=this.options,I=T.sizeBy!=="width",L=T.zThreshold,R=p-l,C=.5;if(P===null||w===null)return null;if(rt(w)){if(T.sizeByAbsoluteValue&&(w=Math.abs(w-L),p=R=Math.max(p-L,Math.abs(l-L)),l=0),w<l)return x/2-1;R>0&&(C=(w-l)/R)}return I&&C>=0&&(C=Math.sqrt(C)),Math.ceil(x+C*(v-x))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(l,p){let x=super.markerAttribs(l,p),{height:v=0,width:w=0}=x;return this.chart.inverted?re(x,{x:(l.plotX||0)-w/2,y:(l.plotY||0)-v/2}):x}pointAttribs(l,p){let x=this.options.marker,v=x==null?void 0:x.fillOpacity,w=vi.prototype.pointAttribs.call(this,l,p);return w["fill-opacity"]=v!=null?v:1,w}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:l,options:p,radii:x}=this,{minPxSize:v}=this.getPxExtremes(),w=l.length;for(;w--;){let P=l[w],T=x?x[w]:0;this.zoneAxis==="z"&&(P.negative=(P.z||0)<(p.zThreshold||0)),rt(T)&&(P.marker=re(P.marker,{radius:T,width:2*T,height:2*T})),rt(T)&&T>=v/2?P.dlBox={x:P.plotX-T,y:P.plotY-T,width:2*T,height:2*T}:(P.shapeArgs=P.plotY=P.dlBox=void 0,P.isInside=!1)}}getPxExtremes(){let l=Math.min(this.chart.plotWidth,this.chart.plotHeight),p=w=>{let P;return typeof w=="string"&&(P=/%$/.test(w),w=parseInt(w,10)),P?l*w/100:w},x=p(ht(this.options.minSize,8)),v=Math.max(p(ht(this.options.maxSize,"20%")),x);return{minPxSize:x,maxPxSize:v}}getZExtremes(){let l=this.options,p=this.getColumn("z").filter(rt);if(p.length){let x=ht(l.zMin,He(xi(p),l.displayNegative===!1?l.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),v=ht(l.zMax,yi(p));if(rt(x)&&rt(v))return{zMin:x,zMax:v}}}searchKDTree(l,p,x,v=Hs,w=Hs){return v=(P,T,I)=>{var B,Z;
1let L=P[I]||0,R=T[I]||0,C,W=!1;return L===R?C=P.index>T.index?P:T:L<0&&R<0?(C=L-(((B=P.marker)==null?void 0:B.radius)||0)>=R-(((Z=T.marker)==null?void 0:Z.radius)||0)?P:T,W=!0):C=L<R?P:T,[C,W]},w=(P,T,I)=>!I&&P>T||P<T,super.searchKDTree(l,p,x,v,w)}}Mi.defaultOptions=Tt(Je.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:m}=this.series.chart,{z:l}=this.point;return rt(l)?m(l,-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"}),re(Mi.prototype,{alignDataLabel:Fs.alignDataLabel,applyZones:Hs,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:eo,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),St(Mi,"updatedData",m=>{delete m.target.chart.bubbleZExtremes}),St(Mi,"remove",m=>{delete m.target.chart.bubbleZExtremes}),St(Mi,"update",m=>{let l=m.target.options;(Ut(l.zMin)||Ut(l.zMax))&&delete m.target.chart.bubbleZExtremes}),_t().registerSeriesType("bubble",Mi);let{seriesTypes:{column:{prototype:{pointClass:{prototype:ue}}},arearange:{prototype:{pointClass:so}}}}=_t();class oo extends so{isValid(){return rt(this.low)}}re(oo.prototype,{setState:ue.setState});let{noop:Ye}=jt(),{seriesTypes:{arearange:us,column:ro,column:{prototype:le}}}=_t();class Ji extends us{setOptions(){return Tt(!0,arguments[0],{stacking:void 0}),us.prototype.setOptions.apply(this,arguments)}translate(){return le.translate.apply(this)}pointAttribs(){return le.pointAttribs.apply(this,arguments)}translate3dPoints(){return le.translate3dPoints.apply(this,arguments)}translate3dShapes(){return le.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let l,p,x,v,w=this.yAxis,P=this.xAxis,T=P.startAngleRad,I=this.chart,L=this.xAxis.isRadial,R=Math.max(I.chartWidth,I.chartHeight)+999;this.points.forEach(C=>{let W=C.shapeArgs||{},B=this.options.minPointLength,Z=C.plotY,V=w.translate(C.high,0,1,0,1);if(rt(V)&&rt(Z))if(C.plotHigh=He(V,-R,R),C.plotLow=He(Z,-R,R),v=C.plotHigh,Math.abs(l=ht(C.rectPlotY,C.plotY)-C.plotHigh)<B?(p=B-l,l+=p,v-=p/2):l<0&&(l*=-1,v-=l),L&&this.polar)x=C.barX+T,C.shapeType="arc",C.shapeArgs=this.polar.arc(v+l,v,x,x+(C.pointWidth||0));else{W.height=l,W.y=v;let{x:U=0,width:q=0}=W;C.shapeArgs=Tt(C.shapeArgs,this.crispCol(U,v,q,l)),C.tooltipPos=I.inverted?[w.len+w.pos-I.plotLeft-v-l/2,P.len+P.pos-I.plotTop-U-q/2,l]:[P.left-I.plotLeft+U+q/2,w.pos-I.plotTop+v+l/2,l]}})}}Ji.defaultOptions=Tt(ro.defaultOptions,us.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),St(Ji,"afterColumnTranslate",function(){Ji.prototype.afterColumnTranslate.apply(this)},{order:5}),re(Ji.prototype,{directTouch:!0,pointClass:oo,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:le.adjustForMissingColumns,animate:le.animate,crispCol:le.crispCol,drawGraph:Ye,drawPoints:le.drawPoints,getSymbol:Ye,drawTracker:le.drawTracker,getColumnMetrics:le.getColumnMetrics}),_t().registerSeriesType("columnrange",Ji);let{column:ao}=_t().seriesTypes;class Ls extends ao{translate(){let l=this.chart,p=this.options,x=this.dense=this.closestPointRange*this.xAxis.transA<2,v=this.borderWidth=ht(p.borderWidth,+!x),w=this.yAxis,P=p.threshold,T=ht(p.minPointLength,5),I=this.getColumnMetrics(),L=I.width,R=this.pointXOffset=I.offset,C=this.translatedThreshold=w.getThreshold(P),W=this.barW=Math.max(L,1+2*v);for(let B of(l.inverted&&(C-=.5),p.pointPadding&&(W=Math.ceil(W)),super.translate(),this.points)){let Z=ht(B.yBottom,C),V=999+Math.abs(Z),U=He(B.plotY,-V,w.len+V),q=W/2,ot=Math.min(U,Z),st=Math.max(U,Z)-ot,gt=B.plotX+R,wt,at,Nt,ft,Bt,J,lt,nt,bt,Lt,Mt;p.centerInCategory&&(gt=this.adjustForMissingColumns(gt,L,B,I)),B.barX=gt,B.pointWidth=L,B.tooltipPos=l.inverted?[w.len+w.pos-l.plotLeft-U,this.xAxis.len-gt-q,st]:[gt+q,U+w.pos-l.plotTop,st],wt=P+(B.total||B.y),p.stacking==="percent"&&(wt=P+(B.y<0)?-100:100);let At=w.toPixels(wt,!0);Nt=(at=l.plotHeight-At-(l.plotHeight-C))?q*(ot-At)/at:0,ft=at?q*(ot+st-At)/at:0,J=gt-Nt+q,lt=gt+Nt+q,nt=gt+ft+q,bt=gt-ft+q,Lt=ot-T,Mt=ot+st,B.y<0&&(Lt=ot,Mt=ot+st+T),l.inverted&&(Bt=w.width-ot,at=At-(w.width-C),Nt=q*(At-Bt)/at,ft=q*(At-(Bt-st))/at,lt=(J=gt+q+Nt)-2*Nt,nt=gt-ft+q,bt=gt+ft+q,Lt=ot,Mt=ot+st-T,B.y<0&&(Mt=ot+st+T)),B.shapeType="path",B.shapeArgs={x:J,y:Lt,width:lt-J,he
1ight:st,d:[["M",J,Lt],["L",lt,Lt],["L",nt,Mt],["L",bt,Mt],["Z"]]}}}}Ls.defaultOptions=Tt(ao.defaultOptions,{}),_t().registerSeriesType("columnpyramid",Ls);let{arearange:gs}=_t().seriesTypes;class Cs extends xe{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||me().prototype.getColumnMetrics.call(this)}drawDataLabels(){let l=this.pointValKey;if(gs)for(let p of(gs.prototype.drawDataLabels.call(this),this.points))p.y=p[l]}toYData(l){return[l.low,l.high]}}Cs.defaultOptions=Tt(xe.defaultOptions,{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}),St(Cs,"afterTranslate",function(){for(let m of this.points)m.plotLow=m.plotY},{order:0}),re(Cs.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),_t().registerSeriesType("errorbar",Cs);let{series:{prototype:{pointClass:pe}}}=_t(),{noop:no}=jt(),{series:fs,seriesTypes:{column:Yo}}=_t();class Qi extends fs{translate(){let l=this.yAxis,p=this.options,x=l.center;this.generatePoints(),this.points.forEach(v=>{let w=Tt(p.dial,v.dial),P=Ee(w.radius)*x[2]/200,T=Ee(w.baseLength)*P/100,I=Ee(w.rearLength)*P/100,L=w.baseWidth,R=w.topWidth,C=p.overshoot,W=l.startAngleRad+l.translate(v.y,void 0,void 0,void 0,!0);(rt(C)||p.wrap===!1)&&(C=rt(C)?C/180*Math.PI:0,W=He(W,l.startAngleRad-C,l.endAngleRad+C)),W=180*W/Math.PI,v.shapeType="path",v.shapeArgs={d:w.path||[["M",-I,-L/2],["L",T,-L/2],["L",P,-R/2],["L",P,R/2],["L",T,L/2],["L",-I,L/2],["Z"]],translateX:x[0],translateY:x[1],rotation:W},v.plotX=x[0],v.plotY=x[1],Ut(v.y)&&l.max-l.min&&(v.percentage=(v.y-l.min)/(l.max-l.min)*100)})}drawPoints(){let l=this,p=l.chart,x=l.yAxis.center,v=l.pivot,w=l.options,P=w.pivot,T=p.renderer;l.points.forEach(I=>{let L=I.graphic,R=I.shapeArgs,C=R.d,W=Tt(w.dial,I.dial);L?(L.animate(R),R.d=C):I.graphic=T[I.shapeType](R).addClass("highcharts-dial").add(l.group),p.styledMode||I.graphic[L?"animate":"attr"]({stroke:W.borderColor,"stroke-width":W.borderWidth,fill:W.backgroundColor})}),v?v.animate({translateX:x[0],translateY:x[1]}):P&&(l.pivot=T.circle(0,0,P.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(x[0],x[1]).add(l.group),p.styledMode||l.pivot.attr({fill:P.backgroundColor,stroke:P.borderColor,"stroke-width":P.borderWidth}))}animate(l){let p=this;l||p.points.forEach(x=>{let v=x.graphic;v&&(v.attr({rotation:180*p.yAxis.startAngleRad/Math.PI}),v.animate({rotation:x.shapeArgs.rotation},p.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),fs.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(l,p){fs.prototype.setData.call(this,l,!1),this.processData(),this.generatePoints(),ht(p,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}Qi.defaultOptions=Tt(fs.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}),re(Qi.prototype,{angular:!0,directTouch:!0,drawGraph:no,drawTracker:Yo.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:class extends pe{setState(m){this.state=m}},trackerGroups:["group","dataLabelsGroup"]}),_t().registerSeriesType("gauge",Qi);var lo=Yt(620),Os=Yt.n(lo);let{composed:ho}=jt();function oi(){let m,l,p,x,v=this;v.container&&(m=St(v.container,"mousedown",w=>{l&&l(),p&&p(),(x=v.hoverPoint)&&x.series&&x.series.hasDraggableNodes&&x.series.options.draggable&&(x.series.onMouseDown(x,w),l=St(v.container,"mousemove",P=>x&&x.series&&x.series.onMouseMove(x,P)),p=St(v.container.ownerDocument,"mouseup",P=>(l(),p(),x&&x.series&&x.series.onMouseUp(x,P))))})),St(v,"destroy",function(){m()})}let ki={compose:function(m){ke(ho,"DragNodes")&&St(m,"load",oi)},onMouseDown:function(m,l){var v;let{panKey:p}=this.chart.options.chart;if(p&&l[`${p}Key`])return;let x=((v=this.chart.pointer)==null?void 0:v.normalize(l))||l;m.fixedPosition={chartX:x.chartX,chartY:x.chartY,plotX:m.plotX,plotY:m.plotY},m.inDragMode=!0},onMouseMove:function(m,l){var p;if(m.fixedPosition&&m.inDragMode){let x,v,w=this.chart,P=((p=w.pointer)==null?void 0:p.normalize(l))||l,T=m.fixedPosition.chartX-P.chartX,I=m.f
1ixedPosition.chartY-P.chartY,L=w.graphLayoutsLookup;(Math.abs(T)>5||Math.abs(I)>5)&&(x=m.fixedPosition.plotX-T,v=m.fixedPosition.plotY-I,w.isInsidePlot(x,v)&&(m.plotX=x,m.plotY=v,m.hasDragged=!0,this.redrawHalo(m),L.forEach(R=>{R.restartSimulation()})))}},onMouseUp:function(m){m.fixedPosition&&(m.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),m.inDragMode=m.hasDragged=!1,this.options.fixedDraggable||delete m.fixedPosition)},redrawHalo:function(m){m&&this.halo&&this.halo.attr({d:m.haloPath(this.options.states.hover.halo.size)})}},{setAnimation:Es}=jt(),{composed:Wo}=jt();function Ho(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(m=>{m.updateSimulation()}),this.redraw())}function co(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(m=>{m.updateSimulation(!1)}),this.redraw())}function po(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(m=>{m.stop()})}function ts(){var x;let m,l=!1,p=v=>{v.maxIterations--&&isFinite(v.temperature)&&!v.isStable()&&!v.enableSimulation&&(v.beforeStep&&v.beforeStep(),v.step(),m=!1,l=!0)};if(this.graphLayoutsLookup&&!((x=this.pointer)!=null&&x.hasDragged)){for(Es(!1,this),this.graphLayoutsLookup.forEach(v=>v.start());!m;)m=!0,this.graphLayoutsLookup.forEach(p);l&&this.series.forEach(v=>{v&&v.layout&&v.render()})}}let Fo=function(m){ke(Wo,"GraphLayout")&&(St(m,"afterPrint",Ho),St(m,"beforePrint",co),St(m,"predraw",po),St(m,"render",ts))},Vi={},ms={};var Go=Yt(960),Ae=Yt.n(Go);let{seriesTypes:{bubble:{prototype:{pointClass:ci}}}}=_t(),qi=class extends ci{destroy(){var m;return(m=this.series)!=null&&m.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),di().prototype.destroy.apply(this,arguments)}firePointEvent(){let m=this.series.options;if(this.isParentNode&&m.parentNode){let l=m.allowPointSelect;m.allowPointSelect=m.parentNode.allowPointSelect,di().prototype.firePointEvent.apply(this,arguments),m.allowPointSelect=l}else di().prototype.firePointEvent.apply(this,arguments)}select(){let m=this.series.chart;this.isParentNode?(m.getSelectedPoints=m.getSelectedParentNodes,di().prototype.select.apply(this,arguments),m.getSelectedPoints=Ae().prototype.getSelectedPoints):di().prototype.select.apply(this,arguments)}setState(m,l){var p,x;(x=(p=this==null?void 0:this.graphic)==null?void 0:p.parentGroup)!=null&&x.element&&super.setState(m,l)}},Gs={attractive:function(m,l,p){let x=m.getMass(),v=-p.x*l*this.diffTemperature,w=-p.y*l*this.diffTemperature;m.fromNode.fixedPosition||(m.fromNode.plotX-=v*x.fromNode/m.fromNode.degree,m.fromNode.plotY-=w*x.fromNode/m.fromNode.degree),m.toNode.fixedPosition||(m.toNode.plotX+=v*x.toNode/m.toNode.degree,m.toNode.plotY+=w*x.toNode/m.toNode.degree)},attractiveForceFunction:function(m,l){return(l-m)/m},barycenter:function(){let m=this.options.gravitationalConstant||0,l=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*m,p=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*m;this.nodes.forEach(function(x){x.fixedPosition||(x.plotX-=l/x.mass/x.degree,x.plotY-=p/x.mass/x.degree)})},getK:function(m){return Math.pow(m.box.width*m.box.height/m.nodes.length,.5)},integrate:function(m,l){let p=-m.options.friction,x=m.options.maxSpeed,v=l.prevX,w=l.prevY,P=(l.plotX+l.dispX-v)*p,T=(l.plotY+l.dis
vendor: 5,864 bytes, line 1
1pY-w)*p,I=Math.abs,L=I(P)/(P||1),R=I(T)/(T||1),C=L*Math.min(x,Math.abs(P)),W=R*Math.min(x,Math.abs(T));l.prevX=l.plotX+l.dispX,l.prevY=l.plotY+l.dispY,l.plotX+=C,l.plotY+=W,l.temperature=m.vectorLength({x:C,y:W})},repulsive:function(m,l,p){let x=l*this.diffTemperature/m.mass/m.degree;m.fixedPosition||(m.plotX+=p.x*x,m.plotY+=p.y*x)},repulsiveForceFunction:function(m,l){return(l-m)/m*(l>m)}},{noop:uo}=jt(),js={barycenter:function(){let m,l,p=this.options.gravitationalConstant||0,x=this.box,v=this.nodes,w=Math.sqrt(v.length);for(let P of v)if(!P.fixedPosition){let T=P.mass*w,I=P.plotX||0,L=P.plotY||0,R=P.series,C=R.parentNode;this.resolveSplitSeries(P)&&C&&!P.isParentNode?(m=C.plotX||0,l=C.plotY||0):(m=x.width/2,l=x.height/2),P.plotX=I-(I-m)*p/T,P.plotY=L-(L-l)*p/T,R.chart.hoverPoint===P&&R.redrawHalo&&R.halo&&R.redrawHalo(P)}},getK:uo,integrate:Gs.integrate,repulsive:function(m,l,p,x){let v=l*this.diffTemperature/m.mass/m.degree,w=p.x*v,P=p.y*v;m.fixedPosition||(m.plotX+=w,m.plotY+=P),x.fixedPosition||(x.plotX-=w,x.plotY-=P)},repulsiveForceFunction:function(m,l,p,x){return Math.min(m,(p.marker.radius+x.marker.radius)/2)}},go={attractive:function(m,l,p,x){let v=m.getMass(),w=p.x/x*l,P=p.y/x*l;m.fromNode.fixedPosition||(m.fromNode.dispX-=w*v.fromNode/m.fromNode.degree,m.fromNode.dispY-=P*v.fromNode/m.fromNode.degree),m.toNode.fixedPosition||(m.toNode.dispX+=w*v.toNode/m.toNode.degree,m.toNode.dispY+=P*v.toNode/m.toNode.degree)},attractiveForceFunction:function(m,l){return m*m/l},barycenter:function(){let m=this.options.gravitationalConstant,l=this.barycenter.xFactor,p=this.barycenter.yFactor;this.nodes.forEach(function(x){if(!x.fixedPosition){let v=x.getDegree(),w=v*(1+v/2);x.dispX+=(l-x.plotX)*m*w/x.degree,x.dispY+=(p-x.plotY)*m*w/x.degree}})},getK:function(m){return Math.pow(m.box.width*m.box.height/m.nodes.length,.3)},integrate:function(m,l){l.dispX+=l.dispX*m.options.friction,l.dispY+=l.dispY*m.options.friction;let p=l.temperature=m.vectorLength({x:l.dispX,y:l.dispY});p!==0&&(l.plotX+=l.dispX/p*Math.min(Math.abs(l.dispX),m.temperature),l.plotY+=l.dispY/p*Math.min(Math.abs(l.dispY),m.temperature))},repulsive:function(m,l,p,x){m.dispX+=p.x/x*l/m.degree,m.dispY+=p.y/x*l/m.degree},repulsiveForceFunction:function(m,l){return l*l/m}};class wi{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,p=this.box.height/2;this.nodes[0]=new wi({left:this.box.left,top:this.box.top,width:l,height:p}),this.nodes[1]=new wi({left:this.box.left+l,top:this.box.top,width:l,height:p}),this.nodes[2]=new wi({left:this.box.left+l,top:this.box.top+p,width:l,height:p}),this.nodes[3]=new wi({left:this.box.left,top:this.box.top+p,width:l,height:p})}getBoxPosition(l){let p=l.plotX<this.box.left+this.box.width/2,x=l.plotY<this.box.top+this.box.height/2;return p?3*!x:x?1:2}insert(l,p){let x;this.isInternal?this.nodes[this.getBoxPosition(l)].insert(l,p-1):(this.isEmpty=!1,this.body?p?(this.isInternal=!0,this.divideBox(),this.body!==!0&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,p-1),this.body=!0),this.nodes[this.getBoxPosition(l)].insert(l,p-1)):((x=new wi({top:l.plotX||NaN,left:l.plotY||NaN,width:.1,height:.1})).body=l,x.isInternal=!1,this.nodes.push(x)):(this.isInternal=!1,this.body=l))}updateMassAndCenter(){let l=0,p=0,x=0;if(this.isInternal){for(let v of this.nodes)v.isEmpty||(l+=v.mass,p+=v.plotX*v.mass,x+=v.plotY*v.mass);p/=l,x/=l}else this.body&&(l=this.body.mass,p=this.body.plotX,x=this.body.plotY);this.mass=l,this.plotX=p,this.plotY=x}}let jo=class{constructor(m,l,p,x){this.box={left:m,top:l,width:p,height:x},this.maxDepth=25,this.root=new wi(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,p){let x;if(m||(m=this.root),m===this.root&&l&&(x=l(m)),x!==!1){for(let v of m.nodes){if(v.isInternal){if(l&&(x=l(v)),x===!1)continue;this.visitNodeRecursive(v,l,p)}else v.body&&l&&l(v.body);p&&p(v)}m===this.root&&p&&p(m)}}},{win:Is}=jt();class xs{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(l){Fo(l),Vi.euler=go,Vi.verlet=Gs,ms["reingold-fruchterman"]=xs}init(l){this.options=l,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=Vi[l.integration],this.enableSimulation=l.enableSimulation,this.attractiveForce=ht(l.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=ht(l.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=l.approximation}updateSimulation(l){this.enableSimulation=ht(l,this.options.enableSimulation)}start(){let l=this.series,p=this.options;this.currentStep=0,this.forces=l[0]&&l[0].forces||[],this.chart=l[0]&&l[0].chart,this.initialRendering&&(this.initPositions(),l.forEach(function(x){x.finishedAnimating=!0,x.render()})),this.setK(),this.resetSimulation(p),this.enableSimulation&&this.step()}step(){let l=this.series;for(let p of(this.currentStep++,this.approximation==="barnes-hut"&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[p+"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 p of l)p.chart&&p.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&Is.cancelAnimationFrame(this.simulation),this.simulation=Is.requestAnimationFrame(()=>
1this.step())):(this.simulation=!1,this.series.forEach(p=>{G(p,"afterSimulation")}))}}stop(){this.simulation&&Is.cancelAnimationFrame(this.simulation)}setArea(l,p,x,v){this.box={left:l,top:p,width:x,height:v}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(l,p){for(let x of l)p.indexOf(x)===-1&&p.push(x)}removeElementFromCollection(l,p){let x=p.indexOf(l);x!==-1&&p.splice(x,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(l){this.maxIterations=ht(l,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(l){this.initialRendering=l}createQuadTree(){this.quadTree=new jo(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let l=this.options.initialPositions;if(typeof l=="function")for(let p of(l.call(this),this.nodes))Ut(p.prevX)||(p.prevX=p.plotX),Ut(p.prevY)||(p.prevY=p.plotY),p.dispX=0,p.dispY=0;else l==="circle"?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let l,p=this.box,x=this.nodes,v=2*Math.PI/(x.length+1),w=x.filter(function(R){return R.linksTo.length===0}),P={},T=this.options.initialPositionRadius,I=R=>{for(let C of R.linksFrom||[])P[C.toNode.id]||(P[C.toNode.id]=!0,L.push(C.toNode),I(C.toNode))},L=[];for(let R of w)L.push(R),I(R);if(L.length)for(let R of x)L.indexOf(R)===-1&&L.push(R);else L=x;for(let R=0,C=L.length;R<C;++R)(l=L[R]).plotX=l.prevX=ht(l.plotX,p.width/2+T*Math.cos(R*v)),l.plotY=l.prevY=ht(l.plotY,p.height/2+T*Math.sin(R*v)),l.dispX=0,l.dispY=0}setRandomPositions(){let l,p=this.box,x=this.nodes,v=x.length+1,w=P=>{let T=P*P/Math.PI;return T-Math.floor(T)};for(let P=0,T=x.length;P<T;++P)(l=x[P]).plotX=l.prevX=ht(l.plotX,p.width*w(P)),l.plotY=l.prevY=ht(l.plotY,p.height*w(v+P)),l.dispX=0,l.dispY=0}force(l,...p){this.integration[l].apply(this,p)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let l=0,p=0,x=0;for(let v of this.nodes)p+=v.plotX*v.mass,x+=v.plotY*v.mass,l+=v.mass;return this.barycenter={x:p,y:x,xFactor:p/l,yFactor:x/l},this.barycenter}barnesHutApproximation(l,p){let x,v,w=this.getDistXY(l,p),P=this.vectorLength(w);return l!==p&&P!==0&&(p.isInternal?p.boxSize/P<this.options.theta&&P!==0?(v=this.repulsiveForce(P,this.k),this.force("repulsive",l,v*p.mass,w,P),x=!1):x=!0:(v=this.repulsiveForce(P,this.k),this.force("repulsive",l,v*p.mass,w,P))),x}repulsiveForces(){if(this.approximation==="barnes-hut")for(let l of this.nodes)this.quadTree.visitNodeRecursive(null,p=>this.barnesHutApproximation(l,p));else{let l,p,x;for(let v of this.nodes)for(let w of this.nodes)v===w||v.fixedPosition||(x=this.getDistXY(v,w),(p=this.vectorLength(x))!==0&&(l=this.repulsiveForce(p,this.k),this.force("repulsive",v,l*w.mass,x,p)))}}attractiveForces(){let l,p,x;for(let v of this.links)v.fromNode&&v.toNode&&(l=this.getDistXY(v.fromNode,v.toNode),(p=this.vectorLength(l))!==0&&(x=this.attractiveForce(p,this.k),this.force("attractive",v,x,l,p)))}applyLimits(){for(let l of this.nodes)l.fixedPosition||(this.integration.integrate(this,l),this.applyLimitBox(l,this.box),l.dispX=0,l.dispY=0)}applyLimitBox(l,p){let x=l.radius;l.plotX=He(l.plotX,p.left+x,p.width-x),l.plotY=He(l.plotY,p.top+x,p.height-x)}coolDown(l,p,x){return l-p*x}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let l=0;for(let p of this.nodes)l+=p.temperature;return l}vectorLength(l){return Math.sqrt(l.x*l.x+l.y*l.y)}getDistR(l,p){let x=this.getDistXY(l,p);return this.vectorLength(x)}getDistXY(l,p){let x=l.plotX-p.plotX,v=l.plotY-p.plotY;return{x,y:v,absX:Math.abs(x),absY:Math.abs(v)}}}let fo=xs;function Uo(){let m=this.series,l=[];return m.forEach(p=>{p.parentNode&&p.parentNode.selected&&l.push(p.parentNode)}),l}function Vo(){this.allDataPoints&&delete this.allDataPoints}class ys extends fo{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(l){fo.compose(l),Vi.packedbubble=js,ms.packedbubble=ys;let p=l.prototype;
1p.getSelectedParentNodes||(St(l,"beforeRedraw",Vo),p.getSelectedParentNodes=Uo),p.allParentNodes||(p.allParentNodes=[])}beforeStep(){this.options.marker&&this.series.forEach(l=>{l&&l.calculateParentRadius()})}isStable(){let l=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&l<1e-5||this.temperature<=0}setCircularPositions(){var I;let l=this.box,p=[...this.nodes,...((I=this==null?void 0:this.chart)==null?void 0:I.allParentNodes)||[]],x=2*Math.PI/(p.length+1),v=this.options.initialPositionRadius,w,P,T=0;for(let L of p)this.resolveSplitSeries(L)&&!L.isParentNode?(w=L.series.parentNode.plotX,P=L.series.parentNode.plotY):(w=l.width/2,P=l.height/2),L.plotX=L.prevX=ht(L.plotX,w+v*Math.cos(L.index||T*x)),L.plotY=L.prevY=ht(L.plotY,P+v*Math.sin(L.index||T*x)),L.dispX=0,L.dispY=0,T++}repulsiveForces(){var P,T,I;let{options:l,k:p}=this,{bubblePadding:x=0,seriesInteraction:v}=l,w=[...this.nodes,...((P=this==null?void 0:this.chart)==null?void 0:P.allParentNodes)||[]];for(let L of w){let R=L.series,C=L.fixedPosition,W=(((T=L.marker)==null?void 0:T.radius)||0)+x;for(let B of(L.degree=L.mass,L.neighbors=0,w)){let Z=B.series;if(L!==B&&!C&&(v||R===Z)&&!(R===Z&&(B.isParentNode||L.isParentNode))){let V,U=this.getDistXY(L,B),q=this.vectorLength(U)-(W+(((I=B.marker)==null?void 0:I.radius)||0));q<0&&(L.degree+=.01,V=this.repulsiveForce(-q/Math.sqrt(++L.neighbors),p,L,B)*B.mass),this.force("repulsive",L,V||0,U,B,q)}}}}resolveSplitSeries(l){var x,v,w,P,T,I,L,R;let p=(w=(v=(x=l.series)==null?void 0:x.options)==null?void 0:v.layoutAlgorithm)==null?void 0:w.splitSeries;return!Ut(p)&&((R=(L=(I=(T=(P=l.series.chart)==null?void 0:P.options)==null?void 0:T.plotOptions)==null?void 0:I.packedbubble)==null?void 0:L.layoutAlgorithm)==null?void 0:R.splitSeries)||p||!1}applyLimitBox(l,p){let x,v;this.resolveSplitSeries(l)&&!l.isParentNode&&this.options.parentNodeLimit&&(x=this.getDistXY(l,l.series.parentNode),(v=l.series.parentNodeRadius-l.marker.radius-this.vectorLength(x))<0&&v>-2*l.marker.radius&&(l.plotX-=.01*x.x,l.plotY-=.01*x.y)),super.applyLimitBox(l,p)}}ms.packedbubble=ys;let{animObject:es}=jt();var mo=Yt(28),xo=Yt.n(mo);let{deg2rad:qo}=jt();function $o(m,l){l=Tt(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},l);let p=this.renderer.url,x=this.text||this,v=x.textPath,{attributes:w,enabled:P}=l;if(m=m||v&&v.path,v&&v.undo(),m&&P){let T=St(x,"afterModifyTree",I=>{if(m&&P){let L=m.attr("id");L||m.attr("id",L=(0,Ge.uniqueKey)());let R={x:0,y:0};Ut(w.dx)&&(R.dx=w.dx,delete w.dx),Ut(w.dy)&&(R.dy=w.dy,delete w.dy),x.attr(R),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let C=I.nodes.slice(0);I.nodes.length=0,I.nodes[0]={tagName:"textPath",attributes:re(w,{"text-anchor":w.textAnchor,href:`${p}#${L}`}),children:C}}});x.textPath={path:m,undo:T}}else x.attr({dx:0,dy:0}),delete x.textPath;return this.added&&(x.textCache="",this.renderer.buildText(x)),this}function Ko(m){var x;let l=m.bBox,p=(x=this.element)==null?void 0:x.querySelector("textPath");if(p){let v=[],{b:w,h:P}=this.renderer.fontMetrics(this.element),T=P-w,I=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),L=p.innerHTML.replace(I,"").split(/<tspan class="highcharts-br"[^>]*>/),R=L.length,C=(W,B)=>{let{x:Z,y:V}=B,U=(p.getRotationOfChar(W)-90)*qo,q=Math.cos(U),ot=Math.sin(U);return[[Z-T*q,V-T*ot],[Z+w*q,V+w*ot]]};for(let W=0,B=0;B<R;B++){let Z=L[B].length;for(let V=0;V<Z;V+=5)try{let U=W+V+B,[q,ot]=C(U,p.getStartPositionOfChar(U));V===0?(v.push(ot),v.push(q)):(B===0&&v.unshift(ot),B===R-1&&v.push(q))}catch(U){break}W+=Z-1;try{let V=W+B,U=p.getEndPositionOfChar(V),[q,ot]=C(V,U);v.unshift(ot),v.unshift(q)}catch(V){break}}v.length&&v.push(v[0].slice()),l.polygon=v}return l}function Us(m){var v;let l=m.labelOptions,p=m.point,x=l[p.formatPrefix+"TextPath"]||l.textPath;x&&!l.useHTML&&(this.setTextPath(((v=p.getDataLabelPath)==null?void 0:v.call(p,this))||p.graphic,x),p.dataLabelPath&&!x.enabled&&(p.dataLabelPath=p.dataLabelPath.destroy()))}let{parse:Rs}=Os(),{noop:bs}
1=jt(),{series:{prototype:Ri},seriesTypes:{bubble:Vs}}=_t(),{initDataLabels:yo,initDataLabelsDefer:Zo}={initDataLabels:function(){let m=this.options.dataLabels;if(!this.dataLabelsGroup){let l=this.initDataLabelsGroup(0,m);return!this.chart.styledMode&&(m!=null&&m.style)&&l.css(m.style),l.attr({opacity:0}),this.visible&&(this.options.animation&&(m!=null&&m.animation)?l.animate({opacity:1},m.animation):l.attr({opacity:1}),l.show()),l}return this.dataLabelsGroup.attr(Ii({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){var x;let m=this.options.dataLabels;if(m!=null&&m.defer&&((x=this.options.layoutAlgorithm)!=null&&x.enableSimulation)){var l,p;l=()=>{this.deferDataLabels=!1},(p=m?es(m.animation).defer:0)>0?setTimeout(l,p,void 0):l.call(0,void 0)}else this.deferDataLabels=!1}};({compose:function(m){St(m,"afterGetBBox",Ko),St(m,"beforeAddingDataLabel",Us);let l=m.prototype;l.setTextPath||(l.setTextPath=$o)}}).compose(xo());class Si extends Vs{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(l,p,x){Vs.compose(l,p,x),ki.compose(p),ys.compose(p)}accumulateAllPoints(){let l=this.chart,p=[];for(let x of l.series)if(x.is("packedbubble")&&x.reserveSpace()){let v=x.getColumn("value");for(let w=0;w<v.length;w++)p.push([null,null,v[w],x.index,w,{id:w,marker:{radius:0}}])}return p}addLayout(){let l=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},p=l.type||"packedbubble",x=this.chart.options.chart,v=this.chart.graphLayoutsStorage,w=this.chart.graphLayoutsLookup,P;v||(this.chart.graphLayoutsStorage=v={},this.chart.graphLayoutsLookup=w=[]),(P=v[p])||(l.enableSimulation=Ut(x.forExport)?!x.forExport:l.enableSimulation,v[p]=P=new ms[p],P.init(l),w.splice(P.index,0,P)),this.layout=P,this.points.forEach(T=>{T.mass=2,T.degree=1,T.collisionNmb=1}),P.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),P.addElementsToCollection([this],P.series),P.addElementsToCollection(this.points,P.nodes)}addSeriesLayout(){let l=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},p=l.type||"packedbubble",x=this.chart.graphLayoutsStorage,v=this.chart.graphLayoutsLookup,w=Tt(l,l.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),P=x[p+"-series"];P||(x[p+"-series"]=P=new ms[p],P.init(w),v.splice(P.index,0,P)),this.parentNodeLayout=P,this.createParentNodes()}calculateParentRadius(){let l=this.seriesBox();this.parentNodeRadius=He(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,l?Math.max(Math.sqrt(Math.pow(l.width,2)+Math.pow(l.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 l=this.chart.series,p=this.options.zMin,x=this.options.zMax,v=1/0,w=-1/0;return p&&x?[p,x]:(l.forEach(P=>{P.getColumn("value").forEach(T=>{Ut(T)&&(T>w&&(w=T),T<v&&(v=T))})}),[p=ht(p,v),x=ht(x,w)])}checkOverlap(l,p){let x=l[0]-p[0],v=l[1]-p[1];return Math.sqrt(x*x+v*v)-Math.abs(l[2]+p[2])<-.001}createParentNodes(){let l=this.pointClass,p=this.chart,x=this.parentNodeLayout,v=this.layout.options,w,P=this.parentNode,T={radius:this.parentNodeRadius,lineColor:this.color,fillColor:Rs(this.color).brighten(.4).get()};v.parentNodeOptions&&(T=Tt(v.parentNodeOptions.marker||{},T)),this.parentNodeMass=0,this.points.forEach(I=>{this.parentNodeMass+=Math.PI*Math.pow(I.marker.radius,2)}),this.calculateParentRadius(),x.nodes.forEach(I=>{I.seriesIndex===this.index&&(w=!0)}),x.setArea(0,0,p.plotWidth,p.plotHeight),w||(P||(P=new l(this,{mass:this.parentNodeRadius/2,marker:T,dataLabels:{inside:!1},states:{normal:{marker:T},hover:{marker:T}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index}),this.chart.allParentNodes.push(P)),this.parentNode&&(P.plotX=this.parentNode.plotX,P.plotY=this.parentNode.plotY),this.parentNode=P,x.addElementsToCollection([this],x.series),x.addElementsToCollection([P],x.nodes))}deferLayout(){let l=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),l.splitSeries&&this.addSeriesLayout()
vendor: 7,357 bytes, line 1
1)}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(l=>{l.removeElementFromCollection(this,l.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),Ri.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(Ri.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",Ri.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){var w;if(!this.layout||!this.layout.options.splitSeries)return;let l=this.chart,p=this.layout.options.parentNodeOptions.marker,x={fill:p.fillColor||Rs(this.color).brighten(.4).get(),opacity:p.fillOpacity,stroke:p.lineColor||this.color,"stroke-width":ht(p.lineWidth,this.options.lineWidth)},v={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,l.seriesGroup),(w=this.group)==null||w.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&Ut(this.parentNode.plotX)&&Ut(this.parentNode.plotY)&&Ut(this.parentNodeRadius)&&(v=Tt({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},x),this.parentNode.graphic||(this.graph=this.parentNode.graphic=l.renderer.symbol(x.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(v))}drawTracker(){let l,p=this.parentNode;super.drawTracker(),p&&(l=Ze(p.dataLabels)?p.dataLabels:p.dataLabel?[p.dataLabel]:[],p.graphic&&(p.graphic.element.point=p),l.forEach(x=>{(x.div||x.element).point=p}))}getPointRadius(){let l,p,x,v,w=this.chart,P=w.plotWidth,T=w.plotHeight,I=this.options,L=I.useSimulation,R=Math.min(P,T),C={},W=[],B=w.allDataPoints||[],Z=B.length;["minSize","maxSize"].forEach(U=>{let q=parseInt(I[U],10),ot=/%$/.test(I[U]);C[U]=ot?R*q/100:q*Math.sqrt(Z)}),w.minRadius=l=C.minSize/Math.sqrt(Z),w.maxRadius=p=C.maxSize/Math.sqrt(Z);let V=L?this.calculateZExtremes():[l,p];B.forEach((U,q)=>{x=L?He(U[2],V[0],V[1]):U[2],(v=this.getRadius(V[0],V[1],l,p,x))===0&&(v=null),B[q][2]=v,W.push(v)}),this.radii=W}init(){return Ri.init.apply(this,arguments),Zo.call(this),this.eventsToUnbind.push(St(this,"updatedData",function(){this.chart.series.forEach(l=>{l.type===this.type&&(l.isDirty=!0)},this)})),this}onMouseUp(l){if(l.fixedPosition&&!l.removed){let p,x=this.layout,v=this.parentNodeLayout;!l.isParentNode&&v&&x.options.dragBetweenSeries&&v.nodes.forEach(w=>{l&&l.marker&&w!==l.series.parentNode&&(p=x.getDistXY(l,w),x.vectorLength(p)-w.marker.radius-l.marker.radius<0&&(w.series.addPoint(Tt(l.options,{plotX:l.plotX,plotY:l.plotY}),!1),x.removeElementFromCollection(l,x.nodes),l.remove()))}),ki.onMouseUp.apply(this,arguments)}}placeBubbles(l){let p=this.checkOverlap,x=this.positionBubble,v=[],w=1,P=0,T=0,I,L=[],R,C=l.sort((W,B)=>B[2]-W[2]);if(C.length){if(v.push([[0,0,C[0][2],C[0][3],C[0][4]]]),C.length>1)for(v.push([[0,0-C[1][2]-C[0][2],C[1][2],C[1][3],C[1][4]]]),R=2;R<C.length;R++)C[R][2]=C[R][2]||1,p(I=x(v[w][P],v[w-1][T],C[R]),v[w][0])?(v.push([]),T=0,v[w+1].push(x(v[w][P],v[w][0],C[R])),w++,P=0):w>1&&v[w-1][T+1]&&p(I,v[w-1][T+1])?(T++,v[w].push(x(v[w][P],v[w-1][T],C[R])),P++):(P++,v[w].push(I));this.chart.stages=v,this.chart.rawPositions=[].concat.apply([],v),this.resizeRadius(),L=this.chart.rawPositions}return L}pointAttribs(l,p){let x=this.options,v=l&&l.isParentNode,w=x.marker;v&&x.layoutAlgorithm&&x.layoutAlgorithm.parentNodeOptions&&(w=x.layoutAlgorithm.parentNodeOptions.marker);let P=w.fillOpacity,T=Ri.pointAttribs.call(this,l,p);return P!==1&&(T["fill-opacity"]=P),T}positionBubble(l,p,x){let v=Math.asin,w=Math.acos,P=Math.pow,T=Math.abs,I=(0,Math.sqrt)(P(l[0]-p[0],2)+P(l[1]-p[1],2)),L=w((P(I,2)+P(x[2]+p[2],2)-P(x[2]+l[2],2))/(2*(x[2]+p[2])*I)),R=v(T(l[0]-p[0])/I),C=(l[1]-p[1]<0?0:Math.PI)+L+R*((l[0]-p[0])*(l[1]-p[1])<0?1:-1),W=Math.cos(C),B=Math.sin(C);return[p[0]+(p[2]+x[2])*B,p[1]-(p[2]+x[2])*W,x[2],x[3],x[4]]}render(){let l=[];Ri.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(p=>{Ze(p.dataLabels)&&p.dataLabels.forEach(x=>{l.push(x)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(l))}resizeRadius(){let l,p,x,v,w,P=this.chart,T=P.rawPositions,I=Math.min,L=Math.max,R=P.plotLeft,C=P.plotTop,W=P.plotHeight,B=P.plotWidth;for(let q of(l=x=1/0,p=v=-1/0,T))w=q[2],l=I(l,q[0]-w),p=L(p,q[0]+w),x=I(x,q[1]-w),v=L(v,q[1]+w);let Z=[p-l,v-x],V=[(B-R)/Z[0],(W-C)/Z[1]],U=I.apply([],V);if(Math.abs(U-1)>1e-10){for(let q of T)q[2]*=U;this.placeBubbles(T)}else P.diffY=W/2+C-x-(v-x)/2,P.diffX=B/2+R-l-(p-l)/2}seriesBox(){let l,p=this.chart,x=this.data,v=Math.max,w=Math.min,P=[p.plotLeft,p.plotLeft+p.plotWidth,p.plotTop,p.plotTop+p.plotHeight];return x.forEach(T=>{Ut(T.plotX)&&Ut(T.plotY)&&T.marker.radius&&(l=T.marker.radius,P[0]=w(P[0],T.plotX-l),P[1]=v(P[1],T.plotX+l),P[2]=w(P[2],T.plotY-l),P[3]=v(P[3],T.plotY+l))}),rt(P.width/P.height)?P:null}setVisible(){let l=this;Ri.setVisible.apply(l,arguments),l.parentNodeLayout&&l.graph?l.visible?(l.graph.show(),l.parentNode.dataLabel&&l.parentNode.dataLabel.show()):(l.graph.hide(),l.parentNodeLayout.removeElementFromCollection(l.parentNode,l.parentNodeLayout.nodes),l.parentNode.dataLabel&&l.parentNode.dataLabel.hide()):l.layout&&(l.visible?l.layout.addElementsToCollection(l.points,l.layout.nodes):l.points.forEach(p=>{l.layout.removeElementFromCollection(p,l.layout.nodes)}))}translate(){let l,p,x,v=this.chart,w=this.data,P=this.index,T=this.options.useSimulation;for(let I of(this.generatePoints(),Ut(v.allDataPoints)||(v.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),T?x=v.allDataPoints:(x=this.placeBubbles(v.allDataPoints),this.options.draggable=!1),x))I[3]===P&&(l=w[I[4]],p=ht(I[2],void 0),T||(l.plotX=I[0]-v.plotLeft+v.diffX,l.plotY=I[1]-v.plotTop+v.diffY),rt(p)&&(l.marker=re(l.marker,{radius:p,width:2*p,height:2*p}),l.radius=p));T&&this.deferLayout(),G(this,"afterTranslate")}}Si.defaultOptions=Tt(Vs.defaultOptions,{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:m}=this.series.chart,{value:l}=this.point;return rt(l)?m(l,-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},stickyTracking:!1}),re(Si.prototype,{pointClass:qi,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:yo,al
1ignDataLabel:Ri.alignDataLabel,indexateNodes:bs,onMouseDown:ki.onMouseDown,onMouseMove:ki.onMouseMove,redrawHalo:ki.redrawHalo,searchPoint:bs}),_t().registerSeriesType("packedbubble",Si);let{noop:$i}=jt(),{area:_o,line:vs,scatter:Ns}=_t().seriesTypes;class Ni extends Ns{getGraphPath(){let l=vs.prototype.getGraphPath.call(this),p=l.length+1;for(;p--;)(p===l.length||l[p][0]==="M")&&p>0&&l.splice(p,0,["Z"]);return this.areaPath=l,l}drawGraph(){this.options.fillColor=this.color,_o.prototype.drawGraph.call(this)}}Ni.defaultOptions=Tt(Ns.defaultOptions,{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}),re(Ni.prototype,{type:"polygon",drawTracker:vs.prototype.drawTracker,setStackedPoints:$i}),_t().registerSeriesType("polygon",Ni);let{defaultOptions:bo}=jt(),{noop:qs}=jt(),Jo={radius:0,scope:"stack",where:void 0},Ds=qs,vo=qs;function Qo(m,l,p,x,v={}){let w=Ds(m,l,p,x,v),{brStart:P=!0,brEnd:T=!0,innerR:I=0,r:L=p,start:R=0,end:C=0}=v;if(v.open||!v.borderRadius)return w;let W=C-R,B=Math.sin(W/2),Z=Math.max(Math.min(Dt(v.borderRadius||0,L-I),(L-I)/2,L*B/(1+B)),0),V=Math.min(Z,W/Math.PI*2*I),U=w.length-1;for(;U--;)(P||U!==0&&U!==3)&&(T||U!==1&&U!==2)&&(function(q,ot,st){let gt,wt,at,Nt=q[ot],ft=q[ot+1];if(ft[0]==="Z"&&(ft=q[0]),(Nt[0]==="M"||Nt[0]==="L")&&ft[0]==="A"?(gt=Nt,wt=ft,at=!0):Nt[0]==="A"&&(ft[0]==="M"||ft[0]==="L")&&(gt=ft,wt=Nt),gt&&wt&&wt.params){let Bt=wt[1],J=wt[5],lt=wt.params,{start:nt,end:bt,cx:Lt,cy:Mt}=lt,At=J?Bt-st:Bt+st,Gt=At?Math.asin(st/At):0,Qt=J?Gt:-Gt,he=Math.cos(Gt)*At;at?(lt.start=nt+Qt,gt[1]=Lt+he*Math.cos(nt),gt[2]=Mt+he*Math.sin(nt),q.splice(ot+1,0,["A",st,st,0,0,1,Lt+Bt*Math.cos(lt.start),Mt+Bt*Math.sin(lt.start)])):(lt.end=bt-Qt,wt[6]=Lt+Bt*Math.cos(lt.end),wt[7]=Mt+Bt*Math.sin(lt.end),q.splice(ot+1,0,["A",st,st,0,0,1,Lt+he*Math.cos(bt),Mt+he*Math.sin(bt)])),wt[4]=Math.abs(lt.end-lt.start)<Math.PI?0:1}})(w,U,U>1?V:Z);return w}function Mo(){var m,l;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:p,yAxis:x}=this,v=p.stacking==="percent",w=(l=(m=bo.plotOptions)==null?void 0:m[this.type])==null?void 0:l.borderRadius,P=Di(p.borderRadius,Pe(w)?w:{}),T=x.options.reversed;for(let I of this.points){let{shapeArgs:L}=I;if(I.shapeType==="roundedRect"&&L){let{width:R=0,height:C=0,y:W=0}=L,B=W,Z=C;if(P.scope==="stack"&&I.stackTotal){let ot=x.translate(v?100:I.stackTotal,!1,!0,!1,!0),st=x.translate(p.threshold||0,!1,!0,!1,!0),gt=this.crispCol(0,Math.min(ot,st),0,Math.abs(ot-st));B=gt.y,Z=gt.height}let V=(I.negative?-1:1)*(T?-1:1)==-1,U=P.where;!U&&this.is("waterfall")&&Math.abs((I.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(U="all"),U||(U="end");let q=Math.min(Dt(P.radius,R),R/2,U==="all"?Z/2:1/0)||0;U==="end"&&(V&&(B-=q),Z+=q),re(L,{brBoxHeight:Z,brBoxY:B,r:q})}}}}function Di(m,l){return Pe(m)||(m={radius:m||0}),Tt(Jo,l,m)}function tr(){let m=Di(this.options.borderRadius);for(let l of this.points){let p=l.shapeArgs;p&&(p.borderRadius=Dt(m.radius,(p.r||0)-(p.innerR||0)))}}function er(m,l,p,x,v={}){let w=vo(m,l,p,x,v),{r:P=0,brBoxHeight:T=x,brBoxY:I=l}=v,L=l-I,R=I+T-(l+x),C=L-P>-.1?0:P,W=R-P>-.1?0:P,B=Math.max(C&&L,0),Z=Math.max(W&&R,0),V=[m+C,l],U=[m+p-C,l],q=[m+p,l+C],ot=[m+p,l+x-W],st=[m+p-W,l+x],gt=[m+W,l+x],wt=[m,l+x-W],at=[m,l+C],Nt=(ft,Bt)=>Math.sqrt(Math.pow(ft,2)-Math.pow(Bt,2));if(B){let ft=Nt(C,C-B);V[0]-=ft,U[0]+=ft,q[1]=at[1]=l+C-B}if(x<C-B){let ft=Nt(C,C-B-x);q[0]=ot[0]=m+p-C+ft,st[0]=Math.min(q[0],st[0]),gt[0]=Math.max(ot[0],gt[0]),wt[0]=at[0]=m+C-ft,q[1]=at[1]=l+x}if(Z){let ft=Nt(W,W-Z);st[0]+=ft,gt[0]-=ft,ot[1]=wt[1]=l+x-W+Z}if(x<W-Z){let ft=Nt(W,W-Z-x);q[0]=ot[0]=m+p-W+ft,U[0]=Math.min(q[0],U[0]),V[0]=Math.max(ot[0],V[0]),wt[0]=at[0]=m+W-ft,ot[1]=wt[1]=l}return w.length=0,w.push(["M",...V],["L",...U],["A",C,C,0,0,1,...q],["L",...ot],["A",W,W,0,0,1,...st],["L",...gt],["A",W,W,0,0,1,...wt],["L",...at],["A",C,C,0,0,1,...V],["Z"]),w}let ir={circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0},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}},{defaultOptions:Pi}
1=jt(),{composed:sr,noop:is}=jt();(function(m){function l(){this.autoConnect=this.isCircular&&ht(this.userMax,this.options.max)===void 0&&ii(this.endAngleRad-this.startAngleRad)===ii(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function p(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&this.options.labels.allowOverlap!==!0)return this.tickPositions.map(J=>{var lt;return(lt=this.ticks[J])==null?void 0:lt.label}).filter(J=>!!J)}}function x(){return is}function v(J,lt,nt){let bt=this.pane.center,Lt=J.value,Mt,At,Gt;return this.isCircular?(Ut(Lt)?J.point&&(J.point.shapeArgs||{}).start&&(Lt=this.chart.inverted?this.translate(J.point.rectPlotY,!0):J.point.x):(At=J.chartX||0,Gt=J.chartY||0,Lt=this.translate(Math.atan2(Gt-nt,At-lt)-this.startAngleRad,!0)),At=(Mt=this.getPosition(Lt)).x,Gt=Mt.y):(Ut(Lt)||(At=J.chartX,Gt=J.chartY),Ut(At)&&Ut(Gt)&&(nt=bt[1]+this.chart.plotTop,Lt=this.translate(Math.min(Math.sqrt(Math.pow(At-lt,2)+Math.pow(Gt-nt,2)),bt[2]/2)-bt[3]/2,!0))),[Lt,At||0,Gt||0]}function w(J,lt,nt){let bt=this.pane.center,Lt=this.chart,Mt=this.left||0,At=this.top||0,Gt,Qt=ht(lt,bt[2]/2-this.offset),he;return nt===void 0&&(nt=this.horiz?0:this.center&&-this.center[3]/2),nt&&(Qt+=nt),this.isCircular||lt!==void 0?((he=this.chart.renderer.symbols.arc(Mt+bt[0],At+bt[1],Qt,Qt,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[Mt+bt[0]],he.yBounds=[At+bt[1]-Qt]):(Gt=this.postTranslate(this.angleRad,Qt),he=[["M",this.center[0]+Lt.plotLeft,this.center[1]+Lt.plotTop],["L",Gt.x,Gt.y]]),he}function P(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function T(J,lt,nt){let bt=this.chart,Lt=Ne=>{if(typeof Ne=="string"){let Xi=parseInt(Ne,10);return ti.test(Ne)&&(Xi=Xi*Qt/100),Xi}return Ne},Mt=this.center,At=this.startAngleRad,Gt=nt.borderRadius,Qt=Mt[2]/2,he=Math.min(this.offset,0),Ue=this.left||0,Qe=this.top||0,ti=/%$/,se=this.isCircular,ne=this.options.plotBands||[],Ie=ne.indexOf(nt),Ve,ni,qe,Ai,Ti,Re,li=ht(Lt(nt.outerRadius),Qt),Li=Lt(nt.innerRadius),Zi=ht(Lt(nt.thickness),10),Ci=!0,zi=!0;if(Gt&&Ie>-1&&(ne[Ie-1]&&ne[Ie-1].to===J&&(Ci=!1),ne[Ie+1]&&ne[Ie+1].from===lt&&(zi=!1)),this.options.gridLineInterpolation==="polygon")Re=this.getPlotLinePath({value:J}).concat(this.getPlotLinePath({value:lt,reverse:!0}));else{J=Math.max(J,this.min),lt=Math.min(lt,this.max);let Ne=this.translate(J),Xi=this.translate(lt);se||(li=Ne||0,Li=Xi||0),nt.shape!=="circle"&&se?(Ve=At+(Ne||0),ni=At+(Xi||0)):(Ve=-Math.PI/2,ni=1.5*Math.PI,Ti=!0),li-=he,Zi-=he,Re=bt.renderer.symbols.arc(Ue+Mt[0],Qe+Mt[1],li,li,{start:Math.min(Ve,ni),end:Math.max(Ve,ni),innerR:ht(Li,li-Zi),open:Ti,borderRadius:Gt,brStart:Ci,brEnd:zi}),se&&(qe=(ni+Ve)/2,Ai=Ue+Mt[0]+Mt[2]/2*Math.cos(qe),Re.xBounds=qe>-Math.PI/2&&qe<Math.PI/2?[Ai,bt.plotWidth]:[0,Ai],Re.yBounds=[Qe+Mt[1]+Mt[2]/2*Math.sin(qe)],Re.yBounds[0]+=qe>-Math.PI&&qe<0||qe>Math.PI?-10:10)}return Re}function I(J){let lt=this.pane.center,nt=this.chart,bt=nt.inverted,Lt=J.reverse,Mt=this.pane.options.background,At=Mt?K(Mt)[0]:{},Gt=At.innerRadius||"0%",Qt=At.outerRadius||"100%",he=lt[0]+nt.plotLeft,Ue=lt[1]+nt.plotTop,Qe=this.height,ti=J.isCrosshair,se=lt[3]/2,ne=J.value,Ie,Ve,ni,qe,Ai,Ti,Re,li,Li,Zi=this.getPosition(ne),Ci=Zi.x,zi=Zi.y;if(ti&&(ne=(li=this.getCrosshairPosition(J,he,Ue))[0],Ci=li[1],zi=li[2]),this.isCircular)Ve=Math.sqrt(Math.pow(Ci-he,2)+Math.pow(zi-Ue,2)),ni=typeof Gt=="string"?Dt(Gt,1):Gt/Ve,qe=typeof Qt=="string"?Dt(Qt,1):Qt/Ve,lt&&se&&(ni<(Ie=se/Ve)&&(ni=Ie),qe<Ie&&(qe=Ie)),Li=[["M",he+ni*(Ci-he),Ue-ni*(Ue-zi)],["L",Ci-(1-qe)*(Ci-he),zi+(1-qe)*(Ue-zi)]];else if((ne=this.translate(ne))&&(ne<0||ne>Qe)&&(ne=0),this.options.gridLineInterpolation==="circle")Li=this.getLinePath(0,ne,se);else if(Li=[],nt[bt?"yAxis":"xAxis"].forEach(Ne=>{Ne.pane===this.pane&&(Ai=Ne)}),Ai){Re=Ai.tickPositions,Ai.autoConnect&&(Re=Re.concat([Re[0]])),Lt&&(Re=Re.slice().reverse()),ne&&(ne+=se);for(let Ne=0;Ne<Re.length;Ne++)Ti=Ai.getPosition(Re[Ne],ne),Li.push(Ne?["L",Ti.x,Ti.y]:["M",Ti.x,Ti.y])}return Li}
1function L(J,lt){let nt=this.translate(J);return this.postTranslate(this.isCircular?nt:this.angleRad,ht(this.isCircular?lt:nt<0?0:nt,this.center[2]/2)-this.offset)}function R(){let J=this.center,lt=this.chart,nt=this.options.title;return{x:lt.plotLeft+J[0]+(nt.x||0),y:lt.plotTop+J[1]-{high:.5,middle:.25,low:0}[nt.align]*J[2]+(nt.y||0)}}function C(J){J.beforeSetTickPositions=l,J.createLabelCollector=p,J.getCrosshairPosition=v,J.getLinePath=w,J.getOffset=P,J.getPlotBandPath=T,J.getPlotLinePath=I,J.getPosition=L,J.getTitlePosition=R,J.postTranslate=gt,J.setAxisSize=at,J.setAxisTranslation=Nt,J.setOptions=ft}function W(){let J=this.chart,lt=this.options,nt=J.angular&&this.isXAxis,bt=this.pane,Lt=bt==null?void 0:bt.options;if(!nt&&bt&&(J.angular||J.polar)){let Mt=2*Math.PI,At=(ht(Lt.startAngle,0)-90)*Math.PI/180,Gt=(ht(Lt.endAngle,ht(Lt.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(lt.angle||0)*Math.PI/180,this.startAngleRad=At,this.endAngleRad=Gt,this.offset=lt.offset||0;let Qt=(At%Mt+Mt)%Mt,he=(Gt%Mt+Mt)%Mt;Qt>Math.PI&&(Qt-=Mt),he>Math.PI&&(he-=Mt),this.normalizedStartAngleRad=Qt,this.normalizedEndAngleRad=he}}function B(J){this.isRadial&&(J.align=void 0,J.preventDefault())}function Z(){var J;if((J=this.chart)!=null&&J.labelCollectors){let lt=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;lt>=0&&this.chart.labelCollectors.splice(lt,1)}}function V(J){let lt,nt=this.chart,bt=nt.angular,Lt=nt.polar,Mt=this.isXAxis,At=this.coll,Gt=J.userOptions.pane||0,Qt=this.pane=nt.pane&&nt.pane[Gt];if(At==="colorAxis"){this.isRadial=!1;return}bt?(bt&&Mt?(this.isHidden=!0,this.createLabelCollector=x,this.getOffset=is,this.redraw=wt,this.render=wt,this.setScale=is,this.setCategories=is,this.setTitle=is):C(this),lt=!Mt):Lt&&(C(this),lt=this.horiz),bt||Lt?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&nt.labelCollectors.push(this.labelCollector)):this.isRadial=!1,Qt&&lt&&(Qt.axis=this),this.isCircular=lt}function U(){this.isRadial&&this.beforeSetTickPositions()}function q(J){let lt=this.label;if(!lt)return;let nt=this.axis,bt=lt.getBBox(),Lt=nt.options.labels,Mt=(nt.translate(this.pos)+nt.startAngleRad+Math.PI/2)/Math.PI*180%360,At=Math.round(Mt),Gt=Ut(Lt.y)?0:-(.3*bt.height),Qt=Lt.y,he,Ue=20,Qe=Lt.align,ti="end",se=At<0?At+360:At,ne=se,Ie=0,Ve=0;nt.isRadial&&(he=nt.getPosition(this.pos,nt.center[2]/2+Dt(ht(Lt.distance,-25),nt.center[2]/2,-nt.center[2]/2)),Lt.rotation==="auto"?lt.attr({rotation:Mt}):Ut(Qt)||(Qt=nt.chart.renderer.fontMetrics(lt).b-bt.height/2),Ut(Qe)||(nt.isCircular?(bt.width>nt.len*nt.tickInterval/(nt.max-nt.min)&&(Ue=0),Qe=Mt>Ue&&Mt<180-Ue?"left":Mt>180+Ue&&Mt<360-Ue?"right":"center"):Qe="center",lt.attr({align:Qe})),Qe==="auto"&&nt.tickPositions.length===2&&nt.isCircular&&(se>90&&se<180?se=180-se:se>270&&se<=360&&(se=540-se),ne>180&&ne<=360&&(ne=360-ne),(nt.pane.options.startAngle===At||nt.pane.options.startAngle===At+360||nt.pane.options.startAngle===At-360)&&(ti="start"),Qe=At>=-90&&At<=90||At>=-360&&At<=-270||At>=270&&At<=360?ti==="start"?"right":"left":ti==="start"?"left":"right",ne>70&&ne<110&&(Qe="center"),se<15||se>=180&&se<195?Ie=.3*bt.height:se>=15&&se<=35?Ie=ti==="start"?0:.75*bt.height:se>=195&&se<=215?Ie=ti==="start"?.75*bt.height:0:se>35&&se<=90?Ie=ti==="start"?-(.25*bt.height):bt.height:se>215&&se<=270&&(Ie=ti==="start"?bt.height:-(.25*bt.height)),ne<15?Ve=ti==="start"?-(.15*bt.height):.15*bt.height:ne>165&&ne<=180&&(Ve=ti==="start"?.15*bt.height:-(.15*bt.height)),lt.attr({align:Qe}),lt.translate(Ve,Ie+Gt)),J.pos.x=he.x+(Lt.x||0),J.pos.y=he.y+(Qt||0))}function ot(J){this.axis.getPosition&&re(J.pos,this.axis.getPosition(this.pos))}function st({options:J}){J.xAxis&&Tt(!0,m.radialDefaultOptions.circular,J.xAxis),J.yAxis&&Tt(!0,m.radialDefaultOptions.radialGauge,J.yAxis)}function gt(J,lt){let nt=this.chart,bt=this.center;return J=this.startAngleRad+J,{x:nt.plotLeft+bt[0]+Math.cos(J)*lt,y:nt.plotTop+bt[1]+Math.sin(J)*lt}}function wt(){this.isDirty=!1}function at(){let J,lt;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),J=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(lt=this.postTranslate(this.angleRad,J[3]/2),J[0]=lt.x-this.chart.plotLeft,J[1]=lt.y-this.chart.plotTop),this.len=this.width=this.height=(J[2]-J[3])*ht(this.sector,1)/2)}function Nt(){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)}
1function ft(J){let{coll:lt}=this,{angular:nt,inverted:bt,polar:Lt}=this.chart,Mt={};nt?this.isXAxis||(Mt=Tt(Pi.yAxis,m.radialDefaultOptions.radialGauge)):Lt&&(Mt=this.horiz?Tt(Pi.xAxis,m.radialDefaultOptions.circular):Tt(lt==="xAxis"?Pi.xAxis:Pi.yAxis,m.radialDefaultOptions.radial)),bt&&lt==="yAxis"&&(Mt.stackLabels=Pe(Pi.yAxis,!0)?Pi.yAxis.stackLabels:{},Mt.reversedStacks=!0);let At=this.options=Tt(Mt,J);At.plotBands||(At.plotBands=[]),G(this,"afterSetOptions")}function Bt(J,lt,nt,bt,Lt,Mt,At){let Gt,Qt=this.axis;return Qt.isRadial?["M",lt,nt,"L",(Gt=Qt.getPosition(this.pos,Qt.center[2]/2+bt)).x,Gt.y]:J.call(this,lt,nt,bt,Lt,Mt,At)}m.radialDefaultOptions=Tt(ir),m.compose=function(J,lt){return ke(sr,"Axis.Radial")&&(St(J,"afterInit",W),St(J,"autoLabelAlign",B),St(J,"destroy",Z),St(J,"init",V),St(J,"initialAxisTranslation",U),St(lt,"afterGetLabelPosition",q),St(lt,"afterGetPosition",ot),St(jt(),"setOptions",st),we(lt.prototype,"getMarkPath",Bt)),J}})(ns||(ns={}));let ko=ns,{animObject:or}=jt(),{optionsToObject:wo}={compose:function(m,l,p){let x=m.types.pie;if(!l.symbolCustomAttribs.includes("borderRadius")){let v=p.prototype.symbols;St(m,"afterColumnTranslate",Mo,{order:9}),St(x,"afterTranslate",tr),l.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),Ds=v.arc,vo=v.roundedRect,v.arc=Qo,v.roundedRect=er}},optionsToObject:Di},{defaultOptions:rr}=jt(),{composed:ar}=jt();function Bs(){(this.pane||[]).forEach(m=>{m.render()})}function $s(m){let l=m.args[0].xAxis,p=m.args[0].yAxis,x=m.args[0].chart;l&&p&&(p.gridLineInterpolation==="polygon"?(l.startOnTick=!0,l.endOnTick=!0):l.gridLineInterpolation==="polygon"&&x.inverted&&(p.startOnTick=!0,p.endOnTick=!0))}function So(){this.pane||(this.pane=[]),this.options.pane=K(this.options.pane||{}),K(this.userOptions.pane||{}).forEach(m=>{new Jt(m,this)},this)}function nr(m){let l=m.args.marker,p=this.chart.xAxis[0],x=this.chart.yAxis[0],v=this.chart.inverted,w=v?x:p,P=v?p:x;if(this.chart.polar){m.preventDefault();let T=(l.attr?l.attr("start"):l.start)-w.startAngleRad,I=l.attr?l.attr("r"):l.r,L=(l.attr?l.attr("end"):l.end)-w.startAngleRad,R=l.attr?l.attr("innerR"):l.innerR;m.result.x=T+w.pos,m.result.width=L-T,m.result.y=P.len+P.pos-I,m.result.height=I-R}}function lr(m){let l=this.chart;if(l.polar&&l.hoverPane&&l.hoverPane.axis){m.preventDefault();let p=l.hoverPane.center,x=l.mouseDownX||0,v=l.mouseDownY||0,w=m.args.chartY,P=m.args.chartX,T=2*Math.PI,I=l.hoverPane.axis.startAngleRad,L=l.hoverPane.axis.endAngleRad,R=l.inverted?l.xAxis[0]:l.yAxis[0],C={},W="arc";if(C.x=p[0]+l.plotLeft,C.y=p[1]+l.plotTop,this.zoomHor){let B=I>0?L-I:Math.abs(I)+Math.abs(L),Z=Math.atan2(v-l.plotTop-p[1],x-l.plotLeft-p[0])-I,V=Math.atan2(w-l.plotTop-p[1],P-l.plotLeft-p[0])-I;C.r=p[2]/2,C.innerR=p[3]/2,Z<=0&&(Z+=T),V<=0&&(V+=T),V<Z&&(V=[Z,Z=V][0]),B<T&&I+V>L+(T-B)/2&&(V=Z,Z=I<=0?I:0);let U=C.start=Math.max(Z+I,I),q=C.end=Math.min(V+I,L);if(R.options.gridLineInterpolation==="polygon"){let ot=l.hoverPane.axis,st=U-ot.startAngleRad+ot.pos,gt=R.getPlotLinePath({value:R.max}),wt=ot.toValue(st),at=ot.toValue(st+(q-U));if(wt<ot.getExtremes().min){let{min:Nt,max:ft}=ot.getExtremes();wt=ft-(Nt-wt)}if(at<ot.getExtremes().min){let{min:Nt,max:ft}=ot.getExtremes();at=ft-(Nt-at)}at<wt&&(at=[wt,wt=at][0]),(gt=ks(gt,wt,at,ot)).push(["L",p[0]+l.plotLeft,l.plotTop+p[1]]),C.d=gt,W="path"}}if(this.zoomVert){let B=l.inverted?l.xAxis[0]:l.yAxis[0],Z=Math.sqrt(Math.pow(x-l.plotLeft-p[0],2)+Math.pow(v-l.plotTop-p[1],2)),V=Math.sqrt(Math.pow(P-l.plotLeft-p[0],2)+Math.pow(w-l.plotTop-p[1],2));if(V<Z&&(Z=[V,V=Z][0]),V>p[2]/2&&(V=p[2]/2),Z<p[3]/2&&(Z=p[3]/2),this.zoomHor||(C.start=I,C.end=L),C.r=V,C.innerR=Z,B.options.gridLineInterpolation==="polygon"){let U=B.toValue(B.len+B.pos-Z),q=B.toValue(B.len+B.pos-V);C.d=B.getPlotLinePath({value:q}).concat(B.getPlotLinePath({value:U,reverse:!0})),W="path"}}if(this.zoomHor&&this.zoomVert&&R.options.gridLineInterpolation==="polygon"){let B=l.hoverPane.axis,Z=C.start||0,V=C.end||0,U=Z-B.startAngleRad+B.pos,q=B.toValue(U),ot=B.toValue(U+(V-Z));if(C.d instanceof Array){let st=C.d.slice(0,C.d.length/2),gt=C.d.slice(C.d.length/2,C.d.length);gt=[...gt].reverse();let wt=l.hoverPane.axis;st=ks(st,q,ot,wt),(gt=ks(gt,q,ot,wt))&&(gt[0][0]="L"),gt=[...gt].reverse(),C.d=st.concat(gt),W="path"}}m.attrs=C,m.shapeType=W}}function hr(){let m=this.chart;m.polar&&(this.polar=new Zs(this),m.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function Ms(){var x,v;
1let{chart:m,options:l,yAxis:p}=this;if(l.borderRadius&&m.polar&&m.inverted){let w=(v=(x=rr.plotOptions)==null?void 0:x[this.type])==null?void 0:v.borderRadius,{scope:P,where:T="end"}=wo(l.borderRadius,Pe(w)?w:{});for(let I of this.points){let{shapeArgs:L}=I;if(I.shapeType==="arc"&&L){let R=T==="all",C=!0;l.stacking&&P==="stack"&&(R=I.stackY===I.y&&T==="all",C=I.stackY===I.stackTotal),p.reversed&&([R,C]=[C,R]),L.brStart=R,L.brEnd=C}}}}function Bi(){if(this.chart.polar&&this.xAxis){let{xAxis:m,yAxis:l}=this,p=this.chart;this.kdByAngle=p.tooltip&&p.tooltip.shared,this.kdByAngle||p.inverted?this.searchPoint=dr:this.options.findNearestPointBy="xy";let x=this.points,v=x.length;for(;v--;)this.is("column")||this.is("columnrange")||this.polar.toXY(x[v]),p.hasParallelCoordinates||this.yAxis.reversed||(ht(x[v].y,5e-324)<l.min||x[v].x<m.min||x[v].x>m.max?(x[v].isNull=!0,x[v].plotY=NaN):x[v].isNull=x[v].isValid&&!x[v].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(St(this,"afterRender",function(){let w;if(p.polar&&this.options.clip!==!1){if(w=this.yAxis.pane.center,this.clipCircle)this.clipCircle.animate({x:w[0],y:w[1],r:w[2]/2,innerR:w[3]/2});else{var P,T,I,L,R;let C,W,B;this.clipCircle=(P=p.renderer,T=w[0],I=w[1],L=w[2]/2,R=w[3]/2,C=(0,Ge.uniqueKey)(),W=P.createElement("clipPath").attr({id:C}).add(P.defs),(B=R?P.arc(T,I,L,R,0,2*Math.PI).add(W):P.circle(T,I,L).add(W)).id=C,B.clipPath=W,B)}this.group.clip(this.clipCircle),this.setClip=jt().noop}})))}}function dr(m){let l=this.chart,p=this.xAxis,x=this.yAxis,v=p.pane&&p.pane.center,w=m.chartX-(v&&v[0]||0)-l.plotLeft,P=m.chartY-(v&&v[1]||0)-l.plotTop,T=l.inverted?{clientX:m.chartX-x.pos,plotY:m.chartY-p.pos}:{clientX:180+-180/Math.PI*Math.atan2(w,P)};return this.searchKDTree(T)}function ks(m,l,p,x){let v=x.tickInterval,w=x.tickPositions,P=hi(w,I=>I>=p),T=hi([...w].reverse(),I=>I<=l);return Ut(P)||(P=w[w.length-1]),Ut(T)||(T=w[0],P+=v,m[0][0]="L",m.unshift(m[m.length-3])),(m=m.slice(w.indexOf(T),w.indexOf(P)+1))[0][0]="M",m}function cr(m,l){return hi(this.pane||[],p=>p.options.id===l)||m.call(this,l)}function pr(m,l,p,x,v,w){let P,T,I,L=this.chart,R=ht(x.inside,!!this.options.stacking);if(L.polar){if(P=l.rectPlotX/Math.PI*180,L.inverted)this.forceDL=L.isInsidePlot(l.plotX,l.plotY),R&&l.shapeArgs?(T=l.shapeArgs,v=Tt(v,{x:(I=this.yAxis.postTranslate(((T.start||0)+(T.end||0))/2-this.xAxis.startAngleRad,l.barX+(l.pointWidth||0)/2)).x-L.plotLeft,y:I.y-L.plotTop})):l.tooltipPos&&(v=Tt(v,{x:l.tooltipPos[0],y:l.tooltipPos[1]})),x.align=ht(x.align,"center"),x.verticalAlign=ht(x.verticalAlign,"middle");else{var C;(C=x).align===null&&(C.align=P>20&&P<160?"left":P>200&&P<340?"right":"center"),C.verticalAlign===null&&(C.verticalAlign=P<45||P>315?"bottom":P>135&&P<225?"top":"middle"),x=C}Gi().prototype.alignDataLabel.call(this,l,p,x,v,w),this.isRadialBar&&l.shapeArgs&&l.shapeArgs.start===l.shapeArgs.end?p.hide():p.show()}else m.call(this,l,p,x,v,w)}function Po(){let m=this.options,l=m.stacking,p=this.chart,x=this.xAxis,v=this.yAxis,w=v.reversed,P=v.center,T=x.startAngleRad,I=x.endAngleRad-T,L=m.threshold,R=0,C,W,B,Z,V,U=0,q=0,ot,st,gt,wt,at,Nt,ft,Bt;if(x.isRadial)for(B=(C=this.points).length,Z=v.translate(v.min),V=v.translate(v.max),L=m.threshold||0,p.inverted&&rt(L)&&Ut(R=v.translate(L))&&(R<0?R=0:R>I&&(R=I),this.translatedThreshold=R+T);B--;){if(Nt=(W=C[B]).barX,st=W.x,gt=W.y,W.shapeType="arc",p.inverted){W.plotY=v.translate(gt),l&&v.stacking?(at=v.stacking.stacks[(gt<0?"-":"")+this.stackKey],this.visible&&at&&at[st]&&!W.isNull&&(wt=at[st].points[this.getStackIndicator(void 0,st,this.index).key],U=v.translate(wt[0]),q=v.translate(wt[1]),Ut(U)&&(U=He(U,0,I)))):(U=R,q=W.plotY),U>q&&(q=[U,U=q][0]),w?q>Z?q=Z:U<V?U=V:(U>Z||q<V)&&(U=q=I):U<Z?U=Z:q>V?q=V:(q<Z||U>V)&&(U=q=0),v.min>v.max&&(U=q=w?I:0),U+=T,q+=T,P&&(W.barX=Nt+=P[3]/2),ft=Math.max(Nt,0),Bt=Math.max(Nt+(W.pointWidth||0),0);let J=m.borderRadius,lt=Dt((typeof J=="object"?J.radius:J)||0,Bt-ft);W.shapeArgs={x:P[0],y:P[1],r:Bt,innerR:ft,start:U,end:q,borderRadius:lt},W.opacity=U===q?0:void 0,W.plotY=(Ut(this.translatedThreshold)&&(U<this.translatedThreshold?U:q))-T}else U=Nt+T,W.shapeArgs=this.polar.arc(W.yBottom,W.plotY,U,U+(W.pointWidth||0)),W.shapeArgs.borderRadius=0;this.polar.toXY(W),p.inverted?(ot=v.postTranslate(W.rectPlotY,Nt+(W.pointWidth||0)/2),W.tooltipPos=[ot.x-p.plotLeft,ot.y-p.plotTop]):W.tooltipPos=[W.plotX,W.plotY],P&&(W.ttBelow=W.plotY>P[1])}}function Te(m,l){let p,x,v=this;if(this.chart.polar){l=l||this.points;for(let P=0;P<l.length;P++)if(!l[P].isNull){p=P;break}this.options.connectEnds!==!1&&p!==void 0&&(this.connectEnds=!0,l.splice(l.length,0,l[p]),x=!0),l.forEach(P=>{P.polarPlotY===void 0&&v.polar.toXY(P)})}
1let w=m.apply(this,[].slice.call(arguments,1));return x&&l.pop(),w}function Ao(m,l){let p=this.chart,x={xAxis:[],yAxis:[]};return p.polar?p.axes.forEach(v=>{if(v.coll==="colorAxis")return;let w=v.isXAxis,P=v.center,T=l.chartX-P[0]-p.plotLeft,I=l.chartY-P[1]-p.plotTop;x[w?"xAxis":"yAxis"].push({axis:v,value:v.translate(w?Math.PI-Math.atan2(T,I):Math.sqrt(Math.pow(T,2)+Math.pow(I,2)),!0)})}):x=m.call(this,l),x}function ur(m,l){this.chart.polar||m.call(this,l)}function Ks(m,l){let p=this,x=this.chart,v=this.group,w=this.markerGroup,P=this.xAxis&&this.xAxis.center,T=x.plotLeft,I=x.plotTop,L=this.options.animation,R,C,W,B,Z,V;x.polar?p.isRadialBar?l||(p.startAngleRad=ht(p.translatedThreshold,p.xAxis.startAngleRad),jt().seriesTypes.pie.prototype.animate.call(p,l)):(L=or(L),p.is("column")?l||(C=P[3]/2,p.points.forEach(U=>{W=U.graphic,Z=(B=U.shapeArgs)&&B.r,V=B&&B.innerR,W&&B&&(W.attr({r:C,innerR:C}),W.animate({r:Z,innerR:V},p.options.animation))})):l?(R={translateX:P[0]+T,translateY:P[1]+I,scaleX:.001,scaleY:.001},v.attr(R),w&&w.attr(R)):(R={translateX:T,translateY:I,scaleX:1,scaleY:1},v.animate(R,L),w&&w.animate(R,L))):m.call(this,l)}function zs(m,l,p,x){let v,w;if(this.chart.polar)if(x){let P=(w=(function I(L,R,C,W){let B,Z,V,U,q,ot,st=+!!W,gt=(B=R>=0&&R<=L.length-1?R:R<0?L.length-1+R:0)-1<0?L.length-(1+st):B-1,wt=B+1>L.length-1?st:B+1,at=L[gt],Nt=L[wt],ft=at.plotX,Bt=at.plotY,J=Nt.plotX,lt=Nt.plotY,nt=L[B].plotX,bt=L[B].plotY;Z=(1.5*nt+ft)/2.5,V=(1.5*bt+Bt)/2.5,U=(1.5*nt+J)/2.5,q=(1.5*bt+lt)/2.5;let Lt=Math.sqrt(Math.pow(Z-nt,2)+Math.pow(V-bt,2)),Mt=Math.sqrt(Math.pow(U-nt,2)+Math.pow(q-bt,2)),At=Math.atan2(V-bt,Z-nt);ot=Math.PI/2+(At+Math.atan2(q-bt,U-nt))/2,Math.abs(At-ot)>Math.PI/2&&(ot-=Math.PI),Z=nt+Math.cos(ot)*Lt,V=bt+Math.sin(ot)*Lt;let Gt={rightContX:U=nt+Math.cos(Math.PI+ot)*Mt,rightContY:q=bt+Math.sin(Math.PI+ot)*Mt,leftContX:Z,leftContY:V,plotX:nt,plotY:bt};return C&&(Gt.prevPointCont=I(L,gt,!1,W)),Gt})(l,x,!0,this.connectEnds)).prevPointCont&&w.prevPointCont.rightContX,T=w.prevPointCont&&w.prevPointCont.rightContY;v=["C",rt(P)?P:w.plotX,rt(T)?T:w.plotY,rt(w.leftContX)?w.leftContX:w.plotX,rt(w.leftContY)?w.leftContY:w.plotY,w.plotX,w.plotY]}else v=["M",p.plotX,p.plotY];else v=m.call(this,l,p,x);return v}function To(m,l,p=this.plotY){if(!this.destroyed){let{plotX:x,series:v}=this,{chart:w}=v;return w.polar&&rt(x)&&rt(p)?[x+(l?w.plotLeft:0),p+(l?w.plotTop:0)]:m.call(this,l,p)}}class Zs{static compose(l,p,x,v,w,P,T,I,L,R){if(Jt.compose(p,x,v),ko.compose(l,w),ke(ar,"Polar")){let C=p.prototype,W=P.prototype,B=x.prototype,Z=v.prototype;if(St(p,"afterDrawChartBox",Bs),St(p,"createAxes",So),St(p,"init",$s),we(C,"get",cr),we(B,"getCoordinates",Ao),we(B,"pinch",ur),St(x,"getSelectionMarkerAttrs",lr),St(x,"getSelectionBox",nr),St(v,"afterInit",hr),St(v,"afterColumnTranslate",Ms,{order:9}),St(v,"afterTranslate",Bi,{order:2}),St(v,"afterColumnTranslate",Po,{order:4}),we(Z,"animate",Ks),we(W,"pos",To),I){let V=I.prototype;we(V,"alignDataLabel",pr),we(V,"animate",Ks)}if(L&&we(L.prototype,"getGraphPath",Te),R){let V=R.prototype;we(V,"getPointSpline",zs),T&&(T.prototype.getPointSpline=V.getPointSpline)}}}constructor(l){this.series=l}arc(l,p,x,v){let w=this.series,P=w.xAxis.center,T=w.yAxis.len,I=P[3]/2,L=T-p+I,R=T-ht(l,T)+I;return w.yAxis.reversed&&(L<0&&(L=I),R<0&&(R=I)),{x:P[0],y:P[1],r:L,innerR:R,start:x,end:v}}toXY(l){let p=this.series,x=p.chart,v=p.xAxis,w=p.yAxis,P=l.plotX,T=x.inverted,I=l.y,L=l.plotY,R=T?P:w.len-L,C;if(T&&p&&!p.isRadialBar&&(l.plotY=L=rt(I)?w.translate(I):0),l.rectPlotX=P,l.rectPlotY=L,w.center&&(R+=w.center[3]/2),rt(L)){let W=T?w.postTranslate(L,R):v.postTranslate(P,R);l.plotX=l.polarPlotX=W.x-x.plotLeft,l.plotY=l.polarPlotY=W.y-x.plotTop}p.kdByAngle?((C=(P/Math.PI*180+v.pane.options.startAngle)%360)<0&&(C+=360),l.clientX=C):l.clientX=l.plotX}}var Lo=Yt(184),_s=Yt.n(Lo);let{composed:pi}=jt();(function(m){function l(){var T;let P=(T=this.waterfall)==null?void 0:T.stacks;P&&(P.changed=!1,delete P.alreadyChanged)}function p(){var T;let P=this.options.stackLabels;P!=null&&P.enabled&&((T=this.waterfall)!=null&&T.stacks)&&this.waterfall.render
1StackTotals()}function x(){this.waterfall||(this.waterfall=new w(this))}function v(){let P=this.axes;for(let T of this.series)if(T.options.stacking){for(let I of P)!I.isXAxis&&I.waterfall&&(I.waterfall.stacks.changed=!0);break}}m.compose=function(P,T){ke(pi,"Axis.Waterfall")&&(St(P,"init",x),St(P,"afterBuildStacks",l),St(P,"afterRender",p),St(T,"beforeRedraw",v))};class w{constructor(T){this.axis=T,this.stacks={changed:!1}}renderStackTotals(){var C,W;let T=this.axis,I=(C=T.waterfall)==null?void 0:C.stacks,L=(W=T.stacking)==null?void 0:W.stackTotalGroup,R=new(_s())(T,T.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=R,L&&ee(I,B=>{ee(B,(Z,V)=>{R.total=Z.stackTotal,R.x=+V,Z.label&&(R.label=Z.label),_s().prototype.render.call(R,L),Z.label=R.label,delete R.label})}),R.total=null}}m.Composition=w})(Ke||(Ke={}));let Co=Ke;class fe extends me().prototype.pointClass{getClassName(){let l=di().prototype.getClassName.call(this);return this.isSum?l+=" highcharts-sum":this.isIntermediateSum&&(l+=" highcharts-intermediate-sum"),l}isValid(){return rt(this.y)||this.isSum||!!this.isIntermediateSum}}let{column:ws,line:gr}=_t().seriesTypes;function Ki(m,l){return Object.hasOwnProperty.call(m,l)}class ss extends ws{generatePoints(){ws.prototype.generatePoints.apply(this);let l=this.getColumn("y",!0);for(let p=0,x=this.points.length;p<x;p++){let v=this.points[p],w=l[p];rt(w)&&(v.isIntermediateSum||v.isSum)&&(v.y=ii(w))}}processData(l){let p,x,v,w,P,T,I=this.options,L=this.getColumn("y"),R=I.data,C=L.length,W=I.threshold||0;v=x=w=P=0;for(let B=0;B<C;B++)T=L[B],p=(R==null?void 0:R[B])||{},T==="sum"||p.isSum?L[B]=ii(v):T==="intermediateSum"||p.isIntermediateSum?(L[B]=ii(x),x=0):(v+=T,x+=T),w=Math.min(v,w),P=Math.max(v,P);super.processData.call(this,l),I.stacking||(this.dataMin=w+W,this.dataMax=P)}toYData(l){return l.isSum?"sum":l.isIntermediateSum?"intermediateSum":l.y}pointAttribs(l,p){let x=this.options.upColor;x&&!l.options.color&&rt(l.y)&&(l.color=l.y>0?x:void 0);let v=ws.prototype.pointAttribs.call(this,l,p);return delete v.dashstyle,v}getGraphPath(){var l;return((l=this.graph)==null?void 0:l.pathArray)||[["M",0,0]]}getCrispPath(){var L,R;let l=this.points.filter(C=>rt(C.y)),p=this.yAxis,x=l.length,v=((L=this.graph)==null?void 0:L.strokeWidth())||0,w=this.xAxis.reversed,P=this.yAxis.reversed,T=this.options.stacking,I=[];for(let C=1;C<x;C++){if(!(this.options.connectNulls||rt(this.data[l[C].index-1].y)))continue;let W=l[C].box,B=l[C-1],Z=B.y||0,V=l[C-1].box;if(!W||!V)continue;let U=(R=p.waterfall)==null?void 0:R.stacks[this.stackKey],q=Z>0?-V.height:0;if(U&&V&&W){let ot,st=U[C-1];ot=Me(T?p.translate(st.connectorThreshold||0,!1,!0,!1,!0)+(P?q:0):V.y+(B.minPointLengthOffset||0),v),I.push(["M",(V.x||0)+(w?0:V.width||0),ot],["L",(W.x||0)+(w&&W.width||0),ot])}if(V&&I.length&&(!T&&Z<0&&!P||Z>0&&P)){let ot=I[I.length-2];ot&&typeof ot[2]=="number"&&(ot[2]+=V.height||0);let st=I[I.length-1];st&&typeof st[2]=="number"&&(st[2]+=V.height||0)}}return I}drawGraph(){var l;gr.prototype.drawGraph.call(this),(l=this.graph)==null||l.animate({d:this.getCrispPath()})}setStackedPoints(l){var ft;let p=this.options,x=(ft=l.waterfall)==null?void 0:ft.stacks,v=p.threshold||0,w=this.stackKey,P=this.getColumn("x"),T=this.getColumn("y"),I=P.length,L=v,R=L,C,W=0,B=0,Z=0,V,U,q,ot,st,gt,wt,at,Nt=(Bt,J,lt,nt)=>{if(C){if(V)for(;lt<V;lt++)C.stackState[lt]+=nt;else C.stackState[0]=Bt,V=C.stackState.length;C.stackState.push(C.stackState[V-1]+J)}};if(l.stacking&&x&&this.reserveSpace()){at=x.changed,(wt=x.alreadyChanged)&&0>wt.indexOf(w)&&(at=!0),x[w]||(x[w]={});let Bt=x[w];if(Bt)for(let J=0;J<I;J++)(!Bt[gt=P[J]]||at)&&(Bt[gt]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:at&&Bt[gt]?Bt[gt].label:void 0}),C=Bt[gt],(st=T[J])>=0?C.posTotal+=st:C.negTotal+=st,ot=p.data[J],U=C.absolutePos=C.posTotal,q=C.absoluteNeg=C.negTotal,C.stackTotal=U+q,V=C.stackState.length,ot!=null&&ot.isIntermediateSum?(Nt(Z,B,0,Z),Z=B,B=v,L^=R,R^=L,L^=R):ot!=null&&ot.isSum?(Nt(v,W,V,0),L=v):(Nt(L,st,0,W),ot&&(W+=st,B+=st)),C.stateIndex++,C.threshold=L,L+=C.stackTotal;x.changed=!1,x.alreadyChanged||(x.alreadyChanged=[]),x.alreadyChanged.push(w)}}getExtremes(){var P;let l,p,x=this.options.stacking,v=this.yAxis,w=(P=v.waterfall)==null?void 0:P.stacks;return x&&w?(l=this.stackedYNeg=[],p=this.stackedYPos=[],x==="overlap"?ee(w[this.stackKey],function(T){l.push(xi(T.stackState)),p.push(yi(T.stackState))}):ee(w[this.stackKey],function(T){l.push(T.negTotal+T.threshold),p.push(T.posTotal+T.threshold)}),{dataMin:xi(l),dataMax:yi(p)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}ss.defaultOptions=Tt(ws.defaultOptions,{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}),ss.compose=Co.compose,re(ss.prototype,{pointValKey:"y",showLine:!0,pointClass:fe}),St(ss,"afterColumnTranslate",function(){var Z,V;
1let{options:m,points:l,yAxis:p}=this,x=ht(m.minPointLength,5),v=x/2,w=m.threshold||0,P=m.stacking,T=(Z=p.waterfall)==null?void 0:Z.stacks[this.stackKey],I=this.getColumn("y",!0),L=w,R=w,C,W,B;for(let U=0;U<l.length;U++){let q=l[U],ot=I[U],st=re({x:0,y:0,width:0,height:0},q.shapeArgs||{});q.box=st;let gt=[0,ot],wt=q.y||0;if(P){if(T){let ft=T[U];P==="overlap"?(W=ft.stackState[ft.stateIndex--],C=wt>=0?W:W-wt,Ki(ft,"absolutePos")&&delete ft.absolutePos,Ki(ft,"absoluteNeg")&&delete ft.absoluteNeg):(wt>=0?(W=ft.threshold+ft.posTotal,ft.posTotal-=wt,C=W):(W=ft.threshold+ft.negTotal,ft.negTotal-=wt,C=W-wt),!ft.posTotal&&rt(ft.absolutePos)&&Ki(ft,"absolutePos")&&(ft.posTotal=ft.absolutePos,delete ft.absolutePos),!ft.negTotal&&rt(ft.absoluteNeg)&&Ki(ft,"absoluteNeg")&&(ft.negTotal=ft.absoluteNeg,delete ft.absoluteNeg)),q.isSum||(ft.connectorThreshold=ft.threshold+ft.stackTotal),B=C-Math.abs(wt),p.reversed&&([C,B]=[B,C]),q.below=C<=w,st.y=p.translate(C,!1,!0,!1,!0),st.height=p.translate(B,!1,!0,!1,!0)-st.y;let Bt=(V=p.waterfall)==null?void 0:V.dummyStackItem;Bt&&(Bt.x=U,Bt.label=T[U].label,Bt.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[U],this.stackedYPos[U],void 0,this.xAxis))}}else C=Math.max(R,R+wt)+gt[0],st.y=p.translate(C,!1,!0,!1,!0),q.isSum?(st.y=p.translate(gt[1],!1,!0,!1,!0),st.height=Math.min(p.translate(gt[0],!1,!0,!1,!0),p.len)-st.y,q.below=gt[1]<=w):q.isIntermediateSum?(wt>=0?(C=gt[1]+L,B=L):(C=L,B=gt[1]+L),p.reversed&&([C,B]=[B,C]),st.y=p.translate(C,!1,!0,!1,!0),st.height=Math.abs(st.y-Math.min(p.translate(B,!1,!0,!1,!0),p.len)),L+=gt[1],q.below=C<=w):(st.height=ot>0?p.translate(R,!1,!0,!1,!0)-st.y:p.translate(R+ot,!1,!0,!1,!0)-p.translate(R,!1,!0,!1,!0),q.below=(R+=ot)<w);st.height<0&&(st.y+=st.height,st.height*=-1),q.plotY=st.y,q.yBottom=st.y+st.height,st.height<=x&&!q.isNull?(st.height=x,st.y-=v,q.yBottom=st.y+st.height,q.plotY=st.y,wt<0?q.minPointLengthOffset=-v:q.minPointLengthOffset=v):(q.isNull&&(st.width=0),q.minPointLengthOffset=0);let at=q.plotY+(q.negative?st.height:0);q.below&&(q.plotY+=st.height),q.tooltipPos&&(this.chart.inverted?q.tooltipPos[0]=p.len-at:q.tooltipPos[1]=at),q.isInside=this.isPointInside(q);let Nt=Me(q.yBottom,this.borderWidth);st.y=Me(st.y,this.borderWidth),st.height=Nt-st.y,Tt(!0,q.shapeArgs,st)}},{order:2}),_t().registerSeriesType("waterfall",ss);let Le=jt();Le.RadialAxis=ko,Mi.compose(Le.Axis,Le.Chart,Le.Legend),Si.compose(Le.Axis,Le.Chart,Le.Legend),Jt.compose(Le.Chart,Le.Pointer,Le.Series),Zs.compose(Le.Axis,Le.Chart,Le.Pointer,Le.Series,Le.Tick,Le.Point,_t().seriesTypes.areasplinerange,_t().seriesTypes.column,_t().seriesTypes.line,_t().seriesTypes.spline),ss.compose(Le.Axis,Le.Chart);let fr=Le;return Fi.default})())},96012(Be){(function(qt,ae){qt._Highcharts=ae(),Be.exports=qt._Highcharts})("u"<typeof window?this:window,()=>(()=>{"use strict";var No,Or,Er,Ir,Rr,Nr,Dr,Br;let qt,ae,Ss,os,Oe,rs;var Xt,ei,Ps,As,Wi,as,ns,Ke,_i,Hi,Yt,Fi,Ge,jt,ls,_t,hs,Gi,mi,ds,St,xi,yi,He,ii,Me,Ut={};Ut.d=(d,t)=>{for(var e in t)Ut.o(t,e)&&!Ut.o(d,e)&&Object.defineProperty(d,e,{enumerable:!0,get:t[e]})},Ut.o=(d,t)=>Object.prototype.hasOwnProperty.call(d,t);var re={};Ut.d(re,{default:()=>da}),(Xt=Hi||(Hi={})).SVG_NS="http://www.w3.org/2000/svg",Xt.product="Highcharts",Xt.version="12.6.0",Xt.win="u">typeof window?window:{},Xt.doc=Xt.win.document,Xt.svg=!!((Er=(Or=(No=Xt.doc)==null?void 0:No.createElementNS)==null?void 0:Or.call(No,Xt.SVG_NS,"svg"))!=null&&Er.createSVGRect),Xt.pageLang=(Nr=(Rr=(Ir=Xt.doc)==null?void 0:Ir.documentElement)==null?void 0:Rr.closest("[lang]"))==null?void 0:Nr.lang,Xt.userAgent=((Dr=Xt.win.navigator)==null?void 0:Dr.userAgent)||"",Xt.isChrome=Xt.win.chrome,Xt.isFirefox=Xt.userAgent.indexOf("Firefox")!==-1,Xt.isMS=/(edge|msie|trident)/i.test(Xt.userAgent)&&!Xt.win.opera,Xt.isSafari=!Xt.isChrome&&Xt.userAgent.indexOf("Safari")!==-1,Xt.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(Xt.userAgent),Xt.isWebKit=Xt.userAgent.indexOf("AppleWebKit")!==-1,Xt.deg2rad=2*Math.PI/360,Xt.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],Xt.noop=function(){}
1,Xt.supportsPassiveEvents=(function(){let d=!1;if(!Xt.isMS){let t=Object.defineProperty({},"passive",{get:function(){d=!0}});Xt.win.addEventListener&&Xt.win.removeEventListener&&(Xt.win.addEventListener("testPassive",Xt.noop,t),Xt.win.removeEventListener("testPassive",Xt.noop,t))}return d})(),Xt.charts=[],Xt.composed=[],Xt.dateFormats={},Xt.seriesTypes={},Xt.symbolSizes={},Xt.chartCount=0;let G=Hi,{doc:hi,win:ji}=G;function rt(d,t,e,i={}){let s=typeof d=="function"&&d.prototype||d;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let o=s.hcEvents;G.Point&&d instanceof G.Point&&d.series&&d.series.chart&&(d.series.chart.runTrackerClick=!0);let r=d.addEventListener;r&&r.call(d,t,e,!!G.supportsPassiveEvents&&{passive:i.passive===void 0?t.indexOf("touch")!==-1:i.passive,capture:!1}),o[t]||(o[t]=[]);let a={fn:e,order:typeof i.order=="number"?i.order:1/0};return o[t].push(a),o[t].sort((n,h)=>n.order-h.order),function(){je(d,t,e)}}function Ze(d){let t=d.length,e=d[0];for(;t--;)d[t]<e&&(e=d[t]);return e}function Pe(d){let t=d.length,e=d[0];for(;t--;)d[t]>e&&(e=d[t]);return e}function Tt(d,t,e){let i,s=Rt(t)&&!K(e),o=(r,a)=>{K(r)?d.setAttribute(a,r):s?(i=d.getAttribute(a))||a!=="class"||(i=d.getAttribute(a+"Name")):d.removeAttribute(a)};return Rt(t)?o(e,t):ut(t,o),i}function ee(d,t,e){return d>t?d<e?d:e:t}function ht(d,t){return d>1e14?d:parseFloat(d.toPrecision(t||14))}function Ee(d,t,e,i,s){let o=hi.createElement(d);return t&&z(o,t),s&&Dt(o,{padding:"0",border:"none",margin:"0"}),e&&Dt(o,e),i&&i.appendChild(o),o}function ke(d,t=0,e){let i=t%2/2,s=e?-1:1;return(Math.round(d*s-i)+i)*s}function Dt(d,t){z(d.style,t)}function K(d){return d!=null}function we(d,t,e){ut(d,function(i,s){i!==t&&(i!=null&&i.destroy)&&i.destroy(),(i!=null&&i.destroy||!e)&&delete d[s]})}function Ui(d){var t;(t=d==null?void 0:d.parentElement)==null||t.removeChild(d)}function bi(d,t,e,i){let s={};return(function o(r,a,n,h){let u=e?a:r;ut(r,function(c,g){if(!h&&i&&i.indexOf(g)>-1&&a[g]){c=Xe(c),n[g]=[];for(let f=0;f<Math.max(c.length,a[g].length);f++)a[g][f]&&(c[f]===void 0?n[g][f]=a[g][f]:(n[g][f]={},o(c[f],a[g][f],n[g][f],h+1)))}else Ot(c,!0)&&!c.nodeType?(n[g]=Ft(c)?[]:{},o(c,a[g]||{},n[g],h+1),Object.keys(n[g]).length===0&&(g!=="colorAxis"||h!==0)&&delete n[g]):(r[g]!==a[g]||g in r&&!(g in a))&&g!=="__proto__"&&g!=="constructor"&&(n[g]=u[g])})})(d,t,s,0),s}function _e(d,t){let e=d.length;for(;e--;)if(d[e]===t){d.splice(e,1);break}}function z(d,t){let e;for(e in d||(d={}),t)d[e]=t[e];return d}function $(d,t){let e=function(){};return e.prototype=new d,z(e.prototype,t),e}function E(d,t,e,i){if(e=e||{},(hi==null?void 0:hi.createEvent)&&(d.dispatchEvent||d.fireEvent&&d!==G)){let s=hi.createEvent("Events");s.initEvent(t,!0,!0),e=z(s,e),d.dispatchEvent?d.dispatchEvent(e):d.fireEvent(t,e)}else if(d.hcEvents){e.target||z(e,{preventDefault:function(){e.defaultPrevented=!0},target:d,type:t});let s=[],o=d,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[t]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[t])),o=Object.getPrototypeOf(o);r&&s.sort((a,n)=>a.order-n.order),s.forEach(a=>{a.fn.call(d,e,d)===!1&&e.preventDefault()})}i&&!e.defaultPrevented&&i.call(d,e)}let et=(d="")=>({center:.5,right:1,middle:.5,bottom:1})[d]||0;function pt(d,t){let e,i,s,o,r=!t;return d.forEach(a=>{if(a.length>1)for(o=i=a.length-1;o>0;o--)(s=a[o]-a[o-1])<0&&!r?(t==null||t(),t=void 0):s&&(e===void 0||s<e)&&(e=s)}),e}function kt(d){return Math.pow(10,Math.floor(Math.log(d)/Math.LN10))}function Pt(d,t){let e=d.split(".");for(;e.length&&K(t);){let i=e.shift();if(i===void 0||i==="__proto__")return;if(i==="this"){let o;return Ot(t)&&(o=t["@this"]),o!=null?o:t}let s=t[i.replace(/[\\'"]/g,"")];if(!K(s)||typeof s=="function"||typeof s.nodeType=="number"||s===ji)return;t=s}return t}function Ct(d,t,e){var o;let i;if(t==="width"){let r=Math.min(d.offsetWidth,d.scrollWidth),a=(o=d.getBoundingClientRect)==null?void 0:o.call(d).width;return a<r&&a>=r-1&&(r=Math.floor(a)),Math.max(0,r-(Ct(d,"padding-left",!0)||0)-(Ct(d,"padding-right",!0)||0))}if(t==="height")return Math.max(0,Math.min(d.offsetHeight,d.scrollHeight)-(Ct(d,"padding-top",!0)||0)-(Ct(d,"padding-bottom",!0)||0));let s=ji.getComputedStyle(d,void 0);return s&&(i=s.getPropertyValue(t),X(e,t!=="opacity")&&(i=Wt(i))),i}let Jt=Array.prototype.find?function(d,t){return d.find(t)}:function(d,t){let e,i=d.length;for(e=0;e<i;e++)if(t(d[e],e))return d[e]};function $t(d){K(d)&&clearTimeout(d)}function Kt(d){return Ot(d)&&typeof d.nodeType=="number"}function Se(d){let t=d==null?void 0:d.constructor;return!!(Ot(d,!0)&&!Kt(d)&&(t!=null&&t.name)&&t.name!=="Object")}function j(d){return typeof d=="number"&&!isNaN(d)&&d<1/0&&d>-1/0}
1function Rt(d){return typeof d=="string"}function Ft(d){let t=Object.prototype.toString.call(d);return t==="[object Array]"||t==="[object Array Iterator]"}function ce(d){return typeof d=="function"}function Ot(d,t){return!!d&&typeof d=="object"&&(!t||!Ft(d))}function it(d,...t){let e,i=[d,...t],s={},o=function(a,n){return typeof a!="object"&&(a={}),ut(n,function(h,u){u!=="__proto__"&&u!=="constructor"&&(!Ot(h,!0)||Se(h)||Kt(h)?a[u]=n[u]:a[u]=o(a[u]||{},h))}),a};d===!0&&(s=i[1],i=Array.prototype.slice.call(i,2));let r=i.length;for(e=0;e<r;e++)s=o(s,i[e]);return s}function ze(d,t,e,i,s){let o,r=d;e=X(e,kt(d));let a=d/e;for(!t&&(t=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],i===!1&&(e===1?t=t.filter(function(n){return n%1==0}):e<=.1&&(t=[1/e]))),o=0;o<t.length&&(r=t[o],(!s||!(r*e>=d))&&(s||!(a<=(t[o]+(t[o+1]||t[o]))/2)));o++);return ht(r*e,-Math.round(Math.log(.001)/Math.LN10))}function ut(d,t,e){for(let i in d)Object.hasOwnProperty.call(d,i)&&t.call(e||d[i],d[i],i,d)}function ri(d){let t=hi.documentElement,e=d.parentElement||d.parentNode?d.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(ji.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(ji.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}}function me(d,t,e){return Array((t||2)+1-String(d).replace("-","").length).join(e||"0")+d}function X(){let d=arguments,t=d.length;for(let e=0;e<t;e++){let i=d[e];if(i!=null)return i}}function Wt(d,t){return parseInt(d,t||10)}function xe(d,t){return 0>d.indexOf(t)&&!!d.push(t)}function te(d,t,e){return/%$/.test(d)?t*parseFloat(d)/100+(e||0):parseFloat(d)}function Fe(d,...t){let e,i;do for(i of(e=d,t))d=d.replace(i[0],i[1]);while(d!==e);return d}function je(d,t,e){function i(r,a){let n=d.removeEventListener;n&&n.call(d,r,a,!1)}function s(r){let a,n;d.nodeName&&(t?(a={})[t]=!0:a=r,ut(a,function(h,u){if(r[u])for(n=r[u].length;n--;)i(u,r[u][n].fn)}))}let o=typeof d=="function"&&d.prototype||d;if(Object.hasOwnProperty.call(o,"hcEvents")){let r=o.hcEvents;if(t){let a=r[t]||[];e?(r[t]=a.filter(function(n){return e!==n.fn}),i(t,e)):(s(r),r[t]=[])}else s(r),delete o.hcEvents}}function Xe(d){return Ft(d)?d:[d]}function cs(d,t){let e,i,s=d.length;for(i=0;i<s;i++)d[i].safeI=i;for(d.sort(function(o,r){return(e=t(o,r))===0?o.safeI-r.safeI:e}),i=0;i<s;i++)delete d[i].safeI}function ai(d,t,e){return t>0?setTimeout(d,t,e):(d.call(0,e),-1)}function to(d){return Rt(d)?d.substring(0,1).toUpperCase()+d.substring(1):String(d)}let{charts:Do,win:ps}=G;function ye(d,t,e,i){let s=t?"Highcharts error":"Highcharts warning";d===32&&(d=`${s}: Deprecated member`);let o=j(d),r=o?`${s} #${d}: www.highcharts.com/errors/${d}/`:d.toString();if(i!==void 0){let a="";o&&(r+="?"),ut(i,function(n,h){a+=`
2 - ${h}: ${n}`,o&&(r+=encodeURI(h)+"="+encodeURI(n))}),r+=a}E(G,"displayError",{chart:e,code:d,message:r,params:i},function(){if(t)throw Error(r);ps.console&&ye.messages.indexOf(r)===-1&&console.warn(r)}),ye.messages.push(r)}function Ts(d,t){let e,i=d.options.index,s=t.length;for(e=d.options.isInternal?s:0;e<s+1;e++)if(!t[e]||j(i)&&i<X(t[e].options.index,t[e]._i)||t[e].options.isInternal){t.splice(e,0,d);break}return e}(ye||(ye={})).messages=[];let ie={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(d){return-.5*(Math.cos(Math.PI*d)-1)};let si=(Ss=Math.random().toString(36).substring(2,9)+"-",os=0,function(){return"highcharts-"+(qt?"":Ss)+os++});ps.jQuery&&(ps.jQuery.fn.highcharts=function(){let d=[].slice.call(arguments);if(this[0])return d[0]?(new G[Rt(d[0])?d.shift():"Chart"](this[0],d[0],d[1]),this):Do[Tt(this[0],"data-highcharts-chart")]});let{pageLang:Bo,win:di}=G,zo=G.isSafari&&di.Intl&&!di.Intl.DateTimeFormat.prototype.formatRange,eo=class{constructor(d,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=di.Date,this.update(d),this.lang=t}update(d={}){this.dTLCache={},this.options=d=it(!0,this.options,d);let{timezoneOffset:t,useUTC:e,locale:i}=d;this.Date=d.Date||di.Date||Date;let s=d.timezone;K(e)&&(s=e?"UTC":void 0),t&&t%60==0&&(s="Etc/GMT"+(t>0?"+":"")+t/60),this.variableTimezone=s!=="UTC"&&(s==null?void 0:s.indexOf("Etc/GMT"))!==0,this.timezone=s,this.lang&&i&&(this.lang.locale=i),["months","shortMonths","weekdays","shortWeekdays"].forEach(o=>{let r=/months/i.test(o),a=/short/.test(o),n={timeZone:"UTC"};n[r?"month":"weekday"]=a?"short":"long",this[o]=(r?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(h=>this.dateFormat(n,(r?31:1)*24*36e5*h))})}
2toParts(d){let[t,e,i,s,o,r,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},d,"es").split(/(?:, | |\/|:)/g);return[s,i-1,e,o,r,a,Math.floor(Number(d)||0)%1e3,"DLMXJVS".indexOf(t)].map(Number)}dateTimeFormat(d,t,e=this.options.locale||Bo){var o;let i=JSON.stringify(d)+e;Rt(d)&&(d=this.str2dtf(d));let s=this.dTLCache[i];if(!s){(o=d.timeZone)!=null||(d.timeZone=this.timezone);try{s=new Intl.DateTimeFormat(e,d)}catch(r){/Invalid time zone/i.test(r.message)?(ye(34),d.timeZone="UTC",s=new Intl.DateTimeFormat(e,d)):ye(r.message,!1)}}return this.dTLCache[i]=s,(s==null?void 0:s.format(t))||""}str2dtf(d,t={}){let e={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(e).forEach(i=>{d.indexOf(i)!==-1&&z(t,e[i])}),t}makeTime(d,t,e=1,i=0,s,o,r){let a=this.Date.UTC(d,t,e,i,s||0,o||0,r||0);if(this.timezone!=="UTC"){let n=this.getTimezoneOffset(a);if(a+=n,[2,3,8,9,10,11].indexOf(t)!==-1&&(i<5||i>20)){let h=this.getTimezoneOffset(a);n!==h?a+=h-n:n-36e5!==this.getTimezoneOffset(a-36e5)||zo||(a-=36e5)}}return a}parse(d){if(!Rt(d))return d!=null?d:void 0;let t=(d=d.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(d),e=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(d);t||e||(d+="Z");let i=Date.parse(d);if(j(i))return i+(!t||e?this.getTimezoneOffset(i):0)}getTimezoneOffset(d){if(this.timezone!=="UTC"){let[t,e,i,s,o=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},d,"en").split(/(GMT|:)/).map(Number),r=-(60*(i+o/60)*6e4);if(j(r))return r}return 0}dateFormat(d,t,e){var s;let i=this.lang;if(!K(t)||isNaN(t))return(i==null?void 0:i.invalidDate)||"";if(Rt(d=d!=null?d:"%Y-%m-%d %H:%M:%S")){let o,r=/%\[([a-zA-Z]+)\]/g;for(;o=r.exec(d);)d=d.replace(o[0],this.dateTimeFormat(o[1],t,i==null?void 0:i.locale))}if(Rt(d)&&d.indexOf("%")!==-1){let o=this,[r,a,n,h,u,c,g,f]=this.toParts(t),y=(i==null?void 0:i.weekdays)||this.weekdays,k=(i==null?void 0:i.shortWeekdays)||this.shortWeekdays,b=(i==null?void 0:i.months)||this.months,M=(i==null?void 0:i.shortMonths)||this.shortMonths;ut(z({a:k?k[f]:y[f].substr(0,3),A:y[f],d:me(n),e:me(n,2," "),w:f,v:(s=i==null?void 0:i.weekFrom)!=null?s:"",b:M[a],B:b[a],m:me(a+1),o:a+1,y:r.toString().substr(2,2),Y:r,H:me(h),k:h,I:me(h%12||12),l:h%12||12,M:me(u),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:me(c),L:me(g,3)},G.dateFormats),function(S,A){if(Rt(d))for(;d.indexOf("%"+A)!==-1;)d=d.replace("%"+A,typeof S=="function"?S.call(o,t,o):S)})}else if(Ot(d)){let o=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||"Etc/GMT"+(o>=0?"+":"")+o,{prefix:a="",suffix:n=""}=d;d=a+this.dateTimeFormat(z({timeZone:r},d),t)+n}return e?to(d):d}resolveDTLFormat(d){return Ot(d,!0)?Ot(d,!0)&&d.main===void 0?{main:d}:d:{main:(d=Xe(d))[0],from:d[1],to:d[2]}}getDateFormat(d,t,e,i){let s=this.dateFormat("%m-%d %H:%M:%S.%L",t),o="01-01 00:00:00.000",r={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",n=a;for(a in ie){if(d&&d===ie.week&&+this.dateFormat("%w",t)===e&&s.substr(6)===o.substr(6)){a="week";break}if(d&&ie[a]>d){a=n;break}if(r[a]&&s.substr(r[a])!==o.substr(r[a]))break;a!=="week"&&(n=a)}return this.resolveDTLFormat(i[a]).main}},Ws=class extends eo{getTimeTicks(d,t,e,i){let s=this,o=[],r={},{count:a=1,unitRange:n}=d,[h,u,c,g,f,y]=s.toParts(t),k=(t||0)%1e3,b;if(i!=null||(i=1),K(t)){if(k=n>=ie.second?0:a*Math.floor(k/a),n>=ie.second&&(y=n>=ie.minute?0:a*Math.floor(y/a)),n>=ie.minute&&(f=n>=ie.hour?0:a*Math.floor(f/a)),n>=ie.hour&&(g=n>=ie.day?0:a*Math.floor(g/a)),n>=ie.day&&(c=n>=ie.month?1:Math.max(1,a*Math.floor(c/a))),n>=ie.month&&(u=n>=ie.year?0:a*Math.floor(u/a)),n>=ie.year&&(h-=h%a),n===ie.week){a&&(t=s.makeTime(h,u,c,g,f,y,k));let A=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),N="DLMXJVS".indexOf(A);c+=-N+i+(N<i?-7:0)}t=s.makeTime(h,u,c,g,f,y,k),s.variableTimezone&&K(e)&&(b=e-t>4*ie.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(e));let M=t,S=1;for(;M<e;)o.push(M),n===ie.year?M=s.makeTime(h+S*a,0):n===ie.month?M=s.makeTime(h,u+S*a):b&&(n===ie.day||n===ie.week)?M=s.makeTime(h,u,c+S*a*(n===ie.day?1:7)):b&&n===ie.hour&&a>1?M=s.makeTime(h,u,c,g+S*a):M+=n*a,S++;o.push(M),n<=ie.hour&&o.length<1e4&&o.forEach(A=>{A%18e5==0&&s.dateFormat("%H%M%S%L",A)==="000000000"&&(r[A]="day")})}return o.info=z(d,{higherRanks:r,totalRange:n*a}),o}},{isTouchDevice:Hs}
2=G,vi={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:d=>Math.sqrt(1-Math.pow(d-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:Hs?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},Fs=new Ws(vi.time,vi.lang),Je={defaultOptions:vi,defaultTime:Fs,getOptions:function(){return vi},setOptions:function(d){var t;return E(G,"setOptions",{options:d}),it(!0,vi,d),d.time&&Fs.update(vi.time),d.lang&&"locale"in d.lang&&Fs.update({locale:d.lang.locale}),(t=d.lang)!=null&&t.chartTitle&&(vi.title=Ys(Ii({},vi.title),{text:d.lang.chartTitle})),vi}},{win:Xo}=G,io=(d,t,e)=>`color-mix(in srgb,${d},${t} ${100*e}%)`,Mi=d=>Rt(d)&&!!d&&d!=="none";class ue{static parse(t){return t?new ue(t):ue.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;const r=G.Color;if(r&&r!==ue)return new r(t);if(typeof t=="object"&&t.stops!==void 0)this.stops=t.stops.map(a=>new ue(a[1]));else if(typeof t=="string")for(this.input=t=ue.names[t.toLowerCase()]||t,s=ue.parsers.length;s--&&!i;)(e=(o=ue.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if(typeof e=="object"&&this.stops!==void 0){let s=it(e);return s.stops=[].slice.call(s.stops),this.stops.forEach((o,r)=>
2{s.stops[r]=[s.stops[r][0],o.get(t)]}),s}return i&&j(i[0])?t!=="rgb"&&(t||i[3]!==1)?t==="a"?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(i){i.brighten(t)});else if(j(t)&&t!==0)if(j(e[0]))for(let i=0;i<3;i++)e[i]+=Wt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else ue.useColorMix&&Mi(this.input)&&(this.output=io(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!j(i[0])||!j(s[0]))return ue.useColorMix&&Mi(this.input)&&Mi(t.input)&&e<.99?io(this.input,t.input,e):t.input||"none";let o=s[3]!==1||i[3]!==1,r=(n,h)=>n+(i[h]-n)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}ue.names={white:"#ffffff",black:"#000000"},ue.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(d){return[Wt(d[1]),Wt(d[2]),Wt(d[3]),parseFloat(d[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(d){return[Wt(d[1]),Wt(d[2]),Wt(d[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(d){return[Wt(d[1]+d[1],16),Wt(d[2]+d[2],16),Wt(d[3]+d[3],16),K(d[4])?Wt(d[4]+d[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(d){return[Wt(d[1],16),Wt(d[2],16),Wt(d[3],16),K(d[4])?Wt(d[4],16)/255:1]}}],ue.useColorMix=(Br=Xo.CSS)==null?void 0:Br.supports("color","color-mix(in srgb,red,blue 9%)"),ue.None=new ue("");let{parse:so}=ue,{win:oo}=G;class Ye{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t==null?void 0:t[0],i=t==null?void 0:t[1],s=this.now||0,o=[];if(s!==1&&e&&i)if(e.length===i.length&&s<1)for(let r=0;r<i.length;r++){let a=e[r],n=i[r],h=[];for(let u=0;u<n.length;u++){let c=a[u],g=n[u];j(c)&&j(g)&&(n[0]!=="A"||u!==4&&u!==5)?h[u]=c+s*(g-c):h[u]=g}o.push(h)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(h){return!r.stopped&&s.step(h)},a=oo.requestAnimationFrame||function(h){setTimeout(h,13)},n=function(){for(let h=0;h<Ye.timers.length;h++)Ye.timers[h]()||Ye.timers.splice(h--,1);Ye.timers.length&&a(n)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&Ye.timers.push(r)===1&&a(n)):(delete o.curAnim[this.prop],o.complete&&Object.keys(o.curAnim).length===0&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,a=o.complete,n=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,ut(h,function(u){u!==!0&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,u,c,g,f,y=e==null?void 0:e.slice();if(!y||h)return[r,r];function k(M,S){for(;M.length<c;){let A=M[0],N=S[c-M.length];if(N&&A[0]==="M"&&(N[0]==="C"?M[0]=["C",A[1],A[2],A[1],A[2],A[1],A[2]]:M[0]=["L",A[1],A[2]]),M.unshift(A),a){let O=M.pop();M.push(M[M.length-1],O)}}}function b(M){for(;M.length<c;){let S=M[Math.floor(M.length/n)-1].slice();if(S[0]==="C"&&(S[1]=S[5],S[2]=S[6]),a){let A=M[Math.floor(M.length/n)].slice();M.splice(M.length/2,0,S,A)}else M.push(S)}}if(s&&o&&o.length){for(g=0;g<s.length;g++)if(s[g]===o[0]){u=g;break}else if(s[0]===o[o.length-s.length+g]){u=g,f=!0;break}else if(s[s.length-1]===o[o.length-s.length+g]){u=s.length-g;break}u===void 0&&(y=[])}return y.length&&j(u)&&(c=r.length+u*n,f?(k(y,r),b(r)):(k(r,y),b(y))),[y,r]}fillSetter(){Ye.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,so(this.start).tweenTo(so(this.end),this.pos),void 0,!0)}}function us(d){return Ot(d)?it({duration:500,defer:0},d):{duration:500*!!d,defer:0}}function ro(d,t){let e=Ye.timers.length;for(;e--;)Ye.timers[e].elem!==d||t&&t!==Ye.timers[e].prop||(Ye.timers[e].stopped=!0)}Ye.timers=[];let le={animate:function(d,t,e){let i,s="",o,r,a;Ot(e)||(a=arguments,e={duration:a[2],easing:a[3],complete:a[4]}),j(e.duration)||(e.duration=400),e.easing=typeof e.easing=="function"?e.easing:Math[e.easing]||Math.easeInOutSine,e.curAnim=it(t),ut(t,function(n,h){ro(d,h),r=new Ye(d,e,h),o=void 0,h==="d"&&Ft(t.d)?(r.paths=r.initPath(d,d.pathArray,t.d),r.toD=t.d,i=0,o=1):d.attr?i=d.attr(h):(i=parseFloat(Ct(d,h))||0,h!=="opacity"&&(s="px")),o||(o=n),typeof o=="str
2ing"&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(i,o,s)})},animObject:us,getDeferredAnimation:function(d,t,e){let i=us(t),s=e?[e]:d.series,o=0,r=0;return s.forEach(a=>{let n=us(a.options.animation);o=Ot(t)&&K(t.defer)?i.defer:Math.max(o,n.duration+n.defer),r=Math.min(i.duration,n.duration)}),d.renderer.forExport&&(o=0),{defer:Math.max(0,o-r),duration:Math.min(o,r)}},setAnimation:function(d,t){t.renderer.globalAnimation=X(d,t.options.chart.animation,!0)},stop:ro},{SVG_NS:Ji,win:ao}=G,{trustedTypes:Ls}=ao,gs=Ls&&ce(Ls.createPolicy)&&Ls.createPolicy("highcharts",{createHTML:d=>d}),Cs=gs?gs.createHTML(""):"";class pe{static filterUserAttributes(t){return ut(t,(e,i)=>{let s=!0;pe.allowedAttributes.indexOf(i)===-1&&(s=!1),["background","dynsrc","href","lowsrc","src"].indexOf(i)!==-1&&(s=Rt(e)&&pe.allowedReferences.some(o=>e.indexOf(o)===0)),s||(ye(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),Rt(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((e,i)=>{let s=i.split(":").map(r=>r.trim()),o=s.shift();return o&&s.length&&(e[o.replace(/-([a-z])/g,r=>r[1].toUpperCase())]=s.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=pe.emptyHTML,e&&new pe(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){return(function e(i,s){let o;return Xe(i).forEach(function(r){let a,n=r.tagName,h=r.textContent?G.doc.createTextNode(r.textContent):void 0,u=pe.bypassHTMLFiltering;if(n)if(n==="#text")a=h;else if(pe.allowedTags.indexOf(n)!==-1||u){let c=n==="svg"?Ji:s.namespaceURI||Ji,g=G.doc.createElementNS(c,n),f=r.attributes||{};ut(r,function(y,k){k!=="tagName"&&k!=="attributes"&&k!=="children"&&k!=="style"&&k!=="textContent"&&(f[k]=y)}),Tt(g,u?f:pe.filterUserAttributes(f)),r.style&&Dt(g,r.style),h&&g.appendChild(h),e(r.children||[],g),a=g}else ye(33,!1,void 0,{"Invalid tagName in config":n});a&&s.appendChild(a),o=a}),o})(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(gs?gs.createHTML(t):t,"text/html")}catch(o){}if(!e){let o=Ee("div");o.innerHTML=t,e={body:o}}let s=(o,r)=>{let a=o.nodeName.toLowerCase(),n={tagName:a};a==="#text"&&(n.textContent=o.textContent||"");let h=o.attributes;if(h){let u={};[].forEach.call(h,c=>{c.name==="data-style"?n.style=pe.parseStyle(c.value):u[c.name]=c.value}),n.attributes=u}if(o.childNodes.length){let u=[];[].forEach.call(o.childNodes,c=>{s(c,u)}),u.length&&(n.children=u)}r.push(n)};return[].forEach.call(e.body.childNodes,o=>s(o,i)),i}}pe.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],pe.allowedReferences=["https://","http://","mailto:","/","../","./","#"],pe.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],pe.emptyHTML=Cs,pe.bypassHTMLFiltering=!1;let{defaultOptions:no,defaultTime:fs}=Je,{pageLang:Yo}=G,Qi={add:(d,t)=>d+t,divide:(d,t)=>t!==0?d/t:"",eq:(d,t)=>d==t,each:function(d){let t=arguments[arguments.length-1];return!!Ft(d)&&d.map((e,i)=>Os(t.body,z(Ot(e)?e:{"@this":e},{"@index":i,"@first":i===0,"@last":i===d.length-1}))).join("")},ge:(d,t)=>d>=t,gt:(d,t)=>d>t,if:d=>!!d,le:(d,t)=>d<=t,lt:(d,t)=>d<t,multiply:(d,t)=>d*t,ne:(d,t)=>d!=t,subtract:(d,t)=>d-t,ucfirst:to,unless:d=>!d},lo={};function Os(d="",t,e){var b;let i=RegExp(`\\{([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'\u2019= #\\(\\)]+)\\}`,"gu"),s=RegExp(`\\(([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'= ]+)\\)`,"gu"),o=[],r=/f$/,a=/\.(\d)/,n=((b=e==null?void 0:e.options)==null?void 0:b.lang)||no.lang,h=(e==null?void 0:e.time)||fs,u=(e==null?void 0:e.numberFormatter)||ho.bind(e),c=(M="")=>{let S;return M==="true"||M!=="false"&&((S=Number(M)).toString()===M?S:/^["'].+["']$/.test(M)?M.slice(1,-1):Pt(M,t))},g,f,y=0,k;for(;(g=i.exec(d))!==null;){let M=g,S=s.exec(g[1]);
2S&&(g=S,k=!0),f!=null&&f.isBlock||(f={ctx:t,expression:g[1],find:g[0],isBlock:g[1].charAt(0)==="#",start:g.index,startInner:g.index+g[0].length,length:g[0].length});let A=(f.isBlock?M:g)[1].split(" ")[0].replace("#","");Qi[A]&&(f.isBlock&&A===f.fn&&y++,f.fn||(f.fn=A));let N=g[1]==="else";if(f.isBlock&&f.fn&&(g[1]===`/${f.fn}`||N))if(y)!N&&y--;else{let O=f.startInner,D=d.substr(O,g.index-O);f.body===void 0?(f.body=D,f.startInner=g.index+g[0].length):f.elseBody=D,f.find+=D+g[0],N||(o.push(f),f=void 0)}else f.isBlock||o.push(f);if(S&&!(f!=null&&f.isBlock))break}return o.forEach(M=>{let S,A,{body:N,elseBody:O,expression:D,fn:H}=M;if(H){let Y=[M],F=[],_=D.length,Q=0,tt;for(A=0;A<=_;A++){let dt=D.charAt(A);tt||dt!=='"'&&dt!=="'"?tt===dt&&(tt=""):tt=dt,tt||dt!==" "&&A!==_||(F.push(D.substr(Q,A-Q)),Q=A+1)}for(A=Qi[H].length;A--;)Y.unshift(c(F[A+1]));S=Qi[H].apply(t,Y),M.isBlock&&typeof S=="boolean"&&(S=Os(S?N:O,t,e))}else{let Y=/^["'].+["']$/.test(D)?[D]:D.split(":");if(S=c(Y.shift()||""),Y.length&&typeof S=="number"){let F=Y.join(":");if(r.test(F)){let _=parseInt((F.match(a)||["","-1"])[1],10);S!==null&&(S=u(S,_,n.decimalPoint,F.indexOf(",")>-1?n.thousandsSep:""))}else S=h.dateFormat(F,S)}s.lastIndex=0,s.test(M.find)&&Rt(S)&&(S=`"${S}"`)}d=d.replace(M.find,X(S,""))}),k?Os(d,t,e):d}function ho(d,t,e,i){var k,b;t*=1;let s,o,[r,a]=(d=+d||0).toString().split("e").map(Number),n=((k=this==null?void 0:this.options)==null?void 0:k.lang)||no.lang,h=(d.toString().split(".")[1]||"").split("e")[0].length,u=t,c={};e!=null||(e=n.decimalPoint),i!=null||(i=n.thousandsSep),t===-1?t=Math.min(h,20):j(t)?t&&a<0&&((o=t+a)>=0?(r=+r.toExponential(o).split("e")[0],t=o):(r=Math.floor(r),d=t<20?+(r*Math.pow(10,a)).toFixed(t):0,a=0)):t=2,a&&(t!=null||(t=2),d=r),j(t)&&t>=0&&(c.minimumFractionDigits=t,c.maximumFractionDigits=t),i===""&&(c.useGrouping=!1);let g=i||e,f=g?"en":(this==null?void 0:this.locale)||n.locale||Yo,y=JSON.stringify(c)+f;return s=((b=lo[y])!=null?b:lo[y]=new Intl.NumberFormat(f,c)).format(d),g&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,i!=null?i:",").replace("_.",e!=null?e:".")),(t||+s!=0)&&(!(a<0)||u)||(s="0"),a&&+s!=0&&(s+="e"+(a<0?"":"+")+a),s}let oi={dateFormat:function(d,t,e){return fs.dateFormat(d,t,e)},format:Os,helpers:Qi,numberFormat:ho};(ei=Yt||(Yt={})).rendererTypes={},ei.getRendererType=function(d=Oe){return ei.rendererTypes[d]||ei.rendererTypes[Oe]},ei.registerRendererType=function(d,t,e){ei.rendererTypes[d]=t,(!Oe||e)&&(Oe=d,G.Renderer=t)};let ki=Yt;(Fi||(Fi={})).distribute=function d(t,e,i){let s=t,o=s.reducedLen||e,r=(b,M)=>b.target-M.target,a=[],n=t.length,h=[],u=a.push,c,g=!0,f,y,k=0;for(c=n;c--;)k+=t[c].size;if(k>o){if(cs(t,(b,M)=>(M.rank||0)-(b.rank||0)),t[0].rank===t[t.length-1].rank){let b=[[0,n-1]];for(;b.length&&k>o;){let M=b.shift();if(!M)break;f=t[c=Math.floor((M[0]+M[1])/2)],xe(h,c)&&(k-=f.size),M[0]<c&&b.push([M[0],c-1]),c<M[1]&&b.push([c+1,M[1]])}}else for(c=n-1;k>o&&c>=0;)f=t[c],xe(h,c)&&(k-=f.size),c--;h.sort((b,M)=>M-b).forEach(b=>u.apply(a,t.splice(b,1)))}for(cs(t,r),t=t.map(b=>({size:b.size,targets:[b.target],align:X(b.align,.5)}));g;){for(c=t.length;c--;)f=t[c],y=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=ee(y-f.size*f.align,0,e-f.size);for(c=t.length,g=!1;c--;)c>0&&t[c-1].pos+t[c-1].size>t[c].pos&&(t[c-1].size+=t[c].size,t[c-1].targets=t[c-1].targets.concat(t[c].targets),t[c-1].align=.5,t[c-1].pos+t[c-1].size>e&&(t[c-1].pos=e-t[c-1].size),t.splice(c,1),g=!0)}return u.apply(s,a),c=0,t.some(b=>{let M=0;return(b.targets||[]).some(()=>(s[c].pos=b.pos+M,i!==void 0&&Math.abs(s[c].pos-s[c].target)>i?(s.slice(0,c+1).forEach(S=>delete S.pos),s.reducedLen=(s.reducedLen||e)-.1*e,s.reducedLen>.1*e&&d(s,e,i),!0):(M+=s[c].size,c++,!1)))}),cs(s,r),s};let Es=Fi,{animate:Wo,animObject:Ho,stop:co}=le,{deg2rad:po,doc:ts,svg:Fo,SVG_NS:Vi,win:ms,isFirefox:Go}=G;class Ae{_defaultGetter(t){let e=X(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),this.textStr!==void 0&&this.element.nodeName==="text"&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(s,o){return i.indexOf(o)===-1&&s.push(o),s},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||Rt(i)?i||"renderer":void 0;n&&(a&&xe(r,this),i=void 0);let h=X(i,o[n],o),u=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*et(t.align),c=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*et(t.verticalAlign),g={};return t.align&&(g["text-align"]=t.align),g[e?"translateX":"x"]=Math.round(u),g[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](g),this.placed=!0),this.alignAttr=g,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=Ho(X(e,this.renderer.globalAnimation,!0)),o=s.defer;return ts.hidden&&(s.duration=0),s.duration!==0?(i&&(s.complete=i),ai(()=>{this.element&&Wo(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),ut(t,function(r,a){s.step&&s.step.call(this,r,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;t.indexOf("contrast")!==-1&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&o!=="none"&&G.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(u,c,g){return 2*Number(c)+g}),this.removeTextOutline();let r=ts.createElementNS(Vi,"tspan");Tt(r,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let a=e.querySelector("textPath")||e;[].forEach.call(a.childNodes,u=>{let c=u.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(g=>c.removeAttribute(g)),r.appendChild(c)});let n=0;[].forEach.call(a.querySelectorAll("text tspan"),u=>{n+=Number(u.getAttribute("dy"))});let h=ts.createElementNS(Vi,"tspan");h.textContent="\u200B",Tt(h,{x:Number(e.getAttribute("x")),dy:-n}),r.appendChild(h),a.insertBefore(r,a.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=Ae.symbolCustomAttribs,a,n,h=this,u;return typeof t=="string"&&e!==void 0&&(a=t,(t={})[a]=e),typeof t=="string"?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(ut(t,function(c,g){u=!1,s||co(this,g),this.symbolName&&r.indexOf(g)!==-1&&(n||(this.symbolAttr(t),n=!0),u=!0),this.rotation&&(g==="x"||g==="y")&&(this.doTransform=!0),u||(this[g+"Setter"]||this._defaultSetter).call(this,c,g,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=si()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);z(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=ke(i,e),n=ke(s,e);return z(t,{x:a,y:n,width:ke(o,e)-a,height:ke(r,e)-n}),K(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,h,u,c,g,f,y,k=[],b;E(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],h=s.gradients,u=t.stops,f=i.radialReference,Ft(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),r==="radialGradient"&&f&&!K(a.gradientUnits)&&(n=a,a=it(a,s.getRadialAttr(f,n),{gradientUnits:"userSpaceOnUse"})),ut(a,function(M,S){S!=="id"&&k.push(S,M)}),ut(u,function(M){k.push(M)}),h[k=k.join(",")])y=h[k].attr("id");else{a.id=y=si();let M=h[k]=s.createElement(r).attr(a).add(s.defs);M.radAttr=n,M.stops=[],u.forEach(function(S){S[1].indexOf("rgba")===0?(c=(o=ue.parse(S[1])).get("rgb"),g=o.get("a")):(c=S[1],g=1);let A=s.createElement("stop").attr({offset:S[0],"stop-color":c,"stop-opacity":g}).add(M);M.stops.push(A)})}b="url("+s.url+"#"+y+")",i.setAttribute(e,b),i.gradient=k,t.toString=function(){return b}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&ut(t,function(a,n){e&&e[n]!==a&&(i[n]=a,r=!0)}),r){e&&(t=z(e,i)),t.width===null||t.width==="auto"?delete this.textWidth:s.nodeName.toLowerCase()==="text"&&t.width&&(o=this.textWidth=Wt(t.width)),z(this.styles,t),o&&!Fo&&this.renderer.forExport&&delete t.width;let a=Go&&t.fontSize||null;a&&(j(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let n=it(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(h=>n&&delete n[h]),n.color&&(n.fill=n.color,delete n.color)),Dt(s,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if(i==="inherit"&&(i=1),t){let s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+Wt(s[e])*X(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,o=e.ownerSVGElement,r=e.nodeName==="SPAN"&&t.parentGroup||void 0,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,co(t),t.clipPath&&o){let n=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(h){h.getAttribute("clip-path").indexOf(n.element.i
2d)>-1&&h.removeAttribute("clip-path")}),t.clipPath=n.destroy()}if(s){for(let n of s)n.destroy();s.length=0}for(t.safeRemoveChild(e);r!=null&&r.div&&r.div.childNodes.length===0;)a=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=a;t.alignOptions&&_e(i.alignedObjects,t),ut(t,(n,h)=>{var u,c,g;(((u=t[h])==null?void 0:u.parentGroup)===t||["connector","foreignObject"].indexOf(h)!==-1)&&((g=(c=t[h])==null?void 0:c.destroy)==null||g.call(c)),delete t[h]})}dSetter(t,e,i){Ft(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((s,o,r)=>o!=null&&o.join?(r?s+" ":"")+o.join(" "):(o||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){typeof t=="string"?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,{element:r,renderer:a,styles:n,textStr:h}=this,{cache:u,cacheKeys:c}=a,g=r.namespaceURI===this.SVG_NS,f=X(e,this.rotation,0),y=a.styledMode?r&&Ae.prototype.getStyle.call(r,"font-size"):n.fontSize,k=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,n.fontWeight,n.lineClamp,n.textOverflow,y,f]);if(k&&!t&&(i=u[k]),!i||i.polygon){if(g||a.forExport){try{o=this.fakeTS&&function(M){let S=r.querySelector(".highcharts-text-outline");S&&Dt(S,{display:M})},ce(o)&&o("none"),i=r.getBBox?z({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},ce(o)&&o("")}catch(M){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,g&&(i.height=s={"11px,17":14,"13px,20":16}[`${y||""},${Math.round(s)}`]||s),f&&(i=this.getRotatedBox(i,f));let b={bBox:i};E(this,"afterGetBBox",b),i=b.bBox}if(k&&(h===""||i.height>0)){for(;c.length>250;)delete u[c.shift()];u[k]||c.push(k),u[k]=i}return i}getBBoxCacheKey(t){if(K(this.textStr)){let e=""+this.textStr;return e.indexOf("<")===-1&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:u=0}=this,c=et(a),g=Number(this.element.getAttribute("y")||0)-(n?0:s),f=e*po,y=(e-90)*po,k=Math.cos(f),b=Math.sin(f),M=o*k,S=o*b,A=Math.cos(y),N=Math.sin(y),[[O,D],[H,Y]]=[h,u].map(Zt=>[Zt-Zt*k,Zt*b]),F=i+c*(o-M)+O+Y+g*A,_=F+M,Q=_-r*A,tt=Q-M,dt=s+g-c*S-D+H+g*N,mt=dt+S,ct=mt-r*N,yt=ct-S,xt=Math.min(F,_,Q,tt),Et=Math.min(dt,mt,ct,yt),vt=Math.max(F,_,Q,tt)-xt,zt=Math.max(dt,mt,ct,yt)-Et;return{x:xt,y:Et,width:vt,height:zt,polygon:[[F,dt],[_,mt],[Q,ct],[tt,yt]]}}getStyle(t){return ms.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=Vi,this.element=e==="span"||e==="body"?Ee(e):ts.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},E(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=rt(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){var t;(t=this.alignOptions)!=null&&t.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(Rt(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e!=null&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){var o;let{renderer:e}=this,i=it(((o=this.parentGroup)==null?void 0:o.rotation)===90?{offsetX:-1,offsetY:-1}:{},Ot(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=Wt(t):t!==""&&(Tt(i=ts.createElementNS(Vi,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
2Ae.symbolCustomAttribs.forEach(function(i){e[i]=X(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ts.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=Fe(X(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){var k,b,M,S;let{element:e,foreignObject:i,matrix:s,padding:o,rotation:r=0,rotationOriginX:a,rotationOriginY:n,scaleX:h,scaleY:u,text:c,translateX:g=0,translateY:f=0}=this,y=[`translate(${g},${f})`];K(s)&&y.push("matrix("+s.join(",")+")"),r&&(y.push("rotate("+r+" "+((b=(k=a!=null?a:e.getAttribute("x"))!=null?k:this.x)!=null?b:0)+" "+((S=(M=n!=null?n:e.getAttribute("y"))!=null?M:this.y)!=null?S:0)+")"),(c==null?void 0:c.element.tagName)!=="SPAN"||c!=null&&c.foreignObject||c.attr({rotation:r,rotationOriginX:(a||0)-o,rotationOriginY:(n||0)-o})),(K(h)||K(u))&&y.push(`scale(${h!=null?h:1} ${u!=null?u:1})`),y.length&&!(c||this).textPath&&((i==null?void 0:i.element)||e).setAttribute(t,y.join(" "))}visibilitySetter(t,e,i){t==="inherit"?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,h,u,c=!1,g,f=this.added,y;if(K(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(f=!1)):K(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,f){for((t=this.zIndex)&&s&&(s.handleZ=!0),y=(n=o.childNodes).length-1;y>=0&&!c;y--)g=!K(u=(h=n[y]).getAttribute("data-z-index")),h!==r&&(t<0&&g&&!a&&!y?(o.insertBefore(r,n[y]),c=!0):(Wt(u)<=t||g&&(!K(t)||t>=0))&&(o.insertBefore(r,n[y+1]),c=!0));c||(o.insertBefore(r,n[3*!!a]),c=!0)}return c}}Ae.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],Ae.prototype.strokeSetter=Ae.prototype.fillSetter,Ae.prototype.yGetter=Ae.prototype.xGetter,Ae.prototype.matrixSetter=Ae.prototype.rotationOriginXSetter=Ae.prototype.rotationOriginYSetter=Ae.prototype.rotationSetter=Ae.prototype.scaleXSetter=Ae.prototype.scaleYSetter=Ae.prototype.translateXSetter=Ae.prototype.translateYSetter=Ae.prototype.verticalAlignSetter=function(d,t){this[t]=d,this.doTransform=!0};let ci=Ae;class qi extends ci{constructor(t,e,i,s,o,r,a,n,h,u){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=u,this.addClass(u==="button"?"highcharts-no-tooltip":"highcharts-label"),u&&this.addClass("highcharts-"+u),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),typeof o=="string"&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=qi.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=et(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&j(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=it(t),qi.textProps.forEach(i=>{t[i]!==void 0&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize()}return ci.prototype.css.call(this,t)}destroy(){je(this.element,"mouseenter"),je(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),ci.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=X(this.paddingLeft,i),h=e!=null?e:this.rotation||0,u={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(u=this.getRotatedBox(u,h)),u}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:X(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&K(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){j(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){t!==void 0&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!j(this.widthSetting)||!j(this.heightSetting)||this.textAlign)&&K(e.textStr)?e.getBBox(void 0,0):qi.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();a.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(z(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){var i,s;let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let o=this.baseline?0:this.baselineOffset,r=((i=this.paddingLeft)!=null?i:this.padding)+et(e)*((s=this.widthSetting)!=null?s:this.bBox.width);(r!==t.x||o!==t.y)&&(t.attr({align:e,x:r}),o!==void 0&&t.attr("y",o)),t.x=r,t.y=o}}widthSetter(t){this.widthSetting=j(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=X(this.paddingLeft,t),i=X(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}function Gs(d,t,e,i,s){let o=[];if(s){let r=s.start||0,a=s.end||0,n=X(s.r,e),h=X(s.r,i||e),u=1e-4>Math.abs(a-r-2*Math.PI);
2u&&(r=Math.PI/2,a=2.5*Math.PI-1e-4);let c=s.innerR,g=X(s.open,u),f=u?0:Math.cos(r),y=u?1:Math.sin(r),k=u?0:Math.cos(a),b=u?1:Math.sin(a),M=X(s.longArc,a-r-Math.PI<1e-4?0:1),S=["A",n,h,0,M,X(s.clockwise,1),d+(u?.001:n*k),t+h*b];S.params={start:r,end:a,cx:d,cy:t},o.push(["M",d+n*f,t+h*y],S),K(c)&&((S=["A",c,c,0,M,K(s.clockwise)?1-s.clockwise:0,d+(u?-.001:c*f),t+c*y]).params={start:a,end:r,cx:d,cy:t},o.push(g?["M",d+c*k,t+c*b]:["L",d+c*k,t+c*b],S)),g||o.push(["Z"])}return o}function uo(d,t,e,i,s){return s!=null&&s.r?js(d,t,e,i,s):[["M",d,t],["L",d+e,t],["L",d+e,t+i],["L",d,t+i],["Z"]]}function js(d,t,e,i,s){let o=(s==null?void 0:s.r)||0;return[["M",d+o,t],["L",d+e-o,t],["A",o,o,0,0,1,d+e,t+o],["L",d+e,t+i-o],["A",o,o,0,0,1,d+e-o,t+i],["L",d+o,t+i],["A",o,o,0,0,1,d,t+i-o],["L",d,t+o],["A",o,o,0,0,1,d+o,t],["Z"]]}qi.emptyBBox={width:0,height:0,x:0,y:0},qi.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let go={arc:Gs,callout:function(d,t,e,i,s){let o=Math.min((s==null?void 0:s.r)||0,e,i),r=o+6,a=s==null?void 0:s.anchorX,n=(s==null?void 0:s.anchorY)||0,h=js(d,t,e,i,{r:o});if(!j(a)||a<e&&a>0&&n<i&&n>0)return h;if(d+a>e-r)if(n>t+r&&n<t+i-r)h.splice(3,1,["L",d+e,n-6],["L",d+e+6,n],["L",d+e,n+6],["L",d+e,t+i-o]);else if(a<e){let u=n<t+r,c=u?t:t+i;h.splice(u?2:5,0,["L",a,n],["L",d+e-o,c])}else h.splice(3,1,["L",d+e,i/2],["L",a,n],["L",d+e,i/2],["L",d+e,t+i-o]);else if(d+a<r)if(n>t+r&&n<t+i-r)h.splice(7,1,["L",d,n+6],["L",d-6,n],["L",d,n-6],["L",d,t+o]);else if(a>0){let u=n<t+r,c=u?t:t+i;h.splice(u?1:6,0,["L",a,n],["L",d+o,c])}else h.splice(7,1,["L",d,i/2],["L",a,n],["L",d,i/2],["L",d,t+o]);else n>i&&a<e-r?h.splice(5,1,["L",a+6,t+i],["L",a,t+i+6],["L",a-6,t+i],["L",d+o,t+i]):n<0&&a>r&&h.splice(1,1,["L",a-6,t],["L",a,t-6],["L",a+6,t],["L",e-o,t]);return h},circle:function(d,t,e,i){return Gs(d+e/2,t+i/2,e/2,i/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(d,t,e,i){return[["M",d+e/2,t],["L",d+e,t+i/2],["L",d+e/2,t+i],["L",d,t+i/2],["Z"]]},rect:uo,roundedRect:js,square:uo,triangle:function(d,t,e,i){return[["M",d+e/2,t],["L",d+e,t+i],["L",d,t+i],["Z"]]},"triangle-down":function(d,t,e,i){return[["M",d,t],["L",d+e,t],["L",d+e/2,t+i],["Z"]]}},{doc:wi,SVG_NS:jo,win:Is}=G,xs=(d,t)=>d.substring(0,t)+"\u2026",fo=class{constructor(d){const t=d.styles;this.renderer=d.renderer,this.svgElement=d,this.width=d.textWidth,this.textLineHeight=t==null?void 0:t.lineHeight,this.textOutline=t==null?void 0:t.textOutline,this.ellipsis=(t==null?void 0:t.textOverflow)==="ellipsis",this.lineClamp=t==null?void 0:t.lineClamp,this.noWrap=(t==null?void 0:t.whiteSpace)==="nowrap"}buildSVG(){let d=this.svgElement,t=d.element,e=d.renderer,i=X(d.textStr,"").toString(),s=i.indexOf("<")!==-1,o=t.childNodes,r=!d.added&&e.box,a=[i,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,d.getStyle("font-size"),d.styles.lineClamp,this.width].join(",");if(a!==d.textCache){d.textCache=a,delete d.actualWidth;for(let n=o.length;n--;)t.removeChild(o[n]);if(s||this.ellipsis||this.width||d.textPath||i.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(i))){if(i!==""){r&&r.appendChild(t);let n=new pe(i);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("\u2026")!==-1&&d.attr("title",this.unescapeEntities(d.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(t)}}else t.appendChild(wi.createTextNode(this.unescapeEntities(i)));Rt(this.textOutline)&&d.applyTextOutline&&d.applyTextOutline(this.textOutline)}}modifyDOM(){let d,t=this.svgElement,e=Tt(t.element,"x");for(t.firstLineMetrics=void 0;(d=t.element.firstChild)&&/^[\s\u200B]*$/.test(d.textContent||" ");)t.element.removeChild(d);[].forEach.call(t.element.querySelectorAll("tspan.highcharts-br"),(r,a)=>{r.nextSibling&&r.previousSibling&&(a===0&&r.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(r.previousSibling)),Tt(r,{dy:this.getLineHeight(r.nextSibling),x:e}))});let i=this.width||0;if(!i)return;let s=(r,a)=>{var k;let n=r.textContent||"",h=n.replace(/([^\^])-/g,"$1- ").split(" "),u=!this.noWrap&&(h.length>1||t.element.childNodes.length>1),c=this.getLineHeight(a),g=Math.max(0,i-.8*c),f=0,y=t.actualWidth;if(u){let b=[],M=[];for(;a.firstChild&&a.firstChild!==r;)M.push(a.firstChild),a.removeChild(a.firstChild);for(;h.length;)if(h.length&&!this.noWrap&&f>0&&(b.push(r.textContent||""),r.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(r,void 0,h,f===0&&y||0,i,g,(S,A)=>h.slice(0,A).join(" ").replace(/- /g,"-")),y=t.actualWidth,f++,this.lineClamp&&f>=this.lineClamp){h.length&&(this.truncate(r,r.textContent||"",void 0,0,i,g,xs),r.textContent=((k=r.textContent)==null?void 0:k.replace("\u2026",""))+"\u2026");break}
2M.forEach(S=>{a.insertBefore(S,r)}),b.forEach(S=>{a.insertBefore(wi.createTextNode(S),r);let A=wi.createElementNS(jo,"tspan");A.textContent="\u200B",Tt(A,{dy:c,x:e}),a.insertBefore(A,r)})}else this.ellipsis&&n&&this.truncate(r,n,void 0,0,i,g,xs)},o=r=>{[].slice.call(r.childNodes).forEach(a=>{a.nodeType===Is.Node.TEXT_NODE?s(a,r):(a.className.baseVal.indexOf("highcharts-br")!==-1&&(t.actualWidth=0),o(a))})};o(t.element)}getLineHeight(d){let t=d.nodeType===Is.Node.TEXT_NODE?d.parentElement:d;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(d){let t=(e,i)=>{let{attributes:s={},children:o,style:r={},tagName:a}=e,n=this.renderer.styledMode;if(a==="b"||a==="strong"?n?s.class="highcharts-strong":r.fontWeight="bold":(a==="i"||a==="em")&&(n?s.class="highcharts-emphasized":r.fontStyle="italic"),r!=null&&r.color&&(r.fill=r.color),a==="br"){s.class="highcharts-br",e.textContent="\u200B";let h=d[i+1];h!=null&&h.textContent&&(h.textContent=h.textContent.replace(/^ +/gm,""))}else a==="a"&&o&&o.some(h=>h.tagName==="#text")&&(e.children=[{children:o,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),z(e,{attributes:s,style:r}),o&&o.filter(h=>h.tagName!=="#text").forEach(t)};d.forEach(t),E(this.svgElement,"afterModifyTree",{nodes:d})}truncate(d,t,e,i,s,o,r){let a,n,h=this.svgElement,{rotation:u}=h,c=[],g=e&&!i?1:0,f=(t||e||"").length,y=f;e||(s=o);let k=function(b,M){let S=M||b,A=d.parentNode;if(A&&c[S]===void 0&&A.getSubStringLength)try{c[S]=i+A.getSubStringLength(0,e?S+1:S)}catch(N){}return c[S]};if(h.rotation=0,i+(n=k(d.textContent.length))>s){for(;g<=f;)y=Math.ceil((g+f)/2),e&&(a=r(e,y)),n=k(y,a&&a.length-1),g===f?g=f+1:n>s?f=y-1:g=y;f===0?d.textContent="":t&&f===t.length-1||(d.textContent=a||r(t||e,y)),this.ellipsis&&n>s&&this.truncate(d,d.textContent||"",void 0,0,s,o,xs)}e&&e.splice(0,y),h.actualWidth=n,h.rotation=u}unescapeEntities(d,t){return ut(this.renderer.escapes,function(e,i){t&&t.indexOf(e)!==-1||(d=d.toString().replace(RegExp(e,"g"),i))}),d}},{defaultOptions:Uo}=Je,{charts:Vo,deg2rad:ys,doc:es,isFirefox:mo,isMS:xo,isWebKit:qo,noop:$o,SVG_NS:Ko,symbolSizes:Us,win:Rs}=G;class bs{constructor(t,e,i,s,o,r,a){let n,h;this.x=0,this.y=0;const u=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=u.element;a||u.css(this.getStyle(s||{})),t.appendChild(c),Tt(t,"dir","ltr"),t.innerHTML.indexOf("xmlns")===-1&&Tt(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=u,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(es.createTextNode("Created with Highcharts 12.6.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=u.getStyle("font-size"),this.setSize(e,i,!1),mo&&t.getBoundingClientRect&&((n=function(){Dt(t,{left:0,top:0}),h=t.getBoundingClientRect(),Dt(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=rt(Rs,"resize",n))}definition(t){return new pe([t]).addToDOM(this.defs.element)}getReferenceURL(){if((mo||qo)&&es.getElementsByTagName("base").length){if(!K(ae)){let t=si(),e=new pe([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(es.body);Dt(e,{position:"fixed",top:0,left:0,zIndex:9e5});let i=es.elementFromPoint(6,6);ae=(i==null?void 0:i.id)==="hitme",es.body.removeChild(e)}if(ae)return Fe(Rs.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=z({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),we(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(s=>`${s}-${t[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=it({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new fo(t).buildSVG()}getContrast(t){if(t==="transparent")return"#000000";let e=ue.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(j(e[0])||!ue.useColorMix){let s=e.map(r=>{let a=r/255;return a<=.04?a/12.92:Math.pow((a+.055)/1.055,2.4)}
vendor: 5,323 bytes, line 2
2),o=.2126*s[0]+.7152*s[1]+.0722*s[2];return 1.05/(o+.05)>(o+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,a,n,h,u){let c=this.label(t,e,i,h,void 0,void 0,u,void 0,"button"),g=this.styledMode,f=arguments,y=0;o=it(Uo.global.buttonTheme,o),g&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let k=o.states||{},b=o.style||{};delete o.states,delete o.style;let M=[pe.filterUserAttributes(o)],S=[b];return g||["hover","select","disabled"].forEach((A,N)=>{M.push(it(M[0],pe.filterUserAttributes(f[N+5]||k[A]||{}))),S.push(M[N+1].style),delete M[N+1].style}),rt(c.element,xo?"mouseover":"mouseenter",function(){y!==3&&c.setState(1)}),rt(c.element,xo?"mouseout":"mouseleave",function(){y!==3&&c.setState(y)}),c.setState=(A=0)=>{if(A!==1&&(c.state=y=A),c.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][A]),!g){c.attr(M[A]);let N=S[A];Ot(N)&&c.css(N)}},c.attr(M[0]),!g&&(c.css(z({cursor:"default"},b)),u&&c.text.css({pointerEvents:"none"})),c.on("touchstart",A=>A.stopPropagation()).on("click",function(A){y!==3&&(s==null||s.call(c,A))})}crispLine(t,e){let[i,s]=t;return K(i[1])&&i[1]===s[1]&&(i[1]=s[1]=ke(i[1],e)),K(i[2])&&i[2]===s[2]&&(i[2]=s[2]=ke(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return Ft(t)?e.d=t:Ot(t)&&z(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=Ot(t)?t:t===void 0?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(r,a,n){n.setAttribute("c"+a,r)},o.attr(s)}arc(t,e,i,s,o,r){let a;Ot(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=Ot(t)?t:t===void 0?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(r!==void 0&&(a["stroke-width"]=r,z(a,n.crisp(a))),a.fill="none"),n.rSetter=function(h,u,c){n.r=h,Tt(c,{rx:h,ry:h})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:X(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};j(e)&&(a.x=e),j(i)&&(a.y=i),j(s)&&(a.width=s),j(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(u){n.attr({href:t}),r.call(n,u)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let u=new Rs.Image;rt(u,"load",h),u.src=t,u.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){var b,M;let a,n,h,u,c=this,g=/^url\((.*?)\)$/,f=g.test(t),y=!f&&(this.symbols[t]?t:"circle"),k=y&&this.symbols[y];if(k)typeof e=="number"&&(n=k.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),c.styledMode||a.attr("fill","none"),z(a,{symbolName:y||void 0,x:e,y:i,width:s,height:o}),r&&z(a,r);else if(f){h=t.match(g)[1];let S=a=this.image(h);S.imgwidth=X(r==null?void 0:r.width,(b=Us[h])==null?void 0:b.width),S.imgheight=X(r==null?void 0:r.height,(M=Us[h])==null?void 0:M.height),u=A=>A.attr({width:A.width,height:A.height}),["width","height"].forEach(A=>{S[`${A}Setter`]=function(N,O){this[O]=N;let{alignByTranslate:D,element:H,width:Y,height:F,imgwidth:_,imgheight:Q}=this,tt=O==="width"?_:Q,dt=1;r&&r.backgroundSize==="within"&&Y&&F&&_&&Q?(dt=Math.min(Y/_,F/Q),Tt(H,{width:Math.round(_*dt),height:Math.round(Q*dt)})):H&&tt&&H.setAttribute(O,tt),!D&&_&&Q&&this.translate(((Y||0)-_*dt)/2,((F||0)-Q*dt)/2)}}),K(e)&&S.attr({x:e,y:i}),S.isImg=!0,K(S.imgwidth)&&K(S.imgheight)?u(S):(S.attr({width:0,height:0}),Ee("img",{onload:function(){let A=Vo[c.chartIndex];this.width===0&&(Dt(this,{position:"absolute",top:"-999em"}),es.body.appendChild(this)),Us[h]={width:this.width,height:this.height},S.imgwidth=this.width,S.imgheight=this.height,S.element&&u(S),this.parentNode&&this.parentNode.removeChild(this),c.asyncCounter--,c.asyncCounter||!A||A.hasLoaded||A.onload()},src:h}),this.asyncCounter++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),K(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(a,n,h){let u=h.getElementsByTagName("tspan"),c=h.getAttribute(n);for(let g=0,f;g<u.length;g++)(f=u[g]).getAttribute(n)===c&&f.setAttribute(n,a);h.setAttribute(n,a)}),r}fontMetrics(t){let e=j(t)?t:Wt(ci.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*ys),4)),{x:-t/3*Math.sin(e*ys),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)Rt(i[0])&&j(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),typeof t[o]=="string"&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,a,n,h){return new qi(this,t,e,i,s,o,r,a,n,h)}
2alignElements(){this.alignedObjects.forEach(t=>t.align())}}z(bs.prototype,{Element:ci,SVG_NS:Ko,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:go,draw:$o}),ki.registerRendererType("svg",bs,!0);let{composed:Ri,isFirefox:Vs}=G;function yo(d,t,e){var s;let i=(s=this.div)==null?void 0:s.style;ci.prototype[`${t}Setter`].call(this,d,t,e),i&&(e.style[t]=i[t]=d)}let Zo=(d,t)=>{var e;if(!d.div){let i=Tt(d.element,"class"),s=d.css,o=Ee("div",i?{className:i}:void 0,Ys(Ii({position:"absolute",left:`${d.translateX||0}px`,top:`${d.translateY||0}px`},d.styles),{display:d.display,opacity:d.opacity,visibility:d.visibility}),((e=d.parentGroup)==null?void 0:e.div)||t);d.classSetter=(r,a,n)=>{n.setAttribute("class",r),o.className=r},d.translateXSetter=d.translateYSetter=(r,a)=>{d[a]=r,o.style[a==="translateX"?"left":"top"]=`${r}px`,d.doTransform=!0},d.scaleXSetter=d.scaleYSetter=(r,a)=>{d[a]=r,d.doTransform=!0},d.opacitySetter=d.visibilitySetter=yo,d.css=r=>(s.call(d,r),r.cursor&&(o.style.cursor=r.cursor),r.pointerEvents&&(o.style.pointerEvents=r.pointerEvents),d),d.on=function(){return ci.prototype.on.apply({element:o,onEvents:d.onEvents},arguments),d},d.div=o}return d.div};class Si extends ci{static compose(t){xe(Ri,this.compose)&&(t.prototype.html=function(e,i,s){return new Si(this,"span").attr({text:e,x:Math.round(i),y:Math.round(s)})})}constructor(t,e){super(t,e),Si.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css(Ii({position:"absolute"},t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s=i.tagName==="SPAN"&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=Wt(o)||void 0,e=!0),(t==null?void 0:t.textOverflow)==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t!=null&&t.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),j(Number(t==null?void 0:t.fontSize))&&(t.fontSize+="px"),z(this.styles,t),Dt(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){var A;if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:a,scaleX:n,scaleY:h,styles:{display:u="inline-block",whiteSpace:c},textAlign:g="left",textWidth:f,translateX:y=0,translateY:k=0,x:b=0,y:M=0}=this,S=()=>this.textPxLength?this.textPxLength:(Dt(t,{width:"",whiteSpace:c||"nowrap"}),t.offsetWidth);if(e||Dt(t,{marginLeft:`${y}px`,marginTop:`${k}px`}),t.tagName==="SPAN"){let N,O=[o,g,t.innerHTML,f,this.textAlign].join(","),D=-(((A=this.parentGroup)==null?void 0:A.padding)*1)||0;if(f!==i){let _=S(),Q=f||0,tt=!s.styledMode&&t.style.textOverflow===""&&t.style.webkitLineClamp;(Q>i||_>Q||tt)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow==="ellipsis")&&(Dt(t,{width:(o||n||_>Q)&&j(f)?f+"px":tt?Math.min(_+1,Q)+"px":"auto",display:u,whiteSpace:c||"normal"}),this.oldTextWidth=f)}e&&(Dt(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),O!==this.cTT&&(N=s.fontMetrics(t).b,K(o)&&!e&&(o!==(this.oldRotation||0)||g!==this.oldAlign)&&Dt(t,{transform:`rotate(${o}deg)`,transformOrigin:`${D}% ${D}px`}
2),this.getSpanCorrection(!K(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,N,et(g)));let{xCorr:H=0,yCorr:Y=0}=this,F={left:`${b+H}px`,top:`${M+Y}px`,textAlign:g,transformOrigin:`${(r!=null?r:b)-H-b-D}px ${(a!=null?a:M)-Y-M-D}px`};(n||h)&&(F.transform=`scale(${n!=null?n:1},${h!=null?h:1})`),e?(super.updateTransform(),j(b)&&j(M)?(e.attr({x:b+H,y:M+Y,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),Dt(t,{display:u,textAlign:g})):Vs&&e.attr({width:0,height:0})):Dt(t,F),this.cTT=O,this.oldRotation=o,this.oldAlign=g}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let r;if(this.parentGroup=t,t&&!(r=t.div)){let a=t;for(;a;)o.push(a),a=a.parentGroup;for(let n of o.reverse())r=Zo(n,s)}(r||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,pe.setElementHTML(this.element,t!=null?t:""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let $i=Si.prototype;$i.visibilitySetter=$i.opacitySetter=yo,$i.ySetter=$i.rotationSetter=$i.rotationOriginXSetter=$i.rotationOriginYSetter=$i.xSetter,(Ps=Ge||(Ge={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},Ps.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let _o=Ge;(jt||(jt={})).registerEventOptions=function(d,t){d.eventOptions=d.eventOptions||{},ut(t.events,function(e,i){d.eventOptions[i]!==e&&(d.eventOptions[i]&&(je(d,i,d.eventOptions[i]),delete d.eventOptions[i]),ce(e)&&(d.eventOptions[i]=e,rt(d,i,e,{order:0})))})};let vs=jt,{deg2rad:Ns}=G,Ni=class{constructor(d,t,e,i,s){this.isNew=!0,this.isNewLabel=!0,this.axis=d,this.pos=t,this.type=e||"",this.parameters=s||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,E(this,"init"),e||i||this.addLabel()}addLabel(){var H,Y;let d=this,t=d.axis,e=t.options,i=t.chart,s=t.categories,o=t.logarithmic,r=t.names,a=d.pos,n=X((H=d.options)==null?void 0:H.labels,e.labels),h=t.tickPositions,u=a===h[0],c=a===h[h.length-1],g=(!n.step||n.step===1)&&t.tickInterval===1,f=h.info,y=d.label,k,b,M,S=this.parameters.category||(s?X(s[a],r[a],a):a);o&&j(S)&&(S=ht(o.lin2log(S))),t.dateTime&&(f?k=(b=i.time.resolveDTLFormat(e.dateTimeLabelFormats[!((Y=e.grid)!=null&&Y.enabled)&&f.higherRanks[a]||f.unitName])).main:j(S)&&(k=t.dateTime.getXDateFormat(S,e.dateTimeLabelFormats||{}))),d.isFirst=u,d.isLast=c;let A={axis:t,chart:i,dateTimeLabelFormat:k,isFirst:u,isLast:c,pos:a,tick:d,tickPositionInfo:f,value:S};E(this,"labelFormat",A);let N=F=>n.formatter?n.formatter.call(F,F):n.format?(F.text=t.defaultLabelFormatter.call(F),oi.format(n.format,F,i)):t.defaultLabelFormatter.call(F),O=N.call(A,A),D=b==null?void 0:b.list;D?d.shortenLabel=function(){for(M=0;M<D.length;M++)if(z(A,{dateTimeLabelFormat:D[M]}),y.attr({text:N.call(A,A)}),y.getBBox().width<t.getSlotWidth(d)-2*(n.padding||0))return;y.attr({text:""})}:d.shortenLabel=void 0,g&&t._addedPlotLB&&d.moveLabel(O,n),K(y)||d.movedLabel?y&&y.textStr!==O&&!g&&(!y.textWidth||n.style.width||y.styles.width||y.css({width:null}),y.attr({text:O}),y.textPxLength=y.getBBox().width):(d.label=y=d.createLabel(O,n),d.rotation=0)}createLabel(d,t,e){let i=this.axis,{renderer:s,styledMode:o}=i.chart,r=t.style.whiteSpace,a=K(d)&&t.enabled?s.text(d,e==null?void 0:e.x,e==null?void 0:e.y,t.useHTML).add(i.labelGroup):void 0;return a&&(o||a.css(it(t.style)),a.textPxLength=a.getBBox().width,!o&&r&&a.css({whiteSpace:r})),a}destroy(){we(this,this.axis)}getPosition(d,t,e,i){let s=this.axis,o=s.chart,r=i&&o.oldChartHeight||o.chartHe
2ight,a={x:d?ht(s.translate(t+e,void 0,void 0,i)+s.transB):s.left+s.offset+(s.opposite?(i&&o.oldChartWidth||o.chartWidth)-s.right-s.left:0),y:d?r-s.bottom+s.offset-(s.opposite?s.height:0):ht(r-s.translate(t+e,void 0,void 0,i)-s.transB)};return a.y=ee(a.y,-1e9,1e9),E(this,"afterGetPosition",{pos:a}),a}getLabelPosition(d,t,e,i,s,o,r,a){let n,h,u=this.axis,c=u.transA,g=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,f=u.staggerLines,y=u.tickRotCorr||{x:0,y:0},k=i||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign==="center"?.5:1),b=s.distance,M={};return n=u.side===0?e.rotation?-b:-e.getBBox().height:u.side===2?y.y+b:Math.cos(e.rotation*Ns)*(y.y-e.getBBox(!1,0).height/2),K(s.y)&&(n=u.side===0&&u.horiz?s.y+n:s.y),d=d+X(s.x,[0,1,0,-1][u.side]*b)+k+y.x-(o&&i?o*c*(g?-1:1):0),t=t+n-(o&&!i?o*c*(g?1:-1):0),f&&(h=r/(a||1)%f,u.opposite&&(h=f-h-1),t+=h*(u.labelOffset/f)),M.x=d,M.y=Math.round(t),E(this,"afterGetLabelPosition",{pos:M,tickmarkOffset:o,index:r}),M}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(d,t,e,i,s=!1,o){return o.crispLine([["M",d,t],["L",d+(s?0:-e),t+(s?e:0)]],i)}handleOverflow(d){var b;let t=this.axis,e=t.options.labels,i=d.x,s=t.chart.chartWidth,o=t.chart.spacing,r=X(t.labelLeft,Math.min(t.pos,o[3])),a=X(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,s-o[1])),n=this.label,h=this.rotation,u=et(t.labelAlign||n.attr("align")),c=n.getBBox().width,g=t.getSlotWidth(this),f=g,y=1,k;h||e.overflow!=="justify"?h<0&&i-u*c<r?k=Math.round(i/Math.cos(h*Ns)-r):h>0&&i+u*c>a&&(k=Math.round((s-i)/Math.cos(h*Ns))):(i-u*c<r?f=d.x+f*(1-u)-r:i+(1-u)*c>a&&(f=a-d.x+f*u,y=-1),(f=Math.min(g,f))<g&&t.labelAlign==="center"&&(d.x+=y*(g-f-u*(g-Math.min(c,f)))),(c>f||t.autoRotation&&((b=n==null?void 0:n.styles)!=null&&b.width))&&(k=f)),k&&n&&(this.shortenLabel?this.shortenLabel():n.css(z({},{width:Math.floor(k)+"px",lineClamp:+!t.isRadial})))}moveLabel(d,t){let e=this,i=e.label,s=e.axis,o=!1,r;i&&i.textStr===d?(e.movedLabel=i,o=!0,delete e.label):ut(s.ticks,function(a){o||a.isNew||a===e||!a.label||a.label.textStr!==d||(e.movedLabel=a.label,o=!0,a.labelPos=e.movedLabel.xy,delete a.label)}),!o&&(e.labelPos||i)&&(r=e.labelPos||i.xy,e.movedLabel=e.createLabel(d,t,r),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(d,t,e){var y;let i=this.axis,s=i.horiz,o=this.pos,r=X(this.tickmarkOffset,i.tickmarkOffset),a=this.getPosition(s,o,r,t),n=a.x,h=a.y,u=i.pos,c=u+i.len,g=s?n:h,f=X(e,(y=this.label)==null?void 0:y.newOpacity,1);!i.chart.polar&&(ht(g)<u||g>c)&&(e=0),e!=null||(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(a,e),this.renderLabel(a,t,f,d),this.isNew=!1,E(this,"afterRender")}renderGridLine(d,t){let e=this.axis,i=e.options,s={},o=this.pos,r=this.type,a=X(this.tickmarkOffset,e.tickmarkOffset),n=e.chart.renderer,h=this.gridLine,u,c=i.gridLineWidth,g=i.gridLineColor,f=i.gridLineDashStyle;this.type==="minor"&&(c=i.minorGridLineWidth,g=i.minorGridLineColor,f=i.minorGridLineDashStyle),h||(e.chart.styledMode||(s.stroke=g,s["stroke-width"]=c||0,s.dashstyle=f),r||(s.zIndex=1),d&&(t=0),this.gridLine=h=n.path().attr(s).addClass("highcharts-"+(r?r+"-":"")+"grid-line").add(e.gridGroup)),h&&(u=e.getPlotLinePath({value:o+a,lineWidth:h.strokeWidth(),force:"pass",old:d,acrossPanes:!1}))&&h[d||this.isNew?"attr":"animate"]({d:u,opacity:t})}renderMark(d,t){let e=this.axis,i=e.options,s=e.chart.renderer,o=this.type,r=e.tickSize(o?o+"Tick":"tick"),a=d.x,n=d.y,h=X(i[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&e.isXAxis?1:0),u=i[o!=="minor"?"tickColor":"minorTickColor"],c=this.mark,g=!c;r&&(e.opposite&&(r[0]=-r[0]),!c&&(this.mark=c=s.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||c.attr({stroke:u,"stroke-width":h})),c[g?"attr":"animate"]({d:this.getMarkPath(a,n,r[0],c.strokeWidth(),e.horiz,s),opacity:t}))}renderLabel(d,t,e,i){let s=this.axis,o=s.horiz,r=s.options,a=this.label,n=r.labels,h=n.step,u=X(this.tickmarkOffset,s.tickmarkOffset),c=d.x,g=d.y,f=!0;a&&j(c)&&(a.xy=d=this.getLabelPosition(c,g,a,o,n,u,i,h),(!this.isFirst||this.isLast||r.showFirstLabel)&&(!this.isLast||this.isFirst||r.showLastLabel)?o&&!t&&e!==0&&this.handleOverflow(d):f=!1,h&&i%h&&(f=!1),f&&j(d.y)?(d.opacity=e,a[this.isNewLabel?"attr":"animate"](d).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let d=this.label,t=this.axis;d&&!this.isNew&&(d.animate({opacity:0}
2,void 0,d.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:bo}=le,{xAxis:qs,yAxis:Jo}=_o,{defaultOptions:Ds}=Je,{registerEventOptions:vo}=vs,{deg2rad:Qo}=G,Mo=(d,t)=>ze(t,void 0,void 0,X(d.options.allowDecimals,t<.5||d.tickAmount!==void 0),!!d.tickAmount);z(Ds,{xAxis:qs,yAxis:it(qs,Jo)});class Di{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){var h,u,c,g;let s=i==="xAxis",o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,E(this,"init",{userOptions:e}),this.opposite=X(e.opposite,this.opposite),this.side=X(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;(h=this.type)!=null||(this.type=r.type||"linear"),(c=this.uniqueNames)!=null||(this.uniqueNames=(u=r.uniqueNames)!=null?u:!0),E(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=X(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames=this.type==="category"||r.categories===!0,this.categories=Ft(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=K(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},(g=this.len)!=null||(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=X(r.crosshair,Xe(t.options.tooltip.crosshairs)[+!s]);this.crosshair=n===!0?{}:n,t.axes.indexOf(this)===-1&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),Ts(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!K(this.reversed)&&(this.reversed=!0),this.labelRotation=j(a.rotation)?a.rotation:void 0,vo(this,r),E(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=it(e,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},Ds[this.coll],t),E(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=j(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,a=this.dateTimeLabelFormat,n=Ds.lang,h=n.numericSymbols,u=n.numericSymbolMagnitude||1e3,c=t.logarithmic?Math.abs(s):t.tickInterval,g=h==null?void 0:h.length,f,y;if(r)y=`${this.value}`;else if(a)y=o.dateFormat(a,s,!0);else if(g&&h&&c>=1e3)for(;g--&&y===void 0;)c>=(f=Math.pow(u,g+1))&&10*s%f==0&&h[g]!==null&&s!==0&&(y=i(s/f,-1,void 0,void 0,e)+h[g]);return y!=null||(y=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),y}getSeriesExtremes(){let t,e=this;E(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(h=>h>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,j(a)||a instanceof Date||(o=o.filter(j),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(X(e.dataMin,a),a),e.dataMax=Math.max(X(e.dataMax,n),n)));else{let h=i.applyExtremes();j(h.dataMin)&&(a=h.dataMin,e.dataMin=Math.min(X(e.dataMin,a),a)),j(h.dataMax)&&(n=h.dataMax,e.dataMax=Math.max(X(e.dataMax,n),n)),K(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),E(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){var k;let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!j(n))return NaN;let h=a.minPixelPadding,u=(a.isOrdinal||((k=a.brokenAxis)==null?void 0:k.hasBreaks)||a.logarithmic&&o)&&!!a.lin2val,c=1,g=0,f=s&&a.old?a.old.transA:a.transA,y=0;return f||(f=a.transA),i&&(c*=-1,g=a.len),a.reversed&&(c*=-1,g-=c*(a.sector||a.len)),e?(y=(t=t*c+g-h)/f+n,u&&(y=a.lin2val(y))):(u&&(t=a.val2lin(t)),y=c*(t-n)*f+g+c*h+(j(r)?f*r:0),a.isRadial||(y=ht(y))),y}toPixels(t,e){var i,s;return this.translate((s=(i=this.chart)==null?void 0:i.time.parse(t))!=null?s:NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,h=r&&i.oldCh
2artHeight||i.chartHeight,u=r&&i.oldChartWidth||i.chartWidth,c=e.transB,g=t.translatedValue,f=t.force,y,k,b,M,S;function A(O,D,H){return f!=="pass"&&(O<D||O>H)&&(f?O=ee(O,D,H):S=!0),O}let N={value:a,lineWidth:n,old:r,force:f,acrossPanes:t.acrossPanes,translatedValue:g};return E(this,"getPlotLinePath",N,function(O){y=b=(g=ee(g=X(g,e.translate(a,void 0,void 0,r)),-1e9,1e9))+c,k=M=h-g-c,j(g)?e.horiz?(k=o,M=h-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),y=b=A(y,s,s+e.width)):(y=s,b=u-e.right+(i.scrollablePixelsX||0),k=M=A(k,o,o+e.height)):(S=!0,f=!1),O.path=S&&!f?void 0:i.renderer.crispLine([["M",y,k],["L",b,M]],n||1)}),N.path}getLinearTickPositions(t,e,i){let s,o,r,a=ht(Math.floor(e/t)*t),n=ht(Math.ceil(i/t)*t),h=[];if(ht(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=ht(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return t===!0?X(e,"auto"):t!==!1?e:void 0}getMinorTickPositions(){var u;let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=(u=this.brokenAxis)!=null&&u.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],h;if(a&&a/i<this.len/3){let c=this.logarithmic;if(c)this.paddedTicks.forEach(function(g,f,y){f&&n.push.apply(n,c.getLogTickPositions(i,y[f-1],y[f],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(h=o+(e[0]-o)%i;h<=r&&h!==n[0];h+=i)n.push(h)}return n.length!==0&&this.trimTicks(n),n}adjustForMinRange(){var c,g,f;let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:o,minRange:r}=this,a,n,h,u;this.isXAxis&&r===void 0&&!e&&(r=K(t.min)||K(t.max)||K(t.floor)||K(t.ceiling)?null:Math.min(5*(pt(this.series.map(y=>{let k=y.getColumn("x");return y.xIncrement?k.slice(0,2):k}))||0),this.dataMax-this.dataMin)),j(s)&&j(o)&&j(r)&&s-o<r&&(n=this.dataMax-this.dataMin>=r,a=(r-s+o)/2,h=[o-a,(c=i.parse(t.min))!=null?c:o-a],n&&(h[2]=e?e.log2lin(this.dataMin):this.dataMin),u=[(o=Pe(h))+r,(g=i.parse(t.max))!=null?g:o+r],n&&(u[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=Ze(u))-o<r&&(h[0]=s-r,h[1]=(f=i.parse(t.min))!=null?f:s-r,o=Pe(h))),this.minRange=r,this.min=o,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(s){let o=s.closestPointRange,r=s.getColumn("x");r.length===1?i.push(r[0]):s.sorted&&K(o)&&s.reserveSpace()&&(e=K(e)?Math.min(e,o):o)}),i.length&&(i.sort((s,o)=>s-o),t=pt([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=Ft(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,K(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):X(i.keys[t.name],-1):t.series.autoIncrement()),s===-1?!e&&i&&(o=i.length):j(s)&&(o=s),o!==void 0?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(i){delete e.keys[i]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(i=>{i.xIncrement=null,(!i.points||i.isDirtyData)&&(t.max=Math.max(t.max||0,i.dataTable.rowCount-1),i.processData(),i.generatePoints());let s=i.getColumn("x").slice();i.data.forEach((o,r)=>{let a=s[r];o!=null&&o.options&&o.name!==void 0&&(a=t.nameToX(o))!==void 0&&a!==o.x&&(s[r]=o.x=a)}),i.dataTable.setColumn("x",s)}))}setAxisTranslation(){var g;let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,h=0,u,c=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(f){let y=s?1:o?X(f.options.pointRange,a,0):t.axisPointRange||0,k=f.options.pointPlacement;if(r=Math.max(r,y),!t.single||s){let b=f.is("xrange")?!o:o;n=Math.max(n,b&&Rt(k)?0:y/2),h=Math.max(h,b&&k==="on"?0:y)}}),u=(g=t.ordinal)!=null&&g.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=u,t.pointRangePadding=h*=u,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=a)),t.translationSlope=t.transA=c=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=c*n,E(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return j(t)&&j(e)&&t-e||void 0}setTickInterval(t){var ct,yt,xt,Et;let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:h,softThreshold:u}=this,c=i.time,g=j(this.threshold)?this.threshold:void 0,f=this.minRange||0,{ceiling:y,floor:k,linkedTo:b,softMax:M,softMin:S}=h,A=j(b)&&((ct=i[this.coll])==null?void 0:ct[b]),N=h.tickPixelInterval,O=h.maxPadding,D=h.minPadding,H=0,Y,F=j(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,_,Q,tt,dt;if(r||e||A||this.getTickAmount(),tt=X(this.userMin,c.parse(h.min)),dt=X(this.userMax,c.parse(h.max)),A?(this.linkedParent=A,Y=A.getExtremes(),this.min=X(Y.min,Y.dataMin),this.max=X(Y.max,Y.dataMax),this.type!==A.type&&ye(11,!0,i)):(u&&K(g)&&j(s)&&j(o)&&(o>=g?(_=g,D=0):s<=g&&(Q=g,O=0)),this.min=X(tt,_,o),this.max=X(dt,Q,s)),j(this.max)&&j(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,X(o,this.min))&&ye(10,!0,i),this.min=ht(n.log2lin(this.min),16),this.max=ht(n.log2lin(this.max),16)),this.range&&j(o)&&(this.userMin=this.min=tt=Math.max(o,this.minFromRange()||0),this.userMax=dt=this.max,this.range=void 0)),E(this,"foundExtremes"),this.adjustForMinRange(),j(this.min)&&j(this.max)){if(!j(this.userMin)&&j(S)&&S<this.min&&(this.min=tt=S),!j(this.userMax)&&j(M)&&M>this.max&&(this.max=dt=M),e||this.axisPointRange||(yt=this.stacking)!=null&&yt.usePercentage||A||(H=this.max-this.min)&&(!K(tt)&&D&&(this.min-=H*D),!K(dt)&&O&&(this.max+=H*O)),!j(this.userMin)&&j(k)&&(this.min=Math.max(this.min,k)),!j(this.userMax)&&j(y)&&(this.max=Math.min(this.max,y)),u&&j(o)&&j(s)){let vt=g||0;!K(tt)&&this.min<vt&&o>=vt?this.min=h.minRange?Math.min(vt,this.max-f):vt:!K(dt)&&this.max>vt&&s<=vt&&(this.max=h.minRange?Math.max(vt,this.min+f):vt)}!i.polar&&this.min>this.max&&(K(h.min)?this.max=this.min:K(h.max)&&(this.min=this.max)),H=this.max-this.min}if(this.min!==this.max&&j(this.min)&&j(this.max)?A&&!F&&N===A.options.tickPixelInterval?this.tickInterval=F=A.tickInterval:this.tickInterval=X(F,this.tickAmount?H/Math.max(this.tickAmount-1,1):void 0,e?1:H*N/Math.max(this.len,N)):this.tickInterval=1,a&&!t){let vt=this.min!==((xt=this.old)==null?void 0:xt.min)||this.max!==((Et=this.old)==null?void 0:Et.max);
2this.series.forEach(function(zt){var Zt;zt.forceCrop=(Zt=zt.forceCropping)==null?void 0:Zt.call(zt),zt.processData(vt)}),E(this,"postProcessData",{hasExtremesChanged:vt})}this.setAxisTranslation(),E(this,"initialAxisTranslation"),this.pointRange&&!F&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let mt=X(h.minTickInterval,r&&!this.series.some(vt=>!vt.sorted)?this.closestPointRange:0);!F&&mt&&this.tickInterval<mt&&(this.tickInterval=mt),r||n||F||(this.tickInterval=Mo(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var u,c,g;let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,a=o&&t.endOnTick,n=[],h;if(this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&K(this.min)&&!this.tickAmount&&(this.min%1==0||t.allowDecimals!==!1),e)n=e.slice();else if(j(this.min)&&j(this.max)){if(!((u=this.ordinal)!=null&&u.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],ye(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,(c=this.ordinal)==null?void 0:c.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let f=this.tickInterval,y=f;for(;y<=2*f&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=Mo(this,y*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max,this]))&&(n=h))}this.isDirty||n.length===((g=this.tickPositions)==null?void 0:g.length)||(this.isDirty=!0),this.tickPositions=n,this.minorTickInterval=s==="auto"&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&j(this.min)&&j(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(f=>f.is("heatmap")&&f.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),E(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(E(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();t.length===0&&K(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,a=this.coll==="yAxis"&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(r.alignTicks!==!1&&o.alignTicks||a)&&o.startOnTick!==!1&&o.endOnTick!==!1&&!e.logarithmic){let h=c=>{let{horiz:g,options:f}=c;return[g?f.left:f.top,f.width,f.height,f.pane].join(",")},u=h(this);i[this.coll].forEach(function(c){let{series:g}=c;g.length&&g.some(f=>f.visible)&&c!==e&&h(c)===u&&(t=!0,s.push(c))})}if(t&&a){s.forEach(u=>{let c=u.getThresholdAlignment(e);j(c)&&n.push(c)});let h=n.length>1?n.reduce((u,c)=>u+=c,0)/n.length:void 0;s.forEach(u=>{u.thresholdAlignment=h})}return t}getThresholdAlignment(t){if((!j(this.dataMin)||this!==t&&this.series.some(e=>{var i;return e.isDirty||e.isDirtyData||((i=e.xAxis)==null?void 0:i.isDirty)}))&&this.getSeriesExtremes(),j(this.threshold)){let e=ee((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;K(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:a,thresholdAlignment:n}=t,h=r==null?void 0:r.length,u=X(t.threshold,t.softThreshold?0:null),c,g,f=t.tickInterval,y,k=()=>r.push(ht(r[r.length-1]+f)),b=()=>r.unshift(ht(r[0]-f));if(j(n)&&(y=n===0?0:n===1?a-1:Math.round(ee(n*(a-1),1,a-2)),o.reversed&&(y=a-1-y)),t.hasData()&&j(s)&&j(i)){let M=()=>{t.transA*=(h-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(j(y)&&j(t.threshold)){for(;r[y]!==u||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)r[y]===void 0||r[y]>t.threshold?b():k();if(f>8*t.tickInterval)break;f*=2}M()}else if(h<a){for(;r.length<a;)r.length%2||s===u?k():b();M()}if(K(e)){for(g=c=r.length;g--;)(e===3&&g%2==1||e<=2&&g>0&&g<c-1)&&r.splice(g,1);t.finalTickAmt=void 0}}}setScale(){var r,a,n,h,u;let{coll:t,stacking:e}=this,i=!1,s=!1;
2this.series.forEach(c=>{var g;i=i||c.isDirtyData||c.isDirty,s=s||((g=c.xAxis)==null?void 0:g.isDirty)||!1}),this.setAxisSize();let o=this.len!==((r=this.old)==null?void 0:r.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==((a=this.old)==null?void 0:a.userMin)||this.userMax!==((n=this.old)==null?void 0:n.userMax)||this.alignToOthers()?(e&&t==="yAxis"&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&t==="xAxis"&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==((h=this.old)==null?void 0:h.min)||this.max!==((u=this.old)==null?void 0:u.max))):e&&e.cleanStacks(),i&&delete this.allExtremes,E(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(a=>{delete a.kdTree}),t=r.time.parse(t),e=r.time.parse(e),E(this,"setExtremes",o=z(o,{min:t,max:e}),a=>{this.userMin=a.min,this.userMax=a.max,this.eventArgs=a,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(te(X(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(te(X(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(te(X(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(te(X(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?ht(t.lin2log(this.min)):this.min,max:t?ht(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return t===null||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return E(this,"autoLabelAlign",i,function(s){e>15&&e<165?s.align="right":e>195&&e<345&&(s.align="left")}),i.align}tickSize(t){let e=this.options,i=X(e[t==="tick"?"tickWidth":"minorTickWidth"],t==="tick"&&this.isXAxis&&!this.categories?1:0),s=e[t==="tick"?"tickLength":"minorTickLength"],o;i&&s&&(e[t+"Position"]==="inside"&&(s=-s),o=[s,i]);let r={tickSize:o};return E(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,a=ht(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),h=function(y){let k=(y+2*e)/(o||1);return(k=k>1?Math.ceil(k):1)*s>n&&y!==1/0&&o!==1/0&&n&&(k=Math.ceil(n/s)),ht(k*s)},u=s,c,g=Number.MAX_VALUE,f;if(i){if(!t.staggerLines&&(j(r)?f=[r]:o<t.autoRotationLimit&&(f=t.autoRotation)),f){let y,k;for(let b of f)(b===r||b&&b>=-90&&b<=90)&&(k=(y=h(Math.abs(a/Math.sin(Qo*b))))+Math.abs(b/360))<g&&(g=k,c=b,u=y)}}else u=h(.75*a);return this.autoRotation=f,this.labelRotation=X(c,j(r)?r:0),t.step?s:u}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&j(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let a=s.style.width;if(a!==void 0)return parseInt(String(a),10);if(!this.opposite&&r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,a=this.horiz,n=this.getSlotWidth(),h=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),u={},c=this.labelMetrics(),g=r.lineClamp,f,y=g!=null?g:Math.floor(this.len/(i.length*c.h))||1,k=0;Rt(o.rotation)||(u.rotation=o.rotation||0),i.forEach(function(b){var A;let M=s[b];M.movedLabel&&M.replaceMovedLabel();let S=((A=M.label)==null?void 0:A.textPxLength)||0;S>k&&(k=S)}),this.maxLabelLength=k,this.autoRotation?k>h&&k>c.h?u.rotation=this.labelRotation:this.labelRotation=0:n&&(f=h),u.rotation&&(f=k>.5*t.chartHeight?.33*t.chartHeight:k,g||(y=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(u.align=this.labelAlign),i.forEac
2h(function(b){let M=s[b],S=M==null?void 0:M.label,A=r.width,N={};S&&(S.attr(u),M.shortenLabel?M.shortenLabel():f&&!A&&r.whiteSpace!=="nowrap"&&(f<(S.textPxLength||0)||S.element.tagName==="SPAN")?S.css(z(N,{width:`${f}px`,lineClamp:y})):!S.styles.width||N.width||A||S.css({width:"auto"}),M.rotation=u.rotation)},this),this.tickRotCorr=e.rotCorr(c.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&K(this.min)&&K(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(it(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new Ni(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(a,n,h)=>o.g(a).attr({zIndex:h}).addClass(`highcharts-${i.toLowerCase()}${n} `+(this.isRadial?`highcharts-radial-axis${n} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,u=t.hasData(),c=s.title,g=s.labels,f=j(s.crossing),y=e.axisOffset,k=e.clipOffset,b=[-1,1,1,-1][o],M,S=0,A,N=0,O=0,D,H;if(t.showAxis=M=u||s.showEmpty,t.staggerLines=t.horiz&&g.staggerLines||void 0,t.createGroups(),u||t.isLinked?(a.forEach(function(Y){t.generateTick(Y)}),t.renderUnsquish(),t.reserveSpaceDefault=o===0||o===2||{1:"left",3:"right"}[o]===t.labelAlign,X(g.reserveSpace,!f&&null,t.labelAlign==="center"||null,t.reserveSpaceDefault)&&a.forEach(function(Y){O=Math.max(r[Y].getLabelSize(),O)}),t.staggerLines&&(O*=t.staggerLines),t.labelOffset=O*(t.opposite?-1:1)):ut(r,function(Y,F){Y.destroy(),delete r[F]}),c!=null&&c.text&&c.enabled!==!1&&(t.addTitle(M),M&&!f&&c.reserveSpace!==!1&&(t.titleOffset=S=t.axisTitle.getBBox()[i?"height":"width"],N=K(A=c.offset)?0:X(c.margin,i?5:10))),t.renderLine(),t.offset=b*X(s.offset,y[o]?y[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},H=o===0?-t.labelMetrics().h:o===2?t.tickRotCorr.y:0,D=Math.abs(O)+N,O&&(D-=H,D+=b*(i?X(g.y,t.tickRotCorr.y+b*g.distance):X(g.x,b*g.distance))),t.axisTitleMargin=X(A,D),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),n!=="colorAxis"&&k){let Y=this.tickSize("tick");y[o]=Math.max(y[o],(t.axisTitleMargin||0)+S+b*t.offset,D,a!=null&&a.length&&Y?Y[0]+b*t.offset:0);let F=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;k[h]=Math.max(k[h],F)}E(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){!this.axisLine&&(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,u=r.x,c=r.y,g=this.chart.renderer.fontMetrics(t),f=t?Math.max(t.getBBox(!1,0).height-g.h-1,0):0,y={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],k=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-f,f,g.f,-f][this.side],b={x:e?y+u:k+(n?this.width:0)+h+u,y:e?k+c-(n?this.height:0)+h:y+c};return E(this,"afterGetTitlePosition",{titlePosition:b}),b}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new Ni(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
2renderTick(t,e,i){var r;let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||(r=this.grid)!=null&&r.isColumn)&&(o[t]||(o[t]=new Ni(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,u=i.axisTitle,c=i.ticks,g=i.minorTicks,f=i.alternateBands,y=a.stackLabels,k=a.alternateGridColor,b=a.crossing,M=i.tickmarkOffset,S=i.axisLine,A=i.showAxis,N=bo(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[c,g,f].forEach(function(O){ut(O,function(D){D.isActive=!1})}),j(b)){let O=this.isXAxis?s.yAxis[0]:s.xAxis[0],D=[1,-1,-1,1][this.side];if(O){let H=O.toPixels(b,!0);i.horiz&&(H=O.len-H),i.offset=D*H}}if(i.hasData()||n){let O=i.chart.hasRendered&&i.old&&j(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(D){i.renderMinorTick(D,O)}),h.length&&(h.forEach(function(D,H){i.renderTick(D,H,O)}),M&&(i.min===0||i.single)&&(c[-1]||(c[-1]=new Ni(i,-1,null,!0)),c[-1].render(-1))),k&&h.forEach(function(D,H){e=h[H+1]!==void 0?h[H+1]+M:i.max-M,H%2==0&&D<i.max&&e<=i.max+(s.polar?-M:M)&&(f[D]||(f[D]=new G.PlotLineOrBand(i,{})),t=D+M,f[D].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:k,className:"highcharts-alternate-grid"},f[D].render(),f[D].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEach(function(D){i.addPlotBandOrLine(D)}))}[c,g,f].forEach(function(O){let D=[],H=N.duration;ut(O,function(Y,F){Y.isActive||(Y.render(F,!1,0),Y.isActive=!1,D.push(F))}),ai(function(){let Y=D.length;for(;Y--;)O[D[Y]]&&!O[D[Y]].isActive&&(O[D[Y]].destroy(),delete O[D[Y]])},O!==f&&s.hasRendered&&H?H:0)}),S&&(S[S.isPlaced?"animate":"attr"]({d:this.getLinePath(S.strokeWidth())}),S.isPlaced=!0,S[A?"show":"hide"](A)),u&&A&&(u[u.isNew?"attr":"animate"](i.getTitlePosition(u)),u.isNew=!1),y!=null&&y.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,E(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||Di.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(E(this,"destroy",{keepEvents:t}),t||je(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(o){we(o)}),i){let o=i.length;for(;o--;)i[o].destroy()}for(let o in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(r){e[r]&&(e[r]=e[r].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[o]=e.plotLinesAndBandsGroups[o].destroy();ut(e,function(o,r){e.getKeepProps().indexOf(r)===-1&&delete e[r]}),this.eventOptions=s}drawCrosshair(t,e){var c,g;let i,s,o,r,a=this.crosshair,n=(c=a==null?void 0:a.snap)!=null?c:!0,h=this.chart,u=this.cross;if(E(this,"drawCrosshair",{e:t,point:e}),t||(t=(g=this.cross)==null?void 0:g.e),a&&(K(e)||!n)!==!1){if(clearTimeout(this.crossShowTimer),n?K(e)&&(s=X(this.coll!=="colorAxis"?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),K(s)&&(r={value:e&&(this.isXAxis?e.x:X(e.stackY,e.y)),translatedValue:s},h.polar&&z(r,{isCrosshair:!0,chartX:t==null?void 0:t.chartX,chartY:t==null?void 0:t.chartY,point:e}),i=this.getPlotLinePath(r)||null),!K(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=ai(()=>{let f=this.cross;f||(this.cross=f=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(a.className||"")).attr({zIndex:X(a.zIndex,2)}).add(),!h.styledMode&&(f.attr({stroke:a.color||(o?ue.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":X(a.width,1)}).css({"pointer-events":"none"}),a.dashStyle&&f.attr({dashstyle:a.dashStyle}))),f.show().animate({d:i},bo(a==null?void 0:a.animation)),o&&!a.width&&f.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!u||u.attr("visibility")==="hidden")&&a.showDelay||0)}else this.hideCrosshair();E(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),E(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=it(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,
2X(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);_e(e.axes,this),_e(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,X(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}Di.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],(function(d){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function e(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new i(this))}d.compose=function(s){return s.keepProps.includes("dateTime")||(s.keepProps.push("dateTime"),s.prototype.getTimeTicks=t,rt(s,"afterSetType",e)),s};class i{constructor(o){this.axis=o}normalizeTimeTickInterval(o,r){let a=r||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],n=a[a.length-1],h=ie[n[0]],u=n[1],c,g;for(c=0;c<a.length;c++)if(h=ie[(n=a[c])[0]],u=n[1],a[c+1]){let y=(h*u[u.length-1]+ie[a[c+1][0]])/2;if(o<=y){g=y/o;break}}h===ie.year&&o<5*h&&(u=[1,2,5]);let f=ze(o/h,u,n[0]==="year"?Math.max(kt(o/h),1):1);return{unitRange:h,count:f,unitName:n[0],match:g}}getXDateFormat(o,r){let{axis:a}=this,n=a.chart.time;return a.closestPointRange?n.getDateFormat(a.closestPointRange,o,a.options.startOfWeek,r)||n.resolveDTLFormat(r.year).main:n.resolveDTLFormat(r.day).main}}d.Additions=i})(ls||(ls={}));let tr=ls;(function(d){function t(){var s;this.type!=="logarithmic"?this.logarithmic=void 0:(s=this.logarithmic)!=null||(this.logarithmic=new i(this))}function e(){let s=this.logarithmic;s&&(this.lin2val=function(o){return s.lin2log(o)},this.val2lin=function(o){return s.log2lin(o)})}d.compose=function(s){return s.keepProps.includes("logarithmic")||(s.keepProps.push("logarithmic"),rt(s,"afterSetType",t),rt(s,"afterInit",e)),s};class i{constructor(o){this.axis=o}getLogTickPositions(o,r,a,n){let h=this.axis,u=h.len,c=h.options,g=[];if(n||(this.minorAutoInterval=void 0),o>=.5)o=Math.round(o),g=h.getLinearTickPositions(o,r,a);else if(o>=.08){let f,y,k,b,M,S,A,N=Math.floor(r);for(f=o>.3?[1,2,4]:o>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],y=N;y<a+1&&!A;y++)for(k=0,b=f.length;k<b&&!A;k++)(M=this.log2lin(this.lin2log(y)*f[k]))>r&&(!n||S<=a)&&S!==void 0&&g.push(S),S>a&&(A=!0),S=M}else{let f=this.lin2log(r),y=this.lin2log(a),k=n?h.getMinorTickInterval():c.tickInterval,b=c.tickPixelInterval/(n?5:1),M=n?u/h.tickPositions.length:u;o=ze(o=X(k==="auto"?null:k,this.minorAutoInterval,(y-f)*b/(M||1))),g=h.getLinearTickPositions(o,f,y).map(this.log2lin),n||(this.minorAutoInterval=o/5)}return n||(h.tickInterval=o),g}lin2log(o){return Math.pow(10,o)}log2lin(o){return Math.log(o)/Math.LN10}}d.Additions=i})(_t||(_t={}));let er=_t;(function(d){let t;function e(h){return this.addPlotBandOrLine(h,"plotBands")}function i(h,u){let c=this.userOptions,g=new t(this,h);if(this.visible&&(g=g.render()),g){if(this._addedPlotLB||(this._addedPlotLB=!0,(c.plotLines||[]).concat(c.plotBands||[]).forEach(f=>{this.addPlotBandOrLine(f)})),u){let f=c[u]||[];f.push(h),c[u]=f}this.plotLinesAndBands.push(g)}return g}function s(h){return this.addPlotBandOrLine(h,"plotLines")}function o(h,u,c){c=c||this.options;let g=this.getPlotLinePath({value:u,force:!0,acrossPanes:c.acrossPanes}),f=[],y=this.horiz,k=!j(this.min)||!j(this.max)||h<this.min&&u<this.min||h>this.max&&u>this.max,b=this.getPlotLinePath({value:h,force:!0,acrossPanes:c.acrossPanes}),M,S=1,A;if(b&&g)for(k&&(A=b.toString()===g.toString(),S=0),M=0;M<b.length;M+=2){let N=b[M],O=b[M+1],D=g[M],H=g[M+1];(N[0]==="M"||N[0]==="L")&&(O[0]==="M"||O[0]==="L")&&(D[0]==="M"||D[0]==="L")&&(H[0]==="M"||H[0]==="L")&&(y&&D[1]===N[1]?(D[1]+=S,H[1]+=S):y||D[2]!==N[2]||(D[2]+=S,H[2]+=S),f.push(["M",N[1],N[2]],["L",O[1],O[2]],["L",H[1],H[2]],["L",D[1],D[2]],["Z"])),f.isFlat=A}return f}function r(h){this.removePlotBandOrLine(h)}function a(h){let u=this.plotLinesAndBands,c=this.options,g=this.userOptions;if(u){let f=u.length;for(;f--;)u[f].id===h&&u[f].destroy();[c.plotLines||[],g.plotLines||[],c.plotBands||[],g.plotBands||[]].forEac
2h(function(y){var k;for(f=y.length;f--;)((k=y[f])==null?void 0:k.id)===h&&_e(y,y[f])})}}function n(h){this.removePlotBandOrLine(h)}d.compose=function(h,u){let c=u.prototype;return c.addPlotBand||(t=h,z(c,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:o,removePlotBand:r,removePlotLine:n,removePlotBandOrLine:a})),u}})(hs||(hs={}));let ir=hs;class Pi{static compose(t,e){return rt(t,"afterInit",function(){this.labelCollectors.push(()=>{var s;let i=[];for(let o of this.axes)for(let{label:r,options:a}of o.plotLinesAndBands)r&&!((s=a==null?void 0:a.label)!=null&&s.allowOverlap)&&i.push(r);return i})}),ir.compose(Pi,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){var F,_,Q;E(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:h}=t.chart,u={},c=h.parse(e.to),g=h.parse(e.from),f=h.parse(e.value),y=e.borderWidth,k=e.label,{label:b,svgElem:M}=this,S=[],A,N=K(g)&&K(c),O=K(f),D=!M,H={class:"highcharts-plot-"+(N?"band ":"line ")+(e.className||"")},Y=N?"bands":"lines";if(!t.chart.styledMode&&(O?(H.stroke=o||"#999999",H["stroke-width"]=X(e.width,1),e.dashStyle&&(H.dashstyle=e.dashStyle)):N&&(H.fill=o||"#e6e9ff",y&&(H.stroke=e.borderColor,H["stroke-width"]=y))),u.zIndex=a,Y+="-"+a,(A=t.plotLinesAndBandsGroups[Y])||(t.plotLinesAndBandsGroups[Y]=A=n.g("plot-"+Y).attr(u).add()),M||(this.svgElem=M=n.path().attr(H).add(A)),K(f))S=t.getPlotLinePath({value:(F=s==null?void 0:s.log2lin(f))!=null?F:f,lineWidth:M.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(K(g)&&K(c)))return;S=t.getPlotBandPath((_=s==null?void 0:s.log2lin(g))!=null?_:g,(Q=s==null?void 0:s.log2lin(c))!=null?Q:c,e)}return!this.eventsAdded&&r&&(ut(r,(tt,dt)=>{M==null||M.on(dt,mt=>{r[dt].apply(this,[mt,this])})}),this.eventsAdded=!0),(D||!M.d)&&(S!=null&&S.length)?M.attr({d:S}):M&&(S?(M.show(),M.animate({d:S})):M.d&&(M.hide(),b&&(this.label=b=b.destroy()))),k&&(K(k.text)||K(k.formatter))&&(S!=null&&S.length)&&t.width>0&&t.height>0&&!S.isFlat?(k=it(Ii({align:i&&N?"center":void 0,x:i?!N&&4:10,verticalAlign:!i&&N?"middle":void 0,y:i?N?16:10:N?6:-4,rotation:i&&!N?90:0},N?{inside:!0}:{}),k),this.renderLabel(k,S,N,a)):b&&b.hide(),this}renderLabel(t,e,i,s){var y,k,b;let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(it({color:(k=(y=o.chart.options.title)==null?void 0:y.style)==null?void 0:k.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],u=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],c=Ze(h),g=Ze(u),f=Pe(h)-c;n.align(t,!1,{x:c,y:g,width:f,height:Pe(u)-g}),n.alignAttr.y-=r.fontMetrics(n).b,(!n.alignValue||n.alignValue==="left"||K(a))&&n.css({width:(((b=t.style)==null?void 0:b.width)||(i&&a?f:n.rotation===90?o.height-(n.alignAttr.y-o.top):(t.clip?o.width+o.left:o.chart.chartWidth)-n.alignAttr.x))+"px"}),n.show(!0)}getLabelText(t){return K(t.formatter)?t.formatter.call(this,this):t.text}destroy(){_e(this.axis.plotLinesAndBands,this),delete this.axis,we(this)}}let{animObject:sr}=le,{format:is}=oi,{composed:ko,dateFormats:or,doc:wo,isSafari:rr}=G,{distribute:ar}=Es,Bs=d=>{clearTimeout(d.hideTimer),clearTimeout(d.showTimer)};class $s{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(e=>{let i=e.series.tooltipOptions,s=e.formatPrefix||"point";return(i[s+"Formatter"]||e.tooltipFormatter).call(e,i[s+"Format"]||"",e)})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e==null?void 0:e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||Xe(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),Ui(this.container)),$t(this.hideTimer),Bs(this)}getAnchor(t,e){var u;let i,{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if(t=Xe(t),(u=t[0].series)!=null&&u.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.
2slice().reverse()),this.followPointer&&e)e.chartX===void 0&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let c=0,g=0;t.forEach(function(f){let y=f.pos(!0);y&&(c+=y[0],g+=y[1])}),c/=t.length,g/=t.length,this.shared&&t.length>1&&e&&(r?c=e.chartX:g=e.chartY),i=[c-n,g-a]}let h={point:t[0],ret:i};return E(this,"getAnchor",h),h.ret.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+X(t.colorIndex,o.colorIndex),r==null?void 0:r.className].filter(Rt).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){var h;let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let u=!this.label.hasClass("highcharts-label");(!r&&u||r&&!u)&&this.destroy()}if(!this.label){if(this.outside){let u=this.chart,c=u.options.chart.style,g=ki.getRendererType();this.container=a=G.doc.createElement("div"),a.className="highcharts-tooltip-container "+(u.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),Dt(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,((c==null?void 0:c.zIndex)||0)+3)}),this.renderer=n=new g(a,0,0,c,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let u=this.label;[u.xSetter,u.ySetter].forEach((c,g)=>{u[g?"ySetter":"xSetter"]=f=>{c.call(u,i.distance),u[g?"y":"x"]=f,a&&(a.style[g?"top":"left"]=`${f}px`)}})}this.label.attr({zIndex:8}).shadow((h=o.shadow)!=null?h:!o.fixed).add()}return a&&!a.parentElement&&G.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=wo,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){var dt,mt;let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:u,polar:c}=o,{plotX:g=0,plotY:f=0}=i,y={},k=n&&i.h||0,{height:b,width:M}=this.getPlayingField(),S=a.getChartPosition(),A=ct=>{let yt=ct==="x";return[ct,yt?M:b,yt?t:e].concat(r?[yt?t*S.scaleX:e*S.scaleY,yt?S.left-s+(g+h)*S.scaleX:S.top-s+(f+u)*S.scaleY,0,yt?M:b]:[yt?t:e,yt?g+h:f+u,yt?h:u,yt?h+o.plotWidth:u+o.plotHeight])},N=A("y"),O=A("x"),D,H=!!i.negative;!c&&((mt=(dt=o.hoverSeries)==null?void 0:dt.yAxis)!=null&&mt.reversed)&&(H=!H);let Y=!this.followPointer&&X(i.ttBelow,!c&&!n===H),F=function(ct,yt,xt,Et,vt,zt,Zt){let De=r?ct==="y"?s*S.scaleY:s*S.scaleX:s,Vt=(xt-Et)/2,oe=Et<vt-s,Ht=vt+s+Et<yt,It=vt-De-xt+Vt,de=vt+De-Vt;if(Y&&Ht)y[ct]=de;else if(!Y&&oe)y[ct]=It;else if(oe)y[ct]=Math.min(Zt-Et,It-k<0?It:It-k);else{if(!Ht)return y[ct]=0,!1;y[ct]=Math.max(zt,de+k+xt>yt?de:de+k)}},_=function(ct,yt,xt,Et,vt){if(vt<s||vt>yt-s)return!1;vt<xt/2?y[ct]=1:vt>yt-Et/2?y[ct]=yt-Et-2:y[ct]=vt-xt/2},Q=function(ct){[N,O]=[O,N],D=ct},tt=()=>{F.apply(0,N)!==!1?_.apply(0,O)!==!1||D||(Q(!0),tt()):D?y.x=y.y=0:(Q(!0),tt())};return(n&&!c||this.len>1)&&Q(),tt(),r&&(y.x-=S.left,y.y-=S.top),y}getFixedPosition(t,e,i){var g;let s=i.series,{chart:o,options:r,split:a}=this,n=r.position,h=n.relativeTo,u=r.shared||(g=s==null?void 0:s.yAxis)!=null&&g.isRadial&&(h==="pane"||!h)?"plotBox":h,c=u==="chart"?o.renderer:o[u]||o.getClipBox(s,!0);return{x:c.x+(c.width-t)*et(n.align)+n.x,y:c.y+(c.height-e)*et(n.verticalAlign)+(!a&&n.y||0)}}hide(t){let e=this;Bs(this),t=X(t,this.options.hideDelay),this.isHidden||(this.hideTimer=ai(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
2,{duration:t&&150,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=X(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:o,options:r}=this,a=sr(!o&&!this.isHidden&&!r.fixed&&r.animation),n=o||(this.len||0)>1,h={x:t,y:e};n?h.anchorX=h.anchorY=NaN:(h.anchorX=i,h.anchorY=s),a.step=()=>this.drawTracker(),this.getLabel().animate(h,a)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:a}=this,n=Xe(t),h=n[0],u=o.format,c=o.formatter||i.defaultFormatter,g=s.styledMode,f=i.allowShared;if(!o.enabled||!h.series)return;Bs(this),i.allowShared=!(!Ft(t)&&t.series&&t.series.noSharedTooltip),f=f&&!i.allowShared,i.followPointer=!i.split&&h.series.tooltipOptions.followPointer;let y=i.getAnchor(t,e),k=y[0],b=y[1];a&&i.allowShared&&(r.applyInactiveState(n),n.forEach(A=>A.setState("hover")),h.points=n),this.len=n.length;let M=Rt(u)?is(u,h,s):c.call(h,i,h);h.points=void 0;let S=h.series;this.distance=X(S.tooltipOptions.distance,16),M===!1?this.hide():this.showTimer=ai(()=>{if(i.split&&i.allowShared)i.renderSplit(M,n);else{let A=k,N=b;if(e&&r.isDirectTouch&&(A=e.chartX-s.plotLeft,N=e.chartY-s.plotTop),!(s.polar||S.options.clip===!1||n.some(O=>r.isDirectTouch||O.series.shouldShowTooltip(A,N))))return void i.hide();{let O=i.getLabel(f&&i.tt||{});(!o.style.width||g)&&O.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),O.attr({class:i.getClassName(h),text:Ft(M)?M.join(""):M}),this.outside&&O.attr({x:ee(O.x||0,0,this.getPlayingField().width-(O.width||0)-1)}),g||O.attr({stroke:o.borderColor||h.color||S.color||"#666666"}),i.updatePosition({plotX:k,plotY:b,negative:h.negative,ttBelow:h.ttBelow,series:S,h:y[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),E(this,"refresh")}renderSplit(t,e){var Zt,De;let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:u=0,scrollablePixelsX:c,styledMode:g},distance:f,options:y,options:{fixed:k,position:b,positioner:M},pointer:S}=i,{scrollLeft:A=0,scrollTop:N=0}=((Zt=s.scrollablePlotArea)==null?void 0:Zt.scrollingContainer)||{},O=i.outside&&typeof c!="number"?wo.documentElement.getBoundingClientRect():{left:A,right:A+o,top:N,bottom:N+r},D=i.getLabel(),H=this.renderer||s.renderer,Y=!!((De=s.xAxis[0])!=null&&De.opposite),{left:F,top:_}=S.getChartPosition(),Q=M||k,tt=h+N,dt=0,mt=a-u,ct=function(Vt,oe,Ht,It,de=[0,0],be=!0){let ve,Ce;if(Ht.isHeader)Ce=Y?0:mt,ve=ee(de[0]-Vt/2,O.left,O.right-Vt-(i.outside?F:0));else if(k&&Ht){let ui=i.getFixedPosition(Vt,oe,Ht);ve=ui.x,Ce=ui.y-tt}else Ce=de[1]-tt,ve=ee(ve=be?de[0]-Vt-f:de[0]+f,be?ve:O.left,O.right);return{x:ve,y:Ce}};Rt(t)&&(t=[!1,t]);let yt=t.slice(0,e.length+1).reduce(function(Vt,oe,Ht){if(oe!==!1&&oe!==""){let It=e[Ht-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},de=It.isHeader,be=de?i:It.series,ve=be.tt=(function(We,ge,Yi){var Qs;let gi=We,{isHeader:fi,series:Js}=ge,Ei=Js.tooltipOptions||y;if(!gi){let Xs={padding:Ei.padding,r:Ei.borderRadius};g||(Xs.fill=Ei.backgroundColor,Xs["stroke-width"]=(Qs=Ei.borderWidth)!=null?Qs:k&&!fi?0:1),gi=H.label("",0,0,Ei[fi?"headerShape":"shape"]||(k&&!fi?"rect":"callout"),void 0,void 0,Ei.useHTML).addClass(i.getClassName(ge,!0,fi)).attr(Xs).add(D)}return gi.isActive=!0,gi.attr({text:Yi}),g||gi.css(Ei.style).attr({stroke:Ei.borderColor||ge.color||Js.color||"#333333"}),gi})(be.tt,It,oe.toString()),Ce=ve.getBBox(),ui=Ce.width+ve.strokeWidth();de&&(dt=Ce.height,mt+=dt,Y&&(tt-=dt));let{anchorX:Oi,anchorY:$e}=(function(We){let ge,Yi,{isHeader:gi,plotX:fi=0,plotY:Js=0,series:Ei}=We;if(gi)ge=Math.max(n+fi,n),Yi=h+a/2;else{let{xAxis:Qs,yAxis:Xs}=Ei;ge=Qs.pos+ee(fi,-f,Qs.len+f),Ei.shouldShowTooltip(0,Xs.pos-h+Js,{ignoreX:!0})&&(Yi=Xs.pos+Js)}return{anchorX:ge=ee(ge,O.left-f,O.right+f),anchorY:Yi}})(It);if(typeof $e=="number"){let We=Ce.height+1,ge=(M||ct).call(i,ui,We,It,i,[Oi,$e]);Vt.push({align:Q?0:void 0,anchorX:Oi,anchorY:$e,boxWidth:ui,point:It,rank:X(ge.rank,+!!de),size:We,target:ge.y,tt:ve,x:ge.x})}else ve.isActive=!1}return Vt},[]);!Q&&yt.some(Vt=>{let{outside:oe}=i,Ht=(oe?F:0)+Vt.anchorX;return Ht<O.left&&Ht+Vt.boxWidth<O.right||Ht<F-O.left+Vt.boxWidth&&O.right-Ht>Ht})&&(yt=yt.map(Vt=>{let{x:oe,y:Ht}=ct.call(this,Vt.boxWidth,Vt.size,Vt.point,void 0,[Vt.anchorX,Vt.anchorY],!1);return z(Vt,{target:Ht,x:oe})})),i.cleanSplit(),ar(yt,mt);let xt={left:F,right:F};yt.forEach(function(Vt){let{x:oe,boxWidth:Ht,isHeader:It}=Vt;!It&&(i.outside&&F+oe<xt.left&&(xt.left=F+oe),!It&&i.outside&&xt.left+Ht>xt.right&&(xt.right=F+oe))}),yt.forEach(function(Vt){let{x:oe,anchorX:Ht,anchorY:It,pos:de,point:{isHeader:be}}=Vt,ve={visibility:de===void 0?"hidden":"inherit",x:oe,y:(de||0)+tt+(k&&b.y||0),anchorX:Ht,anchorY:It};if(i.outside&&oe<Ht){let Ce=F-xt.left;Ce>0&&(be||(ve.x=oe+Ce,ve.anchorX=Ht+Ce),be&&(ve.x=(xt.right-xt.left)/2,ve.anchorX=Ht+Ce))}Vt.tt.attr(ve)});let{container:Et,outside:vt,renderer:zt}=i;if(vt&&Et&&zt){let{width:Vt,height:oe,x:Ht,y:It}=D.getBBox();zt.setSize(Vt+Ht,oe+It,!1),Et.style.left=xt.left+"px",Et.style.top=_+"px"}rr&&D.attr({opacity:D.opacity===1?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let o={x:0,y:0,width:0,height:0},r=this.getAnchor(s),a=i.getBBox();r[0]+=e.plotLeft-(i.translateX||0),r[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,r[0]),o.y=Math.min(0,r[1]),o.width=r[0]<0?Math.max(Math.abs(r[0]),a.width-r[0]):Math.max(Math.abs(r[0]),a.width),o.height=r[1]<0?Math.max(Math.abs(r[1]),a.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),a.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),rt(t.tracker.element,"mouseenter",()=>Bs(t)),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o==null?void 0:o.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",h=s[e?"footerFormat":"headerFormat"];return E(this,"headerFormatter",a,function(u){if(r&&!n&&j(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(Ot(n)){let c=n;or[0]=g=>i.chart.time.dateFormat(c,g),n="%0"}
2(t.tooltipDateKeys||["key"]).forEach(c=>{h=h.replace(RegExp("point\\."+c+"([ \\)}])"),`(point.${c}:${n})$1`)})}i.chart.styledMode&&(h=this.styledModeFormat(h)),u.text=is(h,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,it(!0,this.options,t))}updatePosition(t){var O;let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{fixed:u,positioner:c}=o,{left:g,top:f,scaleX:y,scaleY:k}=r.getChartPosition(),b=(c||u&&this.getFixedPosition||this.getPosition).call(this,h,n,t,this),M=G.doc,S=(t.plotX||0)+e.plotLeft,A=(t.plotY||0)+e.plotTop,N;if(a&&i){let{scrollLeft:D=0,scrollTop:H=0}=((O=e.scrollablePlotArea)==null?void 0:O.scrollingContainer)||{};b.x+=D+g,b.y+=H+f,N=(o.borderWidth||0)+2*s+2,a.setSize(ee(h+N,0,M.documentElement.clientWidth)-1,n+N,!1),(y!==1||k!==1)&&(Dt(i,{transform:`scale(${y}, ${k})`}),S*=y,A*=k),S+=g-b.x,A+=f-b.y}this.move(Math.round(b.x),Math.round(b.y||0),S,A)}}(As=$s||($s={})).compose=function(d){xe(ko,"Core.Tooltip")&&rt(d,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new As(t,t.options.tooltip,this))})};let So=$s,{animObject:nr}=le,{defaultOptions:lr}=Je,{format:hr}=oi;class Ms{constructor(t,e,i){var s,o,r,a,n,h;this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),(s=this.id)!=null||(this.id=si()),this.resolveColor(),(o=this.dataLabelOnNull)!=null||(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=(n=(a=(r=t.xAxis)==null?void 0:r.categories)==null?void 0:a[this.x])!=null?n:this.x,this.key=(h=this.name)!=null?h:this.category,E(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(s){t[s]=t[s].animate(s==="dataLabel"?{x:t[s].startXPos,y:t[s].startYPos,opacity:0}:e)}),i.plural.forEach(function(s){t[s].forEach(function(o){o.element&&o.animate(z({x:t.startXPos},o.startYPos?{x:o.startXPos,y:o.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return z(this,t=Ms.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?z(this.options,t):it(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=Ms.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),this.x===void 0&&i?this.x=e!=null?e:i.autoIncrement():j(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):typeof this.x=="string"&&(e!=null||(e=i.chart.time.parse(this.x)),j(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=nr(t.series.chart.renderer.globalAnimation),a=()=>{for(let n in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(je(t),t.destroyElements()),t)delete t[n]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),_e(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s!=null&&s.enabled?(this.animateBeforeDestroy(),ai(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(s){e[s]=e[s].destroy()}),i.plural.forEach(function(s){e[s].forEach(function(o){o!=null&&o.element&&o.destroy()}),delete e[s]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),t==="click"&&o.allowPointSelect&&(i=function(r){!s.destroyed&&s.select&&s.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),E(s,t,e,i)}getClassName(){var t;return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&this.series.options.negativeColor!==!1?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+((t=this.zone)!=null&&t.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(a){let n=a+"s";t[a]&&s[n]&&r.plural.push(n)}),r}getNestedProperty(t){if(t)return t.indexOf("custom.")===0?Pt(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s!=null&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(j(this.x)||this.x instanceof Date)&&j(this.y)}optionsToObject(t){var u;let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,h=0;if(j(t)||t===null)r[s[0]]=t;else if(Ft(t))for(!i&&t.length>
2o&&((a=typeof t[0])=="string"?(u=e.xAxis)!=null&&u.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:a==="number"&&(r.x=t[0]),n++);h<o;)i&&t[n]===void 0||(s[h].indexOf(".")>0?Ms.prototype.setNestedProperty(r,t[n],s[h]):r[s[h]]=t[n]),n++,h++;else typeof t=="object"&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,h=0;if(j(i)&&j(e))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+h,r.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=X(this.options.colorIndex,a),this.color=X(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(s,o,r,a){let n=a.length-1===r;return s[o]=n?e:Ot(s[o],!0)?s[o]:{},s[o]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){var n;let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=((n=e.tooltip)==null?void 0:n.styledModeFormat(t))||t),i.forEach(h=>{h="{point."+h,(r||a)&&(t=t.replace(RegExp(h+"}","g"),r+h+"}"+a)),t=t.replace(RegExp(h+"}","g"),h+":,."+o+"f}")}),hr(t,this,e)}update(t,e,i,s){let o,r=this,a=r.series,n=r.graphic,h=a.chart,u=a.options,c=u.data;function g(){r.applyOptions(t);let f=n&&r.hasMockGraphic,y=r.y===null?!f:f;n&&y&&(r.graphic=n.destroy(),delete r.hasMockGraphic),Ot(t,!0)&&(n!=null&&n.element&&t&&t.marker&&t.marker.symbol!==void 0&&(r.graphic=n.destroy()),t!=null&&t.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let k={};for(let b of a.dataColumnKeys())k[b]=r[b];a.dataTable.setRow(k,o),c&&!a.processedData&&(c[o]=Ot(c[o],!0)||Ot(t,!0)?r.options:t!=null?t:c[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),u.legendType==="point"&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=X(e,!0),s===!1?g():r.firePointEvent("update",{options:t},g)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=X(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
2h(function(r){let a=r.series;r.selected&&r!==i&&(r.selected=r.options.selected=!1,a.options.data[a.data.indexOf(r)]=r.options,r.setState(o.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),r.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){var s,o,r,a,n,h,u;let e=it(this.series.options.point,this.options),i=(s=e.events)==null?void 0:s[t];ce(i)&&(!((o=this.hcEvents)!=null&&o[t])||((a=(r=this.hcEvents)==null?void 0:r[t])==null?void 0:a.map(c=>c.fn).indexOf(i))===-1)?((n=this.importedUserEvent)==null||n.call(this),this.importedUserEvent=rt(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&((h=this.hcEvents)!=null&&h[t])&&((u=this.hcEvents)!=null&&u[t].userEvent)&&(je(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){var D,H;let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=lr.plotOptions[i.type].marker&&i.options.marker,a=r&&r.enabled===!1,n=((D=r==null?void 0:r.states)==null?void 0:D[t||"normal"])||{},h=n.enabled===!1,u=this.marker||{},c=i.chart,g=r&&i.markerAttribs,f=i.halo,y,k,b,M=i.stateMarkerGraphic,S;if((t=t||"")===this.state&&!e||this.selected&&t!=="select"||o.enabled===!1||t&&(h||a&&n.enabled===!1)||t&&u.states&&u.states[t]&&u.states[t].enabled===!1)return;if(this.state=t,g&&(y=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!c.styledMode){k=i.pointAttribs(this,t),b=X(c.options.chart.animation,o.animation);let Y=k.opacity;i.options.inactiveOtherPoints&&j(Y)&&(this.dataLabels||[]).forEach(function(F){F&&!F.hasClass("highcharts-data-label-hidden")&&(F.animate({opacity:Y},b),F.connector&&F.connector.animate({opacity:Y},b))}),this.graphic.animate(k,b)}y&&this.graphic.animate(y,X(c.options.chart.animation,n.animation,r.animation)),M&&M.hide()}else t&&n&&(S=u.symbol||i.symbol,M&&M.currentSymbol!==S&&(M=M.destroy()),y&&(M?M[e?"animate":"attr"]({x:y.x,y:y.y}):S&&(i.stateMarkerGraphic=M=c.renderer.symbol(S,y.x,y.y,y.width,y.height,it(r,n)).add(i.markerGroup),M.currentSymbol=S)),!c.styledMode&&M&&this.state!=="inactive"&&M.attr(i.pointAttribs(this,t))),M&&(M[t&&this.isInside?"show":"hide"](),M.element.point=this,M.addClass(this.getClassName(),!0));let A=o.halo,N=this.graphic||M,O=(N==null?void 0:N.visibility)||"inherit";A!=null&&A.size&&N&&O!=="hidden"&&!this.isCluster?(f||(i.halo=f=c.renderer.path().add(N.parentGroup)),f.show()[e?"animate":"attr"]({d:this.haloPath(A.size)}),f.attr({class:"highcharts-halo highcharts-color-"+X(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:O,zIndex:-1}),f.point=this,c.styledMode||f.attr(z({fill:this.color||i.color,"fill-opacity":A.opacity},pe.filterUserAttributes(A.attributes||{})))):(H=f==null?void 0:f.point)!=null&&H.haloPath&&!f.point.destroyed&&f.animate({d:f.point.haloPath(0)},null,f.hide),E(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(ke(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let Bi=Ms,{parse:dr}=ue,{charts:ks,composed:cr,isTouchDevice:pr}=G,Po=(d,t)=>!K(t)||d[`${t}Key`];class Te{applyInactiveState(t=[]){var i,s;let e=[];for(let o of(t.forEach(r=>{let a=r.series;e.push(a),a.linkedParent&&e.push(a.linkedParent),a.linkedSeries&&e.push.apply(e,a.linkedSeries),a.navigatorSeries&&e.push(a.navigatorSeries),a.boosted&&a.markerGroup&&e.push.apply(e,this.chart.series.filter(n=>n.markerGroup===a.markerGroup))}),this.chart.series)){let r=o.options;((s=(i=r.states)==null?void 0:i.inactive)==null?void 0:s.enabled)!==!1&&(e.indexOf(o)===-1?o.setState("inactive",!0):r.inactiveOtherPoints&&o.setAllPointsToState("inactive"))}}destroy(){let t=this;
vendor: 4,807 bytes, line 2
2this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!G.chartCount&&(Te.unbindDocumentMouseUp.forEach(e=>e.unbind()),Te.unbindDocumentMouseUp.length=0,Te.unbindDocumentTouchEnd&&(Te.unbindDocumentTouchEnd=Te.unbindDocumentTouchEnd())),ut(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return E(this,"getSelectionMarkerAttrs",i,s=>{let o,{chart:r,zoomHor:a,zoomVert:n}=this,{mouseDownX:h=0,mouseDownY:u=0}=r,c=s.attrs;c.x=r.plotLeft,c.y=r.plotTop,c.width=a?1:r.plotWidth,c.height=n?1:r.plotHeight,a&&(c.width=Math.max(1,Math.abs(o=t-h)),c.x=(o>0?0:o)+h),n&&(c.height=Math.max(1,Math.abs(o=e-u)),c.y=(o>0?0:o)+u)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,h=e.plotTop,u=e.plotWidth,c=e.plotHeight,g=Ot(o)?o.enabled:o,f=r&&t[`${r}Key`],y=t.chartX,k=t.chartY,b,M=this.selectionMarker;if((!M||!M.touch)&&(y<n?y=n:y>n+u&&(y=n+u),k<h?k=h:k>h+c&&(k=h+c),this.hasDragged=Math.sqrt(Math.pow(i-y,2)+Math.pow(s-k,2)),this.hasDragged>10)){b=e.isInsidePlot(i-n,s-h,{visiblePlotOnly:!0});let{shapeType:S,attrs:A}=this.getSelectionMarkerAttrs(y,k);this.hasZoom&&b&&!f&&!M&&(this.selectionMarker=M=e.renderer[S](),M.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||M.attr({fill:a||dr("#334eff").setOpacity(.25).get()})),M&&M.attr(A),b&&!M&&g&&Po(t,r)&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return E(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let o of i.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some(r=>r.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let o=this.getSelectionBox(s);i.transform({axes:i.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:Ii({originalEvent:t,xAxis:[],yAxis:[]},o),from:o})}j(i.index)&&(this.selectionMarker=s.destroy())}i&&j(i.index)&&(Dt(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(o){var g,f;var r;let a,n,h,u=!(o.noSharedTooltip&&e)&&0>o.options.findNearestPointBy.indexOf("y"),c=o.searchPoint(i,u);Ot(c,!0)&&c.series&&(!Ot(s,!0)||(a=(r=s).distX-c.distX,n=r.dist-c.dist,h=((g=c.series.group)==null?void 0:g.zIndex)-((f=r.series.group)==null?void 0:f.zIndex),(a!==0&&e?a:n!==0?n:h!==0?h:r.series.index>c.series.index?-1:1)>0))&&(s=c)}),s}getChartCoordinatesFromPoint(t,e){var r,a;let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let n=(a=(r=t.clientX)!=null?r:t.plotX)!=null?a:0,h=t.plotY||0;return t.isNode&&o&&j(o.x)&&j(o.y)&&(n=o.x,h=o.y),e?{chartX:s.len+s.pos-h,chartY:i.len+i.pos-n}:{chartX:n+i.pos,chartY:h+s.pos}}if(o!=null&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=ri(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(f){return f.visible&&!(!o&&f.directTouch)&&X(f.options.enableMouseTracking,!0)},h=e,u,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};E(this,"beforeGetHoverData",c),u=h&&!h.stickyTracking?[h]:i.filter(f=>f.stickyTracking&&(c.filter||n)(f));let g=s&&t||!r?t:this.findNearestKDPoint(u,o,r);return h=g==null?void 0:g.series,g&&(o&&!h.noSharedTooltip?(u=i.filter(function(f){return c.filter?c.filter(f):n(f)&&!f.noSharedTooltip})).forEach(function(f){var b;let y=(b=f.options)==null?void 0:b.nullInteraction,k=Jt(f.points,function(M){return M.x===g.x&&(!M.isNull||!!y)});Ot(k)&&(f.boosted&&f.boost&&(k=f.boost.getPoint(k)),a.push(k))}):a.push(g)),E(this,"afterGetHoverData",c={hoverPoint:g}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=Tt(i,"class")){if(s.indexOf(e)!==-1)return!0;
2if(s.indexOf("highcharts-container")!==-1)return!1}i=i.parentElement}}constructor(t,e){var i;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!((i=e.chart.events)!=null&&i.click),this.pinchDown=[],this.setDOMEvents(),E(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):X(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return z(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(E(i.series,"click",z(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(z(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&E(e,"click",s)))}onContainerMouseDown(t){var i;let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),G.isFirefox&&t.button!==0&&this.onContainerMouseMove(t),(t.button===void 0||e)&&(this.zoomOption(t),e&&((i=t.preventDefault)==null||i.call(t)),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=ks[X(Te.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){var o;let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),(e.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!((o=e.exporting)!=null&&o.openMenu)&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i!=null&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i!=null&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){var e,i,s;t!=null&&t.touches&&this.hasPinchMoved&&((e=t==null?void 0:t.preventDefault)==null||e.call(t)),(s=(i=ks[X(Te.hoverChartIndex,-1)])==null?void 0:i.pointer)==null||s.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],c=>e.normalize(c)),a=r.length,n=a===1&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,u=a===1&&X(h==null?void 0:h.options.followTouchMove,!0);a>1?e.initiated=!0:u&&(e.initiated=!1),s&&e.initiated&&!n&&t.cancelable!==!1&&t.preventDefault(),t.type==="touchstart"?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):u?this.runPointActions(e.normalize(t)):o&&(E(i,"touchpan",{originalEvent:t,touches:r},()=>{let c=g=>{let f=g[0],y=g[1]||f;return{x:f.chartX,y:f.chartY,width:y.chartX-f.chartX,height:y.chartY-f.chartY}};i.transform({axes:i.axes.filter(g=>g.zoomEnabled&&(this.zoomHor&&g.horiz||this.zoomVert&&!g.horiz)),to:c(r),from:c(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a!=null&&a.shared?r:o;t&&n&&Xe(n).forEach(function(h){h.series.isCartesian&&h.plotX===void 0&&(t=!1)}),t?a&&n&&Xe(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(h){h.setState(h.state,!0),h.series.isCartesian&&(h.series.xAxis.crosshair&&h.series.xAxis.drawCrosshair(null,h),h.series.yAxis.crosshair&&h.series.yAxis.drawCrosshair(null,h))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(h){h.crosshair&&o.series[h.coll]===h&&h.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(h){h.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEac
2h(function(h){h.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){var k;let s=this.chart,o=s.series,r=(k=s.tooltip)!=null&&k.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=(n==null?void 0:n.series)||s.hoverSeries,u=(!t||t.type!=="touchmove")&&(!!e||(h==null?void 0:h.directTouch)&&this.isDirectTouch),c=this.getHoverData(n,h,o,u,a,t);n=c.hoverPoint,h=c.hoverSeries;let g=c.hoverPoints,f=(h==null?void 0:h.tooltipOptions.followPointer)&&!h.tooltipOptions.split,y=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r!=null&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(b){g.indexOf(b)===-1&&b.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(b){b.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=g,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(y?g:n,t)})}else if(f&&r&&!r.isHidden){let b=r.getAnchor([{}],t);s.isInsidePlot(b[0],b[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:b[0],plotY:b[1]})}this.unDocMouseMove||(this.unDocMouseMove=rt(s.container.ownerDocument,"mousemove",b=>{var M,S,A;return(A=(S=ks[(M=Te.hoverChartIndex)!=null?M:-1])==null?void 0:S.pointer)==null?void 0:A.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(b){var A,N;let M,S=(N=(A=b.crosshair)==null?void 0:A.snap)!=null?N:!0;S&&((M=s.hoverPoint)&&M.series[b.coll]===b||(M=Jt(g,O=>{var D;return((D=O.series)==null?void 0:D[b.coll])===b}))),M||!S?b.drawCrosshair(t,M):b.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=o=>{var r,a;return o.parentElement||((a=(r=o.getRootNode())==null?void 0:r.host)==null?void 0:a.parentElement)};t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(rt(t,"mouseenter",this.onContainerMouseEnter.bind(this)),rt(t,"mouseleave",this.onContainerMouseLeave.bind(this))),Te.unbindDocumentMouseUp.some(o=>o.doc===e)||Te.unbindDocumentMouseUp.push({doc:e,unbind:rt(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(rt(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(rt(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),rt(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),Te.unbindDocumentTouchEnd||(Te.unbindDocumentTouchEnd=rt(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),rt(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var o,r;if(!pr)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=X((o=e.options.tooltip)==null?void 0:o.followTouchMove,!0)&&e.series.some(a=>a.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(rt(i,"pointerdown",a=>{var n,h;(n=a.target)!=null&&n.hasPointerCapture(a.pointerId)&&((h=a.target)==null||h.releasePointerCapture(a.pointerId))}),rt(i,"pointermove",a=>{var n,h;(h=(n=e.pointer)==null?void 0:n.getPointFromEvent(a))==null||h.onMouseOver(a)})),e.styledMode||Dt(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(a=>a()),t.length=0,e.styledMode||Dt(i,{"touch-action":X((r=e.options.chart.style)==null?void 0:r["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){var s;let e=this.chart,i=G.charts[X(Te.hoverChartIndex,-1)];if(i&&i!==e){let o={relatedTarget:e.container};t&&!(t!=null&&t.relatedTarget)&&Object.assign({},t,o),(s=i.pointer)==null||s.onContainerMouseLeave(t||o)}i!=null&&i.mouseIsDown||(Te.hoverChartIndex=e.index)}touch(t,e){var r;let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),(t=this.normalize(t)).touches.length===1?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!((r=s.exporting)!=null&&r.openMenu)?(e&&this.runPointActions(t),t.type==="touchmove"&&(this.hasPinchMoved=i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),X(i,!0)&&this.pinch(t)):e&&this.reset():t.touches.length===2&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&t.touches.length===1)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=X(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=(o||r)&&Po(t,e.zooming.key)}}Te.unbindDocumentMouseUp=[],(Wi=Te||(Te={})).compose=function(d){xe(cr,"Core.Pointer")&&rt(d,"beforeRender",function(){this.pointer=new Wi(this,this.options)})};
2let Ao=Te,{setLength:ur,splice:Ks}={convertToNumber:function(d,t){switch(typeof d){case"boolean":return+!!d;case"number":return isNaN(d)&&!t?null:d;default:return isNaN(d=parseFloat(`${d!=null?d:""}`))&&!t?null:d}},setLength:function(d,t,e){return Array.isArray(d)?(d.length=t,d):d[e?"subarray":"slice"](0,t)},splice:function(d,t,e,i,s=[]){if(Array.isArray(d))return Array.isArray(s)||(s=Array.from(s)),{removed:d.splice(t,e,...s),array:d};let o=Object.getPrototypeOf(d).constructor,r=d[i?"subarray":"slice"](t,t+e),a=new o(d.length-e+s.length);return a.set(d.subarray(0,t),0),a.set(s,t),a.set(d.subarray(t+e),t+s.length),{removed:r,array:a}}},zs=class{constructor(d={}){this.autoId=!d.id,this.columns={},this.id=d.id||si(),this.rowCount=0,this.versionTag=si();let t=0;ut(d.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(d){this.rowCount=d,ut(this.columns,(t,e)=>{t.length!==d&&(this.columns[e]=ur(t,d))})}deleteRows(d,t=1){if(t>0&&d<this.rowCount){let e=0;ut(this.columns,(i,s)=>{this.columns[s]=Ks(i,d,t).array,e=i.length}),this.rowCount=e}E(this,"afterDeleteRows",{rowIndex:d,rowCount:t}),this.versionTag=si()}getColumn(d,t){return this.columns[d]}getColumns(d,t){return(d||Object.keys(this.columns)).reduce((e,i)=>(e[i]=this.columns[i],e),{})}getRow(d,t){return(t||Object.keys(this.columns)).map(e=>{var i;return(i=this.columns[e])==null?void 0:i[d]})}setColumn(d,t=[],e=0,i){this.setColumns({[d]:t},e,i)}setColumns(d,t,e){let i=this.rowCount;ut(d,(s,o)=>{this.columns[o]=s.slice(),i=s.length}),this.applyRowCount(i),e!=null&&e.silent||(E(this,"afterSetColumns"),this.versionTag=si())}setRow(d,t=this.rowCount,e,i){let{columns:s}=this,o=e?this.rowCount+1:t+1,r=Object.keys(d);if((i==null?void 0:i.addColumns)!==!1)for(let a=0,n=r.length;a<n;a++){let h=r[a];s[h]||(s[h]=[])}ut(s,(a,n)=>{var h,u;a||(i==null?void 0:i.addColumns)===!1||(a=Array(o)),a&&(e?a=Ks(a,t,0,!0,[(h=d[n])!=null?h:null]).array:a[t]=(u=d[n])!=null?u:null,s[n]=a)}),o>this.rowCount&&this.applyRowCount(o),i!=null&&i.silent||(E(this,"afterSetRows"),this.versionTag=si())}getModified(){return this.modified||this}};var To=Gi||(Gi={});function Zs(d,t,e){var S,A;let i=this.legendItem=this.legendItem||{},{chart:s,options:o}=this,{baseline:r=0,symbolWidth:a,symbolHeight:n}=d,h=this.symbol||"circle",u=n/2,c=s.renderer,g=i.group,f=r-Math.round((((S=d.fontMetrics)==null?void 0:S.b)||n)*(e?.4:.3)),y={},k,b=o.marker,M=0;if(s.styledMode||(y["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?y.dashstyle=o.dashStyle:o.linecap!=="square"&&(y["stroke-linecap"]="round")),i.line=c.path().addClass("highcharts-graph").attr(y).add(g),e&&(i.area=c.path().addClass("highcharts-area").add(g)),y["stroke-linecap"]&&(M=Math.min(i.line.strokeWidth(),a)/2),a){let N=[["M",M,f],["L",a-M,f]];i.line.attr({d:N}),(A=i.area)==null||A.attr({d:[...N,["L",a-M,r],["L",M,r]]})}if(b&&b.enabled!==!1&&a){let N=Math.min(X(b.radius,u),u);h.indexOf("url")===0&&(b=it(b,{width:n,height:n}),N=0),i.symbol=k=c.symbol(h,a/2-N,f-N,2*N,2*N,z({context:"legend"},b)).addClass("highcharts-point").add(g),k.isMarker=!0}}To.areaMarker=function(d,t){Zs.call(this,d,t,!0)},To.lineMarker=Zs;let Lo=Gi,{defaultOptions:_s}=Je;var pi=mi||(mi={});function Co(d,t){let e=_s.plotOptions||{},i=t.defaultOptions,s=t.prototype;return s.type=d,s.pointClass||(s.pointClass=Bi),!pi.seriesTypes[d]&&(i&&(e[d]=i),pi.seriesTypes[d]=t,!0)}pi.seriesTypes=G.seriesTypes,pi.registerSeriesType=Co,pi.seriesType=function(d,t,e,i,s){let o=_s.plotOptions||{};if(t=t||"",o[d]=it(o[t],e),delete pi.seriesTypes[d],Co(d,$(pi.seriesTypes[t]||G.Series,i)),pi.seriesTypes[d].prototype.type=d,s){class r extends Bi{}z(r.prototype,s),pi.seriesTypes[d].prototype.pointClass=r}return pi.seriesTypes[d]};let fe=mi,{animObject:ws,setAnimation:gr}=le,{defaultOptions:Ki}=Je,{registerEventOptions:ss}=vs,{svg:Le,win:fr}=G,{seriesTypes:m}=fe,{format:l}=oi;class p{constructor(){this.zoneAxis="y"}init(t,e){var n,h,u,c;let i;E(this,"init",{options:e}),(n=this.dataTable)!=null||(this.dataTable=new zs);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=o.visible!==!1;this.linkedSeries=[],this.bindAxes(),z(this,{name:o.name,state:"",visible:r,selected:o.selected===!0}),ss(this,o);let a=o.events;(a!=null&&a.click||(u=(h=o.point)==null?void 0:h.events)!=null&&u.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.get
2Symbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=X(i==null?void 0:i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",Ts(this,s)),(c=o.dataSorting)!=null&&c.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),E(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;E(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(r){t=r.options,(X(i[o],0)===r.index||i[o]!==void 0&&i[o]===t.id)&&(Ts(e,r.series),e[o]=r,r.isDirty=!0)}),e[o]||e.optionalAxis===o||ye(18,!0,s)})}),E(this,"afterBindAxes")}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){var n,h;let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=(h=(n=this.xIncrement)!=null?n:r.parse(i.pointStart))!=null?h:0;if(this.pointInterval=e=X(this.pointInterval,i.pointInterval,1),o&&j(t)&&(e*=t),s){let u=r.toParts(a);s==="day"?u[2]+=e:s==="month"?u[1]+=e:s==="year"&&(u[0]+=e),e=r.makeTime.apply(r,u)-a}return o&&j(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;z(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),K(t.pointRange)||(t.pointRange=1)}setOptions(t){var N,O;let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=it(t),a=i.styledMode,n={plotOptions:s,userOptions:r};E(this,"setOptions",n);let h=n.plotOptions[this.type],u=o.plotOptions||{},c=u.series||{},g=Ki.plotOptions[this.type]||{},f=u[this.type]||{};h.dataLabels=this.mergeArrays(g.dataLabels,h.dataLabels),this.userOptions=n.userOptions;let y=it(h,s.series,f,r);this.tooltipOptions=it(Ki.tooltip,(N=Ki.plotOptions.series)==null?void 0:N.tooltip,g==null?void 0:g.tooltip,i.userOptions.tooltip,(O=u.series)==null?void 0:O.tooltip,f.tooltip,r.tooltip),this.stickyTracking=X(r.stickyTracking,f.stickyTracking,c.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||y.stickyTracking),h.marker===null&&delete y.marker;let{negativeColor:k,negativeFillColor:b,zoneAxis:M="y",zones:S}=y,A=this.zones=(S||[]).map(D=>Ii({},D));return this.zoneAxis=M,(k||b)&&!S&&(e={value:y[M+"Threshold"]||y.threshold||0,className:"highcharts-negative"},a||(typeof k!="boolean"&&(e.color=k),e.fillColor=b),A.push(e)),A.length&&K(A[A.length-1].value)&&A.push(a?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:y}),y}getName(){var t;return(t=this.options.name)!=null?t:l(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=(i==null?void 0:i.length)||r.options.chart.colorCount;!e&&(K(o=X(t==="color"?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),s!==void 0&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||Ki.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){var c;let i,s,o,{id:r,x:a}=t,n=this.points,h=this.options.dataSorting,u=this.cropStart||0;if(r){let g=this.chart.get(r);g instanceof Bi&&(i=g)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let g=f=>!f.touched&&f.index===t.index;if(h!=null&&h.matchByName?g=f=>!f.touched&&f.name===t.name:this.options.relativeXValue&&(g=f=>!f.touched&&f.options.x===t.x),!(i=Jt(n,g)))return}return i&&(o=i==null?void 0:i.index)!==void 0&&(s=!0),o===void 0&&j(a)&&(o=this.getColumn("x").indexOf(a,e)),o!==-1&&o!==void 0&&this.cropped&&(o=o>=u?o-u:o),!s&&j(o)&&((c=n[o])!=null&&c.touched)&&(o=void 0),o}updateData(t,e){var b;let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,a=[],n=t.length===r.length,h=this.xIncrement,u,c,g,f,y=!0;if(this.xIncrement=null,t.forEach((M,S)=>{var H;let A,N=K(M)&&this.pointClass.prototype.optionsToObject.call({series:this},M)||{},{id:O,x:D}=N;O||j(D)?((A=this.findPointIndex(N,f))===-1||A===void 0?a.push(M):r[A]&&M!==((H=i.data)==null?void 0:H[A])?(r[A].update(M,!1,void 0,!1),r[A].touched=!0,s&&(f=A+1)):r[A]&&(r[A].touched=!0),(!n||S!==A||o!=null&&o.enabled||this.hasDerivedData)&&(u=!0)):a.push(M)},this),u)for(c=r.length;c--;)(g=r[c])&&!g.touched&&((b=g.remove)==null||b.call(g,!1,e));
2else n&&!(o!=null&&o.enabled)?(t.forEach((M,S)=>{M===r[S].y||r[S].destroyed||r[S].update(M,!1,void 0,!1)}),a.length=0):y=!1;if(r.forEach(M=>{M&&(M.touched=!1)}),!y)return!1;a.forEach(M=>{this.addPoint(M,!1,void 0,void 0,!1)},this);let k=this.getColumn("x");return h!==null&&this.xIncrement===null&&k.length&&(this.xIncrement=Pe(k),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){var H,Y,F,_,Q,tt;let o=this.points,r=(o==null?void 0:o.length)||0,a=this.options,n=this.chart,h=a.dataSorting,u=this.xAxis,c=a.turboThreshold,g=this.dataTable,f=this.dataColumnKeys(),y=this.pointValKey||"y",k=(this.pointArrayMap||[]).length,b=a.keys,M,S,A=0,N=1,O;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,O=it(!0,t));let D=(t=O||t||[]).length;if(h!=null&&h.enabled&&(t=this.sortData(t)),s!==!1&&D&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(S=this.updateData(t,i)),!S){this.xIncrement=null,this.colorCounter=0;let dt=c&&!a.relativeXValue&&D>c;if(dt){let mt=this.getFirstValidPoint(t),ct=this.getFirstValidPoint(t,D-1,-1),yt=xt=>!!(Ft(xt)&&(b||j(xt[0])));if(j(mt)&&j(ct)){let xt=[],Et=[];for(let vt of t)xt.push(this.autoIncrement()),Et.push(vt);g.setColumns({x:xt,[y]:Et})}else if(yt(mt)&&yt(ct))if(k){let xt=+(mt.length===k),Et=Array(f.length).fill(0).map(()=>[]);for(let vt of t){xt&&Et[0].push(this.autoIncrement());for(let zt=xt;zt<=k;zt++)(H=Et[zt])==null||H.push(vt[zt-xt])}g.setColumns(f.reduce((vt,zt,Zt)=>(vt[zt]=Et[Zt],vt),{}))}else{b&&(A=b.indexOf("x"),N=b.indexOf("y"),A=A>=0?A:0,N=N>=0?N:1),mt.length===1&&(N=0);let xt=[],Et=[];for(let vt of t)A===N?xt.push(this.autoIncrement()):xt.push((F=(Y=vt[A])!=null?Y:vt.x)!=null?F:null),Et.push((Q=(_=vt[N])!=null?_:vt.y)!=null?Q:null);g.setColumns({x:xt,[y]:Et})}else dt=!1}if(!dt){let mt=f.reduce((ct,yt)=>(ct[yt]=[],ct),{});for(M=0;M<D;M++){let ct=this.pointClass.prototype.applyOptions.apply({series:this},[t[M]]);for(let yt of f)mt[yt][M]=ct[yt]}g.setColumns(mt)}for(Rt(this.getColumn("y")[0])&&ye(14,!0,n),this.data=[],this.options.data=this.userOptions.data=t,M=r;M--;)(tt=o[M])==null||tt.destroy();u&&(u.minRange=u.userMinRange),this.isDirty=n.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}a.legendType==="point"&&(this.processData(),this.generatePoints()),e&&n.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(o,r){return K(r)&&o.pointClass.prototype.optionsToObject.call({series:o},r)||{}};return t.forEach(function(o,r){t[r]=s(e,o),t[r].index=r},this),t.concat().sort((o,r)=>{let a=Pt(i,o),n=Pt(i,r);return n<a?-1:+(n>a)}).forEach(function(o,r){o.x=r},this),e.linkedSeries&&e.linkedSeries.forEach(function(o){var n;let r=o.options,a=r.data;!((n=r.dataSorting)!=null&&n.enabled)&&a&&(a.forEach(function(h,u){a[u]=s(o,h),t[u]&&(a[u].x=t[u].x,a[u].index=u)}),o.setData(a,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,h=r==null?void 0:r.logarithmic,u=i.rowCount,c,g,f=0,y,k,b,M=e.getColumn("x"),S=i,A=!1;return r&&(k=(y=r.getExtremes()).min,b=y.max,A=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||u>a||e.forceCrop)&&(M[u-1]<k||M[0]>b?S=new zs:e.getColumn(e.pointValKey||"y").length&&(M[0]<k||M[u-1]>b)&&(S=(c=this.cropData(i,k,b)).modified,f=c.start,g=!0))),M=S.getColumn("x")||[],{modified:S,cropped:g,cropStart:f,closestPointRange:pt([h?M.map(h.log2lin):M],()=>e.requireSorting&&!A&&ye(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,E(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,h=0,u=o;for(a=0;a<o;a++)if(s[a]>=e){h=Math.max(0,a-1);break}for(n=a;n<o;n++)if(s[n]>i){u=n+1;break}for(let c of this.dataColumnKeys()){let g=t.getColumn(c,!0);g&&(r[c]=g.slice(h,u))}return{modified:new zs({columns:r}),start:h,end:u}}generatePoints(){var N,O,D,H,Y,F,_,Q;let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,u=[],c=(N=t.dataGrouping)!=null&&N.groupAll?a:0,g=this.pointArrayMap||["y"],f=this.dataColumnKeys(),y,k,b,M,S=this.data,A;if(!S&&!n){let tt=[];tt.length=(e==null?void 0:e.length)||0,S=this.data=tt}for(h&&n&&(this.options.keys=!1),M=0;M<r;M++)k=a+M,n?((b=new o(this,i.getRow(M,f)||[])).dataGroup=(O=this.groupMap)==null?void 0:O[c+M],(D=b.dataGroup)!=null&&D.options&&(b.options=b.dataGroup.options,z(b,b.dataGroup.options),delete b.dataLabels,b.key=(H=b.name)!=null?H:b.category)):(b=S[k],A=e?e[k]:i.getRow(M,g),b||A===void 0?b&&(b.category=(_=(F=(Y=this.xAxis)==null?void 0:Y.categories)==null?void 0:F[b.x])!=null?_:b.x,b.key=(Q=b.name)!=null?Q:b.category):S[k]=b=new o(this,A,s[M])),b&&(b.index=n?c+M:k,u[M]=b);if(this.options.keys=h,S&&(r!==(y=S.length)||n))for(M=0;M<y;M++)M!==a||n||(M+=r),S[M]&&(S[M].destroyElements(),S[M].plotX=void 0);this.data=S,this.points=u,E(this,"afterGeneratePoints")}getXExtremes(t){return{min:Ze(t),max:Pe(t)}}getExtremes(t,e){var O;let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.getModified(),a=r.rowCount,n=t||this.stackedYData,h=n?[n]:((O=this.keysAffectYAxis||this.pointArrayMap||["y"])==null?void 0:O.map(D=>r.getColumn(D,!0)||[]))||[],u=this.getColumn("x",!0),c=[],g=this.requireSorting&&!this.is("column")?1:0,f=!!s&&s.positiveValuesOnly,y=o||this.cropped||!i,k,b,M,S=0,A=0;for(i&&(S=(k=i.getExtremes()).min,A=k.max),M=0;M<a;M++)if(b=u[M],y||(u[M+g]||b)>=S&&(u[M-g]||b)<=A)for(let D of h){let H=D[M];j(H)&&(H>0||!f)&&c.push(H)}let N={activeYData:c,dataMin:Ze(c),dataMax:Pe(c)};return E(this,"afterGetExtremes",{dataExtremes:N}),N}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(K(t[o]))return t[o];o+=i}}translate(){var A;this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,a=r.length,n=this.pointPlacementToXValue(),h=!!n,u=t.threshold,c=t.startFromThreshold?u:0,g=(t==null?void 0:t.nullInteraction)&&o.len,f,y,k,b,M=Number.MAX_VALUE;function S(N){return ee(N,-1e9,1e9)}for(f=0;f<a;f++){let N,O=r[f],D=O.x,H,Y,F=O.y,_=O.low,Q=e&&((A=o.stacking)==null?void 0:A.stacks[(this.negStacks&&F<(c?0:u)?"-":"")+this.stackKey]);
2O.plotX=j(y=i.translate(D,!1,!1,!1,!0,n))?ht(S(y)):void 0,e&&this.visible&&Q&&Q[D]&&(b=this.getStackIndicator(b,D,this.index),!O.isNull&&b.key&&(Y=(H=Q[D]).points[b.key]),H&&Ft(Y)&&(_=Y[0],F=Y[1],_===c&&b.key===Q[D].base&&(_=X(j(u)?u:o.min)),o.positiveValuesOnly&&K(_)&&_<=0&&(_=void 0),O.total=O.stackTotal=X(H.total),O.percentage=K(O.y)&&H.total?O.y/H.total*100:void 0,O.stackY=F,this.irregularWidths||H.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),O.yBottom=K(_)?S(o.translate(_,!1,!0,!1,!0)):void 0,this.dataModify&&(F=this.dataModify.modifyValue(F,f)),j(F)&&O.plotX!==void 0?N=j(N=o.translate(F,!1,!0,!1,!0))?S(N):void 0:!j(F)&&g&&(N=g),O.plotY=N,O.isInside=this.isPointInside(O),O.clientX=h?ht(i.translate(D,!1,!1,!1,!0,n)):y,O.negative=(O.y||0)<(u||0),O.isNull||O.visible===!1||(k!==void 0&&(M=Math.min(M,Math.abs(y-k))),k=y),O.zone=this.zones.length?O.getZone():void 0,!O.graphic&&this.group&&s&&(O.isNew=!0)}this.closestPointRangePx=M,E(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(o){let{plotX:r,plotY:a}=o;return(!!i||!o.isNull&&!!j(a))&&(!e||!!s.isInsidePlot(r,a,{inverted:s.inverted}))&&o.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),a=this.getSharedClipKey(),n=s[a];E(this,"setClip",{clipBox:r}),n?n.animate(r):s[a]=n=o.clipRect(r),e&&e.clip(this.options.clip===!1?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=ws(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],h=e.sharedCl
2ips[a+"m"];if(t&&i){let u=e.getClipBox(this);if(n)n.attr("height",u.height);else{u.width=0,o&&(u.x=e.plotHeight),n=e.renderer.clipRect(u),e.sharedClips[a]=n;let c={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};h=e.renderer.clipRect(c),e.sharedClips[a+"m"]=h}i.clip(n),s==null||s.clip(h)}else if(n&&!n.hasClass("highcharts-animating")){let u=e.getClipBox(this),c=r.step;(s!=null&&s.element.childNodes.length||e.series.length>1)&&(r.step=function(g,f){c&&c.apply(f,arguments),f.prop==="width"&&(h!=null&&h.element)&&h.attr(o?"height":"width",g+99)}),n.addClass("highcharts-animating").animate(u,r)}}afterAnimate(){this.setClip(),ut(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,h=this.chart,u=h.styledMode,{colorAxis:c,options:g}=this,f=g.marker,y=g.nullInteraction,k=this[this.specialGroup||"markerGroup"],b=this.xAxis,M=X(f.enabled,!b||!!b.isRadial||null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(f.enabled!==!1||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker;let S=i.isNull;if((M&&!K(r.enabled)||r.enabled)&&(!S||y)&&i.visible!==!1){let A=X(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=b.reversed?-(n.width||0):b.width);let N=i.isInside!==!1;if(!s&&N&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(A,n.x,n.y,n.width,n.height,a?r:f).add(k),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&o==="animate"&&s[N?"show":"hide"](N).animate(n),s){let O=this.pointAttribs(i,u||!i.selected?void 0:"select");u?c&&s.css({fill:O.fill}):s[o](O)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){var g,f;let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,h,u=X(o.radius,s==null?void 0:s.radius);e&&(n=(g=s==null?void 0:s.states)==null?void 0:g[e],h=(f=o.states)==null?void 0:f[e],u=X(h==null?void 0:h.radius,n==null?void 0:n.radius,u&&u+((n==null?void 0:n.radiusPlus)||0))),t.hasImage=r&&r.indexOf("url")===0,t.hasImage&&(u=0);let c=t.pos();return j(u)&&c&&(i.crisp&&(c[0]=ke(c[0],t.hasImage?0:r==="rect"?(s==null?void 0:s.lineWidth)||0:1)),a.x=c[0]-u,a.y=c[1]-u),u&&(a.width=a.height=2*u),a}pointAttribs(t,e){var M;let i=this.options,s=i.marker,o=t==null?void 0:t.options,r=(o==null?void 0:o.marker)||{},a=o==null?void 0:o.color,n=t==null?void 0:t.color,h=(M=t==null?void 0:t.zone)==null?void 0:M.color,u,c,g=this.color,f,y,k=X(r.lineWidth,s.lineWidth),b=t!=null&&t.isNull&&i.nullInteraction?0:1;return g=a||h||n||g,f=r.fillColor||s.fillColor||g,y=r.lineColor||s.lineColor||g,e=e||"normal",u=s.states[e]||{},k=X((c=r.states&&r.states[e]||{}).lineWidth,u.lineWidth,k+X(c.lineWidthPlus,u.lineWidthPlus,0)),f=c.fillColor||u.fillColor||f,y=c.lineColor||u.lineColor||y,{stroke:y,"stroke-width":k,fill:f,opacity:b=X(c.opacity,u.opacity,b)}}destroy(t){var n,h;let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(fr.navigator.userAgent),a=s.data||[];for(E(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(u){i=s[u],i!=null&&i.series&&(_e(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=a.length;e--;)(h=(n=a[e])==null?void 0:n.destroy)==null||h.call(n);for(let u of s.zones)we(u,void 0,!0);$t(s.animationTimeout),ut(s,function(u,c){u instanceof ci&&!u.survive&&u[r&&c==="group"?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),_e(o.series,s),o.orderItems("series"),ut(s,function(u,c){t&&c==="hcEvents"||delete s[c]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:u}=e,c=this[`${n}Axis`],{isXAxis:g,len:f=0,minPointOffset:y=0}=c||{},k=((i==null?void 0:i.strokeWidth())||0)/2+1,b=(M,S=0,A=0)=>{h&&(A=f-A);let{translated:N=0,lineClip:O}=M,D=A-N;O==null||O.push(["L",S,Math.abs(D)<k?A-k*(D<=0?-1:1):N])};if(s.length&&(i||t)&&c&&j(c.min)){let M=c.getExtremes().max+y,S=O=>{O.forEach((D,H)=>
2{(D[0]==="M"||D[0]==="L")&&(O[H]=[D[0],g?f-D[1]:D[1],g?D[2]:f-D[2]])})};if(s.forEach(O=>{O.lineClip=[],O.translated=ee(c.toPixels(X(O.value,M),!0)||0,0,f)}),i&&!this.showLine&&i.hide(),t&&t.hide(),n==="y"&&o.length<r.len)for(let O of o){let{plotX:D,plotY:H,zone:Y}=O,F=Y&&s[s.indexOf(Y)-1];Y&&b(Y,D,H),F&&b(F,D,H)}let A=[],N=c.toPixels(c.getExtremes().min-y,!0);s.forEach(O=>{var yt,xt;let D=O.lineClip||[],H=Math.round(O.translated||0);r.reversed&&D.reverse();let{clip:Y,simpleClip:F}=O,_=0,Q=0,tt=r.len,dt=a.len;g?(_=H,tt=N):(Q=H,dt=N);let mt=[["M",_,Q],["L",tt,Q],["L",tt,dt],["L",_,dt],["Z"]],ct=[mt[0],...D,mt[1],mt[2],...A,mt[3],mt[4]];A=D.reverse(),N=H,h&&(S(ct),t&&S(mt)),Y?(Y.animate({d:ct}),F==null||F.animate({d:mt})):(Y=O.clip=u.path(ct),t&&(F=O.simpleClip=u.path(mt))),i&&((yt=O.graph)==null||yt.clip(Y)),t&&((xt=O.area)==null||xt.clip(F))})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return K(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(K(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&t==="series";s.inverted&&(e=i,i=this.xAxis);let r={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};E(this,"getPlotBox",r);let{scale:a,translateX:n,translateY:h}=r;return{translateX:n,translateY:h,rotation:90*!!o,rotationOriginX:o?a*(e.len-i.len)/2:0,rotationOriginY:o?a*(e.len+i.len)/2:0,scaleX:o?-a:a,scaleY:a}}removeEvents(t){let{eventsToUnbind:e}=this;t||je(this),e.length&&(e.forEach(i=>{i()}),e.length=0)}render(){var u,c,g,f,y;let t=this,{chart:e,options:i,hasRendered:s}=t,o=ws(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;E(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),i.clip!==!1&&t.setClip(),h&&((u=t.animate)==null||u.call(t,!0)),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),(c=t.drawDataLabels)==null||c.call(t),(g=t.redrawPoints)==null||g.call(t),i.enableMouseTracking&&((f=t.drawTracker)==null||f.call(t)),h&&((y=t.animate)==null||y.call(t)),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=ai(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,E(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,ai(function(){e.kdTree=(function o(r,a,n){let h,u,c=r==null?void 0:r.length;if(c)return h=e.kdAxisArray[a%n],r.sort((g,f)=>(g[h]||0)-(f[h]||0)),{point:r[u=Math.floor(c/2)],left:o(r.slice(0,u),a+1,n),right:o(r.slice(u+1),a+1,n)}})(e.getValidPoints(void 0,!e.directTouch,i==null?void 0:i.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||(t==null?void 0:t.type)==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",u=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,c=!!r.isBubble,g=s||((y,k,b)=>{let M=y[b]||0,S=k[b]||0;return[M===S&&y.index>k.index||M<S?y:k,!1]}),f=o||((y,k)=>y<k);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return(function y(k,b,M,S){var xt,Et;let A,N,O,D,H,Y,F,_=b.point,Q=r.kdAxisArray[M%S],tt=_,dt=!1;A=k[a],N=_[a],O=K(A)&&K(N)?A-N:null,D=k[n],H=_[n],Y=K(D)&&K(H)?D-H:0,F=c&&((xt=_.marker)==null?void 0:xt.radius)||0,_.dist=Math.sqrt((O&&O*O||0)+Y*Y)-F,_.distX=K(O)?Math.abs(O)-F:Number.MAX_VALUE;let mt=(k[Q]||0)-(_[Q]||0)+(c&&((Et=_.marker)==null?void 0:Et.radius)||0),ct=mt<0?"left":"right",yt=mt<0?"right":"left";return b[ct]&&([tt,dt]=g(_,y(k,b[ct],M+1,S),h)),b[yt]&&f(Math.sqrt(mt*mt),tt[h],dt)&&(tt=g(tt,y(k,b[yt],M+1,S),h)[0]),tt})(t,this.kdTree,u,u)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return i==="between"&&(i=e.reversed?-.5:.5),j(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){var g;let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=((g=o.options.tooltip)==null?void 0:g.snap)||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},u="rgba(192,192,192,"+(Le?1e-4:.002)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:u,fill:i?u:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
2),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(f=>{f&&(f.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",y=>{r==null||r.onTrackerMouseOut(y)}),e.cursor&&!o.styledMode&&f.css({cursor:e.cursor}),f.on("touchstart",h))})),E(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,{chart:h,data:u,dataTable:c,xAxis:g}=this,f=(g==null?void 0:g.hasNames)&&g.names,y=n.data,k=this.getColumn("x");e=X(e,!0);let b={series:this};this.pointClass.prototype.applyOptions.apply(b,[t]);let M=b.x;if(a=k.length,this.requireSorting&&M<k[a-1])for(r=!0;a&&k[a-1]>M;)a--;c.setRow(b,a,!0,{addColumns:!1}),f&&b.name&&(f[M]=b.name),y==null||y.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),n.legendType==="point"&&this.generatePoints(),i&&(u[0]&&u[0].remove?u[0].remove(!1):([u,y].filter(K).forEach(S=>{S.shift()}),c.deleteRows(0))),o!==!1&&E(this,"addPoint",{point:b}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],u=function(){[(a==null?void 0:a.length)===r.length?a:void 0,r,s.options.data].filter(K).forEach(c=>{c.splice(t,1)}),n.deleteRows(t),h==null||h.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};gr(i,o),e=X(e,!0),h?h.firePointEvent("remove",null,u):u()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),X(t,!0)&&r.redraw(e)}i!==!1?E(o,"remove",null,a):a()}update(t,e){var M,S,A,N;E(this,"update",{options:t=bi(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=m[r].prototype,h=i.finishedAnimating&&{animation:!1},u={},c,g,f=p.keepProps.slice(),y=t.type||o.type||s.options.chart.type,k=!(this.hasDerivedData||y&&y!==this.type||t.keys!==void 0||t.pointStart!==void 0||t.pointInterval!==void 0||t.relativeXValue!==void 0||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(O=>i.hasOptionChanged(O)));y=y||r,k?(f.push.apply(f,p.keepPropsForPoints),t.visible!==!1&&f.push("area","graph"),i.parallelArrays.forEach(function(O){f.push(O+"Data")}),t.data&&(t.dataSorting&&z(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&o.dataLabels&&(t.dataLabels=this.mergeArrays(o.dataLabels,t.dataLabels)),t=it(o,{index:o.index===void 0?i.index:o.index,pointStart:(A=(S=(M=a==null?void 0:a.series)==null?void 0:M.pointStart)!=null?S:o.pointStart)!=null?A:i.getColumn("x")[0]},!k&&{data:i.options.data},t,h),k&&t.data&&(t.data=i.options.data),(f=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(f)).forEach(function(O){f[O]=i[O],delete i[O]});let b=!1;if(m[y]){if(b=y!==i.type,i.remove(!1,!1,!1,!0),b)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,m[y].prototype);else{let O=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(g in n)i[g]=void 0;z(i,m[y].prototype),O?i.hcEvents=O:delete i.hcEvents}}else ye(17,!0,s,{missingModuleFor:y});if(f.forEach(function(O){i[O]=f[O]}),i.init(s,t),k&&this.points)for(let O of((c=i.options).visible===!1?(u.graphic=1,u.dataLabel=1):(this.hasMarkerChanged(c,o)&&(u.graphic=1),(N=i.hasDataLabels)!=null&&N.call(i)||(u.dataLabel=1)),this.points))O!=null&&O.series&&(O.resolveColor(),Object.keys(u).length&&O.destroyElements(u),c.showInLegend===!1&&O.legendItem&&s.legend.destroyItem(O));i.initialType=r,s.linkSeries(),s.setSortedData(),b&&i.linkedSeries.length&&(i.isDirtyData=!0),E(this,"afterUpdate"),X(e,!0)&&s.redraw(!!k&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){var a,n;let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=X((a=s==null?void 0:s[this.type])==null?void 0:a[t],(n=s==null?void 0:s.series)==null?void 0:n[t]);return o&&!K(r)?i!==o:i!==X(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i==null||i.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;
2e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&E(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(o){o.setState("",!0)})}setState(t,e){var c,g;let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:a}=o,n=X((c=a==null?void 0:a[t||"normal"])==null?void 0:c.animation,i.chart.options.chart.animation),{lineWidth:h,opacity:u}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(f){f&&(i.state&&f.removeClass("highcharts-series-"+i.state),t&&f.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(((g=a[t])==null?void 0:g.enabled)===!1)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),u=X(a[t].opacity,u)),s&&!s.dashstyle&&j(h))for(let f of[s,...this.zones.map(y=>y.graph)])f==null||f.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(f){f==null||f.animate({opacity:u},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){var n,h;let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=t===void 0?!r:t;let a=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(u=>{var c;(c=i[u])==null||c[a]()}),(n=i.dataLabelsGroups)==null||n.forEach(u=>{u==null||u[a]()}),(s.hoverSeries===i||((h=s.hoverPoint)==null?void 0:h.series)===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(u=>{u.options.stacking&&u.visible&&(u.isDirty=!0)}),i.linkedSeries.forEach(u=>{u.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),E(i,a),e!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=t===void 0?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),E(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){var k,b;let i=this.chart.renderer,s=this.options.legendSymbol||"rectangle",o=e.legendItem||{},{options:r,symbolHeight:a,symbolWidth:n}=t,h=r.squareSymbol,u=h?a:n,c=h?(n-a)/2:0,g=(t.baseline||0)-a+1,f=(k=r.symbolRadius)!=null?k:a,y=s==="rectangle"?i.rect(c,g,u,a,f):i.symbols[s]&&i.symbol(s,c,g,u,a,{r:f});y?o.symbol=y.addClass("highcharts-point").attr({zIndex:3}).add(o.group):(b=Lo[s])==null||b.call(this,t,e)}}p.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:d}=this.series.chart;return typeof this.y!="number"?"":d(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},p.types=fe.seriesTypes,p.registerType=fe.registerSeriesType,p.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],p.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],z(p.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Bi,requireSorting:!0,sorted:!0}
2),fe.series=p;let x=p,{animObject:v,setAnimation:w}=le,{registerEventOptions:P}=vs,{composed:T,marginNames:I}=G,{distribute:L}=Es,{format:R}=oi;class C{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),P(this,e),rt(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),rt(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=X(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=it(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=X(t.symbolWidth,16),this.pages=[],this.proximate=t.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(it(!0,this.options,t)),"events"in this.options&&P(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,
vendor: 4,786 bytes, line 2
2X(e,!0)&&i.redraw(),E(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){var h;let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof x||t instanceof Bi)&&(t.color=((h=t.options)==null?void 0:h.legendSymbolColor)||i),o==null||o[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:u={}}=this,c=u.color,{fillColor:g,fillOpacity:f,lineColor:y,marker:k}=t.options,b=M=>(!e&&(M.fill&&(M.fill=c),M.stroke&&(M.stroke=c)),M);r==null||r.css(it(e?this.itemStyle:u)),a==null||a.attr(b({stroke:y||t.color})),n&&n.attr(b(k&&n.isMarker?t.pointAttribs():{fill:t.color})),s==null||s.attr(b({fill:g||t.color,"fill-opacity":g?1:f!=null?f:.75}))}t.color=i,E(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e!=null&&e.element){let h={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},u=()=>{E(this,"afterPositionItem",{item:t})};e[K(e.translateY)?"animate":"attr"](h,void 0,u)}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.legendItem||{};for(let i of["group","label","line","symbol"])e[i]&&(e[i]=e[i].destroy());t.checkbox=Ui(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){var o;let t,e=(o=this.group)==null?void 0:o.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(r){let a,n=r.checkbox;n&&(a=t+s+n.y+(this.scrollOffset||0)+3,Dt(n,{left:e.translateX+r.checkboxOffset+n.x-20+"px",top:a+"px",display:this.proximate||a>t-6&&a<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?R(e.labelFormat,t,this.chart):e.labelFormatter.call(t,t)})}renderItem(t){var H;let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r=o.layout==="horizontal",a=this.symbolWidth,n=o.symbolPadding||0,h=this.itemStyle,u=this.itemHiddenStyle,c=r?X(o.itemDistance,20):0,g=!o.rtl,f=!t.series,y=!f&&t.series.drawLegendSymbol?t.series:t,k=y.options,b=!!this.createCheckboxForItem&&k&&k.showCheckbox,M=o.useHTML,S=t.options.className,A=e.label,N=a+n+c+20*!!b;!A&&(e.group=s.g("legend-item").addClass("highcharts-"+y.type+"-series highcharts-color-"+t.colorIndex+(S?" "+S:"")+(f?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=A=s.text("",g?a+n:-n,this.baseline||0,M),i.styledMode||A.css(it(t.visible?h:u)),A.attr({align:g?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(A),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,A.attr("y",this.baseline),this.symbolHeight=X(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWidth=X(o.symbolWidth,Math.max(this.symbolHeight,16)),N=this.symbolWidth+n+c+20*!!b,g&&A.attr("x",this.symbolWidth+n))),y.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,A,M)),b&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!h.width)&&A.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?te(o.maxWidth,i.chartWidth):1/0)-N+"px"}),this.setText(t);let O=A.getBBox(),D=((H=this.fontMetrics)==null?void 0:H.h)||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||O.width+N,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(O.height>1.5*D?O.height:D))}layoutItem(t){let e=this.options,i=this.padding,s=e.layout==="horizontal",o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?X(e.itemDistance,20):0,h=this.maxLegendWidth,u=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+u>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=u:(this.itemY+=a+o+r,this.lastLineHeight=o
vendor: 8,466 bytes, line 2
2),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):u)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){var s;let i=e==null?void 0:e.options;e&&X(i.showInLegend,!K(i.linkedTo)&&void 0,!0)&&(t=t.concat(((s=e.legendItem)==null?void 0:s.labels)||(i.legendType==="point"?e.data:e)))}),E(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((r,a)=>{var n;r.test(o)&&!K(t[a])&&(i[I[a]]=Math.max(i[I[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+((n=s.margin)!=null?n:12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s=this.options.align==="left";for(let o of(this.allItems.forEach(function(r){let a,n,h=s,u,c;r.yAxis&&(r.xAxis.options.reversed&&(h=!h),r.points&&(a=Jt(h?r.points:r.points.slice(0).reverse(),function(g){return j(g.plotY)})),n=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,c=r.yAxis.top-e.plotTop,u=r.visible?(a?a.plotY:r.yAxis.height)+(c-.3*n):c+r.yAxis.height,i.push({target:u,size:n,item:r}))},this),L(i,e.plotHeight)))t=o.item.legendItem||{},j(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,o=this.padding,r=this.getAllItems(),a,n,h,u=this.group,c,g=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=te(s.width,e-o),c=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(c/=2),this.maxLegendWidth=this.widthOption||c,u||(this.group=u=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(u),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),cs(r,(f,y)=>{var k,b;return(((k=f.options)==null?void 0:k.legendIndex)||0)-(((b=y.options)==null?void 0:b.legendIndex)||0)}),s.reversed&&r.reverse(),this.allItems=r,this.display=a=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),n=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,c,te(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,h=this.lastItemY+this.lastLineHeight+this.titleHeight,h=this.handleOverflow(h)+o,g||(this.box=g=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(u)),t.styledMode||g.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),n>0&&h>0&&g[g.placed?"animate":"attr"](g.crisp.call({},{x:0,y:0,width:n,height:h},g.strokeWidth())),u[a?"show":"hide"](),t.styledMode&&u.getStyle("display")==="none"&&(n=h=0),this.legendWidth=n,this.legendHeight=h,a&&this.align(),this.proximate||this.positionItems(),E(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=it(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(it(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a=o.verticalAlign==="top",n=this.padding,h=o.maxHeight,u=o.navigation,c=X(u.animation,!0),g=u.arrowSize||12,f=this.pages,y=this.allItems,k=function(Y){typeof Y=="number"?H.attr({height:Y}):H&&(e.clipRect=H.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=Y?"rect("+n+"px,9999px,"+(n+Y)+"px,0)":"auto")},b=function(Y){return e[Y]=s.circle(0,0,1.3*g).translate(g/2,g/2).add(D),i.styledMode||e[Y].attr("fill","rgba(0,0,0,0.0001)"),e[Y]},M,S,A,N,O=i.spacingBox.height+(a?-r:r)-n,D=this.nav,H=this.clipRect;return o.layout!=="horizontal"||o.verticalAlign==="middle"||o.floating||(O/=2),h&&(O=Math.min(O,h)),f.length=0,t&&O>0&&t>O&&u.enabled!==!1?(this.clipHeight=M=Math.max(O-20-this.titleHeight-n,0),this.currentPage=X(this.currentPage,1),this.fullHeight=t,y.forEach((Y,F)=>{let _=(A=Y.legendItem||{}).y||0,Q=Math.round(A.label.getBBox().height),tt=f.length;(!tt||_-f[tt-1]>M&&(S||_)!==f[tt-1])&&(f.push(S||_),tt++),A.pageIx=tt-1,S&&N&&(N.pageIx=tt-1),F===y.length-1&&_+Q-f[tt-1]>M&&_>f[tt-1]&&(f.push(_),A.pageIx=tt),_!==S&&(S=_),N=A}),H||(H=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(H)),k(M),D||(this.nav=D=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,g,g).add(D),b("upTracker").on("click",function(){e.scroll(-1,c)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&u.style&&this.pager.css(u.style),this.pager.add(D),this.down=s.symbol("triangle-down",0,0,g,g).add(D),b("downTracker").on("click",function(){e.scroll(1,c)})),e.scroll(0),t=O):D&&(k(),this.nav=D.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,u=this.currentPage+t;u>o&&(u=o),u>0&&(e!==void 0&&w(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(c){c.attr({class:u===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:u+"/"+o}),[this.down,this.downTracker].forEach(function(c){c.attr({x:18+this.pager.getBBox().width,class:u===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:u===1?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:u===1?"default":"pointer"}),this.down.attr({fill:u===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:u===o?"default":"pointer"})),this.scrollOffset=-s[u-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=u,this.positionCheckboxes(),ai(()=>{E(this,"afterScroll",{currentPage:u})},v(X(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof Bi,n=t instanceof x,h="highcharts-legend-"+(a?"point":"series")+"-active",u=s.chart.styledMode,c=i?[e,o.symbol]:[o.group],g=f=>{s.allItems.forEach(y=>{t!==y&&[y].concat(y.linkedSeries||[]).forEach(k=>{k.setState(f,!a)})})};for(let f of c)f&&f.on("mouseover",function(){t.visible&&g("inactive"),t.setState("hover"),t.visible&&r.addClass(h),u||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(it(t.visible?s.itemStyle:s.itemHiddenStyle)),g(""),r.removeClass(h),t.setState()}).on("click",function(y){let k=function(){t.setVisible&&t.setVisible(),g(t.visible?"inactive":"")};r.removeClass(h),E(s,"itemClick",{browserEvent:y,legendItem:t,context:s},k),a?t.firePointEvent("legendItemClick",{browserEvent:y}):n&&E(t,"legendItemClick",{browserEvent:y})})}createCheckboxForItem(t){t.checkbox=Ee("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),rt(t.checkbox,"click",function(e){let i=e.target;E(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(as=C||(C={})).compose=function(d){xe(T,"Core.Legend")&&rt(d,"beforeMargins",function(){this.legend=new as(this,this.options.legend)})};let W=C,{animate:B,animObject:Z,setAnimation:V}=le,{defaultOptions:U}=Je,{numberFormat:q}=oi,{registerEventOptions:ot}=vs,{charts:st,doc:gt,marginNames:wt,svg:at,win:Nt}=G,{seriesTypes:ft}=fe;class Bt{static chart(t,e,i){return new Bt(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!gt)return void ye(36,!1,this);const s=[...arguments];(Rt(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming=Ys(Ii({},e),{type:X(t.zoomType,e.type),key:X(t.zoomKey,e.key),pinchType:X(t.pinchType,e.pinchType),singleTouch:X(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:it(e.resetButton,t.resetZoomButton)})}init(t,e){E(this,"init",{args:arguments},function(){var r,a;let i=it(U,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=z({}
vendor: 4,532 bytes, line 2
2,t),(this.renderTo=Rt(o)?gt.getElementById(o):o)||ye(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=(a=i.lang.locale)!=null?a:(r=this.renderTo.closest("[lang]"))==null?void 0:r.lang,this.time=new Ws(z(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||q).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=st.length,st.push(this),G.chartCount++,ot(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),E(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=ft[i];s||ye(17,!0,this,{missingModuleFor:i});let o=new s;return typeof o.init=="function"&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=Xe(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?Xe(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let r=e,a=i.length;r<a;++r){let n=i[r];n&&(n.index=r,n instanceof x&&(n.name=n.getName()),n.options.isInternal||(s[r]=n.options,o[r]=n.userOptions))}}getClipBox(t,e){var u,c,g,f;let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:a,width:n,height:h}=it(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(n=s.len),o&&o.len!==this.plotSizeY&&(h=o.len),i&&!t.invertible&&([n,h]=[h,n])),e&&(r+=(c=(u=i?o:s)==null?void 0:u.pos)!=null?c:this.plotLeft,a+=(f=(g=i?s:o)==null?void 0:g.pos)!=null?f:this.plotTop),{x:r,y:a,width:n,height:h}}isInsidePlot(t,e,i={}){var b;let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:h=0,scrollTop:u=0}=i.visiblePlotOnly&&((b=this.scrollablePlotArea)==null?void 0:b.scrollingContainer)||{},c=i.series,g=i.visiblePlotOnly&&n||o,f=i.inverted?e:t,y=i.inverted?t:e,k={x:f,y,isInsidePlot:!0,options:i};if(!i.ignoreX){let M=c&&(s&&!this.polar?c.yAxis:c.xAxis)||{pos:r,len:1/0},S=i.paneCoordinates?M.pos+f:r+f;S>=Math.max(h+r,M.pos)&&S<=Math.min(h+r+g.width,M.pos+M.len)||(k.isInsidePlot=!1)}if(!i.ignoreY&&k.isInsidePlot){let M=!s&&i.axis&&!i.axis.isXAxis&&i.axis||c&&(s?c.xAxis:c.yAxis)||{pos:a,len:1/0},S=i.paneCoordinates?M.pos+y:a+y;S>=Math.max(u+a,M.pos)&&S<=Math.min(u+a+g.height,M.pos+M.len)||(k.isInsidePlot=!1)}return E(this,"afterIsInsidePlot",k),k.isInsidePlot}redraw(t){E(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],u,c,g,f=this.isDirtyBox,y=this.isDirtyLegend,k;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),V(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),g=i.length;g--;)if(((k=i[g]).options.stacking||k.options.centerInCategory)&&(c=!0,k.isDirty)){u=!0;break}if(u)for(g=i.length;g--;)(k=i[g]).options.stacking&&(k.isDirty=!0);i.forEach(function(b){b.isDirty&&(b.options.legendType==="point"?(typeof b.updateTotals=="function"&&b.updateTotals(),y=!0):r&&(r.labelFormatter||r.labelFormat)&&(y=!0)),b.isDirtyData&&E(b,"updatedData")}),y&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),c&&this.getStacks(),e.forEach(function(b){b.updateNames(),b.setScale()}),this.getMargins(),e.forEach(function(b){b.isDirty&&(f=!0)}),e.forEach(function(b){let M=b.min+","+b.max;b.extKey!==M&&(b.extKey=M,h.push(function(){E(b,"afterSetExtremes",z(b.eventArgs,b.getExtremes())),delete b.eventArgs})),(f||c)&&b.redraw()}),f&&this.drawChartBox(),E(this,"predraw"),i.forEach(function(b){(f||b.isDirty)&&b.visible&&b.redraw(),b.isDirtyData=!1}),s&&s.reset(!0),a.draw(),E(this,"redraw"),E(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(b){b.call()})}get(t){let e=this.series;function i(o){return o.id===t||o.options&&o.options.id===t}let s=Jt(this.axes,i)||Jt(this.series,i);for(let o=0;!s&&o<e.length;o++)s=Jt(e[o].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(E(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=Xe(t[e]||{}))new Di(this,i,e);E(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>
2(e.getPointsCollection().forEach(i=>{X(i.selectedStaging,i.selected)&&t.push(i)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){var r;let i=this,s=this.options[t]=it(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(a,n){i.applyDescription(t,a),i.layOutTitles(n)},this.styledMode||o.css(z(t==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:(r=s.style)==null?void 0:r.whiteSpace}),this[t]=o)}layOutTitles(t=!0){var a,n,h,u;let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(c=>{var b,M;let g=this[c],f=this.options[c],y=it(o),k=(g==null?void 0:g.textPxLength)||0;if(g&&f){E(this,"layOutTitle",{alignTo:y,key:c,textPxLength:k});let S=s.fontMetrics(g),A=S.b,N=S.h,O=f.verticalAlign||"top",D=O==="top",H=D&&f.minScale||1,Y=c==="title"?D?-3:0:D?e[0]+2:0,F=Math.min(y.width/k,1),_=Math.max(H,F),Q=it({y:O==="bottom"?A:Y+A},f),tt=(f.width||(F>H?this.chartWidth:y.width)/_)+"px";(M=Q.align)!=null||(Q.align=c==="title"?F<H?"left":"center":(b=this.title)==null?void 0:b.alignValue),g.alignValue!==Q.align&&(g.placed=!1);let dt=Math.round(g.css({width:tt}).getBBox(f.useHTML).height);if(Q.height=dt,g.align(Q,!1,y).attr({align:Q.align,scaleX:_,scaleY:_,"transform-origin":`${y.x+k*_*et(Q.align)} ${N}`}),!f.floating){let mt=dt*(dt<1.2*N?1:_);O==="top"?e[0]=Math.ceil(e[0]+mt):O==="bottom"&&(e[2]=Math.ceil(e[2]+mt))}}},this),e[0]&&(((a=i.title)==null?void 0:a.verticalAlign)||"top")==="top"&&(e[0]+=((n=i.title)==null?void 0:n.margin)||0),e[2]&&((h=i.caption)==null?void 0:h.verticalAlign)==="bottom"&&(e[2]+=((u=i.caption)==null?void 0:u.margin)||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,E(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,i=>{if(i!==this.container){let s=i.style.display;return i.style.display="none",[i,s]}}),e={width:Ct(this.renderTo,"width",!0)||0,height:Ct(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([i,s])=>{i.style.display=s}),e}getChartSize(){var r;let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!((r=this.renderTo.parentElement)!=null&&r.style.height)&&this.renderTo.style.height==="100%";this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,te(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e!=null&&e.style;)e.hcOrigStyle&&(Dt(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(gt.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e!=null&&e.style&&(gt.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,gt.body.appendChild(e)),(Ct(e,"display",!1)==="none"||e.hcOrigDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),Dt(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==gt.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){var g,f;let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=si(),r=this.renderTo,a=Wt(Tt(r,s));j(a)&&st[a]&&st[a].hasRendered&&st[a].destroy(),Tt(r,s,this.index),r.innerHTML=pe.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,h=this.chartWidth;Dt(r,{overflow:"hidden"}),this.styledMode||(t=z({position:"relative",overflow:"hidden",width:h+"px",height:n+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let u=Ee("div",{id:o},t,r);this.container=u,this.getChartSize(),h!==this.chartWidth&&(h=this.chartWidth,this.styledMode||Dt(u,{width:X((g=i.style)==null?void 0:g.width,h+"px")})),this.containerBox=this.getContainerBox(),this._cursor=u.style.cursor;
2let c=i.renderer||!at?ki.getRendererType(i.renderer):bs;if(this.renderer=new c(u,h,n,void 0,i.forExport,(f=e.exporting)==null?void 0:f.allowHTML,this.styledMode),V(void 0,this),this.setClassName(i.className),this.styledMode)for(let y in e.defs)this.renderer.definition(e.defs[y]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,E(this,"afterGetContainer")}getMargins(t){var o;let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!K(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!K(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),(o=this.legend)!=null&&o.display&&this.legend.adjustMargins(i,e),E(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=r=>{r.forEach(a=>{a.visible&&a.getOffset()})};t.hasCartesianSeries?o(t.axes):i!=null&&i.length&&o(i),wt.forEach((r,a)=>{K(s[a])||(t[r]+=e[a])}),t.setChartSize()}getOptions(){return bi(this.userOptions,U)}reflow(t){var o,r;let e=this,i=e.containerBox,s=e.getContainerBox();(o=e.pointer)==null||delete o.chartPosition,!((r=e.exporting)!=null&&r.isPrinting)&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&($t(e.reflowTimeout),e.reflowTimeout=ai(function(){if(e.container){e.setSize(void 0,void 0,!1);let a=e.containerBox;a&&(a.height=e.chartHeight)}},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=i=>{var s;(s=t.options)!=null&&s.chart.reflow&&t.hasLoaded&&t.reflow(i)};if(typeof ResizeObserver=="function")new ResizeObserver(e).observe(t.renderTo);else{let i=rt(Nt,"resize",e);rt(this,"destroy",i)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,V(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,t!==void 0&&(s.options.chart.width=t),e!==void 0&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:u=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?B:Dt)(s.container,{width:`${a+h}px`,height:`${n+u}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(c){c.isDirty=!0,c.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,E(s,"resize"),setTimeout(()=>{s&&E(s,"endResize")},Z(r).duration)),s.isResizing-=1}setChartSize(t){var f,y;let e,i,s,o,{chartHeight:r,chartWidth:a,inverted:n,spacing:h,renderer:u}=this,c=this.clipOffset,g=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-((f=this.marginRight)!=null?f:0))),this.plotHeight=o=Math.max(0,Math.round(r-i-((y=this.marginBottom)!=null?y:0))),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=u.spacingBox={x:h[3],y:h[0],width:a-h[3]-h[1],height:r-h[0]-h[2]},this.plotBox=u.plotBox={x:e,y:i,width:s,height:o},c&&(this.clipBox={x:g(c[3]),y:g(c[0]),width:g(this.plotSizeX-c[1]-c[3]),height:g(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach(function(k){k.setAxisSize(),k.setAxisTranslation()}),u.alignElements()),E(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){E(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(o=>{let r=e[o],a=Ot(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach((n,h)=>{var u;t[o][h]=(u=e[`${o}${n}`])!=null?u:a[h]})}),wt.forEach((o,r)=>{var a;t[o]=(a=t.margin[r])!=null?a:t.spacing[r]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroun
2dColor,h=t.plotBackgroundImage,u=this.plotLeft,c=this.plotTop,g=this.plotWidth,f=this.plotHeight,y=this.plotBox,k=this.clipRect,b=this.clipBox,M=this.chartBackground,S=this.plotBackground,A=this.plotBorder,N,O,D,H="animate";M||(this.chartBackground=M=e.rect().addClass("highcharts-background").add(),H="attr"),o?N=O=M.strokeWidth():(O=(N=t.borderWidth||0)+8*!!t.shadow,D={fill:a||"none"},(N||M["stroke-width"])&&(D.stroke=t.borderColor,D["stroke-width"]=N),M.attr(D).shadow(t.shadow)),M[H]({x:O/2,y:O/2,width:i-O-N%2,height:s-O-N%2,r:t.borderRadius}),H="animate",S||(H="attr",this.plotBackground=S=e.rect().addClass("highcharts-plot-background").add()),S[H](y),!o&&(S.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(r?(h!==r.attr("href")&&r.attr("href",h),r.animate(y)):this.plotBGImage=e.image(h,u,c,g,f).add())),k?k.animate({width:b.width,height:b.height}):this.clipRect=e.clipRect(b),H="animate",A||(H="attr",this.plotBorder=A=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||A.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),A[H](A.crisp(y,-A.strokeWidth())),this.isDirtyBox=!1,E(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=ft[o.type],i=o[a]||e&&e.prototype[a],t=r==null?void 0:r.length;!i&&t--;)(e=ft[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(s){s.linkedSeries.length=0}),i.forEach(function(s){var a,n;let{linkedTo:o}=s.options,r=Rt(o)&&(o===":previous"?i[s.index-1]:e.get(o));r&&r.linkedParent!==s&&(r.linkedSeries.push(s),s.linkedParent=r,r.enabledDataSorting&&s.setDataSortingOptions(),s.visible=(n=(a=s.options.visible)!=null?a:r.options.visible)!=null?n:s.visible)}),E(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){var u,c,g;let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=f=>{f.forEach(y=>{y.visible&&y.render()})},r=0,a=!0,n,h=0;for(let f of(this.setTitle(),E(this,"beforeMargins"),(u=this.getStacks)==null||u.call(this),this.getMargins(!0),this.setChartSize(),t)){let{options:y}=f,{labels:k}=y;if(this.hasCartesianSeries&&f.horiz&&f.visible&&k.enabled&&f.series.length&&f.coll!=="colorAxis"&&!this.polar){r=y.tickLength,f.createGroups();let b=new Ni(f,0,"",!0),M=b.createLabel("x",k);if(b.destroy(),M&&X(k.reserveSpace,!j(y.crossing))&&(r=M.getBBox().height+k.distance+Math.max(y.offset||0,0)),r){M==null||M.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&h<s;){let f=this.plotWidth,y=this.plotHeight,k=[1.05,1.1];for(let b of t){let M=+(b.horiz||0);if(h===0){b.setScale();let S=(g=(c=b.tickPositions)==null?void 0:c.info)==null?void 0:g.match;S&&(k[M]=Math.min(S,k[M]))}else(M&&a||!M&&n)&&b.setTickInterval(!0)}h===0?this.getAxisMargins():this.getMargins(),a=f/this.plotWidth>(h?1:k[1]),n=y/this.plotHeight>(h?1:k[0]),h++}this.drawChartBox(),this.hasCartesianSeries?o(t):e!=null&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){var s;let e=this,i=it(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(o){E(e,"creditsClick",o,()=>{i.href&&(Nt.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),(s=i.events)!=null&&s.click&&rt(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(o){e.credits=e.credits.destroy(),e.addCredits(o)})}destroy(){var a,n;let t,e=this,i=e.axes,s=e.series,o=e.container,r=o==null?void 0:o.parentNode;for(E(e,"destroy"),e.renderer.forExport?_e(st,e):st[e.index]=void 0,G.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),je(e),t=i.length;t--;)i[t]=i[t].destroy();for((n=(a=this.scroller)==null?void 0:a.destroy)==null||n.call(a),t=s.length;t--;)s[t]=s[t].destroy();
2["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(h=>{var u,c;e[h]=(c=(u=e[h])==null?void 0:u.destroy)==null?void 0:c.call(u)}),o&&(o.innerHTML=pe.emptyHTML,je(o),r&&Ui(o)),ut(e,function(h,u){delete e[u]})}firstRender(){var s;let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=Ft(e.series)?e.series:[];e.series=[],i.forEach(function(o){t.initSeries(o)}),t.linkSeries(),t.setSortedData(),E(t,"beforeRender"),t.render(),(s=t.pointer)==null||s.getChartPosition(),t.renderer.asyncCounter||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&this.index!==void 0&&t.apply(this,[this])},this),E(this,"load"),E(this,"render"),K(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":((e==null?void 0:e.element.textContent)||"").replace(/</g,"&lt;")}),t.accessibility&&t.accessibility.enabled===!1||ye('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&Nt.getComputedStyle(this.container).zIndex!=="0"&&ye(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=X(e,!0),E(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),E(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new Di(this,e.axis,t);return X(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){var h,u,c,g;let e=this,i=e.options,s=i.loading,o=(h=s==null?void 0:s.style)!=null?h:{},r=function(){var f,y,k,b;a&&Dt(a,{left:(f=o.left)!=null?f:e.plotLeft+"px",top:(y=o.top)!=null?y:e.plotTop+"px",width:(k=o.width)!=null?k:e.plotWidth+"px",height:(b=o.height)!=null?b:e.plotHeight+"px"})},a=e.loadingDiv,n=e.loadingSpan;a||(e.loadingDiv=a=Ee("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=Ee("span",{className:"highcharts-loading-inner"},null,a),rt(e,"redraw",r)),a.className="highcharts-loading",pe.setElementHTML(n,X(t,i.lang.loading,"")),!e.styledMode&&(Dt(a,z(o,{zIndex:10})),Dt(n,(u=s==null?void 0:s.labelStyle)!=null?u:{}),e.loadingShown||(Dt(a,{opacity:0,display:""}),B(a,{opacity:(c=o.opacity)!=null?c:.5},{duration:(g=s==null?void 0:s.showDuration)!=null?g:0}))),e.loadingShown=!0,r()}hideLoading(){var i,s;let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||B(e,{opacity:0},{duration:(s=(i=t.loading)==null?void 0:i.hideDuration)!=null?s:100,complete:function(){Dt(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a,n=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},u=t.isResponsiveOptions,c=[];E(n,"update",{options:t}),u||n.setResponsive(!1,!0),t=bi(t,n.options),n.userOptions=it(n.userOptions,t);let g=t.chart;g&&(it(!0,n.options.chart,g),this.setZoomOptions(),"className"in g&&n.setClassName(g.className),("inverted"in g||"polar"in g||"type"in g)&&(n.propFromSeries(),o=!0),"alignTicks"in g&&(o=!0),"events"in g&&ot(this,g),ut(g,function(k,b){n.propsRequireUpdateSeries.indexOf("chart."+b)!==-1&&(r=!0),n.propsRequireDirtyBox.indexOf(b)!==-1&&(n.isDirtyBox=!0),n.propsRequireReflow.indexOf(b)!==-1&&(n.isDirtyBox=!0,u||(a=!0))}),!n.styledMode&&g.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),ut(t,function(k,b){n[b]&&typeof n[b].update=="function"?n[b].update(k,!1):typeof n[h[b]]=="function"?n[h[b]](k):b!=="colors"&&n.collectionsWithUpdate.indexOf(b)===-1&&it(!0,n.options[b],t[b]),b!=="chart"&&n.propsRequireUpdateSeries.indexOf(b)!==-1&&(r=!0)}),this.collectionsWithUpdate.forEach(k=>
2{t[k]&&(Xe(t[k]).forEach((b,M)=>{let S;if(!b)return;let A=K(b.id);A&&(S=n.get(b.id)),!S&&n[k]&&(S=n[k][X(b.index,M)])&&(A&&K(S.options.id)||S.options.isInternal)&&(S=void 0),S&&S.coll===k&&(S.update(b,!1),i&&(S.touched=!0)),!S&&i&&n.collectionsWithInit[k]&&(n.collectionsWithInit[k][0].apply(n,[b].concat(n.collectionsWithInit[k][1]||[]).concat([!1])).touched=!0)}),i&&n[k].forEach(b=>{b.touched||b.options.isInternal?delete b.touched:c.push(b)}))}),c.forEach(k=>{k.chart&&k.remove&&k.remove(!1)}),o&&n.axes.forEach(function(k){k.update({},!1)}),r&&n.getSeriesOrderByLinks().forEach(function(k){k.chart&&k.update({},!1)},this);let f=g==null?void 0:g.width,y=g&&(Rt(g.height)?te(g.height,f||n.chartWidth):g.height);a||j(f)&&f!==n.chartWidth||j(y)&&y!==n.chartHeight?n.setSize(f,y,s):X(e,!0)&&n.redraw(s),E(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=U.lang,i=t.zooming.resetButton,s=i.theme,o=i.relativeTo==="chart"||i.relativeTo==="spacingBox"?null:"plotBox";function r(){t.zoomOut()}E(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),E(this,"afterShowResetZoom")}zoomOut(){E(this,"selection",{resetSelection:!0}
2,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s=typeof e=="object"?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(n=>n.options.panningEnabled&&!n.options.isInternal),a=i.options.chart;a!=null&&a.panning&&(a.panning=s),E(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),Dt(i.container,{cursor:"move"})})}transform(t){var k,b,M;let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n,allowResetButton:h=!0}=t,{inverted:u,time:c}=this;(k=this.hoverPoints)==null||k.forEach(S=>S.setState()),E(this,"transform",t);let g=t.hasZoomed||!1,f,y;for(let S of e){let{horiz:A,len:N,minPointOffset:O=0,options:D,reversed:H}=S,Y=A?"width":"height",F=A?"x":"y",_=X(a[Y],S.len),Q=X(s[Y],S.len),tt=10>Math.abs(_)?1:_/Q,dt=(s[F]||0)+Q/2-S.pos,mt=dt-(((b=a[F])!=null?b:S.pos)+_/2-S.pos)/tt,ct=H&&!u||!H&&u?-1:1;if(!o&&(dt<0||dt>S.len))continue;let yt=S.chart.polar||S.isOrdinal?0:O*ct||0,xt=S.toValue(mt,!0),Et=S.toValue(mt+N/tt,!0),vt=xt+yt,zt=Et-yt,Zt=S.allExtremes;if(r&&r[S.coll].push({axis:S,min:Math.min(xt,Et),max:Math.max(xt,Et)}),vt>zt&&([vt,zt]=[zt,vt]),tt===1&&!o&&S.coll==="yAxis"&&!Zt){for(let gi of S.series){let fi=gi.getExtremes(gi.getProcessedData(!0).modified.getColumn(gi.pointValKey||"y")||[],!0);Zt!=null||(Zt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),j(fi.dataMin)&&j(fi.dataMax)&&(Zt.dataMin=Math.min(fi.dataMin,Zt.dataMin),Zt.dataMax=Math.max(fi.dataMax,Zt.dataMax))}S.allExtremes=Zt}let{dataMin:De,dataMax:Vt,min:oe,max:Ht}=z(S.getExtremes(),Zt||{}),It=c.parse(D.min),de=c.parse(D.max),be=De!=null?De:It,ve=Vt!=null?Vt:de,Ce=zt-vt,ui=S.categories?0:Math.min(Ce,ve-be),Oi=be-ui*(K(It)?0:D.minPadding),$e=ve+ui*(K(de)?0:D.maxPadding),We=S.allowZoomOutside||tt===1||n!=="zoom"&&tt>1,ge=Math.min(It!=null?It:Oi,Oi,We?oe:Oi),Yi=Math.max(de!=null?de:$e,$e,We?Ht:$e);(!S.isOrdinal||tt!==1||o)&&(vt<ge&&(vt=ge,tt>=1&&(zt=vt+Ce)),zt>Yi&&(zt=Yi,tt>=1&&(vt=zt-Ce)),(o||S.series.length&&(vt!==oe||zt!==Ht)&&vt>=ge&&zt<=Yi)&&(r?r[S.coll].push({axis:S,min:vt,max:zt}):(S.isPanning=n!=="zoom",S.isPanning&&n!=="mousewheel"&&(y=!0),S.setExtremes(o?void 0:vt,o?void 0:zt,!1,!1,{move:mt,trigger:n,scale:tt}),!o&&(vt>ge||zt<Yi)&&(f=h)),g=!0),this.hasCartesianSeries||o||(f=h),i&&(this[A?"mouseDownX":"mouseDownY"]=i[A?"chartX":"chartY"]))}return g&&(r?E(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!f||y||this.resetZoomButton?!f&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(n==="zoom"&&((M=this.options.chart.animation)!=null?M:this.pointCount<100)))),g}}z(Bt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Bt.prototype.addAxis,[!0]],yAxis:[Bt.prototype.addAxis,[!1]],series:[Bt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:J}=le,{composed:lt}=G;function nt(){let d=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!d&&(this.scrollablePlotArea=d=new Lt(this)),d==null||d.applyFixed()}function bt(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class Lt{static compose(t,e,i){xe(lt,this.compose)&&(rt(t,"afterInit",bt),rt(e,"afterSetChartSize",s=>this.afterSetSize(s.target,s)),rt(e,"render",nt),rt(i,"show",bt))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:u,renderer:c}=t;if(!c.forExport)if(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=it(t.plotBox),h.width=t.plotWidth+=i,n[u?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),K(s)&&(t.scrollablePlotBox=it(t.plotBox),h.height=t.plotHeight+=s,n[u?"width":"height"]+=s,o=!1)),K(o)){if(!e.skipAxes)for(let g of t.axes)(g.horiz===o||t.hasParallelCoordinates&&g.coll==="yAxis")&&(g.setAxisSize(),g.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){var f,y;let e;const i=t.options.chart,s=ki.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(a.overflowX="auto"),t.scrollablePixelsY&&(a.overflowY="auto"),this.chart=t;const n=this.parentDiv=Ee("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=Ee("div",{className:"highcharts-scrolling"},a,n),u=this.innerContainer=Ee("div",{className:"highcharts-inner-container"},void 0,h),c=this.fixedDiv=Ee("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((f=i.style)==null?void 0:f.zIndex)||0)+2,top:0},void 0,!0),g=this.fixedRenderer=new s(c,t.chartWidth,t.chartHeight,i.style);this.mask=g.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":(y=o.opacity)!=null?y:.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(c,h),Dt(t.renderTo,{overflow:"visible"}),rt(t,"afterShowResetZoom",r),rt(t,"afterApplyDrilldown",r),rt(t,"afterLayOutTitles",r),rt(h,"scroll",()=>{let{pointer:k,hoverPoint:b}=t;k&&(delete k.chartPosition,b&&(e=b),k.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){var _;let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:u,plotTop:c,plotWidth:g,scrollablePixelsX:f=0,scrollablePixelsY:y=0}=t,{scrollPositionX:k=0,scrollPositionY:b=0}=t.options.chart.scrollablePlotArea||{},M=r+f,S=a+y;e.setSize(r,a),(i==null||i)&&(this.isDirty=!1,this.moveFixedElements()),J(t.container),Dt(n,{width:`${M}px`,height:`${S}px`}),t.renderer.boxWrapper.attr({width:M,height:S,viewBox:["0 0",M,S].join(" ")}),(_=t.chartBackground)==null||_.attr({width:M,height:S}),Dt(s,{width:`${r}px`,height:`${a}px`}),K(i)||(s.scrollLeft=f*k,s.scrollTop=y*b);let A=c-o[0]-1,N=u-o[3]-1,O=c+h+o[2]+1,D=u+g+o[1]+1,H=u+g-f,Y=c+h-y,F=[["M",0,0]];f?F=[["M",0,A],["L",u-1,A],["L",u-1,O],["L",0,O],["Z"],["M",H,A],["L",r,A],["L",r,O],["L",H,O],["Z"]]:y&&(F=[["M",N,0],["L",N,c-1],["L",D,c-1],["L",D,0],["Z"],["M",N,Y],["L",N,a],["L",D,a],["L",D,Y],["Z"]]),t.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:F})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=Lt.fixedSelectors.slice();if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&t===".highcharts-yaxis"))for(let n of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])xe(a,n);else for(let n of[".highcharts-xaxis",".highcharts-yaxis"])for(let h of[`${n}:not(.highcharts-radial-axis)`,`${n}-labels:not(.highcharts-radial-axis-labels)`])_e(a,h);for(let n of a)[].forEach.call(e.querySelectorAll(n),h=>{(h.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(h),h.style.pointerEvents="auto"})}}Lt.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:Mt}=oi,{series:At}=fe,Gt=class{constructor(d,t,e,i,s){const o=d.chart.inverted,r=d.reversed;this.axis=d;const a=this.isNegative=!!e!=!!r;this.options=t=t||{},this.x=i,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=s,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(o?a?"left":"right":"center"),verticalAlign:t.verticalAlign||(o?"middle":a?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(o?a?"right":"left":"center")}destroy(){we(this,this.axis)}render(d){var o;let t=this.axis.chart,e=this.options,i=e.format,s=(i?Mt(i,this,t):(o=e.formatter)==null?void 0:o.call(this,this))||"";if(this.label)this.label.attr({text:s,visibility:"hidden"});else{this.label=t.renderer.label(s,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let r={r:e.borderRadius||0,text:s,padding:X(e.padding,5),visibility:"hidden"};t.styledMode||(r.fill=e.backgroundColor,r.stroke=e.borderColor,r["
2stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(r),this.label.added||this.label.add(d)}this.label.labelrank=t.plotSizeY,E(this,"afterRender")}setOffset(d,t,e,i,s,o){let{alignOptions:r,axis:a,label:n,options:h,textAlign:u}=this,c=a.chart,g=this.getStackBox({xOffset:d,width:t,boxBottom:e,boxTop:i,defaultX:s,xAxis:o}),{verticalAlign:f}=r;if(n&&g){let y=n.getBBox(void 0,0),k=n.padding,b=X(h.overflow,"justify")==="justify",M;r.x=h.x||0,r.y=h.y||0;let{x:S,y:A}=this.adjustStackPosition({labelBox:y,verticalAlign:f,textAlign:u});g.x-=S,g.y-=A,n.align(r,!1,g),(M=c.isInsidePlot(n.alignAttr.x+r.x+S,n.alignAttr.y+r.y+A))||(b=!1),b&&At.prototype.justifyDataLabel.call(a,n,r,n.alignAttr,y,g),n.attr({x:n.alignAttr.x,y:n.alignAttr.y,rotation:h.rotation,rotationOriginX:y.width*et(h.textAlign||"center"),rotationOriginY:y.height/2}),X(!b&&h.crop,!0)&&(M=j(n.x)&&j(n.y)&&c.isInsidePlot(n.x-k+(n.width||0),n.y)&&c.isInsidePlot(n.x+k,n.y)),n[M?"show":"hide"]()}E(this,"afterSetOffset",{xOffset:d,width:t})}adjustStackPosition({labelBox:d,verticalAlign:t,textAlign:e}){return{x:d.width/2+d.width/2*(2*et(e)-1),y:d.height/2*2*(1-et(t))}}getStackBox(d){let t=this.axis,e=t.chart,{boxTop:i,defaultX:s,xOffset:o,width:r,boxBottom:a}=d,n=t.stacking.usePercentage?100:X(i,this.total,0),h=t.toPixels(n),u=d.xAxis||e.xAxis[0],c=X(s,u.translate(this.x))+o,g=Math.abs(h-t.toPixels(a||j(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),f=e.inverted,y=this.isNegative;return f?{x:(y?h:h-g)-e.plotLeft,y:u.height-c-r+u.top-e.plotTop,width:g,height:r}:{x:c+u.transB-e.plotLeft,y:(y?h-g:h)-e.plotTop,width:r,height:g}}},{getDeferredAnimation:Qt}=le,{series:{prototype:he}}=fe;function Ue(){let d=this.inverted;this.axes.forEach(t=>{var e;(e=t.stacking)!=null&&e.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{var i;let e=((i=t.xAxis)==null?void 0:i.options)||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,X(t.options.stack,""),d?e.top:e.left,d?e.height:e.width].join(","))})}function Qe(){var t;let d=this.stacking;if(d){let e=d.stacks;ut(e,(i,s)=>{we(i),delete e[s]}),(t=d.stackTotalGroup)==null||t.destroy()}}function ti(){this.stacking||(this.stacking=new qe(this))}function se(d,t,e,i){return!K(d)||d.x!==t||i&&d.stackKey!==i?d={x:t,index:0,key:i,stackKey:i}:d.index++,d.key=[e,t,d.index].join(","),d}function ne(){let d,t=this,e=t.yAxis,i=t.stackKey||"",s=e.stacking.stacks,o=t.getColumn("x",!0),r=t.options.stacking,a=t[r+"Stacker"];a&&[i,"-"+i].forEach(n=>{var f;let h=o.length,u,c,g;for(;h--;)u=o[h],d=t.getStackIndicator(d,u,t.index,n),c=(f=s[n])==null?void 0:f[u],(g=c==null?void 0:c.points[d.key||""])&&a.call(t,g,c,h)})}function Ie(d,t,e){let i=t.total?100/t.total:0;d[0]=ht(d[0]*i),d[1]=ht(d[1]*i),this.stackedYData[e]=d[1]}function Ve(d){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?he.setStackedPoints.call(this,d,"group"):d.stacking.resetStacks())}function ni(d,t){var Y,F;let e,i,s,o,r,a,n,h=t||this.options.stacking;if(!h||!this.reserveSpace()||({group:"xAxis"}[h]||"yAxis")!==d.coll)return;let u=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),g=[],f=c.length,y=this.options,k=y.threshold||0,b=y.startFromThreshold?k:0,M=y.stack,S=t?`${this.type},${h}`:this.stackKey||"",A="-"+S,N=this.negStacks,O=d.stacking,D=O.stacks,H=O.oldStacks;for(O.stacksTouched+=1,n=0;n<f;n++){let _=u[n]||0,Q=c[n],tt=j(Q)&&Q||0;a=(e=this.getStackIndicator(e,_,this.index)).key||"",D[r=(i=N&&tt<(b?0:k))?A:S]||(D[r]={}),D[r][_]||((Y=H[r])!=null&&Y[_]?(D[r][_]=H[r][_],D[r][_].total=null):D[r][_]=new Gt(d,d.options.stackLabels,!!i,_,M)),s=D[r][_],Q!==null?(s.points[a]=s.points[this.index]=[X(s.cumulative,b)],K(s.cumulative)||(s.base=a),s.touched=O.stacksTouched,e.index>0&&this.singleStacks===!1&&(s.points[a][0]=s.points[this.index+","+_+",0"][0])):(delete s.points[a],delete s.points[this.index]);let dt=s.total||0;h==="percent"?(o=i?S:A,dt=N&&((F=D[o])!=null&&F[_])?(o=D[o][_]).total=Math.max(o.total||0,dt)+Math.abs(tt):ht(dt+Math.abs(tt))):h==="group"?j(Q)&&dt++:dt=ht(dt+tt),h==="group"?s.cumulative=(dt||1)-1:s.cumulative=ht(X(s.cumulative,b)+tt),s.total=dt,Q!==null&&(s.points[a].push(s.cumulative),g[n]=s.cumulative,s.hasValidPoints=!0)}h==="percent"&&(O.usePercentage=!0),h!=="group"&&(this.stackedYData=g),O.oldStacks={}}class qe{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o=i.coll==="xAxis",r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<a;e++)s[e].modifyStacks();E(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,ut(this.stacks,t=>{ut(t,e=>{e.cumulative=e.total})}))}resetStacks(){ut(this.stacks,t=>{ut(t,(e,i)=>{j(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){var a;let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=Qt(e,((a=t.o
2ptions.stackLabels)==null?void 0:a.animation)||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),ut(s,n=>{ut(n,h=>{h.render(r)})}),r.animate({opacity:1},o)}}(ds||(ds={})).compose=function(d,t,e){let i=t.prototype,s=e.prototype;i.getStacks||(rt(d,"init",ti),rt(d,"destroy",Qe),i.getStacks=Ue,s.getStackIndicator=se,s.modifyStacks=ne,s.percentStacker=Ie,s.setGroupedPoints=Ve,s.setStackedPoints=ni)};let Ai=ds;class Ti extends x{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;if(a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:t.linecap!=="square"&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r),t.shadow)){let u=this.chart.inverted,c={filterUnits:"userSpaceOnUse"},g=Ot(t.shadow)?it(u?{}:c,t.shadow):!!u||c;a.shadow(g)}a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,h=o.step,u=(t=t||s.points).reversed;return u&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&u&&(h=4-h),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(c,g){let f,y=c.plotX,k=c.plotY,b=t[g-1],M=c.isNull||typeof k!="number";(c.leftCliff||b!=null&&b.rightCliff)&&!i&&(n=!0),M&&!K(e)&&g>0?n=!o.connectNulls:M&&!e?n=!0:(g===0||n?f=[["M",c.plotX,c.plotY]]:s.getPointSpline?f=[s.getPointSpline(t,c,g)]:h?(f=h===1?[["L",b.plotX,k]]:h===2?[["L",(b.plotX+y)/2,b.plotY],["L",(b.plotX+y)/2,k]]:[["L",y,b.plotY]]).push(["L",y,k]):f=[["L",y,k]],a.push(c.x),h&&(a.push(c.x),h===2&&a.push(c.x)),r.push.apply(r,f),n=!1)}),r.xMap=a,s.graphPath=r,r}}Ti.defaultOptions=it(x.defaultOptions,{legendSymbol:"lineMarker"}),fe.registerSeriesType("line",Ti);let{seriesTypes:{line:Re}}=fe;class li extends Re{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{var h;let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:(h=e.fillOpacity)!=null?h:.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=Re.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],u=[],c=this.index,g=n.stacking.stacks[this.stackKey],f=r.threshold,y=Math.round(n.getThreshold(r.threshold)),k=X(r.connectNulls,a==="percent"),b=function(D,H,Y){let F=t[D],_=t[H],Q=a&&g[F.x].points[c],tt=F[Y+"Null"]||0,dt=F[Y+"Cliff"]||0,mt,ct,yt=!0;Q&&(dt||tt)?(mt=(tt?Q[0]:Q[1])+dt,ct=Q[0]+dt,yt=!!tt):!a&&_&&(_.isNull||!K(_.plotY))&&(mt=ct=f),mt!==void 0&&(u.push({plotX:e,plotY:mt===null?y:n.getThreshold(mt),isNull:yt,isCliff:!0}),h.push({plotX:e,plotY:ct===null?y:n.getThreshold(ct),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let D=0,H=t.length;D<H;++D)a||(t[D].leftCliff=t[D].rightCliff=t[D].leftNull=t[D].rightNull=void 0),i=t[D].isNull||!K(t[D].plotY),e=X(t[D].rectPlotX,t[D].plotX),s=a?X(t[D].yBottom,y):y,(!i||k)&&(k||b(D,D-1,"left"),i&&!a&&k||(u.push(t[D]),h.push({x:D,plotX:e,plotY:s})),k||b(D,D+1,"right"));let M=o.call(this,u,!0,!0);h.reversed=!0;let S=o.call(this,h,!0,!0),A=S[0];A&&A[0]==="M"&&(S[0]=["L",A[1],A[2]]);let N=M.concat(S);N.length&&N.push(["Z"]);let O=o.call(this,u,!1,k);return this.chart.series.length>1&&a&&u.some(D=>D.isCliff)&&(N.hasStackedCliffs=O.hasStackedCliffs=!0),N.xMap=M.xMap,this.areaPath=N,O}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,u=h.length,c=r.options.reversedStacks?1:-1,g=h.indexOf(e),f=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let k=0;k<t.length;k++)t[k].leftNull=t[k].rightNull=void 0,n[t[k].x]=t[k];ut(a,function(k,b){k.total!==null&&s.push(b)}),s.sort(function(k,b){return k-b});let y=h.map(k=>k.visible);
2s.forEach(function(k,b){let M=0,S,A;if(n[k]&&!n[k].isNull)i.push(n[k]),[-1,1].forEach(function(N){let O=N===1?"rightNull":"leftNull",D=a[s[b+N]],H=0;if(D){let Y=g;for(;Y>=0&&Y<u;){let F=h[Y].index;!(S=D.points[F])&&(F===e.index?n[k][O]=!0:y[Y]&&(A=a[k].points[F])&&(H-=A[1]-A[0])),Y+=c}}n[k][N===1?"rightCliff":"leftCliff"]=H});else{let N=g;for(;N>=0&&N<u;){let D=h[N].index;if(S=a[k].points[D]){M=S[1];break}N+=c}M||(M=0);let O=r.positiveValuesOnly&&M<=0?f:r.translate(M,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(k,!1,!1,!1,!0),x:k,plotY:O,yBottom:O})}})}return i}}li.defaultOptions=it(Re.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),z(li.prototype,{singleStacks:!1}),fe.registerSeriesType("area",li);let{line:Li}=fe.seriesTypes;class Zi extends Li{getPointSpline(t,e,i){let s,o,r,a,n=e.plotX||0,h=e.plotY||0,u=t[i-1],c=t[i+1];function g(y){return y&&!y.isNull&&y.doCurve!==!1&&!e.isCliff}if(g(u)&&g(c)){let y=u.plotX||0,k=u.plotY||0,b=c.plotX||0,M=c.plotY||0,S=0;s=(1.5*n+y)/2.5,o=(1.5*h+k)/2.5,r=(1.5*n+b)/2.5,a=(1.5*h+M)/2.5,r!==s&&(S=(a-o)*(r-n)/(r-s)+h-a),o+=S,a+=S,o>k&&o>h?(o=Math.max(k,h),a=2*h-o):o<k&&o<h&&(o=Math.min(k,h),a=2*h-o),a>M&&a>h?(a=Math.max(M,h),o=2*h-a):a<M&&a<h&&(a=Math.min(M,h),o=2*h-a),e.rightContX=r,e.rightContY=a,e.controlPoints={low:[s,o],high:[r,a]}}let f=["C",X(u.rightContX,u.plotX,0),X(u.rightContY,u.plotY,0),X(s,n,0),X(o,h,0),n,h];return u.rightContX=u.rightContY=void 0,f}}Zi.defaultOptions=it(Li.defaultOptions),fe.registerSeriesType("spline",Zi);let Ci=Zi,{area:zi,area:{prototype:Ne}}=fe.seriesTypes;class Xi extends Ci{}Xi.defaultOptions=it(Ci.defaultOptions,zi.defaultOptions),z(Xi.prototype,{getGraphPath:Ne.getGraphPath,getStackPoints:Ne.getStackPoints,drawGraph:Ne.drawGraph}),fe.registerSeriesType("areaspline",Xi);let{animObject:Yr}=le,{parse:Wr}=ue,{noop:Hr}=G;class Oo extends x{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,a=o.reversed,n=s.options,{clipOffset:h,inverted:u}=this.chart,c={},g=u?"translateX":"translateY";t&&h?(c.scaleY=.001,i=ee(o.toPixels(n.threshold||0),r,r+o.len),u?c.translateX=(i+=a?-Math.floor(h[0]):Math.ceil(h[2]))-o.len:c.translateY=i+=a?Math.ceil(h[0]):-Math.floor(h[2]),s.clipBox&&s.setClip(),s.group.attr(c)):(e=Number(s.group.attr(g)),s.group.animate({scaleY:1},z(Yr(s.options.animation),{step:function(f,y){s.group&&(c[g]=e+y.pos*(r-e),s.group.attr(c))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(s){s.type===i.type&&(s.isDirty=!0)})}getColumnMetrics(){var k,b;let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,a={},n,h=0;e.grouping===!1?h=1:t.chart.series.forEach(function(M){let S,A=M.yAxis,N=M.options;M.type===t.type&&M.reserveSpace()&&s.len===A.len&&s.pos===A.pos&&(N.stacking&&N.stacking!=="group"?(a[n=M.stackKey]===void 0&&(a[n]=h++),S=a[n]):N.grouping!==!1&&(S=h++),M.columnIndex=S)});let u=Math.min(Math.abs(i.transA)*(!((k=i.brokenAxis)!=null&&k.hasBreaks)&&((b=i.ordinal)==null?void 0:b.slope)||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),c=u*e.groupPadding,g=(u-2*c)/(h||1),f=Math.min(e.maxPointWidth||i.len,X(e.pointWidth,g*(1-2*e.pointPadding))),y=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:f,offset:(g-f)/2+(c+y*g-u/2)*(r?-1:1),paddedWidth:g,columnCount:h},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=ke(e+s,o,r)-(e=ke(e,o,r)),this.options.crisp&&(i=ke(t+i,o)-(t=ke(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){var o;if(!i.isNull&&s.columnCount>1){let r=this.xAxis.series.filter(u=>u.visible).map(u=>u.index),a=0,n=0;ut((o=this.xAxis.stacking)==null?void 0:o.stacks,u=>{var y;let c=typeof i.x=="number"?(y=u[i.x.toString()])==null?void 0:y.points:void 0,g=c==null?void 0:c[this.index],f={};if(c&&Ft(g)){let k=this.index,b=Object.keys(c).filter(M=>!M.match(",")&&c[M]&&c[M].length>1).map(parseFloat).filter(M=>r.indexOf(M)!==-1).filter(M=>{let S=this.chart.series[M].options,A=S.stacking&&S.stack;if(K(A)){if(j(f[A]))return k===M&&(k=f[A]),!1;f[A]=M}return!0}).sort((M,S)=>S-M);a=b.indexOf(k),n=b.length}}),a=this.xAxis.reversed?n-1-a:a;let h=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+h/2-e-a*s.paddedWidth}return t}translate(){var M,S;let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=(M=i.borderWidth)!=null?M:+!s,r=t.xAxis,a=t.yAxis,n=i.threshold,h=(S=i.minPointLength)!=null?S:5,u=t.getColumnMetrics(),c=u.width,g=t.pointXOffset=u.offset,f=t.dataMin,y=t.dataMax,k=t.translatedThreshold=a.getThreshold(n),b=t.barW=Math.max(c,1+2*o);i.pointPadding&&i.crisp&&(b=Math.ceil(b)),x.prototype.translate.apply(t),t.points.forEac
2h(function(A){var mt;let N=(mt=A.yBottom)!=null?mt:k,O=999+Math.abs(N),D=A.plotX||0,H=ee(A.plotY,-O,a.len+O),Y,F=Math.min(H,N),_=Math.max(H,N)-F,Q=c,tt=D+g,dt=b;h&&Math.abs(_)<h&&(_=h,Y=!a.reversed&&!A.negative||a.reversed&&A.negative,j(n)&&j(y)&&A.y===n&&y<=n&&(a.min||0)<n&&(f!==y||(a.max||0)<=n)&&(Y=!Y,A.negative=!A.negative),F=Math.abs(F-k)>h?N-(Y?h:0):k-(Y?h:0)),K(A.options.pointWidth)&&(tt-=Math.round(((Q=dt=Math.ceil(A.options.pointWidth))-c)/2)),i.centerInCategory&&(tt=t.adjustForMissingColumns(tt,Q,A,u)),A.barX=tt,A.pointWidth=Q,A.tooltipPos=e.inverted?[ee(a.len+a.pos-e.plotLeft-H,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-tt-dt/2,_]:[r.left-e.plotLeft+tt+dt/2,ee(H+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),_],A.shapeType=t.pointClass.prototype.shapeType||"roundedRect",A.shapeArgs=t.crispCol(tt,F,dt,A.isNull?0:_)}),E(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){var b,M,S;let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,u=t&&t.color||this.color,c=t&&t[o]||i[o]||u,g=t&&t.options.dashStyle||i.dashStyle,f=t&&t[r]||i[r]||this[r]||0,y=t!=null&&t.isNull&&i.nullInteraction?0:(M=(b=t==null?void 0:t.opacity)!=null?b:i.opacity)!=null?M:1;t&&this.zones.length&&(n=t.getZone(),u=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(c=n.borderColor||c,g=n.dashStyle||g,f=n.borderWidth||f)),e&&t&&(h=(a=it(i.states[e],((S=t.options.states)==null?void 0:S[e])||{})).brightness,u=a.color||h!==void 0&&Wr(u).brighten(a.brightness).get()||u,c=a[o]||c,f=a[r]||f,g=a.dashStyle||g,y=X(a.opacity,y));let k={fill:u,stroke:c,"stroke-width":f,opacity:y};return g&&(k.dashstyle=g),k}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,a=s.renderer,n=o.animationLimit||250;t.forEach(function(h){let u=h.plotY,c=h.graphic,g=!!c,f=c&&s.pointCount<n?"animate":"attr";j(u)&&(h.y!==null||r)?(e=h.shapeArgs,c&&h.hasNewShapeType()&&(c=c.destroy()),i.enabledDataSorting&&(h.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!c&&(h.graphic=c=a[h.shapeType](e).add(h.group||i.group),c&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(c.attr({x:h.startXPos}),g=!0,f="animate")),c&&g&&c[f](it(e)),s.styledMode||c[f](i.pointAttribs(h,h.selected&&"select")).shadow(h.allowShadow!==!1&&o.shadow),c&&(c.addClass(h.getClassName(),!0),c.attr({visibility:h.visible?"inherit":"hidden"}))):c&&(h.graphic=c.destroy())})}drawTracker(t=this.points){var a;let e,i=this,s=i.chart,o=s.pointer,r=function(n){o==null||o.normalize(n);let h=o==null?void 0:o.getPointFromEvent(n);o&&h&&i.options.enableMouseTracking&&(s.isInsidePlot(n.chartX-s.plotLeft,n.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&(o!=null&&o.inClass(n.target,"highcharts-point"))||o!=null&&o.inClass(n.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,h.onMouseOver(n))};t.forEach(function(n){e=Ft(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[],n.graphic&&(n.graphic.element.point=n),e.forEach(function(h){(h.div||h.element).point=n})}),i._hasTracking||((a=i.trackerGroups)==null||a.reduce((n,h)=>(h==="dataLabelsGroup"?n.push(...i.dataLabelsGroups||[]):n.push(i[h]),n),[]).forEach(n=>{n&&(n.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(h){o==null||o.onTrackerMouseOut(h)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&n.css({cursor:i.options.cursor}))}),i._hasTracking=!0),E(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(i){i.type===t.type&&(i.isDirty=!0)}),x.prototype.remove.apply(t,arguments)}}Oo.defaultOptions=it(x.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),z(Oo.prototype,{directTouch:!0,getSymbol:Hr,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),fe.registerSeriesType("column",Oo);let Eo=Oo,{getDeferredAnimation:Fr}=le,{format:Gr}=oi;(function(d){function t(){return n(this).some(u=>u==null?void 0:u.enabled)}function e(u,c,g,f,y){var _;let{chart:k,enabledDataSorting:b}=this,M=this.isCartesian&&k.inverted,S=u.plotX,A=u.plotY,N=g.rotation||0,O=K(S)&&K(A)&&k.isInsidePlot(S,Math.round(A),{inverted:M,paneCoordinates:!0,series:this}),D=N===0&&X(g.overflow,b?"none":"justify")==="justify",H=this.visible&&u.visible!==!1&&K(S)&&(u.series.forceDL||b&&!D||O||X(g.inside,!!this.options.stacking)&&f&&k.isInsidePlot(S,M?f.x+1:f.y+f.height-1,{inverted:M,paneCoordinates:!0,series:this})),Y=u.pos();if(H&&Y){var F;let Q=c.getBBox(),tt=c.getBBox(void 0,0);if(f=z({x:Y[0],y:Math.round(Y[1]),width:0,height:0},f||{}),g.alignTo==="plotEdges"&&this.isCartesian&&(f[M?"x":"y"]=0,f[M?"width":"height"]=((_=this.yAxis)==null?void 0:_.len)||0),z(g,{width:Q.width,height:Q.height}),F=f,b&&this.xAxis&&!D&&this.setDataLabelStartPos(u,c,y,O,F),c.align(it(g,{width:tt.width,height:tt.height}),!1,f,!1),c.alignAttr.x+=et(g.align)*(tt.width-Q.width),c.alignAttr.y+=et(g.verticalAlign)*(tt.height-Q.height),c[c.placed?"animate":"attr"]({"text-align":c.alignAttr["text-align"]||"center",x:c.alignAttr.x+(Q.width-tt.width)/2,y:c.alignAttr.y+(Q.height-tt.height)/2,rotationOriginX:(c.width||0)/2,rotationOriginY:(c.height||0)/2}),D&&f.height>=0)this.justifyDataLabel(c,g,c.alignAttr,Q,f,y);else if(X(g.crop,!0)){let{x:dt,y:mt}=c.alignAttr;H=k.isInsidePlot(dt,mt,{paneCoordinates:!0,series:this})&&k.isInsidePlot(dt+Q.width-1,mt+Q.height-1,{paneCoordinates:!0,series:this})}g.shape&&!N&&c[y?"attr":"animate"]({anchorX:Y[0],anchorY:Y[1]})}y&&b&&(c.placed=!1),H||b&&!D?(c.show(),c.placed=!0):(c.hide(),c.placed=!1)}function i(u,c){var f,y,k,b;E(this,"initDataLabelsGroup",{index:u,zIndex:(f=c==null?void 0:c.zIndex)!=null?f:6}),this.dataLabelsGroup=(y=this.dataLabelsGroups)==null?void 0:y[u];let g=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",(k=c==null?void 0:c.zIndex)!=null?k:6,(b=this.dataLabelsParentGroups)==null?void 0:b[u]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[u]=g,this.dataLabelsGroup=this.dataLabelsGroups[0],g}function s(u,c,g){let f=!!this.hasRendered,y=this.initDataLabelsGroup(u,g).attr({opacity:+f});return!f&&y&&(this.visible&&y.show(),this.options.animation?y.animate({opacity:1},c):y.attr({opacity:1})),y}function o(u){var H;let c;u=u||this.points;let g=this,f=g.chart,y=g.options,k=f.renderer,{backgroundColor:b,plotBackgroun
2dColor:M}=f.options.chart,S=k.getContrast(Rt(M)&&M||Rt(b)&&b||"#000000"),A=n(g),{animation:N,defer:O}=A[0],D=O?Fr(f,N,g):{defer:0,duration:0};E(this,"drawDataLabels"),(H=g.hasDataLabels)!=null&&H.call(g)&&u.forEach(Y=>{var tt,dt,mt;let F=Y.dataLabels||[],_=Y.color||g.color;Xe(a(A,Y.dlOptions||((tt=Y.options)==null?void 0:tt.dataLabels))).forEach((ct,yt)=>{var ve;c=this.initDataLabels(yt,D,ct);let xt=ct.enabled&&(Y.visible||Y.dataLabelOnHidden)&&(!Y.isNull||Y.dataLabelOnNull)&&(function(Ce,ui){let Oi=ui.filter;if(Oi){let $e=Oi.operator,We=Ce[Oi.property],ge=Oi.value;return $e===">"&&We>ge||$e==="<"&&We<ge||$e===">="&&We>=ge||$e==="<="&&We<=ge||$e==="=="&&We==ge||$e==="==="&&We===ge||$e==="!="&&We!=ge||$e==="!=="&&We!==ge||!1}return!0})(Y,ct),{backgroundColor:Et,borderColor:vt,distance:zt,style:Zt={}}=ct,De,Vt,oe,Ht={},It=F[yt],de=!It,be;xt&&(Vt=K(De=X(ct[Y.formatPrefix+"Format"],ct.format))?Gr(De,Y,f):(ct[Y.formatPrefix+"Formatter"]||ct.formatter).call(Y,ct,Y),oe=ct.rotation,!f.styledMode&&(Zt.color=X(ct.color,Zt.color,Rt(g.color)?g.color:void 0,"#000000"),Zt.color==="contrast"?(Et!=="none"&&(be=Et),Y.contrastColor=k.getContrast(be!=="auto"&&Rt(be)&&be||(Rt(_)?_:"")),Zt.color=be||!K(zt)&&ct.inside||0>Wt(zt||0)||y.stacking?Y.contrastColor:S):delete Y.contrastColor,y.cursor&&(Zt.cursor=y.cursor)),Ht={r:ct.borderRadius||0,rotation:oe,padding:ct.padding,zIndex:1},f.styledMode||(Ht.fill=Et==="auto"?Y.color:Et,Ht.stroke=vt==="auto"?Y.color:vt,Ht["stroke-width"]=ct.borderWidth),ut(Ht,(Ce,ui)=>{Ce===void 0&&delete Ht[ui]})),!It||xt&&K(Vt)&&!!(It.div||(ve=It.text)!=null&&ve.foreignObject)==!!ct.useHTML&&(It.rotation&&ct.rotation||It.rotation===ct.rotation)||(It=void 0,de=!0),xt&&K(Vt)&&Vt!==""&&(It?Ht.text=Vt:(It=k.label(Vt,0,0,ct.shape,void 0,void 0,ct.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+Y.colorIndex+" "+(ct.className||"")+(ct.useHTML?" highcharts-tracker":"")),It&&(It.options=ct,It.attr(Ht),f.styledMode?Zt.width&&It.css({width:Zt.width,textOverflow:Zt.textOverflow,whiteSpace:Zt.whiteSpace}):It.css(Zt).shadow(ct.shadow),E(It,"beforeAddingDataLabel",{labelOptions:ct,point:Y}),It.added||It.add(c),g.alignDataLabel(Y,It,ct,void 0,de),It.isActive=!0,F[yt]&&F[yt]!==It&&F[yt].destroy(),F[yt]=It))});let Q=F.length;for(;Q--;)(dt=F[Q])!=null&&dt.isActive?F[Q].isActive=!1:((mt=F[Q])==null||mt.destroy(),F.splice(Q,1));Y.dataLabel=F[0],Y.dataLabels=F}),E(this,"afterDrawDataLabels")}function r(u,c,g,f,y,k){let b=this.chart,M=c.align,S=c.verticalAlign,A=u.box?0:u.padding||0,N=b.inverted?this.yAxis:this.xAxis,O=N?N.left-b.plotLeft:0,D=b.inverted?this.xAxis:this.yAxis,H=D?D.top-b.plotTop:0,{x:Y=0,y:F=0}=c,_,Q;return(_=(g.x||0)+A+O)<0&&(M==="right"&&Y>=0?(c.align="left",c.inside=!0):Y-=_,Q=!0),(_=(g.x||0)+f.width-A+O)>b.plotWidth&&(M==="left"&&Y<=0?(c.align="right",c.inside=!0):Y+=b.plotWidth-_,Q=!0),(_=g.y+A+H)<0&&(S==="bottom"&&F>=0?(c.verticalAlign="top",c.inside=!0):F-=_,Q=!0),(_=(g.y||0)+f.height-A+H)>b.plotHeight&&(S==="top"&&F<=0?(c.verticalAlign="bottom",c.inside=!0):F+=b.plotHeight-_,Q=!0),Q&&(c.x=Y,c.y=F,u.placed=!k,u.align(c,void 0,y)),Q}function a(u,c){let g=[],f;if(Ft(u)&&!Ft(c))g=u.map(function(y){return it(y,c)});else if(Ft(c)&&!Ft(u))g=c.map(function(y){return it(u,y)});else if(Ft(u)||Ft(c)){if(Ft(u)&&Ft(c))for(f=Math.max(u.length,c.length);f--;)g[f]=it(u[f],c[f])}else g=it(u,c);return g}function n(u){var g,f;let c=u.chart.options.plotOptions;return Xe(a(a((g=c==null?void 0:c.series)==null?void 0:g.dataLabels,(f=c==null?void 0:c[u.type])==null?void 0:f.dataLabels),u.options.dataLabels))}function h(u,c,g,f,y){let k=this.chart,b=k.inverted,M=this.xAxis,S=M.reversed,A=((b?c.height:c.width)||0)/2,N=u.pointWidth,O=N?N/2:0;c.startXPos=b?y.x:S?-A-O:M.width-A+O,c.startYPos=b?S?this.yAxis.height-A+O:-A-O:y.y,f?c.visibility==="hidden"&&(c.show(),c.attr({opacity:0}).animate({opacity:1})):c.attr({opacity:1}).animate({opacity:0}
2,void 0,c.hide),k.hasRendered&&(g&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)}d.compose=function(u){let c=u.prototype;c.initDataLabels||(c.initDataLabels=s,c.initDataLabelsGroup=i,c.alignDataLabel=e,c.drawDataLabels=o,c.justifyDataLabel=r,c.mergeArrays=a,c.setDataLabelStartPos=h,c.hasDataLabels=t)}})(St||(St={}));let Io=St,{composed:jr}=G,{series:br}=fe;function Ur(d,t,e,i,s){var f,y,k,b,M,S,A;let{chart:o,options:r}=this,a=o.inverted,n=((f=this.xAxis)==null?void 0:f.len)||o.plotSizeX||0,h=((y=this.yAxis)==null?void 0:y.len)||o.plotSizeY||0,u=d.dlBox||d.shapeArgs,c=(b=d.below)!=null?b:(d.plotY||0)>((k=this.translatedThreshold)!=null?k:h),g=(M=e.inside)!=null?M:!!r.stacking;if(u){if(i=it(u),e.overflow!=="allow"||e.crop!==!1||r.clip!==!1){i.y<0&&(i.height+=i.y,i.y=0);let N=i.y+i.height-h;N>0&&N<i.height-1&&(i.height-=N)}a&&(i={x:h-i.y-i.height,y:n-i.x-i.width,width:i.height,height:i.width}),g||(a?(i.x+=c?0:i.width,i.width=0):(i.y+=c?i.height:0,i.height=0))}(S=e.align)!=null||(e.align=!a||g?"center":c?"right":"left"),(A=e.verticalAlign)!=null||(e.verticalAlign=a||g?"middle":c?"top":"bottom"),br.prototype.alignDataLabel.call(this,d,t,e,i,s),e.inside&&d.contrastColor&&t.css({color:d.contrastColor})}(xi||(xi={})).compose=function(d){Io.compose(br),xe(jr,"ColumnDataLabel")&&(d.prototype.alignDataLabel=Ur)};let Vr=xi;class mr extends Eo{}mr.defaultOptions=it(Eo.defaultOptions,{}),z(mr.prototype,{inverted:!0}),fe.registerSeriesType("bar",mr);let{column:qr,line:vr}=fe.seriesTypes;class Ro extends vr{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,h=t[`${r}Axis`],u=e[r]*h.transA;if(h&&!h.logarithmic){let c,g=Math.max(0,(s[n]||0)-u),f=Math.min(h.len,(s[n]||0)+u);s[n]=g+(f-g)*((c=1e4*Math.sin(o+a*i))-Math.floor(c)),r==="x"&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}Ro.defaultOptions=it(vr.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25CF</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),z(Ro.prototype,{allowOutsidePlotInteraction:!0,drawTracker:qr.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),rt(Ro,"afterTranslate",function(){this.applyJitter()}),fe.registerSeriesType("scatter",Ro);let{deg2rad:Mr}=G;(ns=yi||(yi={})).getCenter=function(){let d=this.options,t=this.chart,e=2*(d.slicedOffset||0),i=t.plotWidth-2*e,s=t.plotHeight-2*e,o=d.center,r=Math.min(i,s),a=d.thickness,n,h=d.size,u=d.innerSize||0,c,g;typeof h=="string"&&(h=parseFloat(h)),typeof u=="string"&&(u=parseFloat(u));let f=[X(o==null?void 0:o[0],"50%"),X(o==null?void 0:o[1],"50%"),X(h&&h<0?void 0:d.size,"100%"),X(u&&u<0?void 0:d.innerSize||0,"0%")];for(!t.angular||this instanceof x||(f[3]=0),c=0;c<4;++c)g=f[c],n=c<2||c===2&&/%$/.test(g),f[c]=te(g,[i,s,r,f[2]][c])+(n?e:0);return f[3]>f[2]&&(f[3]=f[2]),j(a)&&2*a<f[2]&&a>0&&(f[3]=f[2]-2*a),E(this,"afterGetCenter",{positions:f}),f},ns.getStartAndEndRadians=function(d,t){let e=j(d)?d:0,i=j(t)&&t>e&&t-e<360?t:e+360;return{start:Mr*(e+-90),end:Mr*(i+-90)}};let kr=yi,{setAnimation:$r}=le;class wr extends Bi{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,Ys(Ii({},e.computed),{alignment:e.alignment}),e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){var o;super(t,e,i),this.half=0,(o=this.name)!=null||(this.name=t.chart.options.lang.pieSliceName);const s=r=>{this.slice(r.type==="select")};rt(this,"select",s),rt(this,"unselect",s)}isValid(){return j(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t!=null?t:!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;$r(i,s.chart),e=X(e,!0),this.sliced=this.options.sliced=t=K(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}z(wr.prototype,{connectorShapes:{fixedOffset:function(d,t,e){let i=t.breakAt,s=t.touchingSliceAt,o=e.softConnector?["C",d.x+(d.alignment==="left"?-5:5),d.y,2*i.x-s.x,2*i.y-s.y,i.x,i.y]:["L",i.x,i.y];return[["M",d.x,d.y],o,["L",s.x,s.y]]},straight:function(d,t){let e=t.touchingSliceAt;return[["M",d.x,d.y],["L",e.x,e.y]]},crookedLine:function(d,t,e){let{angle:i=this.angle||0,breakAt:s,touchingSliceAt:o}=t,{series:r}=this,[a,n,h]=r.center,u=h/2,{plotLeft:c,plotWidth:g}=r.chart,f=d.alignment==="left",{x:y,y:k}=d,b=s.x;if(e.crookDistance){let S=te(e.crookDistance,1);b=f?a+u+(g+c-a-u)*(1-S):c+(a-u)*S}
vendor: 4,165 bytes, line 2
2else b=a+(n-k)*Math.tan(i-Math.PI/2);let M=[["M",y,k]];return(f?b<=y&&b>=s.x:b>=y&&b<=s.x)&&M.push(["L",b,k]),M.push(["L",s.x,s.y],["L",o.x,o.y]),M}}});let{getStartAndEndRadians:Kr}=kr,{noop:Sr}=G;class xr extends x{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(o){let r=o.graphic,a=o.shapeArgs;r&&a&&(r.attr({r:X(o.startR,e.center&&e.center[3]/2),start:s,end:s}),r.animate({r:a.r,start:a.start,end:a.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;this.total===0&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:go.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=(a==null?void 0:a.distance)||0,h=Math.asin(ee((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(h)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||it(!0,n,i),it(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(i,s){return i.angle!==void 0&&(s.angle-i.angle)*e})}translate(t){E(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=Kr(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,h=a.length,u,c,g,f,y,k,b,M=0;for(t||(this.center=t=this.getCenter()),k=0;k<h;k++){b=a[k],u=o+M*r,b.isValid()&&(!n||b.visible)&&(M+=b.percentage/100),c=o+M*r;let S={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:u,end:c};b.shapeType="arc",b.shapeArgs=S,(g=(c+u)/2)>1.5*Math.PI?g-=2*Math.PI:g<-Math.PI/2&&(g+=2*Math.PI),b.slicedTranslation={translateX:Math.round(Math.cos(g)*i),translateY:Math.round(Math.sin(g)*i)},f=Math.cos(g)*t[2]/2,y=Math.sin(g)*t[2]/2,b.tooltipPos=[t[0]+.7*f,t[1]+.7*y],b.half=+(g<-Math.PI/2||g>Math.PI/2),b.angle=g}E(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}xr.defaultOptions=it(x.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),z(xr.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:Eo.prototype.drawTracker,getCenter:kr.getCenter,getSymbol:Sr,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Eo.prototype.pointAttribs,pointClass:wr,requireSorting:!1,searchPoint:Sr,trackerGroups:["group","dataLabelsGroup"]}),fe.registerSeriesType("pie",xr);
2let{composed:Zr,noop:_r}=G,{distribute:Jr}=Es,{series:Pr}=fe;(function(d){let t={radialDistributionY:function(r,a){var n;return(((n=a.dataLabelPosition)==null?void 0:n.top)||0)+r.distributeBox.pos},radialDistributionX:function(r,a,n,h,u){let c=u.dataLabelPosition;return r.getX(n<((c==null?void 0:c.top)||0)+2||n>((c==null?void 0:c.bottom)||0)-2?h:n,a.half,a,u)},justify:function(r,a,n,h){var u;return h[0]+(r.half?-1:1)*(n+(((u=a.dataLabelPosition)==null?void 0:u.distance)||0))},alignToPlotEdges:function(r,a,n,h){let u=r.getBBox().width;return a?u+h:n-u-h},alignToConnectors:function(r,a,n,h){let u=0,c;return r.forEach(function(g){(c=g.dataLabel.getBBox().width)>u&&(u=c)}),a?u+h:n-u-h}};function e(r,a){let n=Math.PI/2,{start:h=0,end:u=0}=r.shapeArgs||{},c=r.angle||0;a>0&&h<n&&u>n&&c>n/2&&c<1.5*n&&(c=c<=n?Math.max(n/2,(h+n)/2):Math.min(1.5*n,(n+u)/2));let{center:g,options:f}=this,y=g[2]/2,k=Math.cos(c),b=Math.sin(c),M=g[0]+k*y,S=g[1]+b*y,A=Math.min((f.slicedOffset||0)+(f.borderWidth||0),a/5);return{natural:{x:M+k*a,y:S+b*a},computed:{},alignment:a<0?"center":r.half?"right":"left",connectorPosition:{angle:c,breakAt:{x:M+k*A,y:S+b*A},touchingSliceAt:{x:M,y:S}},distance:a}}function i(){var H;let r=this,a=r.points,n=r.chart,h=n.plotWidth,u=n.plotHeight,c=n.plotLeft,g=Math.round(n.chartWidth/3),f=r.center,y=f[2]/2,k=f[1],b=[[],[]],M=[0,0,0,0],S=r.dataLabelPositioners,A,N,O,D=0;r.visible&&((H=r.hasDataLabels)!=null&&H.call(r))&&(a.forEach(Y=>{(Y.dataLabels||[]).forEach(F=>{F.shortened&&(F.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),F.shortened=!1)})}),Pr.prototype.drawDataLabels.apply(r),a.forEach(Y=>{(Y.dataLabels||[]).forEach((F,_)=>{var mt;let Q=f[2]/2,tt=F.options,dt=te((tt==null?void 0:tt.distance)||0,Q);_===0&&b[Y.half].push(Y),!K((mt=tt==null?void 0:tt.style)==null?void 0:mt.width)&&F.getBBox().width>g&&(F.css({width:Math.round(.7*g)+"px"}),F.shortened=!0),F.dataLabelPosition=this.getDataLabelPosition(Y,dt),D=Math.max(D,dt)})}),b.forEach((Y,F)=>{let _=Y.length,Q=[],tt,dt,mt=0,ct;_&&(r.sortByAngle(Y,F-.5),D>0&&(tt=Math.max(0,k-y-D),dt=Math.min(k+y+D,n.plotHeight),Y.forEach(yt=>{(yt.dataLabels||[]).forEach(xt=>{var vt;let Et=xt.dataLabelPosition;Et&&Et.distance>0&&(Et.top=Math.max(0,k-y-Et.distance),Et.bottom=Math.min(k+y+Et.distance,n.plotHeight),mt=xt.getBBox().height||21,xt.lineHeight=n.renderer.fontMetrics(xt.text||xt).h+2*xt.padding,yt.distributeBox={target:(((vt=xt.dataLabelPosition)==null?void 0:vt.natural.y)||0)-Et.top+xt.lineHeight/2,size:mt,rank:yt.y},Q.push(yt.distributeBox))})}),Jr(Q,ct=dt+mt-tt,ct/5)),Y.forEach(yt=>{(yt.dataLabels||[]).forEach(xt=>{let Et=xt.options||{},vt=yt.distributeBox,zt=xt.dataLabelPosition,Zt=(zt==null?void 0:zt.natural.y)||0,De=Et.connectorPadding||0,Vt=xt.lineHeight||21,oe=(Vt-xt.getBBox().height)/2,Ht=0,It=Zt,de="inherit";if(zt){if(Q&&K(vt)&&zt.distance>0&&(vt.pos===void 0?de="hidden":(O=vt.size,It=S.radialDistributionY(yt,xt))),Et.justify)Ht=S.justify(yt,xt,y,f);else switch(Et.alignTo){case"connectors":Ht=S.alignToConnectors(Y,F,h,c);break;case"plotEdges":Ht=S.alignToPlotEdges(xt,F,h,c);break;default:Ht=S.radialDistributionX(r,yt,It-oe,Zt,xt)}if(zt.attribs={visibility:de,align:zt.alignment},zt.posAttribs={x:Ht+(Et.x||0)+({left:De,right:-De}[zt.alignment]||0),y:It+(Et.y||0)-Vt/2},zt.computed.x=Ht,zt.computed.y=It-oe,X(Et.crop,!0)){let be;Ht-(N=xt.getBBox().width)<De&&F===1?(be=Math.round(N-Ht+De),M[3]=Math.max(be,M[3])):Ht+N>h-De&&F===0&&(be=Math.round(Ht+N-h+De),M[1]=Math.max(be,M[1])),It-O/2<0?M[0]=Math.max(Math.round(-It+O/2),M[0]):It+O/2>u&&(M[2]=Math.max(Math.round(It+O/2-u),M[2])),zt.sideOverflow=be}}})}))}),(Pe(M)===0||this.verifyDataLabelOverflow(M))&&(this.placeDataLabels(),this.points.forEach(Y=>{var F;(F=Y.dataLabels)==null||F.forEach((_,Q)=>{var ct,yt;let{connectorColor:tt,connectorWidth:dt=1}=_.options||{},mt=_.dataLabelPosition;if(j(dt)){let xt;A=_.connector,mt&&mt.distance>0?(xt=!A,A||(_.connector=A=n.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+Y.colorIndex+(Y.className?" "+Y.className:"")).add((ct=r.dataLabelsGroups)==null?void 0:ct[Q])),n.styledMode||A.attr({"stroke-width":dt,stroke:tt||Y.color||"#666666"}),A[xt?"attr":"animate"]({d:Y.getConnectorPath(_)}),A.attr({visibility:(yt=mt.attribs)==null?void 0:yt.visibility})):A&&(_.connector=A.destroy())}})})))}
2function s(){this.points.forEach(r=>{(r.dataLabels||[]).forEach(a=>{var h,u;let n=a.dataLabelPosition;n?(n.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-n.sideOverflow,0)+"px",textOverflow:((u=(h=a.options)==null?void 0:h.style)==null?void 0:u.textOverflow)||"ellipsis"}),a.shortened=!0),a.attr(n.attribs),a[a.moved?"animate":"attr"](n.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete r.distributeBox},this)}function o(r){let a=this.center,n=this.options,h=n.center,u=n.minSize||80,c=u,g=n.size!==null;return!g&&(h[0]!==null?c=Math.max(a[2]-Math.max(r[1],r[3]),u):(c=Math.max(a[2]-r[1]-r[3],u),a[0]+=(r[3]-r[1])/2),h[1]!==null?c=ee(c,u,a[2]-Math.max(r[0],r[2])):(c=ee(c,u,a[2]-r[0]-r[2]),a[1]+=(r[0]-r[2])/2),c<a[2]?(a[2]=c,a[3]=Math.min(n.thickness?Math.max(0,c-2*n.thickness):Math.max(0,te(n.innerSize||0,c)),c),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):g=!0),g}d.compose=function(r){if(Io.compose(Pr),xe(Zr,"PieDataLabel")){let a=r.prototype;a.dataLabelPositioners=t,a.alignDataLabel=_r,a.drawDataLabels=i,a.getDataLabelPosition=e,a.placeDataLabels=s,a.verifyDataLabelOverflow=o}}})(He||(He={}));let Qr=He;(Ke=ii||(ii={})).getCenterOfPoints=function(d){let t=d.reduce((e,i)=>(e.x+=i.x,e.y+=i.y,e),{x:0,y:0});return{x:t.x/d.length,y:t.y/d.length}},Ke.getDistanceBetweenPoints=function(d,t){return Math.sqrt(Math.pow(t.x-d.x,2)+Math.pow(t.y-d.y,2))},Ke.getAngleBetweenPoints=function(d,t){return Math.atan2(t.x-d.x,t.y-d.y)},Ke.pointInPolygon=function({x:d,y:t},e){let i=e.length,s,o,r=!1;for(s=0,o=i-1;s<i;o=s++){let[a,n]=e[s],[h,u]=e[o];n>t!=u>t&&d<(h-a)*(t-n)/(u-n)+a&&(r=!r)}return r};let{pointInPolygon:ta}=ii;function Ar(d,t){let e,i=!1;return d&&(e=d.newOpacity,d.oldOpacity!==e&&(d.hasClass("highcharts-data-label")?(d[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,d[d.isOld?"animate":"attr"]({opacity:e},void 0,function(){t.styledMode||d.css({pointerEvents:e?"auto":"none"})}),E(t,"afterHideOverlappingLabel")):d.attr({opacity:e})),d.isOld=!0),i}let{defaultOptions:ea}=Je,{noop:Tr}=G,ia={radius:0,scope:"stack",where:void 0},Lr=Tr,Cr=Tr;function sa(d,t,e,i,s={}){let o=Lr(d,t,e,i,s),{brStart:r=!0,brEnd:a=!0,innerR:n=0,r:h=e,start:u=0,end:c=0}=s;if(s.open||!s.borderRadius)return o;let g=c-u,f=Math.sin(g/2),y=Math.max(Math.min(te(s.borderRadius||0,h-n),(h-n)/2,h*f/(1+f)),0),k=Math.min(y,g/Math.PI*2*n),b=o.length-1;for(;b--;)(r||b!==0&&b!==3)&&(a||b!==1&&b!==2)&&(function(M,S,A){let N,O,D,H=M[S],Y=M[S+1];if(Y[0]==="Z"&&(Y=M[0]),(H[0]==="M"||H[0]==="L")&&Y[0]==="A"?(N=H,O=Y,D=!0):H[0]==="A"&&(Y[0]==="M"||Y[0]==="L")&&(N=Y,O=H),N&&O&&O.params){let F=O[1],_=O[5],Q=O.params,{start:tt,end:dt,cx:mt,cy:ct}=Q,yt=_?F-A:F+A,xt=yt?Math.asin(A/yt):0,Et=_?xt:-xt,vt=Math.cos(xt)*yt;D?(Q.start=tt+Et,N[1]=mt+vt*Math.cos(tt),N[2]=ct+vt*Math.sin(tt),M.splice(S+1,0,["A",A,A,0,0,1,mt+F*Math.cos(Q.start),ct+F*Math.sin(Q.start)])):(Q.end=dt-Et,O[6]=mt+F*Math.cos(Q.end),O[7]=ct+F*Math.sin(Q.end),M.splice(S+1,0,["A",A,A,0,0,1,mt+vt*Math.cos(dt),ct+vt*Math.sin(dt)])),O[4]=Math.abs(Q.end-Q.start)<Math.PI?0:1}})(o,b,b>1?k:y);return o}function oa(){var d,t;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:e,yAxis:i}=this,s=e.stacking==="percent",o=(t=(d=ea.plotOptions)==null?void 0:d[this.type])==null?void 0:t.borderRadius,r=yr(e.borderRadius,Ot(o)?o:{}),a=i.options.reversed;for(let n of this.points){let{shapeArgs:h}=n;if(n.shapeType==="roundedRect"&&h){let{width:u=0,height:c=0,y:g=0}=h,f=g,y=c;if(r.scope==="stack"&&n.stackTotal){let S=i.translate(s?100:n.stackTotal,!1,!0,!1,!0),A=i.translate(e.threshold||0,!1,!0,!1,!0),N=this.crispCol(0,Math.min(S,A),0,Math.abs(S-A));f=N.y,y=N.height}let k=(n.negative?-1:1)*(a?-1:1)==-1,b=r.where;!b&&this.is("waterfall")&&Math.abs((n.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(b="all"),b||(b="end");let M=Math.min(te(r.radius,u),u/2,b==="all"?y/2:1/0)||0;b==="end"&&(k&&(f-=M),y+=M),z(h,{brBoxHeight:y,brBoxY:f,r:M})}}}}function yr(d,t){return Ot(d)||(d={radius:d||0}),it(ia,t,d)}function ra(){let d=yr(this.options.borderRadius);for(let t of this.points){let e=t.shapeArgs;
vendor: 1,242 bytes, line 2
2e&&(e.borderRadius=te(d.radius,(e.r||0)-(e.innerR||0)))}}function aa(d,t,e,i,s={}){let o=Cr(d,t,e,i,s),{r=0,brBoxHeight:a=i,brBoxY:n=t}=s,h=t-n,u=n+a-(t+i),c=h-r>-.1?0:r,g=u-r>-.1?0:r,f=Math.max(c&&h,0),y=Math.max(g&&u,0),k=[d+c,t],b=[d+e-c,t],M=[d+e,t+c],S=[d+e,t+i-g],A=[d+e-g,t+i],N=[d+g,t+i],O=[d,t+i-g],D=[d,t+c],H=(Y,F)=>Math.sqrt(Math.pow(Y,2)-Math.pow(F,2));if(f){let Y=H(c,c-f);k[0]-=Y,b[0]+=Y,M[1]=D[1]=t+c-f}if(i<c-f){let Y=H(c,c-f-i);M[0]=S[0]=d+e-c+Y,A[0]=Math.min(M[0],A[0]),N[0]=Math.max(S[0],N[0]),O[0]=D[0]=d+c-Y,M[1]=D[1]=t+i}if(y){let Y=H(g,g-y);A[0]+=Y,N[0]-=Y,S[1]=O[1]=t+i-g+y}if(i<g-y){let Y=H(g,g-y-i);M[0]=S[0]=d+e-g+Y,b[0]=Math.min(M[0],b[0]),k[0]=Math.max(S[0],k[0]),O[0]=D[0]=d+g-Y,S[1]=O[1]=t}return o.length=0,o.push(["M",...k],["L",...b],["A",c,c,0,0,1,...M],["L",...S],["A",g,g,0,0,1,...A],["L",...N],["A",g,g,0,0,1,...O],["L",...D],["A",c,c,0,0,1,...k],["Z"]),o}function na(d,t){let e=d.condition;(e.callback||function(){return this.chartWidth<=X(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=X(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=X(e.minWidth,0)&&this.chartHeight>=X(e.minHeight,0)}).call(this,this)&&t.push(d._id)}function la(d,t){let e=this.options.responsive,i=this.currentResponsive,s=[],o;
2!t&&e&&e.rules&&e.rules.forEach(n=>{n._id===void 0&&(n._id=si()),this.matchResponsiveRule(n,s)},this);let r=it(...s.map(n=>Jt((e==null?void 0:e.rules)||[],h=>h._id===n)).map(n=>n==null?void 0:n.chartOptions));r.isResponsiveOptions=!0,s=s.toString()||void 0;let a=i==null?void 0:i.ruleIds;s!==a&&(i&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(i.undoOptions,d,!0),this.updatingResponsive=!1),s?((o=bi(r,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:s,mergedOptions:r,undoOptions:o},this.updatingResponsive||this.update(r,d,!0)):this.currentResponsive=void 0)}(Me||(Me={})).compose=function(d){let t=d.prototype;return t.matchResponsiveRule||z(t,{matchResponsiveRule:na,setResponsive:la}),d};let ha=Me;G.AST=pe,G.Axis=Di,G.Chart=Bt,G.Color=ue,G.DataLabel=Io,G.DataTableCore=zs,G.Fx=Ye,G.HTMLElement=Si,G.Legend=W,G.LegendSymbol=Lo,G.PlotLineOrBand=Pi,G.Point=Bi,G.Pointer=Ao,G.RendererRegistry=ki,G.Series=x,G.SeriesRegistry=fe,G.StackItem=Gt,G.SVGElement=ci,G.SVGRenderer=bs,G.Templating=oi,G.Tick=Ni,G.Time=Ws,G.Tooltip=So,G.addEvent=rt,G.animObject=le.animObject,G.animate=le.animate,G.arrayMax=Pe,G.arrayMin=Ze,G.attr=Tt,G.chart=Bt.chart,G.clamp=ee,G.color=ue.parse,G.correctFloat=ht,G.createElement=Ee,G.css=Dt,G.dateFormat=oi.dateFormat,G.defaultOptions=Je.defaultOptions,G.defined=K,G.destroyObjectProperties=we,G.diffObjects=bi,G.discardElement=Ui,G.distribute=Es.distribute,G.erase=_e,G.error=ye,G.extend=z,G.extendClass=$,G.find=Jt,G.fireEvent=E,G.format=oi.format,G.getDeferredAnimation=le.getDeferredAnimation,G.getMagnitude=kt,G.getOptions=Je.getOptions,G.getStyle=Ct,G.insertItem=Ts,G.isArray=Ft,G.isClass=Se,G.isDOMElement=Kt,G.isFunction=ce,G.isNumber=j,G.isObject=Ot,G.isString=Rt,G.merge=it,G.normalizeTickInterval=ze,G.numberFormat=oi.numberFormat,G.objectEach=ut,G.offset=ri,G.pad=me,G.pick=X,G.pInt=Wt,G.relativeLength=te,G.removeEvent=je,G.seriesType=fe.seriesType,G.setAnimation=le.setAnimation,G.setOptions=Je.setOptions,G.splat=Xe,G.stableSort=cs,G.stop=le.stop,G.syncTimeout=ai,G.time=Je.defaultTime,G.timers=Ye.timers,G.timeUnits=ie,G.uniqueKey=si,G.useSerialIds=function(d){return qt=X(d,qt)},G.wrap=function(d,t,e){let i=d[t];d[t]=function(){let s=arguments,o=this;return e.apply(this,[function(){return i.apply(o,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}},{compose:function(d,t,e){let i=d.types.pie;if(!t.symbolCustomAttribs.includes("borderRadius")){let s=e.prototype.symbols;rt(d,"afterColumnTranslate",oa,{order:9}),rt(i,"afterTranslate",ra),t.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),Lr=s.arc,Cr=s.roundedRect,s.arc=sa,s.roundedRect=aa}},optionsToObject:yr}.compose(G.Series,G.SVGElement,G.SVGRenderer),Vr.compose(G.Series.types.column),Io.compose(G.Series),tr.compose(G.Axis),Si.compose(G.SVGRenderer),W.compose(G.Chart),er.compose(G.Axis),(rs=(_i=G.Chart).prototype).hideOverlappingLabels||(rs.hideOverlappingLabels=function(d){let t=d.length,e=(u,c)=>!(c.x>=u.x+u.width||c.x+c.width<=u.x||c.y>=u.y+u.height||c.y+c.height<=u.y),i=(u,c)=>{for(let g of u)if(ta({x:g[0],y:g[1]},c))return!0;return!1},s,o,r,a,n,h=!1;for(let u=0;u<t;u++)(s=d[u])&&(s.oldOpacity=s.opacity,s.newOpacity=1,s.absoluteBox=(function(c){var g,f;if(c&&(!c.alignAttr||c.placed)){let y=c.box?0:c.padding||0,k=c.alignAttr||{x:c.attr("x"),y:c.attr("y")},{height:b,polygon:M,width:S}=c.getBBox(),A=et(c.alignValue)*S;return c.width=S,c.height=b,{x:k.x+(((g=c.parentGroup)==null?void 0:g.translateX)||0)+y-A,y:k.y+(((f=c.parentGroup)==null?void 0:f.translateY)||0)+y,width:S-2*y,height:b-2*y,polygon:M}}})(s));d.sort((u,c)=>((c==null?void 0:c.labelrank)||0)-((u==null?void 0:u.labelrank)||0));for(let u=0;u<t;++u){a=(o=d[u])&&o.absoluteBox;let c=a==null?void 0:a.polygon;for(let g=u+1;g<t;++g){n=(r=d[g])&&r.absoluteBox;let f=!1;if(a&&n&&o!==r&&(o==null?void 0:o.newOpacity)!==0&&(r==null?void 0:r.newOpacity)!==0&&(o==null?void 0:o.visibility)!=="hidden"&&(r==null?void 0:r.visibility)!=="hidden"){let y=n.polygon;if(c&&y&&c!==y?i(c,y)&&(f=!0):e(a,n)&&(f=!0),f){let k=(o==null?void 0:o.labelrank)<(r==null?void 0:r.labelrank)?o:r,b=k==null?void 0:k.text;k&&(k.newOpacity=0),b!=null&&b.element.querySelector("textPath")&&b.hide()}}}}for(let u of d)u&&Ar(u,this)&&(h=!0);h&&E(this,"afterHideAllOverlappingLabels")},rt(_i,"render",function(){var e;let d=this,t=[];for(let i of d.labelCollectors||[])t=t.concat(i());for(let i of d.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&ut(i.stacking.stacks,s=>{ut(s,o=>{o.label&&t.push(o.label)})});for(let i of d.series||[])if(i.visible&&((e=i.hasDataLabels)!=null&&e.call(i))){let s=o=>
2{for(let r of o)r.visible&&(r.dataLabels||[]).forEach(a=>{var h,u;let n=a.options||{};a.labelrank=X(n.labelrank,r.labelrank,(h=r.shapeArgs)==null?void 0:h.height),((u=n.allowOverlap)!=null?u:Number(n.distance)>0)?(a.oldOpacity=a.opacity,a.newOpacity=1,Ar(a,d)):t.push(a)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(t)})),Qr.compose(G.Series.types.pie),Pi.compose(G.Chart,G.Axis),Ao.compose(G.Chart),ha.compose(G.Chart),Lt.compose(G.Axis,G.Chart,G.Series),Ai.compose(G.Axis,G.Chart,G.Series),So.compose(G.Pointer);let da=G;return re.default})())},1426(Be){(function(qt,ae){Be.exports=ae(qt._Highcharts,qt._Highcharts.SeriesRegistry)})("u"<typeof window?this:window,(qt,ae)=>(()=>{"use strict";var Ss={512:z=>{z.exports=ae},944:z=>{z.exports=qt}},os={};function Oe(z){var $=os[z];if($!==void 0)return $.exports;var E=os[z]={exports:{}};return Ss[z](E,E.exports,Oe),E.exports}Oe.n=z=>{var $=z&&z.__esModule?()=>z.default:()=>z;return Oe.d($,{a:$}),$},Oe.d=(z,$)=>{for(var E in $)Oe.o($,E)&&!Oe.o(z,E)&&Object.defineProperty(z,E,{enumerable:!0,get:$[E]})},Oe.o=(z,$)=>Object.prototype.hasOwnProperty.call(z,$);var rs={};Oe.d(rs,{default:()=>_e});var Xt=Oe(944),ei=Oe.n(Xt);let Ps=function(z,$){let{animatableAttribs:E,onComplete:et,css:pt,renderer:kt}=$,Pt=z.series&&z.series.chart.hasRendered?void 0:z.series&&z.series.options.animation,Ct=z.graphic;if($.attribs=Ys(Ii({},$.attribs),{class:z.getClassName()}),z.shouldDraw())Ct||(z.graphic=Ct=$.shapeType==="text"?kt.text():$.shapeType==="image"?kt.image($.imageUrl||"").attr($.shapeArgs||{}):kt[$.shapeType]($.shapeArgs||{}),Ct.add($.group)),pt&&Ct.css(pt),Ct.attr($.attribs).animate(E,!$.isNew&&Pt,et);else if(Ct){let Jt=()=>{z.graphic=Ct=Ct&&Ct.destroy(),typeof et=="function"&&et()};Object.keys(E).length?Ct.animate(E,void 0,()=>Jt()):Jt()}};var As=Oe(512),Wi=Oe.n(As);let{doc:as,win:ns}=ei();function Ke(z,$){let E;for(E in z||(z={}),$)z[E]=$[E];return z}let _i=Array.prototype.find?function(z,$){return z.find($)}:function(z,$){let E,et=z.length;for(E=0;E<et;E++)if($(z[E],E))return z[E]};function Hi(z){return Ge(z)&&typeof z.nodeType=="number"}function Yt(z){return typeof z=="number"&&!isNaN(z)&&z<1/0&&z>-1/0}function Fi(z){let $=Object.prototype.toString.call(z);return $==="[object Array]"||$==="[object Array Iterator]"}function Ge(z,$){return!!z&&typeof z=="object"&&(!$||!Fi(z))}function jt(z,...$){let E,et=[z,...$],pt={},kt=function(Ct,Jt){return typeof Ct!="object"&&(Ct={}),(function($t,Kt,Se){for(let j in $t)Object.hasOwnProperty.call($t,j)&&Kt.call($t[j],$t[j],j,$t)})(Jt,function($t,Kt){if(Kt!=="__proto__"&&Kt!=="constructor"){let Se;!Ge($t,!0)||(Se=$t==null?void 0:$t.constructor,Ge($t,!0)&&!Hi($t)&&(Se==null?void 0:Se.name)&&Se.name!=="Object")||Hi($t)?Ct[Kt]=Jt[Kt]:Ct[Kt]=kt(Ct[Kt]||{},$t)}}),Ct};z===!0&&(pt=et[1],et=Array.prototype.slice.call(et,2));let Pt=et.length;for(E=0;E<Pt;E++)pt=kt(pt,et[E]);return pt}let{column:{prototype:{pointClass:ls}}}=Wi().seriesTypes;class _t extends ls{isValid(){return!0}}Ke(_t.prototype,{weight:1});let{deg2rad:hs}=ei();function Gi(z,$){return!($.left>z.right||$.right<z.left||$.top>z.bottom||$.bottom<z.top)}function mi(z){let $,E=z.axes||[];return E.length||(E=[],($=z.concat([z[0]])).reduce((et,pt)=>{let kt,Pt,Ct=(kt=pt[0]-et[0],[[-(Pt=pt[1]-et[1]),kt],[Pt,-kt]])[0];return _i(E,Jt=>Jt[0]===Ct[0]&&Jt[1]===Ct[1])||E.push(Ct),pt}),z.axes=E),E}function ds(z,$){let E=z.map(et=>{let pt=et[0],kt=et[1];return pt*$[0]+kt*$[1]});return{min:Math.min.apply(this,E),max:Math.max.apply(this,E)}}function St(z,$){let E=mi(z),et=mi($);return!_i(E.concat(et),pt=>{let kt,Pt;return kt=ds(z,pt),(Pt=ds($,pt)).min>kt.max||Pt.max<kt.min})}function xi(z,$){let E=4*z,et=Math.ceil((Math.sqrt(E)-1)/2),pt=2*et+1,kt=Math.pow(pt,2),Pt=!1;return pt-=1,z<=1e4&&(typeof Pt=="boolean"&&E>=kt-pt&&(Pt={x:et-(kt-E),y:-et}),kt-=pt,typeof Pt=="boolean"&&E>=kt-pt&&(Pt={x:-et,y:-et+(kt-E)}),kt-=pt,typeof Pt=="boolean"&&(Pt=E>=kt-pt?{x:-et+(kt-E),y:et}:{x:et,y:et-(kt-E-pt)}),Pt.x*=5,Pt.y*=5),Pt}function yi(z,$){let E=Math.pow(10,Yt($)?$:14);return Math.round(z*E)/E}function He(z,$){let E=z[0],et=z[1],pt=-(hs*$),kt=Math.cos(pt),Pt=Math.sin(pt);return[yi(E*kt-et*Pt),yi(E*Pt+et*kt)]}function ii(z,$,E){let et=He([z[0]-$[0],z[1]-$[1]],E);return[et[0]+$[0],et[1]+$[1]]}let{noop:Me}=ei(),{column:Ut}=Wi().seriesTypes,{archimedeanSpiral:re,extendPlayingField:G,getBoundingBoxFromPolygon:hi,getPlayingField:ji,getPolygon:rt,getRandomPosition:Ze,getRotation:Pe,getScale:Tt,getSpiral:ee,intersectionTesting:ht,isPolygonsColliding:Ee,rectangularSpiral:ke,rotate2DToOr
2igin:Dt,rotate2DToPoint:K,squareSpiral:we,updateFieldBoundaries:Ui}={archimedeanSpiral:function(z,$){let E=$.field,et=E.width*E.width+E.height*E.height,pt=.8*z,kt=!1;return z<=1e4&&(Math.min(Math.abs((kt={x:pt*Math.cos(pt),y:pt*Math.sin(pt)}).x),Math.abs(kt.y))<et||(kt=!1)),kt},extendPlayingField:function(z,$){let E,et,pt,kt,Pt,Ct;return Ge(z)&&Ge($)?(E=$.bottom-$.top,et=$.right-$.left,Pt=et*(pt=z.ratioX)>E*(kt=z.ratioY)?et:E,Ct=jt(z,{width:z.width+Pt*pt*2,height:z.height+Pt*kt*2})):Ct=z,Ct},getBoundingBoxFromPolygon:function(z){return z.reduce(function($,E){let et=E[0],pt=E[1];return $.left=Math.min(et,$.left),$.right=Math.max(et,$.right),$.bottom=Math.max(pt,$.bottom),$.top=Math.min(pt,$.top),$},{left:Number.MAX_VALUE,right:-Number.MAX_VALUE,bottom:-Number.MAX_VALUE,top:Number.MAX_VALUE})},getPlayingField:function(z,$,E){let et=E.reduce(function(Ct,Jt){let $t=Jt.dimensions,Kt=Math.max($t.width,$t.height);return Ct.maxHeight=Math.max(Ct.maxHeight,$t.height),Ct.maxWidth=Math.max(Ct.maxWidth,$t.width),Ct.area+=Kt*Kt,Ct},{maxHeight:0,maxWidth:0,area:0}),pt=Math.max(et.maxHeight,et.maxWidth,.85*Math.sqrt(et.area)),kt=z>$?z/$:1,Pt=$>z?$/z:1;return{width:pt*kt,height:pt*Pt,ratioX:kt,ratioY:Pt}},getPolygon:function(z,$,E,et,pt){let kt=[z,$],Pt=z-E/2,Ct=z+E/2,Jt=$-et/2,$t=$+et/2;return[[Pt,Jt],[Ct,Jt],[Ct,$t],[Pt,$t]].map(function(Kt){return ii(Kt,kt,-pt)})},getRandomPosition:function(z){return Math.round(z*(Math.random()+.5)/2)},getRotation:function(z,$,E,et){let pt=!1,kt;return Yt(z)&&Yt($)&&Yt(E)&&Yt(et)&&z>0&&$>-1&&et>E&&(kt=(et-E)/(z-1||1),pt=E+$%z*kt),pt},getScale:function(z,$,E){let et=2*Math.max(Math.abs(E.top),Math.abs(E.bottom)),pt=2*Math.max(Math.abs(E.left),Math.abs(E.right));return Math.min(pt>0?1/pt*z:1,et>0?1/et*$:1)},getSpiral:function(z,$){let E=[];for(let et=1;et<1e4;et++)E.push(z(et,$));return et=>et<=1e4&&E[et-1]},intersectionTesting:function(z,$){let E,et,pt,kt,Pt,Ct,Jt=$.placed,$t=$.field,Kt=$.rectangle,Se=$.polygon,j=$.spiral,Rt=z.rect=Ke({},Kt),Ft=1,ce={x:0,y:0};for(z.polygon=Se,z.rotation=$.rotation;ce!==!1&&(E=z.rect,et=z.polygon,pt=z.lastCollidedWith,kt=function(Ot){let it=Gi(E,Ot.rect);return it&&(z.rotation%90||Ot.rotation%90)&&(it=St(et,Ot.polygon)),it},Pt=!1,pt&&!(Pt=kt(pt))&&delete z.lastCollidedWith,!Pt&&(Pt=!!_i(Jt,function(Ot){let it=kt(Ot);return it&&(z.lastCollidedWith=Ot),it})),Pt||!((Ct={left:-($t.width/2),right:$t.width/2,top:-($t.height/2),bottom:$t.height/2}).left<Rt.left&&Ct.right>Rt.right&&Ct.top<Rt.top&&Ct.bottom>Rt.bottom));)Ge(ce=j(Ft))&&(Rt.left=Kt.left+ce.x,Rt.right=Kt.right+ce.x,Rt.top=Kt.top+ce.y,Rt.bottom=Kt.bottom+ce.y,z.polygon=(function(Ot,it,ze){return ze.map(function(ut){return[ut[0]+Ot,ut[1]+it]})})(ce.x,ce.y,Se)),Ft++;return ce},isPolygonsColliding:St,isRectanglesIntersecting:Gi,rectangularSpiral:function(z,$){let E=xi(z,$),et=$.field;return E&&(E.x*=et.ratioX,E.y*=et.ratioY),E},rotate2DToOrigin:He,rotate2DToPoint:ii,squareSpiral:xi,updateFieldBoundaries:function(z,$){return(!Yt(z.left)||z.left>$.left)&&(z.left=$.left),(!Yt(z.right)||z.right<$.right)&&(z.right=$.right),(!Yt(z.top)||z.top>$.top)&&(z.top=$.top),(!Yt(z.bottom)||z.bottom<$.bottom)&&(z.bottom=$.bottom),z}};class bi extends Ut{pointAttribs($,E){let et=ei().seriesTypes.column.prototype.pointAttribs.call(this,$,E);return delete et.stroke,delete et["stroke-width"],et}deriveFontSize($,E,et){let pt=Yt($)?$:0,kt=Yt(E)?E:1;return Math.floor(Math.max(Yt(et)?et:1,pt*kt))}drawPoints(){if(this.zooming||this.defaultScale&&this.group.scaleX!==this.defaultScale)return;let $=this.hasRendered,E=this.xAxis,et=this.yAxis,pt=this.chart,kt=this.group,Pt=this.options,Ct=Pt.animation,Jt=Pt.allowExtendPlayingField,$t=pt.renderer,Kt=[],Se=this.placementStrategy[Pt.placementStrategy],j=Pt.rotation,Rt=this.points.map(function(ut){return ut.weight}),Ft=Math.max.apply(null,Rt),ce=this.points.concat().sort((ut,ri)=>ri.weight-ut.weight),Ot=$t.text().add(kt),it;for(let ut of(this.group.attr({scaleX:1,scaleY:1}),ce)){let ri=1/Ft*ut.weight,me=Ke({fontSize:this.deriveFontSize(ri,Pt.maxFontSize,Pt.minFontSize)+"px"},Pt.style);Ot.css(me).attr({x:0,y:0,text:ut.name});let X=Ot.getBBox(!0);ut.dimensions={height:X.height,width:X.width}}it=ji(E.len,et.len,ce);let ze=ee(this.spirals[Pt.spiral],{field:it});for(let ut of ce){let ri=1/Ft*ut.weight,me=Ke({fontSize:this.deriveFontSize(ri,Pt.maxFontSize,Pt.minFontSize)+"px"},Pt.style),X=Se(ut,{data:ce,field:it,placed:Kt,rotation:j}),Wt=Ke(this.pointAttribs(ut,ut.selected&&"select"),{align:"center","alignment-baseline":"middle","dominant-baseline":"middle",x:X.x,y:X.y,text:ut.name,rotation:Yt(X.rotation)?X.rotation:void 0}),xe=rt(X.x,X.y,ut.dimensions.width,ut.dimensions.height,X.rotation),te=hi(xe),Fe=ht(ut,{rectangle:te,polygon:xe,field:it,placed:Kt,spiral:ze,rotation:X.rotation}),je;!Fe&&Jt&&(it=G(it,te),Fe=ht(ut,{rectangle:te,polygon:xe,field:it,placed:Kt,spiral:ze,rotation:X.rotation})),Ge(Fe)?(Wt.x=(Wt.x||0)+Fe.x,Wt.y=(Wt.y||0)+Fe.y,te.left+=Fe.x,te.right+=Fe.x,te.top+=Fe.y,te.bottom+=Fe.y,it=Ui(it,te),Kt.push(ut),ut.isNull=!1,ut.isInside=!0):ut.isNull=!0,Ct&&(je={x:Wt.x,y:Wt.y},$?(delete Wt.x,delete Wt.y):(Wt.x=0,Wt.y=0)),Ps(ut,{animatableAttribs:je,attribs:Wt,css:me,group:kt,renderer:$t,shapeArgs:void 0,shapeType:"text"})}Ot=Ot.destroy(),this.defaultScale=Tt(E.len,et.len,it),this.field=it,this.group.attr({scaleX:this.defaultScale,scaleY:this.defaultScale})}hasData(){return Ge(this)&&this.visible===!0&&Fi(this.points)&&this.points.length>0}getPlotBox($){let{chart:E,group:et,zooming:pt}=this,{plotSizeX:kt=0,plotSizeY:Pt=0,inverted:Ct}=E,Jt=this[Ct?"yAxis":"xAxis"],$t=this[Ct?"xAxis":"yAxis"],Kt=Jt?Jt.len:E.plotWidth,Se=$t?$t.len:E.plotHeight,j=Jt?Jt.left:E.plotLeft,Rt=$t?$t.top:E.plotTop,Ft=this.field,ce=0,Ot=0,it=j+Kt/2,ze=Rt+Se/2,ut=it,ri=ze,me=this.defaultScale||1,X=0,Wt=0;if(Ft&&(X=2*Math.max(Math.abs(Ft.top),Math.abs(Ft.bottom)),Wt=2*Math.max(Math.abs(Ft.left),Math.abs(Ft.right))),Ct&&([Wt,X]=[X,Wt]),et&&pt){let xe=j+Math.max(Wt*(me=Math.max(pt.scale,this.defaultScale||1)),Kt)/2,te=Rt+Math.max(X*me,Se)/2,Fe=me-(et.scaleX||1);ce=Fe*((kt-Wt)/2+pt.zoomX*kt-Kt/2),Ot=Fe*((Pt-X)/2+pt.zoomY*Pt-Se/2),$==="series"&&(pt.x=Math.max(0,Math.min(1-pt.width,pt.x+pt.panX/pt.scale)),ce+=pt.panX*kt,pt.panX=0,pt.y=Math.max(0,Math.min(1-pt.height,pt.y+pt.panY/pt.scale)),Ot+=pt.panY*Pt,pt.panY=0),Yt(et.translateX)&&Yt(et.translateY)&&(ut=et.translateX,ri=et.translateY),it=ut-ce,(ze=ri-Ot)>te?ze=te:ze<2*Rt+Se-te&&(ze=2*Rt+Se-te),it>xe?it=xe:it<2*j+Kt-xe&&(it=2*j+Kt-xe)}return{translateX:it,translateY:ze,scaleX:me,scaleY:me}}}bi.defaultOptions=jt(Ut.defaultOptions,{allowExtendPlayingField:!0,animation:{duration:500},borderWidth:0,clip:!1,colorByPoint:!0,cropThreshold:1/0,colorKey:"weight",minFontSize:1,maxFontSize:25,placementStrategy:"center",rotation:{from:0,orientations:2,to:90},showInLegend:!1,spiral:"rectangular",style:{fontFamily:"sans-serif",fontWeight:"900",whiteSpace:"nowrap"},tooltip:{followPointer:!0,pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.weight}</b><br/>'}}),Ke(bi.prototype,{animate:Me,animateDrilldown:Me,animateDrillupFrom:Me,isCartesian:!1,pointClass:_t,setClip:Me,placementStrategy:{random:function(z,$){let E=$.field,et=$.rotation;return{x:Ze(E.width)-E.width/2,y:Ze(E.height)-E.height/2,rotation:Pe(et.orientations,z.index,et.from,et.to)}},center:function(z,$){let E=$.rotation;return{x:0,y:0,rotation:Pe(E.orientations,z.index,E.from,E.to)}}},pointArrayMap:["weight"],spirals:{archimedean:re,rectangular:ke,square:we},utils:{extendPlayingField:G,getRotation:Pe,isPolygonsColliding:Ee,rotate2DToOr
2igin:Dt,rotate2DToPoint:K}}),Wi().registerSeriesType("wordcloud",bi);let _e=ei();return rs.default})())}}]);})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.