1?o:e.name,topLevelColumnTitle:e.name}:e.name+(a>1?\" (\"+o+\")\":\"\"):e.options.title&&e.options.title.text||(e.dateTime?b:u):u},w=function(t,e,o){let a={},n={};return e.forEach(function(e){let i=(t.keyToAxis&&t.keyToAxis[e]||e)+\"Axis\",r=x(o)?t.chart[i][o]:t[i];a[e]=r&&r.categories||[],n[e]=r&&r.dateTime}),{categoryMap:a,dateTimeValueAxisMap:n}},D=function(t,e){let o=t.pointArrayMap||[\"y\"];return t.data.some(t=>void 0!==t.y&&t.name)&&e&&!e.categories&&\"name\"!==t.exportKey?[\"x\",...o]:o},T=[],v,E,L,S=0,C,A;for(C in this.series.forEach(function(e){let o=e.options.keys,l=e.xAxis,d=o||D(e,l),p=d.length,u=!e.requireSorting&&{},g=r.indexOf(l),x=w(e,d),b,v;if(!1!==e.options.includeInDataExport&&!e.options.isInternal&&!1!==e.visible){for(m(T,function(t){return t[0]===g})||T.push([g,S]),v=0;v{if(!t.tagName||\"#text\"===t.tagName)return t.textContent||\"\";let o=t.attributes,a=`<${t.tagName}`;return o&&Object.keys(o).forEach(t=>{let e=o[t];a+=` ${t}=\"${e}\"`}),a+=\">\"+(t.textContent||\"\"),(t.children||[]).forEach(t=>{a+=e(t)}),a+=`${t.tagName}>`};return e(this.getTableAST(t))}function E(t){let e=0,o=[],a=this.options,n=t?1.1.toLocaleString()[1]:\".\",i=f(a.exporting.useMultiLevelHeaders,!0),r=this.getDataRows(i),s=i?r.shift():null,l=r.shift(),h=function(t,e){let o=t.length;if(e.length!==o)return!1;for(;o--;)if(t[o]!==e[o])return!1;return!0},c=function(t,e,o,a){let i=f(a,\"\"),r=\"highcharts-text\"+(e?\" \"+e:\"\");return\"number\"==typeof i?(i=i.toString(),\",\"===n&&(i=i.replace(\".\",n)),r=\"highcharts-number\"):a||(r=\"highcharts-empty\"),{tagName:t,attributes:o=u({class:r},o),textContent:i}};!1!==a.exporting.tableCaption&&o.push({tagName:\"caption\",attributes:{class:\"highcharts-table-caption\"},textContent:f(a.exporting.tableCaption,a.title.text?a.title.text:\"Chart\")});for(let t=0,o=r.length;te&&(e=r[t].length);o.push(function(t,e,o){let n=[],r=0,s=o||e&&e.length,l,d=0,p;if(i&&t&&e&&!h(t,e)){let o=[];for(;r1&&t.attributes&&(t.attributes.valign=\"top\",t.attributes.rowspan=p),o.push(t)}n.push({tagName:\"tr\",children:o})}if(e){let t=[];for(r=0,s=e.length;rt.children[e].textContent,a=(t,e)=>(a,n)=>{let i,r;return i=o(e?a:n,t),r=o(e?n:a,t),\"\"===i||\"\"===r||isNaN(i)||isNaN(r)?i.toString().localeCompare(r):i-r};if(e&&t.options.exporting&&t.options.exporting.allowTableSorting){let o=e.querySelector(\"thead tr\");o&&o.childNodes.forEach(o=>{let n=o.closest(\"table\");o.addEventListener(\"click\",function(){let i=[...e.querySelectorAll(\"tr:not(thead tr)\")],r=[...o.parentNode.children];i.sort(a(r.indexOf(o),t.ascendingOrderInTable=!t.ascendingOrderInTable)).forEach(t=>{n.appendChild(t)}),r.forEach(t=>{[\"highcharts-sort-ascending\",\"highcharts-sort-descending\"].forEach(e=>{t.classList.contains(e)&&t.classList.remove(e)})}),o.classList.add(t.ascendingOrderInTable?\"highcharts-sort-ascending\":\"highcharts-sort-descending\")})})}}function k(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&this.viewData()}function H(){this.dataTableDiv?.remove()}return{compose:function(t,e){let o=t.prototype;if(!o.getCSV){let n=r().exporting;d(t,\"afterViewData\",R),d(t,\"render\",k),d(t,\"destroy\",H),o.downloadCSV=y,o.downloadXLS=w,o.getCSV=D,o.getDataRows=T,o.getTable=v,o.getTableAST=E,o.hideData=L,o.toggleDataTable=S,o.viewData=C,n&&(u(n.menuItemDefinitions,{downloadCSV:{textKey:\"downloadCSV\",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:\"downloadXLS\",onclick:function(){this.downloadXLS()}},viewData:{textKey:\"viewData\",onclick:function(){b.call(this,this.toggleDataTable)}}}),n.buttons&&n.buttons.contextButton.menuItems&&n.buttons.contextButton.menuItems.push(\"separator\",\"downloadCSV\",\"downloadXLS\",\"viewData\")),s(a);let{arearange:i,gantt:l,map:h,mapbubble:c,treemap:p,xrange:m}=e.types;i&&(i.prototype.keyToAxis={low:\"y\",high:\"y\"}),l&&(l.prototype.exportKey=\"name\",l.prototype.keyToAxis={start:\"x\",end:\"x\"}),h&&(h.prototype.exportKey=\"name\"),c&&(c.prototype.exportKey=\"name\"),p&&(p.prototype.exportKey=\"name\"),m&&(m.prototype.keyToAxis={x2:\"x\"})}}}}),o(e,\"masters/modules/export-data.src.js\",[e[\"Core/Globals.js\"],e[\"Extensions/DownloadURL.js\"],e[\"Extensions/ExportData/ExportData.js\"]],function(t,e,o){return t.dataURLtoBlob=t.dataURLtoBlob||e.dataURLtoBlob,t.downloadURL=t.downloadURL||e.downloadURL,o.compose(t.Chart,t.Series),t})});","!/**\n * Highcharts JS v11.4.8 (2024-08-29)\n *\n * Accessibility module\n *\n * (c) 2010-2024 Highsoft AS\n * Author: Oystein Moseng\n *\n * License: www.highcharts.com/license\n */function(e){\"object\"==typeof module&&module.exports?(e.default=e,module.exports=e):\"function\"==typeof define&&define.amd?define(\"highcharts/modules/accessibility\",[\"highcharts\"],function(t){return e(t),e.Highcharts=t,e}):e(\"undefined\"!=typeof Highcharts?Highcharts:void 0)}(function(e){\"use strict\";var t=e?e._modules:{};function i(t,i,s,n){t.hasOwnProperty(i)||(t[i]=n.apply(null,s),\"function\"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:i,module:t[i]}})))}i(t,\"Accessibility/Utils/HTMLUtilities.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{doc:i,win:s}=e,{css:n}=t,r=s.EventTarget&&new s.EventTarget||\"none\";function o(e){if(\"function\"==typeof s.MouseEvent)return new s.MouseEvent(e.type,e);if(i.createEvent){let t=i.createEvent(\"MouseEvent\");if(t.initMouseEvent)return t.initMouseEvent(e.type,e.bubbles,e.cancelable,e.view||s,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget),t}return a(e.type)}function a(e,t,n){let o=t||{x:0,y:0};if(\"function\"==typeof s.MouseEvent)return new s.MouseEvent(e,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:n||r,view:s,detail:\"click\"===e?1:0,screenX:o.x,screenY:o.y,clientX:o.x,clientY:o.y});if(i.createEvent){let t=i.createEvent(\"MouseEvent\");if(t.initMouseEvent)return t.initMouseEvent(e,!0,!0,s,\"click\"===e?1:0,o.x,o.y,o.x,o.y,!1,!1,!1,!1,0,null),t}return{type:e}}return{addClass:function(e,t){e.classList?e.classList.add(t):0>e.className.indexOf(t)&&(e.className+=\" \"+t)},cloneMouseEvent:o,cloneTouchEvent:function(e){let t=e=>{let t=[];for(let i=0;i/g,\">\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/\\//g,\"/\")},getElement:function(e){return i.getElementById(e)},getFakeMouseEvent:a,getHeadingTagNameForElement:function(e){let t=e=>\"h\"+Math.min(6,parseInt(e.slice(1),10)+1),i=e=>/^H[1-6]$/i.test(e),s=e=>{let t=e;for(;t=t.previousSibling;){let e=t.tagName||\"\";if(i(e))return e}return\"\"},n=e=>{let r=s(e);if(r)return t(r);let o=e.parentElement;if(!o)return\"p\";let a=o.tagName;return i(a)?t(a):n(o)};return n(e)},removeChildNodes:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(RegExp(t,\"g\"),\"\")},removeElement:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},reverseChildNodes:function(e){let t=e.childNodes.length;for(;t--;)e.appendChild(e.childNodes[t])},simulatedEventTarget:r,stripHTMLTagsFromString:function(e,t=!1){return\"string\"==typeof e?t?e.replace(/<\\/?[^>]+(>|$)/g,\"\"):e.replace(/<\\/?(?!\\s)[^>]+(>|$)/g,\"\"):e},visuallyHideElement:function(e){n(e,{position:\"absolute\",width:\"1px\",height:\"1px\",overflow:\"hidden\",whiteSpace:\"nowrap\",clip:\"rect(1px, 1px, 1px, 1px)\",marginTop:\"-3px\",\"-ms-filter\":\"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)\",filter:\"alpha(opacity=1)\",opacity:.01})}}}),i(t,\"Accessibility/A11yI18n.js\",[t[\"Core/Templating.js\"],t[\"Core/Utilities.js\"]],function(e,t){var i;let{format:s}=e,{getNestedProperty:n,pick:r}=t;return function(e){function t(e,t,i){let o=(e,t)=>{let i=e.slice(t||0),s=i.indexOf(\"{\"),n=i.indexOf(\"}\");if(s>-1&&n>s)return{statement:i.substring(s+1,n),begin:t+s+1,end:t+n}},a=[],l,h,c=0;do l=o(e,c),(h=e.substring(c,l&&l.begin-1)).length&&a.push({value:h,type:\"constant\"}),l&&a.push({value:l.statement,type:\"statement\"}),c=l?l.end+1:c+1;while(l);return a.forEach(e=>{\"statement\"===e.type&&(e.value=function(e,t){let i,s;let o=e.indexOf(\"#each(\"),a=e.indexOf(\"#plural(\"),l=e.indexOf(\"[\"),h=e.indexOf(\"]\");if(o>-1){let r=e.slice(o).indexOf(\")\")+o,a=e.substring(0,o),l=e.substring(r+1),h=e.substring(o+6,r).split(\",\"),c=Number(h[1]),d;if(s=\"\",i=n(h[0],t)){d=(c=isNaN(c)?i.length:c)<0?i.length+c:Math.min(c,i.length);for(let e=0;e-1){var c;let i=e.slice(a).indexOf(\")\")+a,o=e.substring(a+8,i).split(\",\");switch(Number(n(o[0],t))){case 0:s=r(o[4],o[1]);break;case 1:s=r(o[2],o[1]);break;case 2:s=r(o[3],o[1]);break;default:s=o[1]}return s?(c=s).trim&&c.trim()||c.replace(/^\\s+|\\s+$/g,\"\"):\"\"}if(l>-1){let s;let r=e.substring(0,l),o=Number(e.substring(l+1,h));return i=n(r,t),!isNaN(o)&&i&&(o<0?void 0===(s=i[i.length+o])&&(s=i[0]):void 0===(s=i[o])&&(s=i[i.length-1])),void 0!==s?s:\"\"}return\"{\"+e+\"}\"}(e.value,t))}),s(a.reduce((e,t)=>e+t.value,\"\"),t,i)}function i(e,i){let s=e.split(\".\"),n=this.options.lang,r=0;for(;r!!e.graphic);return t&&t.graphic&&t.graphic.element}}function h(e){let t=l(e);return t&&t.parentNode||e.graph&&e.graph.element||e.group&&e.group.element}return{fireEventOnWrappedOrUnwrappedElement:function e(t,i){let n=i.type,r=t.hcEvents;s.createEvent&&(t.dispatchEvent||t.fireEvent)?t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(n,i):r&&r[n]?a(t,n,i):t.element&&e(t.element,i)},getChartTitle:function(e){return n(e.options.title.text||e.langFormat(\"accessibility.defaultChartTitle\",{chart:e}),e.renderer.forExport)},getAxisDescription:function(e){return e&&(e.options.accessibility?.description||e.axisTitle?.textStr||e.options.id||e.categories&&\"categories\"||e.dateTime&&\"Time\"||\"values\")},getAxisRangeDescription:function(e){let t=e.options||{};return t.accessibility&&void 0!==t.accessibility.rangeDescription?t.accessibility.rangeDescription:e.categories?function(e){let t=e.chart;return e.dataMax&&e.dataMin?t.langFormat(\"accessibility.axis.rangeCategories\",{chart:t,axis:e,numCategories:e.dataMax-e.dataMin+1}):\"\"}(e):e.dateTime&&(0===e.min||0===e.dataMin)?function(e){let t=e.chart,i={},s=e.dataMin||e.min||0,n=e.dataMax||e.max||0,r=\"Seconds\";i.Seconds=(n-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,[\"Minutes\",\"Hours\",\"Days\"].forEach(function(e){i[e]>2&&(r=e)});let o=i[r].toFixed(\"Seconds\"!==r&&\"Minutes\"!==r?1:0);return t.langFormat(\"accessibility.axis.timeRange\"+r,{chart:t,axis:e,range:o.replace(\".0\",\"\")})}(e):function(e){let t=e.chart,i=t.options,s=i&&i.accessibility&&i.accessibility.screenReaderSection.axisRangeDateFormat||\"\",n={min:e.dataMin||e.min||0,max:e.dataMax||e.max||0},r=function(i){return e.dateTime?t.time.dateFormat(s,n[i]):n[i].toString()};return t.langFormat(\"accessibility.axis.rangeFromTo\",{chart:t,axis:e,rangeFrom:r(\"min\"),rangeTo:r(\"max\")})}(e)},getPointFromXY:function(e,t,i){let s=e.length,n;for(;s--;)if(n=o(e[s].points||[],function(e){return e.x===t&&e.y===i}))return n},getSeriesFirstPointElement:l,getSeriesFromName:function(e,t){return t?(e.series||[]).filter(function(e){return e.name===t}):e.series},getSeriesA11yElement:h,unhideChartElementFromAT:function e(t,i){i.setAttribute(\"aria-hidden\",!1),i!==t.renderTo&&i.parentNode&&i.parentNode!==s.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(e){e.hasAttribute(\"aria-hidden\")||e.setAttribute(\"aria-hidden\",!0)}),e(t,i.parentNode))},hideSeriesFromAT:function(e){let t=h(e);t&&t.setAttribute(\"aria-hidden\",!0)},scrollAxisToPoint:function(e){let t=e.series.xAxis,i=e.series.yAxis,s=t&&t.scrollbar?t:i,n=s&&s.scrollbar;if(n&&r(n.to)&&r(n.from)){let t=n.to-n.from,i=function(e,t){if(!r(e.dataMin)||!r(e.dataMax))return 0;let i=e.toPixels(e.dataMin),s=e.toPixels(e.dataMax),n=\"xAxis\"===e.coll?\"x\":\"y\";return(e.toPixels(t[n]||0)-i)/(s-i)}(s,e);n.updatePosition(i-t/2,i+t/2),a(n,\"changed\",{from:n.from,to:n.to,trigger:\"scrollbar\",DOMEvent:null})}}}}),i(t,\"Accessibility/Utils/DOMElementProvider.js\",[t[\"Core/Globals.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t){let{doc:i}=e,{removeElement:s}=t;return class{constructor(){this.elements=[]}createElement(){let e=i.createElement.apply(i,arguments);return this.elements.push(e),e}removeElement(e){s(e),this.elements.splice(this.elements.indexOf(e),1)}destroyCreatedElements(){this.elements.forEach(function(e){s(e)}),this.elements=[]}}}),i(t,\"Accessibility/Utils/EventProvider.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{addEvent:i}=t;return class{constructor(){this.eventRemovers=[]}addEvent(){let t=i.apply(e,arguments);return this.eventRemovers.push({element:arguments[0],remover:t}),t}removeEvent(e){let t=this.eventRemovers.map(e=>e.remover).indexOf(e);this.eventRemovers[t].remover(),this.eventRemovers.splice(t,1)}removeAddedEvents(){this.eventRemovers.map(e=>e.remover).forEach(e=>e()),this.eventRemovers=[]}}}),i(t,\"Accessibility/AccessibilityComponent.js\",[t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/DOMElementProvider.js\"],t[\"Accessibility/Utils/EventProvider.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s){let{fireEventOnWrappedOrUnwrappedElement:n}=e,{getFakeMouseEvent:r}=s;return class{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(e,s){this.chart=e,this.eventProvider=new i,this.domElementProvider=new t,this.proxyProvider=s,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(e,t,i,s){return this.eventProvider.addEvent(e,t,i,s)}createElement(e,t){return this.domElementProvider.createElement(e,t)}fakeClickEvent(e){n(e,r(\"click\"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}}),i(t,\"Accessibility/KeyboardNavigationHandler.js\",[t[\"Core/Utilities.js\"]],function(e){let{find:t}=e;return class{constructor(e,t){this.chart=e,this.keyCodeMap=t.keyCodeMap||[],this.validate=t.validate,this.init=t.init,this.terminate=t.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(e){let i=e.which||e.keyCode,s=this.response.noHandler,n=t(this.keyCodeMap,function(e){return e[0].indexOf(i)>-1});return n?s=n[1].call(this,i,e):9===i&&(s=this.response[e.shiftKey?\"prev\":\"next\"]),s}}}),i(t,\"Accessibility/Components/ContainerComponent.js\",[t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Core/Globals.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s,n){let{unhideChartElementFromAT:r,getChartTitle:o}=i,{doc:a}=s,{stripHTMLTagsFromString:l}=n;return class extends e{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let e=this.chart,t=\"highcharts-title-\"+e.index,i=l(e.langFormat(\"accessibility.svgContainerTitle\",{chartTitle:o(e)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||a.createElementNS(\"http://www.w3.org/2000/svg\",\"title\");s.textContent=i,s.id=t,e.renderTo.insertBefore(s,e.renderTo.firstChild)}}setSVGContainerLabel(){let e=this.chart,t=e.langFormat(\"accessibility.svgContainerLabel\",{chartTitle:o(e)});e.renderer.box&&t.length&&e.renderer.box.setAttribute(\"aria-label\",t)}setGraphicContainerAttrs(){let e=this.chart,t=e.langFormat(\"accessibility.graphicContainerLabel\",{chartTitle:o(e)});t.length&&e.container.setAttribute(\"aria-label\",t)}setRenderToAttrs(){let e=this.chart,t=\"disabled\"!==e.options.accessibility.landmarkVerbosity,i=e.langFormat(\"accessibility.chartContainerLabel\",{title:o(e),chart:e});i&&(e.renderTo.setAttribute(\"role\",t?\"region\":\"group\"),e.renderTo.setAttribute(\"aria-label\",i))}makeCreditsAccessible(){let e=this.chart,t=e.credits;t&&(t.textStr&&t.element.setAttribute(\"aria-label\",e.langFormat(\"accessibility.credits\",{creditsStr:l(t.textStr,e.renderer.forExport)})),r(e,t.element))}getKeyboardNavigation(){let e=this.chart;return new t(e,{keyCodeMap:[],validate:function(){return!0},init:function(){let t=e.accessibility;t&&t.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute(\"aria-hidden\",!0)}}}),i(t,\"Accessibility/FocusBorder.js\",[t[\"Core/Utilities.js\"]],function(e){var t;let{addEvent:i,pick:s}=e;return function(e){let t=[\"x\",\"y\",\"transform\",\"width\",\"height\",\"r\",\"d\",\"stroke-width\"];function n(){let e=this.focusElement,t=this.options.accessibility.keyboardNavigation.focusBorder;e&&(e.removeFocusBorder(),t.enabled&&e.addFocusBorder(t.margin,{stroke:t.style.color,strokeWidth:t.style.lineWidth,r:t.style.borderRadius}))}function r(e,t){let s=this.options.accessibility.keyboardNavigation.focusBorder,n=t||e.element;n&&n.focus&&(n.hcEvents&&n.hcEvents.focusin||i(n,\"focusin\",function(){}),n.focus(),s.hideBrowserFocusOutline&&(n.style.outline=\"none\")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=e,this.renderFocusBorder()}function o(e,i){this.focusBorder&&this.removeFocusBorder();let n=this.getBBox(),r=s(e,3),o=this.parentGroup,a=this.scaleX||o&&o.scaleX,l=this.scaleY||o&&o.scaleY,h=(a?!l:l)?Math.abs(a||l||1):(Math.abs(a||1)+Math.abs(l||1))/2;n.x+=this.translateX?this.translateX:0,n.y+=this.translateY?this.translateY:0;let c=n.x-r,d=n.y-r,u=n.width+2*r,p=n.height+2*r,g=!!this.text;if(\"text\"===this.element.nodeName||g){let e,t;let i=!!this.rotation,s=g?{x:i?1:0,y:0}:(e=0,t=0,\"middle\"===this.attr(\"text-anchor\")?e=t=.5:this.rotation?e=.25:t=.75,{x:e,y:t}),o=+this.attr(\"x\"),a=+this.attr(\"y\");if(isNaN(o)||(c=o-n.width*s.x-r),isNaN(a)||(d=a-n.height*s.y-r),g&&i){let e=u;u=p,p=e,isNaN(o)||(c=o-n.height*s.x-r),isNaN(a)||(d=a-n.width*s.y-r)}}this.focusBorder=this.renderer.rect(c,d,u,p,parseInt((i&&i.r||0).toString(),10)/h).addClass(\"highcharts-focus-border\").attr({zIndex:99}).add(o),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,\"stroke-width\":(i&&i.strokeWidth||0)/h}),function(e,...i){e.focusBorderUpdateHooks||(e.focusBorderUpdateHooks={},t.forEach(t=>{let s=t+\"Setter\",n=e[s]||e._defaultSetter;e.focusBorderUpdateHooks[s]=n,e[s]=function(){let t=n.apply(e,arguments);return e.addFocusBorder.apply(e,i),t}}))}(this,e,i),function(e){if(e.focusBorderDestroyHook)return;let t=e.destroy;e.destroy=function(){return e.focusBorder&&e.focusBorder.destroy&&e.focusBorder.destroy(),t.apply(e,arguments)},e.focusBorderDestroyHook=t}(this)}function a(){var e;e=this,e.focusBorderUpdateHooks&&(Object.keys(e.focusBorderUpdateHooks).forEach(t=>{let i=e.focusBorderUpdateHooks[t];i===e._defaultSetter?delete e[t]:e[t]=i}),delete e.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}e.compose=function(e,t){let i=e.prototype,s=t.prototype;i.renderFocusBorder||(i.renderFocusBorder=n,i.setFocusToElement=r),s.addFocusBorder||(s.addFocusBorder=o,s.removeFocusBorder=a)}}(t||(t={})),t}),i(t,\"Accessibility/Utils/Announcer.js\",[t[\"Core/Renderer/HTML/AST.js\"],t[\"Accessibility/Utils/DOMElementProvider.js\"],t[\"Core/Globals.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n){let{doc:r}=i,{addClass:o,visuallyHideElement:a}=s,{attr:l}=n;return class{constructor(e,i){this.chart=e,this.domElementProvider=new t,this.announceRegion=this.addAnnounceRegion(i)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(t){e.setElementHTML(this.announceRegion,t),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=e.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(e){let t=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement(\"div\");return l(i,{\"aria-hidden\":!1,\"aria-live\":e,\"aria-atomic\":!0}),this.chart.styledMode?o(i,\"highcharts-visually-hidden\"):a(i),t.appendChild(i),i}createAnnouncerContainer(){let e=this.chart,t=r.createElement(\"div\");return l(t,{\"aria-hidden\":!1,class:\"highcharts-announcer-container\"}),t.style.position=\"relative\",e.renderTo.insertBefore(t,e.renderTo.firstChild),e.announcerContainer=t,t}}}),i(t,\"Accessibility/Components/AnnotationsA11y.js\",[t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e){let{escapeStringForHTML:t,stripHTMLTagsFromString:i}=e;function s(e){return(e.annotations||[]).reduce((e,t)=>(t.options&&!1!==t.options.visible&&(e=e.concat(t.labels)),e),[])}function n(e){return e.options&&e.options.accessibility&&e.options.accessibility.description||e.graphic&&e.graphic.text&&e.graphic.text.textStr||\"\"}function r(e){let t=e.options&&e.options.accessibility&&e.options.accessibility.description;if(t)return t;let i=e.chart,s=n(e),r=e.points,o=e=>e.graphic&&e.graphic.element&&e.graphic.element.getAttribute(\"aria-label\")||\"\",a=r.filter(e=>!!e.graphic).map(e=>{let t=e.accessibility&&e.accessibility.valueDescription||o(e),i=e&&e.series.name||\"\";return(i?i+\", \":\"\")+\"data point \"+t}).filter(e=>!!e),l=a.length,h=l>1?\"MultiplePoints\":l?\"SinglePoint\":\"NoPoints\",c={annotationText:s,annotation:e,numPoints:l,annotationPoint:a[0],additionalAnnotationPoints:a.slice(1)};return i.langFormat(\"accessibility.screenReaderSection.annotations.description\"+h,c)}function o(e){return s(e).map(s=>{let n=t(i(r(s),e.renderer.forExport));return n?`${n}`:\"\"})}return{getAnnotationsInfoHTML:function(e){let t=e.annotations;if(!(t&&t.length))return\"\";let i=o(e);return``},getAnnotationLabelDescription:r,getAnnotationListItems:o,getPointAnnotationTexts:function(e){let t=s(e.series.chart).filter(t=>t.points.indexOf(e)>-1);return t.length?t.map(e=>`${n(e)}`):[]}}}),i(t,\"Accessibility/Components/InfoRegionsComponent.js\",[t[\"Accessibility/A11yI18n.js\"],t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/Announcer.js\"],t[\"Accessibility/Components/AnnotationsA11y.js\"],t[\"Core/Renderer/HTML/AST.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Core/Templating.js\"],t[\"Core/Globals.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n,r,o,a,l,h){let{getAnnotationsInfoHTML:c}=s,{getAxisDescription:d,getAxisRangeDescription:u,getChartTitle:p,unhideChartElementFromAT:g}=r,{format:m}=o,{doc:b}=a,{addClass:y,getElement:f,getHeadingTagNameForElement:x,stripHTMLTagsFromString:v,visuallyHideElement:A}=l,{attr:C,pick:w,replaceNested:E}=h;function T(e){return E(e,[/<([\\w\\-.:!]+)\\b[^<>]*>\\s*<\\/\\1>/g,\"\"])}return class extends t{constructor(){super(...arguments),this.screenReaderSections={}}init(){let e=this.chart,t=this;this.initRegionsDefinitions(),this.addEvent(e,\"aftergetTableAST\",function(e){t.onDataTableCreated(e)}),this.addEvent(e,\"afterViewData\",function(e){e.wasHidden&&(t.dataTableDiv=e.element,setTimeout(function(){t.focusDataTable()},300))}),this.addEvent(e,\"afterHideData\",function(){t.viewDataTableButton&&t.viewDataTableButton.setAttribute(\"aria-expanded\",\"false\")}),e.exporting&&this.addEvent(e,\"afterPrint\",function(){t.updateAllScreenReaderSections()}),this.announcer=new i(e,\"assertive\")}initRegionsDefinitions(){let e=this,t=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){let s=t.screenReaderSection.beforeChartFormatter;return s?s(i):e.defaultBeforeChartFormatter(i)},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.renderTo.firstChild)},afterInserted:function(){void 0!==e.sonifyButtonId&&e.initSonifyButton(e.sonifyButtonId),void 0!==e.dataTableButtonId&&e.initDataTableButton(e.dataTableButtonId)}},after:{element:null,buildContent:function(i){let s=t.screenReaderSection.afterChartFormatter;return s?s(i):e.defaultAfterChartFormatter()},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.container.nextSibling)},afterInserted:function(){e.chart.accessibility&&t.keyboardNavigation.enabled&&e.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let e=this;Object.keys(this.screenReaderSections).forEach(function(t){e.updateScreenReaderSection(t)})}getLinkedDescriptionElement(){let e=this.chart.options.accessibility.linkedDescription;if(!e)return;if(\"string\"!=typeof e)return e;let t=m(e,this.chart),i=b.querySelectorAll(t);if(1===i.length)return i[0]}setLinkedDescriptionAttrs(){let e=this.linkedDescriptionElement;e&&(e.setAttribute(\"aria-hidden\",\"true\"),y(e,\"highcharts-linked-description\"))}updateScreenReaderSection(e){let t=this.chart,i=this.screenReaderSections[e],s=i.buildContent(t),r=i.element=i.element||this.createElement(\"div\"),o=r.firstChild||this.createElement(\"div\");s?(this.setScreenReaderSectionAttribs(r,e),n.setElementHTML(o,s),r.appendChild(o),i.insertIntoDOM(r,t),t.styledMode?y(o,\"highcharts-visually-hidden\"):A(o),g(t,o),i.afterInserted&&i.afterInserted()):(r.parentNode&&r.parentNode.removeChild(r),i.element=null)}setScreenReaderSectionAttribs(e,t){let i=this.chart,s=i.langFormat(\"accessibility.screenReaderSection.\"+t+\"RegionLabel\",{chart:i,chartTitle:p(i)});C(e,{id:`highcharts-screen-reader-region-${t}-${i.index}`,\"aria-label\":s||void 0}),e.style.position=\"relative\",s&&e.setAttribute(\"role\",\"all\"===i.options.accessibility.landmarkVerbosity?\"region\":\"group\")}defaultBeforeChartFormatter(){let t=this.chart,i=t.options.accessibility.screenReaderSection.beforeChartFormat;if(!i)return\"\";let s=this.getAxesDescription(),n=t.sonify&&t.options.sonification&&t.options.sonification.enabled,r=\"highcharts-a11y-sonify-data-btn-\"+t.index,o=\"hc-linkto-highcharts-data-table-\"+t.index,a=c(t),l=t.langFormat(\"accessibility.screenReaderSection.annotations.heading\",{chart:t}),h={headingTagName:x(t.renderTo),chartTitle:p(t),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:s.xAxis,yAxisDescription:s.yAxis,playAsSoundButton:n?this.getSonifyButtonText(r):\"\",viewTableButton:t.getCSV?this.getDataTableButtonText(o):\"\",annotationsTitle:a?l:\"\",annotationsList:a},d=e.i18nFormat(i,h,t);return this.dataTableButtonId=o,this.sonifyButtonId=r,T(d)}defaultAfterChartFormatter(){let t=this.chart,i=t.options.accessibility.screenReaderSection.afterChartFormat;if(!i)return\"\";let s={endOfChartMarker:this.getEndOfChartMarkerText()};return T(e.i18nFormat(i,s,t))}getLinkedDescription(){let e=this.linkedDescriptionElement;return v(e&&e.innerHTML||\"\",this.chart.renderer.forExport)}getLongdescText(){let e=this.chart.options,t=e.caption,i=t&&t.text,s=this.getLinkedDescription();return e.accessibility.description||s||i||\"\"}getTypeDescriptionText(){let e=this.chart;return e.types?e.options.accessibility.typeDescription||function(e,t){let i=t[0],s=e.series&&e.series[0]||{},n=e.mapView&&e.mapView.geoMap&&e.mapView.geoMap.title,r={numSeries:e.series.length,numPoints:s.points&&s.points.length,chart:e,mapTitle:n};return i?\"map\"===i||\"tiledwebmap\"===i?r.mapTitle?e.langFormat(\"accessibility.chartTypes.mapTypeDescription\",r):e.langFormat(\"accessibility.chartTypes.unknownMap\",r):e.types.length>1?e.langFormat(\"accessibility.chartTypes.combinationChart\",r):function(e,t,i){let s=t[0],n=e.langFormat(\"accessibility.seriesTypeDescriptions.\"+s,i),r=e.series&&e.series.length<2?\"Single\":\"Multiple\";return(e.langFormat(\"accessibility.chartTypes.\"+s+r,i)||e.langFormat(\"accessibility.chartTypes.default\"+r,i))+(n?\" \"+n:\"\")}(e,t,r):e.langFormat(\"accessibility.chartTypes.emptyChart\",r)}(e,e.types):\"\"}getDataTableButtonText(e){let t=this.chart;return'\"}getSonifyButtonText(e){let t=this.chart;return t.options.sonification&&!1===t.options.sonification.enabled?\"\":'\"}getSubtitleText(){let e=this.chart.options.subtitle;return v(e&&e.text||\"\",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let e=f(`highcharts-end-of-chart-marker-${this.chart.index}`);if(e)return e.outerHTML;let t=this.chart,i=t.langFormat(\"accessibility.screenReaderSection.endOfChartMarker\",{chart:t});return''+i+\"
\"}onDataTableCreated(e){let t=this.chart;if(t.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute(\"aria-expanded\",\"true\");let i=e.tree.attributes||{};i.tabindex=-1,i.summary=t.langFormat(\"accessibility.table.tableSummary\",{chart:t}),e.tree.attributes=i}}focusDataTable(){let e=this.dataTableDiv,t=e&&e.getElementsByTagName(\"table\")[0];t&&t.focus&&t.focus()}initSonifyButton(e){let t=this.sonifyButton=f(e),i=this.chart,s=e=>{t&&(t.setAttribute(\"aria-hidden\",\"true\"),t.setAttribute(\"aria-label\",\"\")),e.preventDefault(),e.stopPropagation();let s=i.langFormat(\"accessibility.sonification.playAsSoundClickAnnouncement\",{chart:i});this.announcer.announce(s),setTimeout(()=>{t&&(t.removeAttribute(\"aria-hidden\"),t.removeAttribute(\"aria-label\")),i.sonify&&i.sonify()},1e3)};t&&i&&(t.setAttribute(\"tabindex\",-1),t.onclick=function(e){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,e,i)})}initDataTableButton(e){let t=this.viewDataTableButton=f(e),i=this.chart,s=e.replace(\"hc-linkto-\",\"\");t&&(C(t,{tabindex:-1,\"aria-expanded\":!!f(s)}),t.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){let e=this.chart,t=function(t,i){let s=e[t];return s.length>1||s[0]&&w(s[0].options.accessibility&&s[0].options.accessibility.enabled,i)},i=!!e.types&&0>e.types.indexOf(\"map\")&&0>e.types.indexOf(\"treemap\")&&0>e.types.indexOf(\"tilemap\"),s=!!e.hasCartesianSeries,n=t(\"xAxis\",!e.angular&&s&&i),r=t(\"yAxis\",s&&i),o={};return n&&(o.xAxis=this.getAxisDescriptionText(\"xAxis\")),r&&(o.yAxis=this.getAxisDescriptionText(\"yAxis\")),o}getAxisDescriptionText(e){let t=this.chart,i=t[e];return t.langFormat(\"accessibility.axis.\"+e+\"Description\"+(i.length>1?\"Plural\":\"Singular\"),{chart:t,names:i.map(function(e){return d(e)}),ranges:i.map(function(e){return u(e)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}}}),i(t,\"Accessibility/Components/MenuComponent.js\",[t[\"Core/Utilities.js\"],t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s,n){let{attr:r}=e,{getChartTitle:o,unhideChartElementFromAT:a}=s,{getFakeMouseEvent:l}=n;function h(e){return e.exportSVGElements&&e.exportSVGElements[0]}class c extends t{init(){let e=this.chart,t=this;this.addEvent(e,\"exportMenuShown\",function(){t.onMenuShown()}),this.addEvent(e,\"exportMenuHidden\",function(){t.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let e=this.chart.exportContextMenu;e&&e.setAttribute(\"aria-hidden\",\"true\"),this.setExportButtonExpandedState(\"false\")}onMenuShown(){let e=this.chart,t=e.exportContextMenu;t&&(this.addAccessibleContextMenuAttribs(),a(e,t)),this.setExportButtonExpandedState(\"true\")}setExportButtonExpandedState(e){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute(\"aria-expanded\",e)}onChartRender(){let e=this.chart,t=e.focusElement,i=e.accessibility;this.proxyProvider.clearGroup(\"chartMenu\"),this.proxyMenuButton(),this.exportButtonProxy&&t&&t===e.exportingGroup&&(t.focusBorder?e.setFocusToElement(t,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let e=this.chart,t=this.proxyProvider,i=h(e);(function(e){let t=e.options.exporting,i=h(e);return!!(t&&!1!==t.enabled&&t.accessibility&&t.accessibility.enabled&&i&&i.element)})(e)&&i&&(this.exportButtonProxy=t.addProxyElement(\"chartMenu\",{click:i},\"button\",{\"aria-label\":e.langFormat(\"accessibility.exporting.menuButtonLabel\",{chart:e,chartTitle:o(e)}),\"aria-expanded\":!1,title:e.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup(\"chartMenu\")}addAccessibleContextMenuAttribs(){let e=this.chart,t=e.exportDivElements;if(t&&t.length){t.forEach(e=>{e&&(\"LI\"!==e.tagName||e.children&&e.children.length?e.setAttribute(\"aria-hidden\",\"true\"):e.setAttribute(\"tabindex\",-1))});let i=t[0]&&t[0].parentNode;i&&r(i,{\"aria-hidden\":void 0,\"aria-label\":e.langFormat(\"accessibility.exporting.chartMenuLabel\",{chart:e}),role:\"list\"})}}getKeyboardNavigation(){let e=this.keyCodes,t=this.chart,s=this;return new i(t,{keyCodeMap:[[[e.left,e.up],function(){return s.onKbdPrevious(this)}],[[e.right,e.down],function(){return s.onKbdNext(this)}],[[e.enter,e.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!t.exporting&&!1!==t.options.exporting.enabled&&!1!==t.options.exporting.accessibility.enabled},init:function(){let e=s.exportButtonProxy,i=s.chart.exportingGroup;e&&i&&t.setFocusToElement(i,e.innerElement)},terminate:function(){t.hideExportMenu()}})}onKbdPrevious(e){let t=this.chart,i=t.options.accessibility,s=e.response,n=t.highlightedExportItemIx||0;for(;n--;)if(t.highlightExportItem(n))return s.success;return i.keyboardNavigation.wrapAround?(t.highlightLastExportItem(),s.success):s.prev}onKbdNext(e){let t=this.chart,i=t.options.accessibility,s=e.response;for(let e=(t.highlightedExportItemIx||0)+1;e{e&&\"highcharts-menu-item\"===e.className&&e.onmouseout&&e.onmouseout(l(\"mouseout\"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function s(e){let t=this.exportDivElements&&this.exportDivElements[e],i=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];if(t&&\"LI\"===t.tagName&&!(t.children&&t.children.length)){let s=!!(this.renderTo.getElementsByTagName(\"g\")[0]||{}).focus;return t.focus&&s&&t.focus(),i&&i.onmouseout&&i.onmouseout(l(\"mouseout\")),t.onmouseover&&t.onmouseover(l(\"mouseover\")),this.highlightedExportItemIx=e,!0}return!1}function n(){if(this.exportDivElements){let e=this.exportDivElements.length;for(;e--;)if(this.highlightExportItem(e))return!0}return!1}e.compose=function(e){let r=e.prototype;r.hideExportMenu||(r.hideExportMenu=i,r.highlightExportItem=s,r.highlightLastExportItem=n,r.showExportMenu=t)}}(c||(c={})),c}),i(t,\"Accessibility/KeyboardNavigation.js\",[t[\"Core/Globals.js\"],t[\"Accessibility/Components/MenuComponent.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/Utils/EventProvider.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s,n){let{doc:r,win:o}=e,{addEvent:a,defined:l,fireEvent:h}=i,{getElement:c,simulatedEventTarget:d}=n;class u{constructor(e,t){this.currentModuleIx=NaN,this.modules=[],this.init(e,t)}init(e,t){let i=this.eventProvider=new s;this.chart=e,this.components=t,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,\"keydown\",e=>this.onKeydown(e)),i.addEvent(this.tabindexContainer,\"focus\",e=>this.onFocus(e)),[\"mouseup\",\"touchend\"].forEach(e=>i.addEvent(r,e,e=>this.onMouseUp(e))),[\"mousedown\",\"touchstart\"].forEach(t=>i.addEvent(e.renderTo,t,()=>{this.isClickingChart=!0}))}update(e){let t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&e&&e.length?(this.modules=e.reduce(function(e,t){let i=s[t].getKeyboardNavigation();return e.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let e=c(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),e?(this.makeElementAnExitAnchor(e),this.exitAnchor=e):this.createExitAnchor()}move(e){let t=this.modules&&this.modules[this.currentModuleIx];t&&t.terminate&&t.terminate(e),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=e;let i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(e);if(i.init)return i.init(e),!0}return this.currentModuleIx=0,this.exiting=!0,e>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(e){let t=this.chart,i=e.relatedTarget&&t.container.contains(e.relatedTarget),s=t.options.accessibility,n=s&&s.keyboardNavigation;if(n&&n.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){let e=this.getFirstValidModuleIx();null!==e&&(this.currentModuleIx=e,this.modules[e].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(e){if(delete this.isClickingChart,!this.keyboardReset&&e.relatedTarget!==d){let t=this.chart;if(!e.target||!t.container.contains(e.target)){let e=this.modules&&this.modules[this.currentModuleIx||0];e&&e.terminate&&e.terminate(),this.currentModuleIx=0}t.focusElement&&(t.focusElement.removeFocusBorder(),delete t.focusElement),this.keyboardReset=!0}}onKeydown(e){let t;let i=e||o.event,s=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],n=i.target;if((!n||\"INPUT\"!==n.nodeName||n.classList.contains(\"highcharts-a11y-proxy-element\"))&&(this.keyboardReset=!1,this.exiting=!1,s)){let e=s.run(i);e===s.response.success?t=!0:e===s.response.prev?t=this.move(-1):e===s.response.next&&(t=this.move(1)),t&&(i.preventDefault(),i.stopPropagation())}}updateContainerTabindex(){let e;let t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,s=!(i&&!1===i.enabled),n=this.chart,r=n.container;n.renderTo.hasAttribute(\"tabindex\")?(r.removeAttribute(\"tabindex\"),e=n.renderTo):e=r,this.tabindexContainer=e;let o=e.getAttribute(\"tabindex\");s&&!o?e.setAttribute(\"tabindex\",\"0\"):s||n.container.removeAttribute(\"tabindex\")}createExitAnchor(){let e=this.chart,t=this.exitAnchor=r.createElement(\"div\");e.renderTo.appendChild(t),this.makeElementAnExitAnchor(t)}makeElementAnExitAnchor(e){let t=this.tabindexContainer.getAttribute(\"tabindex\")||0;e.setAttribute(\"class\",\"highcharts-exit-anchor\"),e.setAttribute(\"tabindex\",t),e.setAttribute(\"aria-hidden\",!1),this.addExitAnchorEventsToEl(e)}removeExitAnchor(){if(this.exitAnchor){let e=this.eventProvider.eventRemovers.find(e=>e.element===this.exitAnchor);e&&l(e.remover)&&this.eventProvider.removeEvent(e.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(e){let t=this.chart,i=this;this.eventProvider.addEvent(e,\"focus\",function(e){let s=e||o.event,n=!(s.relatedTarget&&t.container.contains(s.relatedTarget)||i.exiting);if(t.focusElement&&delete t.focusElement,n){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,s.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;let e=i.modules[i.currentModuleIx];e&&e.validate&&!e.validate()?i.move(-1):e&&e.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){let e=this.modules.length;for(let t=0;t{e&&e.dismissPopupContent&&e.dismissPopupContent()})}i.compose=function(e){t.compose(e);let i=e.prototype;return i.dismissPopupContent||(i.dismissPopupContent=s,a(r,\"keydown\",n)),e}}(u||(u={})),u}),i(t,\"Accessibility/Components/LegendComponent.js\",[t[\"Core/Animation/AnimationUtilities.js\"],t[\"Core/Globals.js\"],t[\"Core/Legend/Legend.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s,n,r,o,a){let{animObject:l}=e,{doc:h}=t,{addEvent:c,fireEvent:d,isNumber:u,pick:p,syncTimeout:g}=s,{getChartTitle:m}=o,{stripHTMLTagsFromString:b,addClass:y,removeClass:f}=a;function x(e){let t=e.legend&&e.legend.allItems,i=e.options.legend.accessibility||{},s=e.colorAxis&&e.colorAxis.some(e=>!e.dataClasses||!e.dataClasses.length);return!!(t&&t.length&&!s&&!1!==i.enabled)}function v(e,t){let i=t.legendItem||{};for(let s of(t.setState(e?\"hover\":\"\",!0),[\"group\",\"label\",\"symbol\"])){let t=i[s],n=t&&t.element||t;n&&d(n,e?\"mouseover\":\"mouseout\")}}class A extends n{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let e=this;this.recreateProxies(),this.addEvent(i,\"afterScroll\",function(){this.chart===e.chart&&(e.proxyProvider.updateGroupProxyElementPositions(\"legend\"),e.updateLegendItemProxyVisibility(),e.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(e.highlightedLegendItemIx))}),this.addEvent(i,\"afterPositionItem\",function(t){this.chart===e.chart&&this.chart.renderer&&e.updateProxyPositionForItem(t.item)}),this.addEvent(i,\"afterRender\",function(){this.chart===e.chart&&this.chart.renderer&&e.recreateProxies()&&g(()=>e.proxyProvider.updateGroupProxyElementPositions(\"legend\"),l(p(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let e;let t=this.chart,i=t.legend,s=i.allItems||[],n=i.currentPage||1,r=i.clipHeight||0;s.forEach(s=>{if(s.a11yProxyElement){let o=i.pages&&i.pages.length,a=s.a11yProxyElement.element,l=!1;if(e=s.legendItem||{},o){let t=e.pageIx||0;l=(e.y||0)+(e.label?Math.round(e.label.getBBox().height):0)-i.pages[t]>r||t!==n-1}l?t.styledMode?y(a,\"highcharts-a11y-invisible\"):a.style.visibility=\"hidden\":(f(a,\"highcharts-a11y-invisible\"),a.style.visibility=\"\")}})}onChartRender(){x(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(e){let t=this.chart,i=t.legend,s=(i.currentPage||1)+e,n=i.pages||[];if(s>0&&s<=n.length){let e=0;for(let n of i.allItems)((n.legendItem||{}).pageIx||0)+1===s&&t.highlightLegendItem(e)&&(this.highlightedLegendItemIx=e),++e}}updateProxyPositionForItem(e){e.a11yProxyElement&&e.a11yProxyElement.refreshPosition()}recreateProxies(){let e=h.activeElement,t=this.proxyGroup,i=e&&t&&t.contains(e);return this.removeProxies(),!!x(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup(\"legend\")}updateLegendTitle(){let e=this.chart,t=b((e.legend&&e.legend.options.title&&e.legend.options.title.text||\"\").replace(/
/g,\" \"),e.renderer.forExport),i=e.langFormat(\"accessibility.legend.legendLabel\"+(t?\"\":\"NoTitle\"),{chart:e,legendTitle:t,chartTitle:m(e)});this.proxyProvider.updateGroupAttrs(\"legend\",{\"aria-label\":i})}addLegendProxyGroup(){let e=\"all\"===this.chart.options.accessibility.landmarkVerbosity?\"region\":null;this.proxyGroup=this.proxyProvider.addGroup(\"legend\",\"ul\",{\"aria-label\":\"_placeholder_\",role:e})}proxyLegendItems(){let e;let t=this;((this.chart.legend||{}).allItems||[]).forEach(i=>{(e=i.legendItem||{}).label&&e.label.element&&t.proxyLegendItem(i)})}proxyLegendItem(e){let t=e.legendItem||{};if(!t.label||!t.group)return;let i=this.chart.langFormat(\"accessibility.legend.legendItem\",{chart:this.chart,itemName:b(e.name,this.chart.renderer.forExport),item:e}),s={tabindex:-1,\"aria-pressed\":e.visible,\"aria-label\":i},n=t.group.div?t.label:t.group;e.a11yProxyElement=this.proxyProvider.addProxyElement(\"legend\",{click:t.label,visual:n.element},\"button\",s)}getKeyboardNavigation(){let e=this.keyCodes,t=this,i=this.chart;return new r(i,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(e){return t.onKbdArrowKey(this,e)}],[[e.enter,e.space],function(){return t.onKbdClick(this)}],[[e.pageDown,e.pageUp],function(i){let s=i===e.pageDown?1:-1;return t.highlightAdjacentLegendPage(s),this.response.success}]],validate:function(){return t.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),t.highlightedLegendItemIx=0},terminate:function(){t.highlightedLegendItemIx=-1,i.legend.allItems.forEach(e=>v(!1,e))}})}onKbdArrowKey(e,t){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:n,chart:r}=this,o=r.legend.allItems.length,a=r.options.accessibility.keyboardNavigation.wrapAround,l=t===i||t===s?-1:1;return r.highlightLegendItem(n+l)?this.highlightedLegendItemIx+=l:a&&o>1&&(this.highlightedLegendItemIx=l>0?0:o-1,r.highlightLegendItem(this.highlightedLegendItemIx)),e.response.success}onKbdClick(e){let t=this.chart.legend.allItems[this.highlightedLegendItemIx];return t&&t.a11yProxyElement&&t.a11yProxyElement.click(),e.response.success}shouldHaveLegendNavigation(){if(!x(this.chart))return!1;let e=this.chart,t=(e.options.legend||{}).accessibility||{};return!!(e.legend.display&&t.keyboardNavigation&&t.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}return function(e){function t(e){let t=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=t[e],n=s?.legendItem||{};if(s){u(i)&&t[i]&&v(!1,t[i]),function(e,t){let i=(e.allItems[t].legendItem||{}).pageIx,s=e.currentPage;void 0!==i&&i+1!==s&&e.scroll(1+i-s)}(this.legend,e);let r=n.label,o=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return r&&r.element&&o&&this.setFocusToElement(r,o),v(!0,s),!0}return!1}function i(e){let t=this.chart.options.accessibility,i=e.item;t.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute(\"aria-pressed\",e.visible?\"true\":\"false\")}e.compose=function(e,s){let n=e.prototype;n.highlightLegendItem||(n.highlightLegendItem=t,c(s,\"afterColorizeItem\",i))}}(A||(A={})),A}),i(t,\"Stock/Navigator/ChartNavigatorComposition.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){let i;let{isTouchDevice:s}=e,{addEvent:n,merge:r,pick:o}=t,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let e,t,i;let s=this.legend,n=this.navigator;if(n){e=s&&s.options,t=n.xAxis,i=n.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=n;this.inverted?(n.left=n.opposite?this.chartWidth-r-n.height:this.spacing[3]+r,n.top=this.plotTop+a):(n.left=o(t.left,this.plotLeft+a),n.top=n.navigatorOptions.top||this.chartHeight-n.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&\"bottom\"===e.verticalAlign&&\"proximate\"!==e.layout&&e.enabled&&!e.floating?s.legendHeight+o(e.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),t&&i&&(this.inverted?t.options.left=i.options.left=n.left:t.options.top=i.options.top=n.top,t.setAxisSize(),i.setAxisSize())}}function c(e){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),o(e.redraw,!0)&&this.redraw(e.animation))}function d(){let e=this.options;(e.navigator.enabled||e.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function u(){let e=this.options,t=e.navigator,i=e.rangeSelector;if((t&&t.enabled||i&&i.enabled)&&(!s&&\"x\"===this.zooming.type||s&&\"x\"===this.zooming.pinchType))return!1}function p(e){let t=e.navigator;if(t&&e.xAxis[0]){let i=e.xAxis[0].getExtremes();t.render(i.min,i.max)}}function g(e){let t=e.options.navigator||{},i=e.options.scrollbar||{};!this.navigator&&!this.scroller&&(t.enabled||i.enabled)&&(r(!0,this.options.navigator,t),r(!0,this.options.scrollbar,i),delete e.options.navigator,delete e.options.scrollbar)}return{compose:function(e,s){if(t.pushUnique(a,e)){let t=e.prototype;i=s,t.callbacks.push(p),n(e,\"afterAddSeries\",l),n(e,\"afterSetChartSize\",h),n(e,\"afterUpdate\",c),n(e,\"beforeRender\",d),n(e,\"beforeShowResetZoom\",u),n(e,\"update\",g)}}}}),i(t,\"Core/Axis/NavigatorAxisComposition.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{isTouchDevice:i}=e,{addEvent:s,correctFloat:n,defined:r,isNumber:o,pick:a}=t;function l(){this.navigatorAxis||(this.navigatorAxis=new c(this))}function h(e){let t;let s=this.chart,n=s.options,o=n.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=n.rangeSelector,c=s.zooming.type;if(this.isXAxis&&(o?.enabled||h?.enabled)){if(\"y\"===c&&\"zoom\"===e.trigger)t=!1;else if((\"zoom\"===e.trigger&&\"xy\"===c||i&&\"xy\"===l)&&this.options.range){let t=a.previousZoom;r(e.min)?a.previousZoom=[this.min,this.max]:t&&(e.min=t[0],e.max=t[1],a.previousZoom=void 0)}}void 0!==t&&e.preventDefault()}class c{static compose(e){e.keepProps.includes(\"navigatorAxis\")||(e.keepProps.push(\"navigatorAxis\"),s(e,\"init\",l),s(e,\"setExtremes\",h))}constructor(e){this.axis=e}destroy(){this.axis=void 0}toFixedRange(e,t,i,s){let l=this.axis,h=(l.pointRange||0)/2,c=a(i,l.translate(e,!0,!l.horiz)),d=a(s,l.translate(t,!0,!l.horiz));return r(i)||(c=n(c+h)),r(s)||(d=n(d-h)),o(c)&&o(d)||(c=d=void 0),{min:c,max:d}}}return c}),i(t,\"Stock/Navigator/NavigatorDefaults.js\",[t[\"Core/Color/Color.js\"],t[\"Core/Series/SeriesRegistry.js\"]],function(e,t){let{parse:i}=e,{seriesTypes:s}=t;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:[\"navigator-handle\",\"navigator-handle\"],enabled:!0,lineWidth:1,backgroundColor:\"#f2f2f2\",borderColor:\"#999999\"},maskFill:i(\"#667aff\").setOpacity(.3).get(),outlineColor:\"#999999\",outlineWidth:1,series:{type:void 0===s.areaspline?\"line\":\"areaspline\",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:\"average\",enabled:!0,groupPixelWidth:2,firstAnchor:\"firstPoint\",anchor:\"middle\",lastAnchor:\"lastPoint\",units:[[\"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,3,4]],[\"week\",[1,2,3]],[\"month\",[1,3,6]],[\"year\",null]]},dataLabels:{enabled:!1,zIndex:2},id:\"highcharts-navigator-series\",className:\"highcharts-navigator-series\",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:\"highcharts-navigator-xaxis\",tickLength:0,lineWidth:0,gridLineColor:\"#e6e6e6\",id:\"navigator-x-axis\",gridLineWidth:1,tickPixelInterval:200,labels:{align:\"left\",style:{color:\"#000000\",fontSize:\"0.7em\",opacity:.6,textOutline:\"2px contrast\"},x:3,y:-4},crosshair:!1},yAxis:{className:\"highcharts-navigator-yaxis\",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:\"navigator-y-axis\",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(t,\"Stock/Navigator/NavigatorSymbols.js\",[t[\"Core/Renderer/SVG/Symbols.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{relativeLength:i}=t;return{\"navigator-handle\":function(t,s,n,r,o={}){let a=o.width?o.width/2:n,l=i(o.borderRadius||0,Math.min(2*a,r));return[[\"M\",-1.5,(r=o.height||r)/2-3.5],[\"L\",-1.5,r/2+4.5],[\"M\",.5,r/2-3.5],[\"L\",.5,r/2+4.5],...e.rect(-a-1,.5,2*a+1,r,{r:l})]}}}),i(t,\"Stock/Utilities/StockUtilities.js\",[t[\"Core/Utilities.js\"]],function(e){let{defined:t}=e;return{setFixedRange:function(e){let i=this.xAxis[0];t(i.dataMax)&&t(i.dataMin)&&e?this.fixedRange=Math.min(e,i.dataMax-i.dataMin):this.fixedRange=e}}}),i(t,\"Stock/Navigator/NavigatorComposition.js\",[t[\"Core/Defaults.js\"],t[\"Core/Globals.js\"],t[\"Core/Axis/NavigatorAxisComposition.js\"],t[\"Stock/Navigator/NavigatorDefaults.js\"],t[\"Stock/Navigator/NavigatorSymbols.js\"],t[\"Core/Renderer/RendererRegistry.js\"],t[\"Stock/Utilities/StockUtilities.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n,r,o,a){let{setOptions:l}=e,{composed:h}=t,{getRendererType:c}=r,{setFixedRange:d}=o,{addEvent:u,extend:p,pushUnique:g}=a;function m(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(e,t,r){i.compose(t),g(h,\"Navigator\")&&(e.prototype.setFixedRange=d,p(c().prototype.symbols,n),u(r,\"afterUpdate\",m),l({navigator:s}))}}}),i(t,\"Core/Axis/ScrollbarAxis.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){var i;let{composed:s}=e,{addEvent:n,defined:r,pick:o,pushUnique:a}=t;return function(e){let t;function i(e){let t=o(e.options&&e.options.min,e.min),i=o(e.options&&e.options.max,e.max);return{axisMin:t,axisMax:i,scrollMin:r(e.dataMin)?Math.min(t,e.min,e.dataMin,o(e.threshold,1/0)):t,scrollMax:r(e.dataMax)?Math.max(i,e.max,e.dataMax,o(e.threshold,-1/0)):i}}function l(){let e=this.scrollbar,t=e&&!e.options.opposite,i=this.horiz?2:t?3:1;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=e.size+(e.options.margin||0))}function h(){let e=this;e.options&&e.options.scrollbar&&e.options.scrollbar.enabled&&(e.options.scrollbar.vertical=!e.horiz,e.options.startOnTick=e.options.endOnTick=!1,e.scrollbar=new t(e.chart.renderer,e.options.scrollbar,e.chart),n(e.scrollbar,\"changed\",function(t){let s,n;let{axisMin:o,axisMax:a,scrollMin:l,scrollMax:h}=i(e),c=h-l;if(r(o)&&r(a)){if(e.horiz&&!e.reversed||!e.horiz&&e.reversed?(s=l+c*this.to,n=l+c*this.from):(s=l+c*(1-this.from),n=l+c*(1-this.to)),this.shouldUpdateExtremes(t.DOMType)){let i=\"mousemove\"!==t.DOMType&&\"touchmove\"!==t.DOMType&&void 0;e.setExtremes(n,s,!0,i,t)}else this.setRange(this.from,this.to)}}))}function c(){let e,t,s;let{scrollMin:n,scrollMax:o}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,c=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=l),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?c:0),this.width,this.height),this.opposite||(h[1]+=c),e=1;else{let t;this.opposite&&(h[0]+=l),t=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:c):this.opposite?0:c,a.position(t,this.top,this.width,this.height),this.opposite&&(h[0]+=c),e=0}if(h[e]+=a.size+(a.options.margin||0),isNaN(n)||isNaN(o)||!r(this.min)||!r(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let e=this.pointRange/(this.dataMax+1);t=e*this.min,s=e*(this.max+1),a.setRange(t,s)}else t=(this.min-n)/(o-n),s=(this.max-n)/(o-n),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(t,s):a.setRange(1-s,1-t)}}e.compose=function(e,i){a(s,\"Axis.Scrollbar\")&&(t=i,n(e,\"afterGetOffset\",l),n(e,\"afterInit\",h),n(e,\"afterRender\",c))}}(i||(i={})),i}),i(t,\"Stock/Scrollbar/ScrollbarDefaults.js\",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:\"#cccccc\",barBorderWidth:0,barBorderColor:\"#cccccc\",buttonArrowColor:\"#333333\",buttonBackgroundColor:\"#e6e6e6\",buttonBorderColor:\"#cccccc\",buttonBorderWidth:1,rifleColor:\"none\",trackBackgroundColor:\"rgba(255, 255, 255, 0.001)\",trackBorderColor:\"#cccccc\",trackBorderRadius:5,trackBorderWidth:1}}),i(t,\"Stock/Scrollbar/Scrollbar.js\",[t[\"Core/Defaults.js\"],t[\"Core/Globals.js\"],t[\"Core/Axis/ScrollbarAxis.js\"],t[\"Stock/Scrollbar/ScrollbarDefaults.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n){let{defaultOptions:r}=e,{addEvent:o,correctFloat:a,crisp:l,defined:h,destroyObjectProperties:c,fireEvent:d,merge:u,pick:p,removeEvent:g}=n;class m{static compose(e){i.compose(e,m)}static swapXY(e,t){return t&&e.forEach(e=>{let t;let i=e.length;for(let s=0;sthis.calculatedWidth?t.minWidth:0;return{chartX:(e.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(e.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let e=this,t=e.chart.scroller;e.removeEvents(),[\"track\",\"scrollbarRifles\",\"scrollbar\",\"scrollbarGroup\",\"group\"].forEach(function(t){e[t]&&e[t].destroy&&(e[t]=e[t].destroy())}),t&&e===t.scrollbar&&(t.scrollbar=null,c(t.scrollbarButtons))}drawScrollbarButton(e){let t=this.renderer,i=this.scrollbarButtons,s=this.options,n=this.size,r=t.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=t.rect().addClass(\"highcharts-scrollbar-button\").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,\"stroke-width\":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:n,height:n,r:s.buttonBorderRadius},o.strokeWidth()));let a=t.path(m.swapXY([[\"M\",n/2+(e?-1:1),n/2-3],[\"L\",n/2+(e?-1:1),n/2+3],[\"L\",n/2+(e?2:-2),n/2]],s.vertical)).addClass(\"highcharts-scrollbar-arrow\").add(i[e]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(e,t,i){this.scrollbarButtons=[],this.renderer=e,this.userOptions=t,this.options=u(s,r.scrollbar,t),this.options.margin=p(this.options.margin,10),this.chart=i,this.size=p(this.options.size,this.options.height),t.enabled&&(this.render(),this.addEvents())}mouseDownHandler(e){let t=this.chart.pointer?.normalize(e)||e,i=this.cursorToScrollbarPosition(t);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(e){let t;let i=this.chart.pointer?.normalize(e)||e,s=this.options.vertical?\"chartY\":\"chartX\",n=this.initPositions||[];this.grabbedCenter&&(!e.touches||0!==e.touches[0][s])&&(t=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(n[0]+t,n[1]+t),this.hasDragged&&d(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMType:e.type,DOMEvent:e}))}mouseUpHandler(e){this.hasDragged&&d(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMType:e.type,DOMEvent:e}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(e,t,i,s){let{buttonsEnabled:n,margin:r=0,vertical:o}=this.options,a=this.rendered?\"animate\":\"attr\",l=s,h=0;this.group.show(),this.x=e,this.y=t+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,o?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=n?this.size:0,this.barWidth=s-(n?2*i:0),this.x=e+=r):(this.height=s=this.size,this.xOffset=l=n?this.size:0,this.barWidth=i-(n?2*s:0),this.y=this.y+r),this.group[a]({translateX:e,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:o?0:i-l,translateY:o?s-h:0})}removeEvents(){this._events.forEach(function(e){g.apply(null,e)}),this._events.length=0}render(){let e=this.renderer,t=this.options,i=this.size,s=this.chart.styledMode,n=e.g(\"scrollbar\").attr({zIndex:t.zIndex}).hide().add();this.group=n,this.track=e.rect().addClass(\"highcharts-scrollbar-track\").attr({r:t.trackBorderRadius||0,height:i,width:i}).add(n),s||this.track.attr({fill:t.trackBackgroundColor,stroke:t.trackBorderColor,\"stroke-width\":t.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-l(0,r),y:-l(0,r)}),this.scrollbarGroup=e.g().add(n),this.scrollbar=e.rect().addClass(\"highcharts-scrollbar-thumb\").attr({height:i-r,width:i-r,r:t.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(m.swapXY([[\"M\",-3,i/4],[\"L\",-3,2*i/3],[\"M\",0,i/4],[\"L\",0,2*i/3],[\"M\",3,i/4],[\"L\",3,2*i/3]],t.vertical)).addClass(\"highcharts-scrollbar-rifles\").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:t.barBackgroundColor,stroke:t.barBorderColor,\"stroke-width\":t.barBorderWidth}),this.scrollbarRifles.attr({stroke:t.rifleColor,\"stroke-width\":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-l(0,this.scrollbarStrokeWidth),-l(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(e,t){let i,s;let n=this.options,r=n.vertical,o=n.minWidth,l=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?\"attr\":\"animate\";if(!h(l))return;let d=l*Math.min(t,1);i=Math.ceil(l*(e=Math.max(e,0))),this.calculatedWidth=s=a(d-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(e){return p(this.options.liveRedraw,t.svg&&!t.isTouchDevice&&!this.chart.boosted)||\"mouseup\"===e||\"touchend\"===e||!h(e)}trackClick(e){let t=this.chart.pointer?.normalize(e)||e,i=this.to-this.from,s=this.y+this.scrollbarTop,n=this.x+this.scrollbarLeft;this.options.vertical&&t.chartY>s||!this.options.vertical&&t.chartX>n?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),d(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMEvent:e})}update(e){this.destroy(),this.init(this.chart.renderer,u(!0,this.options,e),this.chart)}updatePosition(e,t){t>1&&(e=a(1-a(t-e)),t=1),e<0&&(t=a(t-e),e=0),this.from=e,this.to=t}}return m.defaultOptions=s,r.scrollbar=u(!0,m.defaultOptions,r.scrollbar),m}),i(t,\"Stock/Navigator/Navigator.js\",[t[\"Core/Axis/Axis.js\"],t[\"Stock/Navigator/ChartNavigatorComposition.js\"],t[\"Core/Defaults.js\"],t[\"Core/Globals.js\"],t[\"Core/Axis/NavigatorAxisComposition.js\"],t[\"Stock/Navigator/NavigatorComposition.js\"],t[\"Stock/Scrollbar/Scrollbar.js\"],t[\"Core/Renderer/SVG/SVGRenderer.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n,r,o,a,l){let{defaultOptions:h}=i,{isTouchDevice:c}=s,{prototype:{symbols:d}}=a,{addEvent:u,clamp:p,correctFloat:g,defined:m,destroyObjectProperties:b,erase:y,extend:f,find:x,fireEvent:v,isArray:A,isNumber:C,merge:w,pick:E,removeEvent:T,splat:M}=l;function S(e,...t){let i=[].filter.call(t,C);if(i.length)return Math[e].apply(0,i)}class k{static compose(e,i,s){t.compose(e,k),r.compose(e,i,s)}constructor(e){this.isDirty=!1,this.scrollbarHeight=0,this.init(e)}drawHandle(e,t,i,s){let n=this.navigatorOptions.handles.height;this.handles[t][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(e,10)+.5-n)}:{translateX:Math.round(this.left+parseInt(e,10)),translateY:Math.round(this.top+this.height/2-n/2-1)})}drawOutline(e,t,i,s){let n=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),o=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,c=this.top,d=this.height,u=c-o,p=c+d,g=this.left,m,b;i?(m=c+t+a,t=c+e+a,b=[[\"M\",g+d,c-l-a],[\"L\",g+d,m],[\"L\",g,m],[\"M\",g,t],[\"L\",g+d,t],[\"L\",g+d,c+h+l]],n&&b.push([\"M\",g+d,m-o],[\"L\",g+d,t+o])):(g-=l,e+=g+l-a,t+=g+l-a,b=[[\"M\",g,u],[\"L\",e,u],[\"L\",e,p],[\"M\",t,p],[\"L\",t,u],[\"L\",g+h+2*l,u]],n&&b.push([\"M\",e-o,u],[\"L\",t+o,u])),this.outline[s]({d:b})}drawMasks(e,t,i,s){let n,r,o,a;let l=this.left,h=this.top,c=this.height;i?(o=[l,l,l],a=[h,h+e,h+t],r=[c,c,c],n=[e,t-e,this.size-t]):(o=[l,l+e,l+t],a=[h,h,h],r=[e,t-e,this.size-t],n=[c,c,c]),this.shades.forEach((e,t)=>{e[s]({x:o[t],y:a[t],width:r[t],height:n[t]})})}renderElements(){let e=this,t=e.navigatorOptions,i=t.maskInside,s=e.chart,n=s.inverted,r=s.renderer,o={cursor:n?\"ns-resize\":\"ew-resize\"},a=e.navigatorGroup??(e.navigatorGroup=r.g(\"navigator\").attr({zIndex:8,visibility:\"hidden\"}).add());if([!i,i,!i].forEach((i,n)=>{let l=e.shades[n]??(e.shades[n]=r.rect().addClass(\"highcharts-navigator-mask\"+(1===n?\"-inside\":\"-outside\")).add(a));s.styledMode||(l.attr({fill:i?t.maskFill:\"rgba(0,0,0,0)\"}),1===n&&l.css(o))}),e.outline||(e.outline=r.path().addClass(\"highcharts-navigator-outline\").add(a)),s.styledMode||e.outline.attr({\"stroke-width\":t.outlineWidth,stroke:t.outlineColor}),t.handles?.enabled){let i=t.handles,{height:n,width:l}=i;[0,1].forEach(t=>{let h=i.symbols[t];if(e.handles[t]&&e.handles[t].symbolUrl===h){if(!e.handles[t].isImg&&e.handles[t].symbolName!==h){let i=d[h].call(d,-l/2-1,0,l,n);e.handles[t].attr({d:i}),e.handles[t].symbolName=h}}else e.handles[t]?.destroy(),e.handles[t]=r.symbol(h,-l/2-1,0,l,n,i),e.handles[t].attr({zIndex:7-t}).addClass(\"highcharts-navigator-handle highcharts-navigator-handle-\"+[\"left\",\"right\"][t]).add(a),e.addMouseEvents();s.inverted&&e.handles[t].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(n+l)/2}),s.styledMode||e.handles[t].attr({fill:i.backgroundColor,stroke:i.borderColor,\"stroke-width\":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(o)})}}update(e,t=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(w(!0,i.options.navigator,e),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),m(e.enabled)||s)return this.destroy(),this.navigatorEnabled=e.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{T(e,\"updatedData\",this.updatedDataHandler)},this),e.adaptToUpdatedData&&this.baseSeries.forEach(e=>{e.eventsToUnbind.push(u(e,\"updatedData\",this.updatedDataHandler))},this),(e.series||e.baseSeries)&&this.setBaseSeries(void 0,!1),e.height||e.xAxis||e.yAxis)){this.height=e.height??this.height;let t=this.getXAxisOffsets();this.xAxis.update({...e.xAxis,offsets:t,[i.inverted?\"width\":\"height\"]:this.height,[i.inverted?\"height\":\"width\"]:void 0},!1),this.yAxis.update({...e.yAxis,[i.inverted?\"width\":\"height\"]:this.height},!1)}t&&i.redraw()}render(e,t,i,s){let n=this.chart,r=this.xAxis,o=r.pointRange||0,a=r.navigatorAxis.fake?n.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,c=n.inverted,d=n.xAxis[0].minRange,u=n.xAxis[0].options.maxRange,b=this.scrollButtonSize,y,f,x,A=this.scrollbarHeight,w,T;if(this.hasDragged&&!m(i))return;if(this.isDirty&&this.renderElements(),e=g(e-o/2),t=g(t+o/2),!C(e)||!C(t)){if(!h)return;i=0,s=E(r.width,a.width)}this.left=E(r.left,n.plotLeft+b+(c?n.plotWidth:0));let M=this.size=w=E(r.len,(c?n.plotHeight:n.plotWidth)-2*b);y=c?A:w+2*b,i=E(i,r.toPixels(e,!0)),s=E(s,r.toPixels(t,!0)),C(i)&&Math.abs(i)!==1/0||(i=0,s=y);let S=r.toValue(i,!0),k=r.toValue(s,!0),P=Math.abs(g(k-S));Pu&&(this.grabbedLeft?i=r.toPixels(k-u-o,!0):this.grabbedRight&&(s=r.toPixels(S+u+o,!0))),this.zoomedMax=p(Math.max(i,s),0,M),this.zoomedMin=p(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let D=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:\"inherit\"}),T=h&&!this.hasDragged?\"animate\":\"attr\",this.drawMasks(D,M,c,T),this.drawOutline(D,M,c,T),this.navigatorOptions.handles.enabled&&(this.drawHandle(D,0,c,T),this.drawHandle(M,1,c,T))),this.scrollbar&&(c?(x=this.top-b,f=this.left-A+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),A=w+2*b):(x=this.top+(l?this.height:-A),f=this.left-b),this.scrollbar.position(f,x,y,A),this.scrollbar.setRange(this.zoomedMin/(w||1),this.zoomedMax/(w||1))),this.rendered=!0,this.isDirty=!1,v(this,\"afterRender\")}addMouseEvents(){let e=this,t=e.chart,i=t.container,s=[],n,r;e.mouseMoveHandler=n=function(t){e.onMouseMove(t)},e.mouseUpHandler=r=function(t){e.onMouseUp(t)},(s=e.getPartsEvents(\"mousedown\")).push(u(t.renderTo,\"mousemove\",n),u(i.ownerDocument,\"mouseup\",r),u(t.renderTo,\"touchmove\",n),u(i.ownerDocument,\"touchend\",r)),s.concat(e.getPartsEvents(\"touchstart\")),e.eventsToUnbind=s,e.series&&e.series[0]&&s.push(u(e.series[0].xAxis,\"foundExtremes\",function(){t.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(e){let t=this,i=[];return[\"shades\",\"handles\"].forEach(function(s){t[s].forEach(function(n,r){i.push(u(n.element,e,function(e){t[s+\"Mousedown\"](e,r)}))})}),i}shadesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=this.xAxis,n=this.zoomedMin,r=this.size,o=this.range,a=this.left,l=e.chartX,h,c,d,u;i.inverted&&(l=e.chartY,a=this.top),1===t?(this.grabbedCenter=l,this.fixedWidth=o,this.dragOffset=l-n):(u=l-a-o/2,0===t?u=Math.max(0,u):2===t&&u+o>=r&&(u=r-o,this.reversedExtremes?(u-=o,c=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),u!==n&&(this.fixedWidth=o,m((d=s.navigatorAxis.toFixedRange(u,u+o,c,h)).min)&&v(this,\"setRange\",{min:Math.min(d.min,d.max),max:Math.max(d.min,d.max),redraw:!0,eventArguments:{trigger:\"navigator\"}})))}handlesMousedown(e,t){e=this.chart.pointer?.normalize(e)||e;let i=this.chart,s=i.xAxis[0],n=this.reversedExtremes;0===t?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=n?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=n?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(e){let t=this,i=t.chart,s=t.navigatorSize,n=t.range,r=t.dragOffset,o=i.inverted,a=t.left,l;(!e.touches||0!==e.touches[0].pageX)&&(l=(e=i.pointer?.normalize(e)||e).chartX,o&&(a=t.top,l=e.chartY),t.grabbedLeft?(t.hasDragged=!0,t.render(0,0,l-a,t.otherHandlePos)):t.grabbedRight?(t.hasDragged=!0,t.render(0,0,t.otherHandlePos,l-a)):t.grabbedCenter&&(t.hasDragged=!0,ls+r-n&&(l=s+r-n),t.render(0,0,l-r,l-r+n)),t.hasDragged&&t.scrollbar&&E(t.scrollbar.options.liveRedraw,!c&&!this.chart.boosted)&&(e.DOMType=e.type,setTimeout(function(){t.onMouseUp(e)},0)))}onMouseUp(e){let t,i,s,n,r,o;let a=this.chart,l=this.xAxis,h=this.scrollbar,c=e.DOMEvent||e,d=a.inverted,u=this.rendered&&!this.hasDragged?\"animate\":\"attr\";(this.hasDragged&&(!h||!h.hasDragged)||\"scrollbar\"===e.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?n=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(n=this.reversedExtremes?s.dataMax:s.dataMin),m((o=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,n,r)).min)&&v(this,\"setRange\",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:\"navigator\",triggerOp:\"navigator-drag\",DOMEvent:c}})),\"mousemove\"!==e.DOMType&&\"touchmove\"!==e.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&C(this.zoomedMin)&&C(this.zoomedMax)&&(i=Math.round(this.zoomedMin),t=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,t,d,u),this.outline&&this.drawOutline(i,t,d,u),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,u),this.drawHandle(t,1,d,u)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(e){e()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let e=this.baseSeries||[];this.navigatorEnabled&&e[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&e.forEach(function(e){T(e,\"updatedData\",this.updatedDataHandler)},this),e[0].xAxis&&T(e[0].xAxis,\"foundExtremes\",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let i=t.options,s=i.navigator||{},r=s.enabled,a=i.scrollbar||{},l=a.enabled,h=r&&s.height||0,c=l&&a.height||0,d=a.buttonsEnabled&&c||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=h,this.scrollbarHeight=c,this.scrollButtonSize=d,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.setOpposite();let p=this,g=p.baseSeries,m=t.xAxis.length,b=t.yAxis.length,y=g&&g[0]&&g[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,p.navigatorEnabled){let i=this.getXAxisOffsets();p.xAxis=new e(t,w({breaks:y.options.breaks,ordinal:y.options.ordinal,overscroll:y.options.overscroll},s.xAxis,{type:\"datetime\",yAxis:s.yAxis?.id,index:m,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:y.options.ordinal?0:y.options.minPadding,maxPadding:y.options.ordinal?0:y.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:i,width:h}:{offsets:i,height:h}),\"xAxis\"),p.yAxis=new e(t,w(s.yAxis,{alignTicks:!1,offset:0,index:b,isInternal:!0,reversed:E(s.yAxis&&s.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:h}:{height:h}),\"yAxis\"),g||s.series.data?p.updateNavigatorSeries(!1):0===t.series.length&&(p.unbindRedraw=u(t,\"beforeRedraw\",function(){t.series.length>0&&!p.series&&(p.setBaseSeries(),p.unbindRedraw())})),p.reversedExtremes=t.inverted&&!p.xAxis.reversed||!t.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()}else p.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],n=s.getExtremes(),r=s.len-2*d,o=S(\"min\",s.options.min,n.dataMin),a=S(\"max\",s.options.max,n.dataMax)-o;return i?e*a/r+o:r*(e-o)/a},toPixels:function(e){return this.translate(e)},toValue:function(e){return this.translate(e,!0)}},p.xAxis.navigatorAxis.axis=p.xAxis,p.xAxis.navigatorAxis.toFixedRange=n.prototype.toFixedRange.bind(p.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=w(t.options.scrollbar,{vertical:t.inverted});!C(e.margin)&&p.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=p.scrollbar=new o(t.renderer,e,t),u(p.scrollbar,\"changed\",function(e){let t=p.size,i=t*this.to,s=t*this.from;p.hasDragged=p.scrollbar.hasDragged,p.render(0,0,s,i),this.shouldUpdateExtremes(e.DOMType)&&setTimeout(function(){p.onMouseUp(e)})})}p.addBaseSeriesEvents(),p.addChartEvents()}setOpposite(){let e=this.navigatorOptions,t=this.navigatorEnabled,i=this.chart;this.opposite=E(e.opposite,!!(!t&&i.inverted))}getUnionExtremes(e){let t;let i=this.chart.xAxis[0],s=this.xAxis,n=s.options,r=i.options;return e&&null===i.dataMin||(t={dataMin:E(n&&n.min,S(\"min\",r.min,i.dataMin,s.dataMin,s.min)),dataMax:E(n&&n.max,S(\"max\",r.max,i.dataMax,s.dataMax,s.max))}),t}setBaseSeries(e,t){let i=this.chart,s=this.baseSeries=[];e=e||i.options&&i.options.navigator.baseSeries||(i.series.length?x(i.series,e=>!e.options.isInternal).index:0),(i.series||[]).forEach((t,i)=>{!t.options.isInternal&&(t.options.showInNavigator||(i===e||t.options.id===e)&&!1!==t.options.showInNavigator)&&s.push(t)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,t)}updateNavigatorSeries(e,t){let i=this,s=i.chart,n=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:\"nav\",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},o=i.series=(i.series||[]).filter(e=>{let t=e.baseSeries;return!(0>n.indexOf(t))||(t&&(T(t,\"updatedData\",i.updatedDataHandler),delete t.navigatorSeries),e.chart&&e.destroy(),!1)}),a,l,c=i.navigatorOptions.series,d;n&&n.length&&n.forEach(e=>{let u=e.navigatorSeries,p=f({color:e.color,visible:e.visible},A(c)?h.navigator.series:c);if(u&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name=\"Navigator \"+n.length,d=(a=e.options||{}).navigatorOptions||{},p.dataLabels=M(p.dataLabels),(l=w(a,r,p,d)).pointRange=E(p.pointRange,d.pointRange,h.plotOptions[l.type||\"line\"].pointRange);let g=d.data||p.data;i.hasNavigatorData=i.hasNavigatorData||!!g,l.data=g||a.data&&a.data.slice(0),u&&u.options?u.update(l,t):(e.navigatorSeries=s.initSeries(l),s.setSortedData(),e.navigatorSeries.baseSeries=e,o.push(e.navigatorSeries))}),(c.data&&!(n&&n.length)||A(c))&&(i.hasNavigatorData=!1,(c=M(c)).forEach((e,t)=>{r.name=\"Navigator \"+(o.length+1),(l=w(h.navigator.series,{color:s.series[t]&&!s.series[t].options.isInternal&&s.series[t].color||s.options.colors[t]||s.options.colors[0]},r,e)).data=e.data,l.data&&(i.hasNavigatorData=!0,o.push(s.initSeries(l)))})),e&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let e=this,t=e.baseSeries||[];t[0]&&t[0].xAxis&&t[0].eventsToUnbind.push(u(t[0].xAxis,\"foundExtremes\",this.modifyBaseAxisExtremes)),t.forEach(i=>{i.eventsToUnbind.push(u(i,\"show\",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(u(i,\"hide\",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(u(i,\"updatedData\",this.updatedDataHandler)),i.eventsToUnbind.push(u(i,\"remove\",function(){t&&y(t,i),this.navigatorSeries&&(y(e.series,this.navigatorSeries),m(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(e){return this.baseSeries.reduce(function(e,t){return Math.min(e,t.xData&&t.xData.length?t.xData[0]:e)},e)}modifyNavigatorAxisExtremes(){let e=this.xAxis;if(void 0!==e.getExtremes){let t=this.getUnionExtremes(!0);t&&(t.dataMin!==e.min||t.dataMax!==e.max)&&(e.min=t.dataMin,e.max=t.dataMax)}}modifyBaseAxisExtremes(){let e,t;let i=this.chart.navigator,s=this.getExtremes(),n=s.min,r=s.max,o=s.dataMin,a=s.dataMax,l=r-n,h=i.stickToMin,c=i.stickToMax,d=E(this.ordinal?.convertOverscroll(this.options.overscroll),0),u=i.series&&i.series[0],p=!!this.setExtremes;!(this.eventArgs&&\"rangeSelectorButton\"===this.eventArgs.trigger)&&(h&&(e=(t=o)+l),c&&(e=a+d,h||(t=Math.max(o,e-l,i.getBaseSeriesMin(u&&u.xData?u.xData[0]:-Number.MAX_VALUE)))),p&&(h||c)&&C(t)&&(this.min=this.userMin=t,this.max=this.userMax=e)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let e=this.chart.navigator,t=this.navigatorSeries,i=e.reversedExtremes?0===Math.round(e.zoomedMin):Math.round(e.zoomedMax)>=Math.round(e.size);e.stickToMax=E(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),e.stickToMin=e.shouldStickToMin(this,e),t&&!e.hasNavigatorData&&(t.options.pointStart=this.xData[0],t.setData(this.options.data,!1,null,!1))}shouldStickToMin(e,t){let i=t.getBaseSeriesMin(e.xData[0]),s=e.xAxis,n=s.max,r=s.min,o=s.options.range;return!!(C(n)&&C(r))&&(o&&n-i>0?n-i{e.destroy&&e.destroy()}),[\"series\",\"xAxis\",\"yAxis\",\"shades\",\"outline\",\"scrollbarTrack\",\"scrollbarRifles\",\"scrollbarGroup\",\"scrollbar\",\"navigatorGroup\",\"rendered\"].forEach(e=>{this[e]&&this[e].destroy&&this[e].destroy(),this[e]=null}),[this.handles].forEach(e=>{b(e)}),this.navigatorEnabled=!1}}return k}),i(t,\"Accessibility/Components/NavigatorComponent.js\",[t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/Announcer.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Stock/Navigator/Navigator.js\"],t[\"Core/Animation/AnimationUtilities.js\"],t[\"Core/Templating.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"]],function(e,t,i,s,n,r,o,a,l){let{animObject:h}=n,{format:c}=r,{clamp:d,pick:u,syncTimeout:p}=o,{getFakeMouseEvent:g}=a,{getAxisRangeDescription:m,fireEventOnWrappedOrUnwrappedElement:b}=l;return class extends e{init(){let e=this.chart,i=this;this.announcer=new t(e,\"polite\"),this.addEvent(s,\"afterRender\",function(){this.chart===i.chart&&this.chart.renderer&&p(()=>{i.proxyProvider.updateGroupProxyElementPositions(\"navigator\"),i.updateHandleValues()},h(u(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let e=this.chart,t=e.options,i=t.navigator;if(i.enabled&&i.accessibility?.enabled){let i=t.accessibility.landmarkVerbosity,s=t.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup(\"navigator\"),this.proxyProvider.addGroup(\"navigator\",\"div\",{role:\"all\"===i?\"region\":\"group\",\"aria-label\":c(s,{chart:e},e)});let n=t.lang.accessibility?.navigator.handleLabel;[0,1].forEach(t=>{let i=this.getHandleByIx(t);if(i){let s=this.proxyProvider.addProxyElement(\"navigator\",{click:i},\"input\",{type:\"range\",\"aria-label\":c(n,{handleIx:t,chart:e},e)});this[t?\"maxHandleProxy\":\"minHandleProxy\"]=s.innerElement,s.innerElement.style.pointerEvents=\"none\",s.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup(\"navigator\")}getNavigatorHandleNavigation(e){let t=this,s=this.chart,n=e?this.maxHandleProxy:this.minHandleProxy,r=this.keyCodes;return new i(s,{keyCodeMap:[[[r.left,r.right,r.up,r.down],function(i){if(n){let o=i===r.left||i===r.up?-1:1;n.value=\"\"+d(parseFloat(n.value)+o,0,100),t.updateNavigator(()=>{let i=t.getHandleByIx(e);i&&s.setFocusToElement(i,n)})}return this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(e),n)},validate:()=>!!(this.getHandleByIx(e)&&n&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup(\"navigator\"),this.announcer&&this.announcer.destroy()}updateHandleValues(){let e=this.chart.navigator;if(e&&this.minHandleProxy&&this.maxHandleProxy){let t=e.size;this.minHandleProxy.value=\"\"+Math.round(e.zoomedMin/t*100),this.maxHandleProxy.value=\"\"+Math.round(e.zoomedMax/t*100)}}getHandleByIx(e){let t=this.chart.navigator;return t&&t.handles&&t.handles[e]}updateNavigator(e){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((e=>{let t=this.chart,{navigator:i,pointer:s}=t;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let n=s.getChartPosition(),r=parseFloat(this.minHandleProxy.value)/100*i.size,o=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,\"mousedown\",i.zoomedMin],[0,\"mousemove\",r],[0,\"mouseup\",r],[1,\"mousedown\",i.zoomedMax],[1,\"mousemove\",o],[1,\"mouseup\",o]].forEach(([e,t,s])=>{let r=this.getHandleByIx(e)?.element;r&&b(r,g(t,{x:n.left+i.left+s,y:n.top+i.top},r))}),e&&e();let a=t.options.lang.accessibility?.navigator.changeAnnouncement,l=m(t.xAxis[0]);this.announcer.announce(c(a,{axisRangeDescription:l,chart:t},t))}}).bind(this,e),20)}}}),i(t,\"Accessibility/Components/SeriesComponent/SeriesDescriber.js\",[t[\"Accessibility/Components/AnnotationsA11y.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Core/Templating.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n){let{getPointAnnotationTexts:r}=e,{getAxisDescription:o,getSeriesFirstPointElement:a,getSeriesA11yElement:l,unhideChartElementFromAT:h}=t,{format:c,numberFormat:d}=i,{reverseChildNodes:u,stripHTMLTagsFromString:p}=s,{find:g,isNumber:m,isString:b,pick:y,defined:f}=n;function x(e){let t=e.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==t&&e.points&&e.points.length>=+t)}function v(e,t){let i=e.series,s=i.chart,n=s.options.accessibility.point||{},r=i.options.accessibility&&i.options.accessibility.point||{},o=i.tooltipOptions||{},a=s.options.lang;return m(t)?d(t,r.valueDecimals||n.valueDecimals||o.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):t}function A(e,t){let i=e[t];return e.chart.langFormat(\"accessibility.series.\"+t+\"Description\",{name:o(i),series:e})}function C(e){let t=e.series,i=t.chart.series.length>1||t.options.name,s=function(e){let t=e.series,i=t.chart,s=t.options.accessibility,n=s&&s.point&&s.point.valueDescriptionFormat||i.options.accessibility.point.valueDescriptionFormat,r=y(t.xAxis&&t.xAxis.options.accessibility&&t.xAxis.options.accessibility.enabled,!i.angular&&\"flowmap\"!==t.type),o=r?function(e){let t=function(e){let t=e.series,i=t.chart,s=t.options.accessibility&&t.options.accessibility.point||{},n=i.options.accessibility.point||{},r=t.xAxis&&t.xAxis.dateTime;if(r){let t=r.getXDateFormat(e.x||0,i.options.tooltip.dateTimeLabelFormats),o=s.dateFormatter&&s.dateFormatter(e)||n.dateFormatter&&n.dateFormatter(e)||s.dateFormat||n.dateFormat||t;return i.time.dateFormat(o,e.x||0,void 0)}}(e),i=(e.series.xAxis||{}).categories&&f(e.category)&&(\"\"+e.category).replace(\"
\",\" \"),s=f(e.id)&&0>(\"\"+e.id).indexOf(\"highcharts-\"),n=\"x, \"+e.x;return e.name||t||i||(s?e.id:n)}(e):\"\";return c(n,{point:e,index:f(e.index)?e.index+1:\"\",xDescription:o,value:function(e){let t=e.series,i=t.chart.options.accessibility.point||{},s=t.chart.options.accessibility&&t.chart.options.accessibility.point||{},n=t.tooltipOptions||{},r=s.valuePrefix||i.valuePrefix||n.valuePrefix||\"\",o=s.valueSuffix||i.valueSuffix||n.valueSuffix||\"\",a=void 0!==e.value?\"value\":\"y\",l=v(e,e[a]);return e.isNull?t.chart.langFormat(\"accessibility.series.nullPointValue\",{point:e}):t.pointArrayMap?function(e,t,i){let s=t||\"\",n=i||\"\",r=function(t){let i=v(e,y(e[t],e.options[t]));return void 0!==i?t+\": \"+s+i+n:i};return e.series.pointArrayMap.reduce(function(e,t){let i=r(t);return i?e+(e.length?\", \":\"\")+i:e},\"\")}(e,r,o):r+l+o}(e),separator:r?\", \":\"\"},i)}(e),n=e.options&&e.options.accessibility&&e.options.accessibility.description,o=i?\" \"+t.name+\".\":\"\",a=function(e){let t=e.series.chart,i=r(e);return i.length?t.langFormat(\"accessibility.series.pointAnnotationsDescription\",{point:e,annotations:i}):\"\"}(e);return e.accessibility=e.accessibility||{},e.accessibility.valueDescription=s,s+(n?\" \"+n:\"\")+o+(a?\" \"+a:\"\")}function w(e){let t=e.chart,i=t.types||[],s=function(e){let t=(e.options.accessibility||{}).description;return t&&e.chart.langFormat(\"accessibility.series.description\",{description:t,series:e})||\"\"}(e),n=function(i){return t[i]&&t[i].length>1&&e[i]},r=e.index+1,o=A(e,\"xAxis\"),a=A(e,\"yAxis\"),l={seriesNumber:r,series:e,chart:t},h=i.length>1?\"Combination\":\"\",d=t.langFormat(\"accessibility.series.summary.\"+e.type+h,l)||t.langFormat(\"accessibility.series.summary.default\"+h,l),u=(n(\"yAxis\")?\" \"+a+\".\":\"\")+(n(\"xAxis\")?\" \"+o+\".\":\"\");return c(y(e.options.accessibility&&e.options.accessibility.descriptionFormat,t.options.accessibility.series.descriptionFormat,\"\"),{seriesDescription:d,authorDescription:s?\" \"+s:\"\",axisDescription:u,series:e,chart:t,seriesNumber:r},void 0)}return{defaultPointDescriptionFormatter:C,defaultSeriesDescriptionFormatter:w,describeSeries:function(e){let t=e.chart,i=a(e),s=l(e),n=t.is3d&&t.is3d();s&&(s.lastChild!==i||n||u(s),function(e){let t=function(e){let t=e.options.accessibility||{};return!x(e)&&!t.exposeAsGroupOnly}(e),i=function(e){let t=e.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!!(e.points&&(e.points.length<+t.pointNavigationEnabledThreshold||!1===t.pointNavigationEnabledThreshold))}(e),s=e.chart.options.accessibility.point.describeNull;(t||i)&&e.points.forEach(i=>{let n=i.graphic&&i.graphic.element||function(e){let t=e.series,i=t&&t.chart,s=t&&t.is(\"sunburst\"),n=e.isNull,r=i&&i.options.accessibility.point.describeNull;return n&&!s&&r}(i)&&function(e){let t=e.series,i=function(e){let t=e.index;return e.series&&e.series.data&&f(t)&&g(e.series.data,function(e){return!!(e&&void 0!==e.index&&e.index>t&&e.graphic&&e.graphic.element)})||null}(e),s=i&&i.graphic,n=s?s.parentGroup:t.graph||t.group,r=i?{x:y(e.plotX,i.plotX,0),y:y(e.plotY,i.plotY,0)}:{x:y(e.plotX,0),y:y(e.plotY,0)},o=function(e,t){let i=e.series.chart.renderer.rect(t.x,t.y,1,1);return i.attr({class:\"highcharts-a11y-mock-point\",fill:\"none\",opacity:0,\"fill-opacity\":0,\"stroke-opacity\":0}),i}(e,r);if(n&&n.element)return e.graphic=o,e.hasMockGraphic=!0,o.add(n),n.element.insertBefore(o.element,s?s.element:null),o.element}(i),r=i.options&&i.options.accessibility&&!1===i.options.accessibility.enabled;if(n){if(i.isNull&&!s){n.setAttribute(\"aria-hidden\",!0);return}n.setAttribute(\"tabindex\",\"-1\"),e.chart.styledMode||(n.style.outline=\"none\"),t&&!r?function(e,t){let i=e.series,s=i.options.accessibility?.point||{},n=i.chart.options.accessibility.point||{},r=p(b(s.descriptionFormat)&&c(s.descriptionFormat,e,i.chart)||s.descriptionFormatter?.(e)||b(n.descriptionFormat)&&c(n.descriptionFormat,e,i.chart)||n.descriptionFormatter?.(e)||C(e),i.chart.renderer.forExport);t.setAttribute(\"role\",\"img\"),t.setAttribute(\"aria-label\",r)}(i,n):n.setAttribute(\"aria-hidden\",!0)}})}(e),h(t,s),function(e){let t=e.chart,i=t.options.chart,s=i.options3d&&i.options3d.enabled,n=t.series.length>1,r=t.options.accessibility.series.describeSingleSeries,o=(e.options.accessibility||{}).exposeAsGroupOnly;return!(s&&n)&&(n||r||o||x(e))}(e)?function(e,t){let i=e.options.accessibility||{},s=e.chart.options.accessibility,n=s.landmarkVerbosity;i.exposeAsGroupOnly?t.setAttribute(\"role\",\"img\"):\"all\"===n?t.setAttribute(\"role\",\"region\"):t.setAttribute(\"role\",\"group\"),t.setAttribute(\"tabindex\",\"-1\"),e.chart.styledMode||(t.style.outline=\"none\"),t.setAttribute(\"aria-label\",p(s.series.descriptionFormatter&&s.series.descriptionFormatter(e)||w(e),e.chart.renderer.forExport))}(e,s):s.removeAttribute(\"aria-label\"))}}}),i(t,\"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/Utils/Announcer.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/EventProvider.js\"],t[\"Accessibility/Components/SeriesComponent/SeriesDescriber.js\"]],function(e,t,i,s,n,r){let{composed:o}=e,{addEvent:a,defined:l,pushUnique:h}=t,{getChartTitle:c}=s,{defaultPointDescriptionFormatter:d,defaultSeriesDescriptionFormatter:u}=r;function p(e){return!!e.options.accessibility.announceNewData.enabled}class g{constructor(e){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=e}init(){let e=this.chart,t=e.options.accessibility.announceNewData.interruptUser?\"assertive\":\"polite\";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new n,this.announcer=new i(e,t),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}addEventListeners(){let e=this,t=this.chart,i=this.eventProvider;i.addEvent(t,\"afterApplyDrilldown\",function(){e.lastAnnouncementTime=0}),i.addEvent(t,\"afterAddSeries\",function(t){e.onSeriesAdded(t.series)}),i.addEvent(t,\"redraw\",function(){e.announceDirtyData()})}onSeriesAdded(e){p(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[e.name+e.index]=e,this.dirty.newSeries=l(this.dirty.newSeries)?void 0:e)}announceDirtyData(){let e=this.chart,t=this;if(e.options.accessibility.announceNewData&&this.dirty.hasDirty){let e=this.dirty.newPoint;e&&(e=function(e){let t=e.series.data.filter(t=>e.x===t.x&&e.y===t.y);return 1===t.length?t[0]:e}(e)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(e=>t.dirty.allSeries[e]),this.dirty.newSeries,e),this.dirty={allSeries:{}}}}queueAnnouncement(e,t,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){let n=+new Date,r=n-this.lastAnnouncementTime,o=Math.max(0,s.minAnnounceInterval-r),a=function(e,t){let i=(e||[]).concat(t||[]).reduce((e,t)=>(e[t.name+t.index]=t,e),{});return Object.keys(i).map(e=>i[e])}(this.queuedAnnouncement&&this.queuedAnnouncement.series,e),l=this.buildAnnouncementMessage(a,t,i);l&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:n,message:l,series:a},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},o))}}buildAnnouncementMessage(t,i,s){let n=this.chart,r=n.options.accessibility.announceNewData;if(r.announcementFormatter){let e=r.announcementFormatter(t,i,s);if(!1!==e)return e.length?e:null}let o=e.charts&&e.charts.length>1?\"Multiple\":\"Single\",a=i?\"newSeriesAnnounce\"+o:s?\"newPointAnnounce\"+o:\"newDataAnnounce\",l=c(n);return n.langFormat(\"accessibility.announceNewData.\"+a,{chartTitle:l,seriesDesc:i?u(i):null,pointDesc:s?d(s):null,point:s,series:i})}}return function(e){function t(e){let t=this.chart,i=t.accessibility?.components.series.newDataAnnouncer;i&&i.chart===t&&p(t)&&(i.dirty.newPoint=l(i.dirty.newPoint)?void 0:e.point)}function i(){let e=this.chart,t=e.accessibility?.components.series.newDataAnnouncer;t&&t.chart===e&&p(e)&&(t.dirty.hasDirty=!0,t.dirty.allSeries[this.name+this.index]=this)}e.compose=function(e){h(o,\"A11y.NDA\")&&(a(e,\"addPoint\",t),a(e,\"updatedData\",i))}}(g||(g={})),g}),i(t,\"Accessibility/ProxyElement.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/Utils/EventProvider.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"]],function(e,t,i,s,n){let{doc:r}=e,{attr:o,css:a,merge:l}=t,{fireEventOnWrappedOrUnwrappedElement:h}=s,{cloneMouseEvent:c,cloneTouchEvent:d,getFakeMouseEvent:u,removeElement:p}=n;return class{constructor(e,t,s=\"button\",n,o){this.chart=e,this.target=t,this.eventProvider=new i;let a=this.innerElement=r.createElement(s),l=this.element=n?r.createElement(n):a;e.styledMode||this.hideElementVisually(a),n&&(\"li\"!==n||e.styledMode||(l.style.listStyle=\"none\"),l.appendChild(a),this.element=l),this.updateTarget(t,o)}click(){let e=this.getTargetPosition();e.x+=e.width/2,e.y+=e.height/2;let t=u(\"click\",e);h(this.target.click,t)}updateTarget(e,t){this.target=e,this.updateCSSClassName();let i=t||{};Object.keys(i).forEach(e=>{null===i[e]&&delete i[e]});let s=this.getTargetAttr(e.click,\"aria-label\");o(this.innerElement,l(s?{\"aria-label\":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,e.click),this.refreshPosition()}refreshPosition(){let e=this.getTargetPosition();a(this.innerElement,{width:(e.width||1)+\"px\",height:(e.height||1)+\"px\",left:(Math.round(e.x)||0)+\"px\",top:(Math.round(e.y)||0)+\"px\"})}remove(){this.eventProvider.removeAddedEvents(),p(this.element)}updateCSSClassName(){let e=e=>e.indexOf(\"highcharts-no-tooltip\")>-1,t=this.chart.legend,i=t.group&&t.group.div,s=e(i&&i.className||\"\"),n=e(this.getTargetAttr(this.target.click,\"class\")||\"\");this.innerElement.className=s||n?\"highcharts-a11y-proxy-element highcharts-no-tooltip\":\"highcharts-a11y-proxy-element\"}addProxyEventsToElement(e,t){[\"click\",\"touchstart\",\"touchend\",\"touchcancel\",\"touchmove\",\"mouseover\",\"mouseenter\",\"mouseleave\",\"mouseout\"].forEach(i=>{let s=0===i.indexOf(\"touch\");this.eventProvider.addEvent(e,i,e=>{let i=s?d(e):c(e);t&&h(t,i),e.stopPropagation(),s||e.preventDefault()},{passive:!1})})}hideElementVisually(e){a(e,{borderWidth:0,backgroundColor:\"transparent\",cursor:\"pointer\",outline:\"none\",opacity:.001,filter:\"alpha(opacity=1)\",zIndex:999,overflow:\"hidden\",padding:0,margin:0,display:\"block\",position:\"absolute\",\"-ms-filter\":\"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)\"})}getTargetPosition(){let e=this.target.click,t=e.element?e.element:e,i=this.target.visual||t,s=this.chart.renderTo,n=this.chart.pointer;if(s&&i?.getBoundingClientRect&&n){let e=i.getBoundingClientRect(),t=n.getChartPosition();return{x:(e.left-t.left)/t.scaleX,y:(e.top-t.top)/t.scaleY,width:e.right/t.scaleX-e.left/t.scaleX,height:e.bottom/t.scaleY-e.top/t.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(e,t){return e.element?e.element.getAttribute(t):e.getAttribute(t)}}}),i(t,\"Accessibility/ProxyProvider.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/DOMElementProvider.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Accessibility/ProxyElement.js\"]],function(e,t,i,s,n,r){let{doc:o}=e,{attr:a,css:l}=t,{unhideChartElementFromAT:h}=i,{removeChildNodes:c}=n;return class{constructor(e){this.chart=e,this.domElementProvider=new s,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer(\"before\"),this.afterChartProxyPosContainer=this.createProxyPosContainer(\"after\"),this.update()}addProxyElement(e,t,i=\"button\",s){let n=this.groups[e];if(!n)throw Error(\"ProxyProvider.addProxyElement: Invalid group key \"+e);let o=\"ul\"===n.type||\"ol\"===n.type?\"li\":void 0,a=new r(this.chart,t,i,o,s);return n.proxyContainerElement.appendChild(a.element),n.proxyElements.push(a),a}addGroup(e,t=\"div\",i){let s;let n=this.groups[e];if(n)return n.groupElement;let r=this.domElementProvider.createElement(t);return i&&i.role&&\"div\"!==t?(s=this.domElementProvider.createElement(\"div\")).appendChild(r):s=r,s.className=\"highcharts-a11y-proxy-group highcharts-a11y-proxy-group-\"+e.replace(/\\W/g,\"-\"),this.groups[e]={proxyContainerElement:r,groupElement:s,type:t,proxyElements:[]},a(s,i||{}),\"ul\"===t&&r.setAttribute(\"role\",\"list\"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(e,t){let i=this.groups[e];if(!i)throw Error(\"ProxyProvider.updateGroupAttrs: Invalid group key \"+e);a(i.groupElement,t)}updateGroupOrder(e){if(this.groupOrder=e.slice(),this.isDOMOrderGroupOrder())return;let t=e.indexOf(\"series\"),i=t>-1?e.slice(0,t):e,s=t>-1?e.slice(t+1):[],n=o.activeElement;[\"before\",\"after\"].forEach(e=>{let t=this[\"before\"===e?\"beforeChartProxyPosContainer\":\"afterChartProxyPosContainer\"];c(t),(\"before\"===e?i:s).forEach(e=>{let i=this.groups[e];i&&t.appendChild(i.groupElement)})}),(this.beforeChartProxyPosContainer.contains(n)||this.afterChartProxyPosContainer.contains(n))&&n&&n.focus&&n.focus()}clearGroup(e){let t=this.groups[e];if(!t)throw Error(\"ProxyProvider.clearGroup: Invalid group key \"+e);c(t.proxyContainerElement)}removeGroup(e){let t=this.groups[e];t&&(this.domElementProvider.removeElement(t.groupElement),t.groupElement!==t.proxyContainerElement&&this.domElementProvider.removeElement(t.proxyContainerElement),delete this.groups[e])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(e){let t=this.groups[e];t&&t.proxyElements.forEach(e=>e.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(e){let t=this.domElementProvider.createElement(\"div\");return t.setAttribute(\"aria-hidden\",\"false\"),t.className=\"highcharts-a11y-proxy-container\"+(e?\"-\"+e:\"\"),l(t,{top:\"0\",left:\"0\"}),this.chart.styledMode||(t.style.whiteSpace=\"nowrap\",t.style.position=\"absolute\"),t}getCurrentGroupOrderInDOM(){let e=e=>{let t=Object.keys(this.groups),i=t.length;for(;i--;){let s=t[i],n=this.groups[s];if(n&&e===n.groupElement)return s}},t=t=>{let i=[],s=t.children;for(let t=0;t\"series\"===e||!!this.groups[e]),i=e.length;if(i!==t.length)return!1;for(;i--;)if(e[i]!==t[i])return!1;return!0}updatePosContainerPositions(){let e=this.chart;if(e.renderer.forExport)return;let t=e.renderer.box;e.container.insertBefore(this.afterChartProxyPosContainer,t.nextSibling),e.container.insertBefore(this.beforeChartProxyPosContainer,t),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer)}}}),i(t,\"Accessibility/Components/RangeSelectorComponent.js\",[t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/Announcer.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n){let{unhideChartElementFromAT:r,getAxisRangeDescription:o}=i,{addEvent:a,attr:l}=n;class h extends e{init(){let e=this.chart;this.announcer=new t(e,\"polite\")}onChartUpdate(){let e=this.chart,t=this,i=e.rangeSelector;i&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),i.buttons&&i.buttons.length&&i.buttons.forEach(e=>{t.setRangeButtonAttrs(e)}),i.maxInput&&i.minInput&&[\"minInput\",\"maxInput\"].forEach(function(s,n){let o=i[s];o&&(r(e,o),t.setRangeInputAttrs(o,\"accessibility.rangeSelector.\"+(n?\"max\":\"min\")+\"InputLabel\"))}))}updateSelectorVisibility(){let e=this.chart,t=e.rangeSelector,i=t&&t.dropdown,s=t&&t.buttons||[],n=e=>e.setAttribute(\"aria-hidden\",!0);t&&t.hasVisibleDropdown&&i?(r(e,i),s.forEach(e=>n(e.element))):(i&&n(i),s.forEach(t=>r(e,t.element)))}setDropdownAttrs(){let e=this.chart,t=e.rangeSelector&&e.rangeSelector.dropdown;if(t){let i=e.langFormat(\"accessibility.rangeSelector.dropdownLabel\",{rangeTitle:e.options.lang.rangeSelectorZoom});t.setAttribute(\"aria-label\",i),t.setAttribute(\"tabindex\",-1)}}setRangeButtonAttrs(e){l(e.element,{tabindex:-1,role:\"button\"})}setRangeInputAttrs(e,t){let i=this.chart;l(e,{tabindex:-1,\"aria-label\":i.langFormat(t,{chart:i})})}onButtonNavKbdArrowKey(e,t){let i=e.response,s=this.keyCodes,n=this.chart,r=n.options.accessibility.keyboardNavigation.wrapAround,o=t===s.left||t===s.up?-1:1;return n.highlightRangeSelectorButton(n.highlightedRangeSelectorItemIx+o)?i.success:r?(e.init(o),i.success):i[o>0?\"next\":\"prev\"]}onButtonNavKbdClick(e){let t=e.response,i=this.chart;return 3!==i.oldRangeSelectorItemState&&this.fakeClickEvent(i.rangeSelector.buttons[i.highlightedRangeSelectorItemIx].element),t.success}onAfterBtnClick(){let e=this.chart,t=o(e.xAxis[0]),i=e.langFormat(\"accessibility.rangeSelector.clickButtonAnnouncement\",{chart:e,axisRangeDescription:t});i&&this.announcer.announce(i)}onInputKbdMove(e){let t=this.chart,i=t.rangeSelector,s=t.highlightedInputRangeIx=(t.highlightedInputRangeIx||0)+e;if(s>1||s<0){if(t.accessibility)return t.accessibility.keyboardNavigation.exiting=!0,t.accessibility.keyboardNavigation.tabindexContainer.focus(),t.accessibility.keyboardNavigation.move(e)}else if(i){let e=i[s?\"maxDateBox\":\"minDateBox\"],n=i[s?\"maxInput\":\"minInput\"];e&&n&&t.setFocusToElement(e,n)}return!0}onInputNavInit(e){let t=this,i=this.chart,s=e>0?0:1,n=i.rangeSelector,r=n&&n[s?\"maxDateBox\":\"minDateBox\"],o=n&&n.minInput,l=n&&n.maxInput;if(i.highlightedInputRangeIx=s,r&&o&&l){i.setFocusToElement(r,s?l:o),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();let e=e=>{(e.which||e.keyCode)===this.keyCodes.tab&&t.onInputKbdMove(e.shiftKey?-1:1)&&(e.preventDefault(),e.stopPropagation())},n=a(o,\"keydown\",e),h=a(l,\"keydown\",e);this.removeInputKeydownHandler=()=>{n(),h()}}}onInputNavTerminate(){let e=this.chart.rangeSelector||{};e.maxInput&&e.hideInput(\"max\"),e.minInput&&e.hideInput(\"min\"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let e=this.chart,t=e.rangeSelector,i=t&&t.dropdown;t&&i&&(e.setFocusToElement(t.buttonGroup,i),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=a(i,\"keydown\",t=>{let i=(t.which||t.keyCode)===this.keyCodes.tab,s=e.accessibility;i&&(t.preventDefault(),t.stopPropagation(),s&&(s.keyboardNavigation.tabindexContainer.focus(),s.keyboardNavigation.move(t.shiftKey?-1:1)))}))}getRangeSelectorButtonNavigation(){let e=this.chart,t=this.keyCodes,i=this;return new s(e,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(e){return i.onButtonNavKbdArrowKey(this,e)}],[[t.enter,t.space],function(){return i.onButtonNavKbdClick(this)}]],validate:function(){return!!(e.rangeSelector&&e.rangeSelector.buttons&&e.rangeSelector.buttons.length)},init:function(t){let s=e.rangeSelector;if(s&&s.hasVisibleDropdown)i.initDropdownNav();else if(s){let i=s.buttons.length-1;e.highlightRangeSelectorButton(t>0?0:i)}},terminate:function(){i.removeDropdownKeydownHandler&&(i.removeDropdownKeydownHandler(),delete i.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){let e=this.chart,t=this;return new s(e,{keyCodeMap:[],validate:function(){return!!(e.rangeSelector&&e.rangeSelector.inputGroup&&\"hidden\"!==e.rangeSelector.inputGroup.element.style.visibility&&!1!==e.options.rangeSelector.inputEnabled&&e.rangeSelector.minInput&&e.rangeSelector.maxInput)},init:function(e){t.onInputNavInit(e)},terminate:function(){t.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}return function(e){function t(e){let t=this.rangeSelector&&this.rangeSelector.buttons||[],i=this.highlightedRangeSelectorItemIx,s=this.rangeSelector&&this.rangeSelector.selected;return void 0!==i&&t[i]&&i!==s&&t[i].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=e,!!t[e]&&(this.setFocusToElement(t[e].box,t[e].element),e!==s&&(this.oldRangeSelectorItemState=t[e].state,t[e].setState(1)),!0)}function i(){let e=this.chart.accessibility;if(e&&e.components.rangeSelector)return e.components.rangeSelector.onAfterBtnClick()}e.compose=function(e,s){let n=e.prototype;n.highlightRangeSelectorButton||(n.highlightRangeSelectorButton=t,a(s,\"afterBtnClick\",i))}}(h||(h={})),h}),i(t,\"Accessibility/Components/SeriesComponent/ForcedMarkers.js\",[t[\"Core/Globals.js\"],t[\"Core/Utilities.js\"]],function(e,t){var i;let{composed:s}=e,{addEvent:n,merge:r,pushUnique:o}=t;return function(e){function t(e){r(!0,e,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function i(e){return e.marker.states&&e.marker.states.normal&&e.marker.states.normal.opacity}function a(e){return!!(e._hasPointMarkers&&e.points&&e.points.length)}function l(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?\"addClass\":\"removeClass\"](\"highcharts-a11y-markers-hidden\"),a(this)&&this.points.forEach(e=>{e.graphic&&(e.graphic[e.hasForcedA11yMarker?\"addClass\":\"removeClass\"](\"highcharts-a11y-marker-hidden\"),e.graphic[!1===e.hasForcedA11yMarker?\"addClass\":\"removeClass\"](\"highcharts-a11y-marker-visible\"))}))}function h(e){this.resetA11yMarkerOptions=r(e.options.marker||{},this.userOptions.marker||{})}function c(){let e=this.options;(function(e){let t=e.chart.options.accessibility.enabled,i=!1!==(e.options.accessibility&&e.options.accessibility.enabled);return t&&i&&function(e){let t=e.chart.options.accessibility;return e.points.length-1;s.highlightedPoint===this&&t!==e&&!n&&e&&e.focus&&e.focus()})}onDrillupAll(){let e;let t=this.lastDrilledDownPoint,i=this.chart,s=t&&p(i,t.seriesName);t&&s&&c(t.x)&&c(t.y)&&(e=u(s,t.x,t.y)),e=e||f(i),i.container&&i.container.focus(),e&&e.highlight&&e.highlight(!1)}getKeyboardNavigationHandler(){let e=this,t=this.keyCodes,i=this.chart,s=i.inverted;return new r(i,{keyCodeMap:[[s?[t.up,t.down]:[t.left,t.right],function(t){return e.onKbdSideways(this,t)}],[s?[t.left,t.right]:[t.up,t.down],function(t){return e.onKbdVertical(this,t)}],[[t.enter,t.space],function(e,t){let s=i.highlightedPoint;if(s){let{plotLeft:e,plotTop:i}=this.chart,{plotX:n=0,plotY:r=0}=s;t={...t,chartX:e+n,chartY:i+r,point:s,target:s.graphic?.element||t.target},d(s.series,\"click\",t),s.firePointEvent(\"click\",t)}return this.response.success}],[[t.home],function(){return v(i),this.response.success}],[[t.end],function(){return x(i),this.response.success}],[[t.pageDown,t.pageUp],function(e){return i.highlightAdjacentSeries(e===t.pageDown),this.response.success}]],init:function(){return e.onHandlerInit(this)},validate:function(){return!!f(i)},terminate:function(){return e.onHandlerTerminate()}})}onKbdSideways(e,t){let i=this.keyCodes,s=t===i.right||t===i.down;return this.attemptHighlightAdjacentPoint(e,s)}onHandlerInit(e){let t=this.chart;return t.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&t.highlightedPoint?t.highlightedPoint.highlight():v(t),e.response.success}onKbdVertical(e,t){let i=this.chart,s=this.keyCodes,n=t===s.down||t===s.right,r=i.options.accessibility.keyboardNavigation.seriesNavigation;if(r.mode&&\"serialize\"===r.mode)return this.attemptHighlightAdjacentPoint(e,n);let o=i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?\"highlightAdjacentPointVertical\":\"highlightAdjacentSeries\";return i[o](n),e.response.success}onHandlerTerminate(){let e=this.chart,t=e.options.accessibility.keyboardNavigation;e.tooltip&&e.tooltip.hide(0);let i=e.highlightedPoint&&e.highlightedPoint.series;i&&i.onMouseOut&&i.onMouseOut(),e.highlightedPoint&&e.highlightedPoint.onMouseOut&&e.highlightedPoint.onMouseOut(),t.seriesNavigation.rememberPointFocus||delete e.highlightedPoint}attemptHighlightAdjacentPoint(e,t){let i=this.chart,s=i.options.accessibility.keyboardNavigation.wrapAround;return i.highlightAdjacentPoint(t)?e.response.success:s&&(t?v(i):x(i))?e.response.success:e.response[t?\"next\":\"prev\"]}onSeriesDestroy(e){let t=this.chart;t.highlightedPoint&&t.highlightedPoint.series===e&&(delete t.highlightedPoint,t.focusElement&&t.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}return function(e){function t(e){let t,i;let s=this.series,n=this.highlightedPoint,r=n&&m(n)||0,o=n&&n.series.points||[],a=this.series&&this.series[this.series.length-1],l=a&&a.points&&a.points[a.points.length-1];if(!s[0]||!s[0].points)return!1;if(n){if(t=s[n.series.index+(e?1:-1)],(i=o[r+(e?1:-1)])||!t||(i=t.points[e?0:t.points.length-1]),!i)return!1}else i=e?s[0].points[0]:l;return y(i)?(b(t=i.series)?this.highlightedPoint=e?t.points[t.points.length-1]:t.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(e)):i.highlight()}function i(e){let t=this.highlightedPoint,i=1/0,s;return!!(c(t.plotX)&&c(t.plotY))&&(this.series.forEach(n=>{b(n)||n.points.forEach(r=>{if(!c(r.plotY)||!c(r.plotX)||r===t)return;let o=r.plotY-t.plotY,a=Math.abs(r.plotX-t.plotX),l=Math.abs(o)*Math.abs(o)+a*a*4;n.yAxis&&n.yAxis.reversed&&(o*=-1),!(o<=0&&e||o>=0&&!e||l<5||y(r))&&l!(c(e.plotX)&&c(e.plotY));if(!h(e)){for(;l--;)!h(r=t.points[l])&&(a=(e.plotX-r.plotX)*(e.plotX-r.plotX)*4+(e.plotY-r.plotY)*(e.plotY-r.plotY)*1)=0;--e)if(!y(i[e]))return i[e].highlight()}return!1}e.compose=function(e,o,a){let h=e.prototype,c=o.prototype,d=a.prototype;h.highlightAdjacentPoint||(h.highlightAdjacentPoint=t,h.highlightAdjacentPointVertical=i,h.highlightAdjacentSeries=s,c.highlight=n,d.keyboardMoveVertical=!0,[\"column\",\"gantt\",\"pie\"].forEach(e=>{l[e]&&(l[e].prototype.keyboardMoveVertical=!1)}),d.highlightNextValidPoint=r)}}(A||(A={})),A}),i(t,\"Accessibility/Components/SeriesComponent/SeriesComponent.js\",[t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Components/SeriesComponent/ForcedMarkers.js\"],t[\"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js\"],t[\"Accessibility/Components/SeriesComponent/SeriesDescriber.js\"],t[\"Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js\"]],function(e,t,i,s,n,r){let{hideSeriesFromAT:o}=t,{describeSeries:a}=n;return class extends e{static compose(e,t,n){s.compose(n),i.compose(n),r.compose(e,t,n)}init(){this.newDataAnnouncer=new s(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new r(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){let e=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,\"refresh\",function(){this.chart===e.chart&&this.label&&this.label.element&&this.label.element.setAttribute(\"aria-hidden\",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,\"afterDrawSeriesLabels\",function(){this.series.forEach(function(e){e.labelBySeries&&e.labelBySeries.attr(\"aria-hidden\",!0)})})}onChartRender(){this.chart.series.forEach(function(e){!1!==(e.options.accessibility&&e.options.accessibility.enabled)&&e.visible&&0!==e.getPointsCollection().length?a(e):o(e)})}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}}),i(t,\"Accessibility/Components/ZoomComponent.js\",[t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Core/Utilities.js\"]],function(e,t,i,s,n){let{unhideChartElementFromAT:r}=t,{getFakeMouseEvent:o}=i,{attr:a,pick:l}=n;return class extends e{constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){let e=this,t=this.chart;this.proxyProvider.addGroup(\"zoom\",\"div\"),[\"afterShowResetZoom\",\"afterApplyDrilldown\",\"drillupall\"].forEach(i=>{e.addEvent(t,i,function(){e.updateProxyOverlays()})})}onChartUpdate(){let e=this.chart,t=this;e.mapNavigation&&e.mapNavigation.navButtons.forEach((i,s)=>{r(e,i.element),t.setMapNavButtonAttrs(i.element,\"accessibility.zoom.mapZoom\"+(s?\"Out\":\"In\"))})}setMapNavButtonAttrs(e,t){let i=this.chart;a(e,{tabindex:-1,role:\"button\",\"aria-label\":i.langFormat(t,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let e=this.chart;if(this.proxyProvider.clearGroup(\"zoom\"),e.resetZoomButton&&this.createZoomProxyButton(e.resetZoomButton,\"resetZoomProxyButton\",e.langFormat(\"accessibility.zoom.resetZoomButton\",{chart:e})),e.drillUpButton&&e.breadcrumbs&&e.breadcrumbs.list){let t=e.breadcrumbs.list[e.breadcrumbs.list.length-1];this.createZoomProxyButton(e.drillUpButton,\"drillUpProxyButton\",e.langFormat(\"accessibility.drillUpButton\",{chart:e,buttonText:e.breadcrumbs.getButtonText(t)}))}}createZoomProxyButton(e,t,i){this[t]=this.proxyProvider.addProxyElement(\"zoom\",{click:e},\"button\",{\"aria-label\":i,tabindex:-1})}getMapZoomNavigation(){let e=this.keyCodes,t=this.chart,i=this;return new s(t,{keyCodeMap:[[[e.up,e.down,e.left,e.right],function(e){return i.onMapKbdArrow(this,e)}],[[e.tab],function(e,t){return i.onMapKbdTab(this,t)}],[[e.space,e.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(t.mapView&&t.mapNavigation&&t.mapNavigation.navButtons.length)},init:function(e){return i.onMapNavInit(e)}})}onMapKbdArrow(e,t){let i=this.chart,s=this.keyCodes,n=i.container,r=t===s.up||t===s.down,a=t===s.left||t===s.up?1:-1,l=(r?i.plotHeight:i.plotWidth)/10*a,h=10*Math.random(),c={x:n.offsetLeft+i.plotLeft+i.plotWidth/2+h,y:n.offsetTop+i.plotTop+i.plotHeight/2+h},d=r?{x:c.x,y:c.y+l}:{x:c.x+l,y:c.y};return[o(\"mousedown\",c),o(\"mousemove\",d),o(\"mouseup\",d)].forEach(e=>n.dispatchEvent(e)),e.response.success}onMapKbdTab(e,t){let i=this.chart,s=e.response,n=t.shiftKey,r=n&&!this.focusedMapNavButtonIx||!n&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),r)return i.mapView&&i.mapView.zoomBy(),s[n?\"prev\":\"next\"];this.focusedMapNavButtonIx+=n?-1:1;let o=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(o.box,o.element),o.setState(2),s.success}onMapKbdClick(e){let t=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(t),e.response.success}onMapNavInit(e){let t=this.chart,i=t.mapNavigation.navButtons[0],s=t.mapNavigation.navButtons[1],n=e>0?i:s;t.setFocusToElement(n.box,n.element),n.setState(2),this.focusedMapNavButtonIx=e>0?0:1}simpleButtonNavigation(e,t,i){let n=this.keyCodes,r=this,o=this.chart;return new s(o,{keyCodeMap:[[[n.tab,n.up,n.down,n.left,n.right],function(e,t){let i=e===n.tab&&t.shiftKey||e===n.left||e===n.up;return this.response[i?\"prev\":\"next\"]}],[[n.space,n.enter],function(){return l(i(this,o),this.response.success)}]],validate:function(){return o[e]&&o[e].box&&r[t].innerElement},init:function(){o.setFocusToElement(o[e].box,r[t].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation(\"resetZoomButton\",\"resetZoomProxyButton\",function(e,t){t.zoomOut()}),this.simpleButtonNavigation(\"drillUpButton\",\"drillUpProxyButton\",function(e,t){return t.drillUp(),e.response.prev}),this.getMapZoomNavigation()]}}}),i(t,\"Accessibility/HighContrastMode.js\",[t[\"Core/Globals.js\"]],function(e){let{doc:t,isMS:i,win:s}=e;return{isHighContrastModeActive:function(){let e=/(Edg)/.test(s.navigator.userAgent);if(s.matchMedia&&e)return s.matchMedia(\"(-ms-high-contrast: active)\").matches;if(i&&s.getComputedStyle){let e=t.createElement(\"div\");e.style.backgroundImage=\"url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)\",t.body.appendChild(e);let i=(e.currentStyle||s.getComputedStyle(e)).backgroundImage;return t.body.removeChild(e),\"none\"===i}return s.matchMedia&&s.matchMedia(\"(forced-colors: active)\").matches},setHighContrastTheme:function(e){e.highContrastModeActive=!0;let t=e.options.accessibility.highContrastTheme;e.update(t,!1);let i=t.colors?.length>1;e.series.forEach(function(e){let s=t.plotOptions[e.type]||{},n=i&&void 0!==e.colorIndex?t.colors[e.colorIndex]:s.color||\"window\",r={color:s.color||\"windowText\",colors:i?t.colors:[s.color||\"windowText\"],borderColor:s.borderColor||\"window\",fillColor:n};e.update(r,!1),e.points&&e.points.forEach(function(e){e.options&&e.options.color&&e.update({color:s.color||\"windowText\",borderColor:s.borderColor||\"window\"},!1)})}),e.redraw()}}}),i(t,\"Accessibility/HighContrastTheme.js\",[],function(){return{chart:{backgroundColor:\"window\"},title:{style:{color:\"windowText\"}},subtitle:{style:{color:\"windowText\"}},colorAxis:{minColor:\"windowText\",maxColor:\"windowText\",stops:[],dataClasses:[]},colors:[\"windowText\"],xAxis:{gridLineColor:\"windowText\",labels:{style:{color:\"windowText\"}},lineColor:\"windowText\",minorGridLineColor:\"windowText\",tickColor:\"windowText\",title:{style:{color:\"windowText\"}}},yAxis:{gridLineColor:\"windowText\",labels:{style:{color:\"windowText\"}},lineColor:\"windowText\",minorGridLineColor:\"windowText\",tickColor:\"windowText\",title:{style:{color:\"windowText\"}}},tooltip:{backgroundColor:\"window\",borderColor:\"windowText\",style:{color:\"windowText\"}},plotOptions:{series:{lineColor:\"windowText\",fillColor:\"window\",borderColor:\"windowText\",edgeColor:\"windowText\",borderWidth:1,dataLabels:{connectorColor:\"windowText\",color:\"windowText\",style:{color:\"windowText\",textOutline:\"none\"}},marker:{lineColor:\"windowText\",fillColor:\"windowText\"}},pie:{color:\"window\",colors:[\"window\"],borderColor:\"windowText\",borderWidth:1},boxplot:{fillColor:\"window\"},candlestick:{lineColor:\"windowText\",fillColor:\"window\"},errorbar:{fillColor:\"window\"}},legend:{backgroundColor:\"window\",itemStyle:{color:\"windowText\"},itemHoverStyle:{color:\"windowText\"},itemHiddenStyle:{color:\"#555\"},title:{style:{color:\"windowText\"}}},credits:{style:{color:\"windowText\"}},drilldown:{activeAxisLabelStyle:{color:\"windowText\"},activeDataLabelStyle:{color:\"windowText\"}},navigation:{buttonOptions:{symbolStroke:\"windowText\",theme:{fill:\"window\"}}},rangeSelector:{buttonTheme:{fill:\"window\",stroke:\"windowText\",style:{color:\"windowText\"},states:{hover:{fill:\"window\",stroke:\"windowText\",style:{color:\"windowText\"}},select:{fill:\"#444\",stroke:\"windowText\",style:{color:\"windowText\"}}}},inputBoxBorderColor:\"windowText\",inputStyle:{backgroundColor:\"window\",color:\"windowText\"},labelStyle:{color:\"windowText\"}},navigator:{handles:{backgroundColor:\"window\",borderColor:\"windowText\"},outlineColor:\"windowText\",maskFill:\"transparent\",series:{color:\"windowText\",lineColor:\"windowText\"},xAxis:{gridLineColor:\"windowText\"}},scrollbar:{barBackgroundColor:\"#444\",barBorderColor:\"windowText\",buttonArrowColor:\"windowText\",buttonBackgroundColor:\"window\",buttonBorderColor:\"windowText\",rifleColor:\"windowText\",trackBackgroundColor:\"window\",trackBorderColor:\"windowText\"}}}),i(t,\"Accessibility/Options/A11yDefaults.js\",[],function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:\"<{headingTagName}>{chartTitle}{headingTagName}>{typeDescription}
{chartSubtitle}
{chartLongdesc}
{playAsSoundButton}
{viewTableButton}
{xAxisDescription}
{yAxisDescription}
{annotationsTitle}{annotationsList}
\",afterChartFormat:\"{endOfChartMarker}\",axisRangeDateFormat:\"%Y-%m-%d %H:%M:%S\"},series:{descriptionFormat:\"{seriesDescription}{authorDescription}{axisDescription}\",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:\"{xDescription}{separator}{value}.\",describeNull:!0},landmarkVerbosity:\"all\",linkedDescription:'*[data-highcharts-chart=\"{index}\"] + .highcharts-description',highContrastMode:\"auto\",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:\"#334eff\",lineWidth:2,borderRadius:3},margin:2},order:[\"series\",\"zoom\",\"rangeSelector\",\"navigator\",\"legend\",\"chartMenu\"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}}}),i(t,\"Accessibility/Options/LangDefaults.js\",[],function(){return{accessibility:{defaultChartTitle:\"Chart\",chartContainerLabel:\"{title}. Highcharts interactive chart.\",svgContainerLabel:\"Interactive chart\",drillUpButton:\"{buttonText}\",credits:\"Chart credits: {creditsStr}\",thousandsSep:\",\",svgContainerTitle:\"\",graphicContainerLabel:\"\",screenReaderSection:{beforeRegionLabel:\"\",afterRegionLabel:\"\",annotations:{heading:\"Chart annotations summary\",descriptionSinglePoint:\"{annotationText}. Related to {annotationPoint}\",descriptionMultiplePoints:\"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}\",descriptionNoPoints:\"{annotationText}\"},endOfChartMarker:\"End of interactive chart.\"},sonification:{playAsSoundButtonText:\"Play as sound, {chartTitle}\",playAsSoundClickAnnouncement:\"Play\"},legend:{legendLabelNoTitle:\"Toggle series visibility, {chartTitle}\",legendLabel:\"Chart legend: {legendTitle}\",legendItem:\"Show {itemName}\"},zoom:{mapZoomIn:\"Zoom chart\",mapZoomOut:\"Zoom out chart\",resetZoomButton:\"Reset zoom\"},rangeSelector:{dropdownLabel:\"{rangeTitle}\",minInputLabel:\"Select start date.\",maxInputLabel:\"Select end date.\",clickButtonAnnouncement:\"Viewing {axisRangeDescription}\"},navigator:{handleLabel:\"{#eq handleIx 0}Start, percent{else}End, percent{/eq}\",groupLabel:\"Axis zoom\",changeAnnouncement:\"{axisRangeDescription}\"},table:{viewAsDataTableButtonText:\"View as data table, {chartTitle}\",tableSummary:\"Table representation of chart.\"},announceNewData:{newDataAnnounce:\"Updated data for chart {chartTitle}\",newSeriesAnnounceSingle:\"New data series: {seriesDesc}\",newPointAnnounceSingle:\"New data point: {pointDesc}\",newSeriesAnnounceMultiple:\"New data series in chart {chartTitle}: {seriesDesc}\",newPointAnnounceMultiple:\"New data point in chart {chartTitle}: {pointDesc}\"},seriesTypeDescriptions:{boxplot:\"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.\",arearange:\"Arearange charts are line charts displaying a range between a lower and higher value for each point.\",areasplinerange:\"These charts are line charts displaying a range between a lower and higher value for each point.\",bubble:\"Bubble charts are scatter charts where each data point also has a size value.\",columnrange:\"Columnrange charts are column charts displaying a range between a lower and higher value for each point.\",errorbar:\"Errorbar series are used to display the variability of the data.\",funnel:\"Funnel charts are used to display reduction of data in stages.\",pyramid:\"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.\",waterfall:\"A waterfall chart is a column chart where each column contributes towards a total end value.\"},chartTypes:{emptyChart:\"Empty chart\",mapTypeDescription:\"Map of {mapTitle} with {numSeries} data series.\",unknownMap:\"Map of unspecified region with {numSeries} data series.\",combinationChart:\"Combination chart with {numSeries} data series.\",defaultSingle:\"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.\",defaultMultiple:\"Chart with {numSeries} data series.\",splineSingle:\"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.\",splineMultiple:\"Line chart with {numSeries} lines.\",lineSingle:\"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.\",lineMultiple:\"Line chart with {numSeries} lines.\",columnSingle:\"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.\",columnMultiple:\"Bar chart with {numSeries} data series.\",barSingle:\"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.\",barMultiple:\"Bar chart with {numSeries} data series.\",pieSingle:\"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.\",pieMultiple:\"Pie chart with {numSeries} pies.\",scatterSingle:\"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.\",scatterMultiple:\"Scatter chart with {numSeries} data series.\",boxplotSingle:\"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.\",boxplotMultiple:\"Boxplot with {numSeries} data series.\",bubbleSingle:\"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.\",bubbleMultiple:\"Bubble chart with {numSeries} data series.\"},axis:{xAxisDescriptionSingular:\"The chart has 1 X axis displaying {names[0]}. {ranges[0]}\",xAxisDescriptionPlural:\"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.\",yAxisDescriptionSingular:\"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}\",yAxisDescriptionPlural:\"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.\",timeRangeDays:\"Data range: {range} days.\",timeRangeHours:\"Data range: {range} hours.\",timeRangeMinutes:\"Data range: {range} minutes.\",timeRangeSeconds:\"Data range: {range} seconds.\",rangeFromTo:\"Data ranges from {rangeFrom} to {rangeTo}.\",rangeCategories:\"Data range: {numCategories} categories.\"},exporting:{chartMenuLabel:\"Chart menu\",menuButtonLabel:\"View chart menu, {chartTitle}\"},series:{summary:{default:\"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",defaultCombination:\"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",line:\"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",lineCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",spline:\"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",splineCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",column:\"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.\",columnCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.\",bar:\"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.\",barCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.\",pie:\"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.\",pieCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.\",scatter:\"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.\",scatterCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.\",boxplot:\"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.\",boxplotCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.\",bubble:\"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.\",bubbleCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.\",map:\"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.\",mapCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.\",mapline:\"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",maplineCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.\",mapbubble:\"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.\",mapbubbleCombination:\"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.\"},description:\"{description}\",xAxisDescription:\"X axis, {name}\",yAxisDescription:\"Y axis, {name}\",nullPointValue:\"No value\",pointAnnotationsDescription:\"{#each annotations}Annotation: {this}{/each}\"}}}}),i(t,\"Accessibility/Options/DeprecatedOptions.js\",[t[\"Core/Utilities.js\"]],function(e){let{error:t,pick:i}=e;function s(e,t,s){let n=e,r,o=0;for(;o\"series\"!==e)):Object.keys(this.components):[]}update(){let e=this.components,t=this.chart,i=t.options.accessibility;M(t,\"beforeA11yUpdate\"),t.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(i){e[i].onChartUpdate(),M(t,\"afterA11yComponentUpdate\",{name:i,component:e[i]})}),this.keyboardNavigation.update(s),!t.highContrastModeActive&&!1!==i.highContrastMode&&(y.isHighContrastModeActive()||!0===i.highContrastMode)&&y.setHighContrastTheme(t),M(t,\"afterA11yUpdate\",{accessibility:this})}destroy(){let e=this.chart||{},t=this.components;Object.keys(t).forEach(function(e){t[e].destroy(),t[e].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),e.announcerContainer&&k(e.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),e.renderTo&&e.renderTo.setAttribute(\"aria-hidden\",!0),e.focusElement&&e.focusElement.removeFocusBorder()}getChartTypes(){let e={};return this.chart.series.forEach(function(t){e[t.type]=1}),Object.keys(e)}}return function(e){function t(){this.accessibility&&this.accessibility.destroy()}function i(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let e=this.accessibility;e&&!e.zombie&&(e.proxyProvider.updateProxyElementPositions(),e.getComponentOrder().forEach(function(t){e.components[t].onChartRender()}))}function s(e){let t=e.options.accessibility;t&&(t.customComponents&&(this.options.accessibility.customComponents=t.customComponents,delete t.customComponents),S(!0,this.options.accessibility,t),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function r(){let t=this.accessibility,i=this.options.accessibility,s=this.renderer.boxWrapper.element,n=this.title;if(i&&i.enabled)t&&!t.zombie?t.update():(this.accessibility=t=new e(this),t&&!t.zombie&&t.update(),\"img\"===s.getAttribute(\"role\")&&s.removeAttribute(\"role\"));else if(t)t.destroy&&t.destroy(),delete this.accessibility;else{this.renderTo.setAttribute(\"role\",\"img\"),this.renderTo.setAttribute(\"aria-hidden\",!1),this.renderTo.setAttribute(\"aria-label\",(n&&n.element.textContent||\"\").replace(/{E(e,t,function(){this.a11yDirty=!0})}),[\"afterApplyDrilldown\",\"drillupall\"].forEach(t=>{E(e,t,function(){let e=this.accessibility;e&&!e.zombie&&e.update()})}),E(p,\"update\",a),[\"update\",\"updatedData\",\"remove\"].forEach(e=>{E(b,e,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(P||(P={})),S(!0,C,x,{accessibility:{highContrastTheme:f},lang:v}),P}),i(t,\"masters/modules/accessibility.src.js\",[t[\"Core/Globals.js\"],t[\"Accessibility/Accessibility.js\"],t[\"Accessibility/AccessibilityComponent.js\"],t[\"Accessibility/Utils/ChartUtilities.js\"],t[\"Accessibility/Utils/HTMLUtilities.js\"],t[\"Accessibility/KeyboardNavigationHandler.js\"],t[\"Accessibility/Components/SeriesComponent/SeriesDescriber.js\"]],function(e,t,i,s,n,r,o){return e.i18nFormat=t.i18nFormat,e.A11yChartUtilities=s,e.A11yHTMLUtilities=n,e.AccessibilityComponent=i,e.KeyboardNavigationHandler=r,e.SeriesAccessibilityDescriber=o,t.compose(e.Chart,e.Legend,e.Point,e.Series,e.SVGElement,e.RangeSelector),e})});","!/**\n * Highcharts JS v11.4.8 (2024-08-29)\n *\n * (c) 2009-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */function(t){\"object\"==typeof module&&module.exports?(t.default=t,module.exports=t):\"function\"==typeof define&&define.amd?define(\"highcharts/highcharts-more\",[\"highcharts\"],function(e){return t(e),t.Highcharts=e,t}):t(\"undefined\"!=typeof Highcharts?Highcharts:void 0)}(function(t){\"use strict\";var e=t?t._modules:{};function i(e,i,s,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,s),\"function\"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:i,module:e[i]}})))}i(e,\"Extensions/Pane/PaneComposition.js\",[e[\"Core/Utilities.js\"]],function(t){let{addEvent:e,correctFloat:i,defined:s,pick:o}=t;function a(t){let e;let i=this;return t&&i.pane.forEach(s=>{r(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)}),e}function r(t,e,o,a,r){let n=!0,l=o[0],h=o[1],p=Math.sqrt(Math.pow(t-l,2)+Math.pow(e-h,2));if(s(a)&&s(r)){let s=Math.atan2(i(e-h,8),i(t-l,8));r!==a&&(n=a>r?s>=a&&s<=Math.PI||s<=r&&s>=-Math.PI:s>=a&&s<=i(r,8))}return p<=Math.ceil(o[2]/2)&&n}function n(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some(e=>r(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)))}function l(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!r(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function h(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&o(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}return{compose:function(t,i){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push(\"pane\"),s.getHoverPane=a,e(t,\"afterIsInsidePlot\",n),e(i,\"afterGetHoverData\",l),e(i,\"beforeGetHoverData\",h))}}}),i(e,\"Extensions/Pane/PaneDefaults.js\",[],function(){return{pane:{center:[\"50%\",\"50%\"],size:\"85%\",innerSize:\"0%\",startAngle:0},background:{shape:\"circle\",borderRadius:0,borderWidth:1,borderColor:\"#cccccc\",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,\"#ffffff\"],[1,\"#e6e6e6\"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:\"105%\"}}}),i(e,\"Extensions/Pane/Pane.js\",[e[\"Series/CenteredUtilities.js\"],e[\"Extensions/Pane/PaneComposition.js\"],e[\"Extensions/Pane/PaneDefaults.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{extend:o,merge:a,splat:r}=s;class n{constructor(t,e){this.coll=\"pane\",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=a(i.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g(\"pane-group\").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=r(s)).length,this.background.length||0);for(let e=0;ea,e.y=e.high,e._plotY=e.plotY,e.plotY=o,l[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,c?s.align||(s.align=i?\"right\":\"left\"):s.verticalAlign||(s.verticalAlign=i?\"top\":\"bottom\")}for(this.options.dataLabels=s,r.drawDataLabels&&r.drawDataLabels.apply(this,arguments),t=n;t--;)(e=a[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=l[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(o.enabled||this.hasDataLabels?.()){for(t=n;t--;)if(e=a[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=o.inside?ts,e.below=!i,c?o.align||(o.align=i?\"left\":\"right\"):o.verticalAlign||(o.verticalAlign=i?\"bottom\":\"top\")}this.options.dataLabels=o,r.drawDataLabels&&r.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=n;t--;)(e=a[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter(function(t){return!!t}));this.options.dataLabels=h}}alignDataLabel(){n.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=g(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e;let i=this.points.length,s=this.modifyMarkerSettings();for(r.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(r.drawPoints.apply(this,arguments),t=0;t● {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),l(f,\"afterTranslate\",function(){\"low,high\"===this.pointArrayMap.join(\",\")&&this.points.forEach(t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=c(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))})},{order:0}),l(f,\"afterTranslate\",function(){this.points.forEach(t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}})},{order:3}),p(f.prototype,{deferTranslatePolar:!0,pointArrayMap:[\"low\",\"high\"],pointClass:t,pointValKey:\"low\",setStackedPoints:o}),i.registerSeriesType(\"arearange\",f),f}),i(e,\"Series/AreaSplineRange/AreaSplineRangeSeries.js\",[e[\"Series/AreaRange/AreaRangeSeries.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){let{spline:{prototype:s}}=e.seriesTypes,{merge:o,extend:a}=i;class r extends t{}return r.defaultOptions=o(t.defaultOptions),a(r.prototype,{getPointSpline:s.getPointSpline}),e.registerSeriesType(\"areasplinerange\",r),r}),i(e,\"Series/BoxPlot/BoxPlotSeriesDefaults.js\",[],function(){return{threshold:null,tooltip:{pointFormat:'● {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:\"50%\",fillColor:\"#ffffff\",lineWidth:1,medianWidth:2,whiskerWidth:2}}),i(e,\"Series/BoxPlot/BoxPlotSeries.js\",[e[\"Series/BoxPlot/BoxPlotSeriesDefaults.js\"],e[\"Series/Column/ColumnSeries.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o){let{noop:a}=i,{crisp:r,extend:n,merge:l,pick:h}=o;class p extends e{pointAttribs(){return{}}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(i){e.forEach(function(e){null!==i[e]&&(i[e+\"Plot\"]=t.translate(i[e],0,1,0,1))}),i.plotHigh=i.highPlot})}drawPoints(){let t,e,i,s,o,a,n,l,p,d,c,u,g;let f=this.points,b=this.options,m=this.chart,y=m.renderer,x=!1!==this.doQuartiles,P=this.options.whiskerLength;for(let S of f){let f=(l=S.graphic)?\"animate\":\"attr\",M=S.shapeArgs,L={},C={},k={},v={},A=S.color||this.color;if(void 0!==S.plotY){let w;p=M.width,c=(d=M.x)+p,u=p/2,t=x?S.q1Plot:S.lowPlot,e=x?S.q3Plot:S.lowPlot,i=S.highPlot,s=S.lowPlot,l||(S.graphic=l=y.g(\"point\").add(this.group),S.stem=y.path().addClass(\"highcharts-boxplot-stem\").add(l),P&&(S.whiskers=y.path().addClass(\"highcharts-boxplot-whisker\").add(l)),x&&(S.box=y.path(n).addClass(\"highcharts-boxplot-box\").add(l)),S.medianShape=y.path(a).addClass(\"highcharts-boxplot-median\").add(l)),m.styledMode||(C.stroke=S.stemColor||b.stemColor||A,C[\"stroke-width\"]=h(S.stemWidth,b.stemWidth,b.lineWidth),C.dashstyle=S.stemDashStyle||b.stemDashStyle||b.dashStyle,S.stem.attr(C),P&&(k.stroke=S.whiskerColor||b.whiskerColor||A,k[\"stroke-width\"]=h(S.whiskerWidth,b.whiskerWidth,b.lineWidth),k.dashstyle=S.whiskerDashStyle||b.whiskerDashStyle||b.dashStyle,S.whiskers.attr(k)),x&&(L.fill=S.fillColor||b.fillColor||A,L.stroke=b.lineColor||A,L[\"stroke-width\"]=b.lineWidth||0,L.dashstyle=S.boxDashStyle||b.boxDashStyle||b.dashStyle,S.box.attr(L)),v.stroke=S.medianColor||b.medianColor||A,v[\"stroke-width\"]=h(S.medianWidth,b.medianWidth,b.lineWidth),v.dashstyle=S.medianDashStyle||b.medianDashStyle||b.dashStyle,S.medianShape.attr(v));let T=r((S.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,S.stem.strokeWidth());if(w=[[\"M\",T,e],[\"L\",T,i],[\"M\",T,t],[\"L\",T,s]],S.stem[f]({d:w}),x){let i=S.box.strokeWidth();t=r(t,i),e=r(e,i),w=[[\"M\",d=r(d,i),e],[\"L\",d,t],[\"L\",c=r(c,i),t],[\"L\",c,e],[\"L\",d,e],[\"Z\"]],S.box[f]({d:w})}if(P){let t=S.whiskers.strokeWidth();i=r(S.highPlot,t),s=r(S.lowPlot,t),w=[[\"M\",r(T-(g=\"string\"==typeof P&&/%$/.test(P)?u*parseFloat(P)/100:Number(P)/2)),i],[\"L\",r(T+g),i],[\"M\",r(T-g),s],[\"L\",r(T+g),s]],S.whiskers[f]({d:w})}w=[[\"M\",d,o=r(S.medianPlot,S.medianShape.strokeWidth())],[\"L\",c,o]],S.medianShape[f]({d:w})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}return p.defaultOptions=l(e.defaultOptions,t),n(p.prototype,{pointArrayMap:[\"low\",\"q1\",\"median\",\"q3\",\"high\"],pointValKey:\"high\",drawDataLabels:a,setStackedPoints:a}),s.registerSeriesType(\"boxplot\",p),p}),i(e,\"Series/Bubble/BubbleLegendDefaults.js\",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:\"\",formatter:void 0,align:\"right\",style:{fontSize:\"0.9em\",color:\"#000000\"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:\"area\",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),i(e,\"Series/Bubble/BubbleLegendItem.js\",[e[\"Core/Color/Color.js\"],e[\"Core/Templating.js\"],e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{parse:o}=t,{noop:a}=i,{arrayMax:r,arrayMin:n,isNumber:l,merge:h,pick:p,stableSort:d}=s;return class{constructor(t,e){this.setState=a,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=p(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,a=o.ranges,r=o.connectorDistance;if(!a||!a.length||!l(a[0].value)){t.options.bubbleLegend.autoRanges=!0;return}d(a,function(t,e){return e.value-t.value}),this.ranges=a,this.setOptions(),this.render();let n=this.getMaxLabelSize(),h=this.ranges[0].radius,c=2*h;e=(e=r-h+n.width)>0?e:0,this.maxLabel=n,this.movementX=\"left\"===o.labels.align?e:0,s.labelWidth=c+e+i,s.labelHeight=c+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,a={zIndex:e.zIndex,\"stroke-width\":e.borderWidth},r={zIndex:e.zIndex,\"stroke-width\":e.connectorWidth},n={align:this.legend.options.rtl||\"left\"===e.labels.align?\"right\":\"left\",zIndex:e.zIndex},l=i.options.marker.fillOpacity,d=this.chart.styledMode;t.forEach(function(c,u){d||(a.stroke=p(c.borderColor,e.borderColor,i.color),a.fill=p(c.color,e.color,1!==l?o(i.color).setOpacity(l).get(\"rgba\"):i.color),r.stroke=p(c.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(c.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),d||h(!0,t[u],{bubbleAttribs:h(a),connectorAttribs:h(r),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,a=e.ranges[e.ranges.length-1].value,r=e.minSize,n=e.maxSize;return s.getRadius.call(this,a,o,r,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g(\"bubble-legend\"),t.label=e.g(\"bubble-legend-item\").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,a=this.chart,r=a.series[s.seriesIndex],n=a.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=o.align,g=i.options.rtl,f=s.borderWidth,b=s.connectorWidth,m=e.radius||0,y=p-d-f/2+b/2,x=(y%1?1:.5)-(b%2?0:.5),P=n.styledMode,S=g||\"left\"===u?-c:c;\"center\"===u&&(S=0,s.connectorDistance=0,t.labelAttribs.align=\"center\"),l.bubbleItems.push(n.circle(m,p+x,d).attr(P?{}:t.bubbleAttribs).addClass((P?\"highcharts-color-\"+r.colorIndex+\" \":\"\")+\"highcharts-bubble-legend-symbol \"+(s.className||\"\")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([[\"M\",m,y],[\"L\",m+S,y]],s.connectorWidth)).attr(P?{}:t.connectorAttribs).addClass((P?\"highcharts-color-\"+this.options.seriesIndex+\" \":\"\")+\"highcharts-bubble-legend-connectors \"+(s.connectorClassName||\"\")).add(this.legendItem.symbol));let M=n.text(this.formatLabel(t)).attr(P?{}:t.labelAttribs).css(P?{}:o.style).addClass(\"highcharts-bubble-legend-labels \"+(s.labels.className||\"\")).add(this.legendItem.symbol),L={x:m+S+s.labels.x,y:y+s.labels.y+.4*M.getBBox().height};M.attr(L),h.push(M),M.placed=!0,M.alignAttr=L}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,o=i.labels.format,{numberFormatter:a}=this.chart;return o?e.format(o,t):s?s.call(t):a(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,a=Number.MAX_VALUE,d=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(l)).length&&(a=p(t.options.zMin,Math.min(a,Math.max(n(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),d=p(t.options.zMax,Math.max(d,r(o))))}),s=a===d?[{value:d}]:[{value:a},{value:(a+d)/2},{value:d,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=h(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s=\"horizontal\"===e.layout,o=s?t.legend.lastLineHeight:0,a=t.plotSizeX,r=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(r,a),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+o)*(u=parseFloat(u))/100/(u/100+1),(s&&r-c>=a||!s&&a-c>=r)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}}),i(e,\"Series/Bubble/BubbleLegendComposition.js\",[e[\"Series/Bubble/BubbleLegendDefaults.js\"],e[\"Series/Bubble/BubbleLegendItem.js\"],e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o){let{setOptions:a}=i,{composed:r}=s,{addEvent:n,objectEach:l,pushUnique:h,wrap:p}=o;function d(t,e,i){let s,o,a;let r=this.legend,n=c(this)>=0;r&&r.options.enabled&&r.bubbleLegend&&r.options.bubbleLegend.autoRanges&&n?(s=r.bubbleLegend.options,o=r.bubbleLegend.predictBubbleSizes(),r.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(r.group.placed=!1,r.allItems.forEach(t=>{(a=t.legendItem||{}).group&&(a.group.translateY=void 0)})),r.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),r.bubbleLegend.correctSizes(),b(r,u(r))):(t.call(this,e,i),r&&r.options.enabled&&r.bubbleLegend&&(r.render(),b(r,u(r))))}function c(t){let e=t.series,i=0;for(;io.height&&(o.height=e[l].itemHeight);o.step=n}return i}function g(t){let i=this.bubbleLegend,s=this.options,o=s.bubbleLegend,a=c(this.chart);i&&i.ranges&&i.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(i)),a>=0&&s.enabled&&o.enabled&&(o.seriesIndex=a,this.bubbleLegend=new e(o,this),this.bubbleLegend.addToLegend(t.allItems))}function f(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=c(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function b(t,e){let i=t.allItems,s=t.options.rtl,o,a,r,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,a=n.y||0,((r=t.movementX)||s&&t.ranges)&&(r=s?o-t.options.maxSize/2:o+r,n.group.attr({translateX:r})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(a+e[l].height/2)}),n.y=a+e[l].height/2)})}return{compose:function(e,i){h(r,\"Series.BubbleLegend\")&&(a({legend:{bubbleLegend:t}}),p(e.prototype,\"drawChartBox\",d),n(i,\"afterGetAllItems\",g),n(i,\"itemClick\",f))}}}),i(e,\"Series/Bubble/BubblePoint.js\",[e[\"Core/Series/Point.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:o}=i;class a extends s{haloPath(e){let i=(e&&this.marker&&this.marker.radius||0)+e;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:e,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(e.len-t[1]-i,s.len-t[0]-i,2*i,2*i)}return t.prototype.haloPath.call(this,i)}}return o(a.prototype,{ttBelow:!1}),a}),i(e,\"Series/Bubble/BubbleSeries.js\",[e[\"Series/Bubble/BubbleLegendComposition.js\"],e[\"Series/Bubble/BubblePoint.js\"],e[\"Core/Color/Color.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,a){let{parse:r}=i,{composed:n,noop:l}=s,{series:h,seriesTypes:{column:{prototype:p},scatter:d}}=o,{addEvent:c,arrayMax:u,arrayMin:g,clamp:f,extend:b,isNumber:m,merge:y,pick:x,pushUnique:P}=a;function S(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=i?\"xData\":\"yData\",a=(this.max||0)-(s||0),r=0,n=t,l=t/a,h;(\"xAxis\"===e||\"yAxis\"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t[o];if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),a>0){let i=e.length;for(;i--;)if(m(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;r=Math.min((e[i]-s)*l-o,r),n=Math.max((e[i]-s)*l+o,n)}}}}),h&&a>0&&!this.logarithmic&&(n-=t,l*=(t+Math.max(0,r)-Math.min(n,t))/t,[[\"min\",\"userMin\",r],[\"max\",\"userMax\",n]].forEach(t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}class M extends d{static compose(e,i,s){t.compose(i,s),P(n,\"Series.Bubble\")&&c(e,\"foundExtremes\",S)}animate(t){!t&&this.points.length{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(x(e,o.zMin),o.zMin),i=Math.max(x(i,o.zMax),o.zMax),t=!0)}}),t?(r={zMin:e,zMax:i},this.chart.bubbleZExtremes=r):r={zMin:0,zMax:0}}for(o=0,s=t.length;o0&&(p=(o-t)/h)}return n&&p>=0&&(p=Math.sqrt(p)),Math.ceil(i+p*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?b(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=r(s.fill).setOpacity(i).get(\"rgba\")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let a=t[o],r=i?i[o]:0;\"z\"===this.zoneAxis&&(a.negative=(a.z||0)<(e.zThreshold||0)),m(r)&&r>=s/2?(a.marker=b(a.marker,{radius:r,width:2*r,height:2*r}),a.dlBox={x:a.plotX-r,y:a.plotY-r,width:2*r,height:2*r}):(a.shapeArgs=a.plotY=a.dlBox=void 0,a.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return\"string\"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8)),s=Math.max(e(x(this.options.maxSize,\"20%\")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(m);if(e.length){let i=x(t.zMin,f(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=x(t.zMax,u(e));if(m(i)&&m(s))return{zMin:i,zMax:s}}}}return M.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return m(e)?t(e,-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\"}),b(M.prototype,{alignDataLabel:p.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:[\"y\",\"z\"],pointClass:e,parallelArrays:[\"x\",\"y\",\"z\"],trackerGroups:[\"group\",\"dataLabelsGroup\"],specialGroup:\"group\",zoneAxis:\"z\"}),c(M,\"updatedData\",t=>{delete t.target.chart.bubbleZExtremes}),c(M,\"remove\",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType(\"bubble\",M),M}),i(e,\"Series/ColumnRange/ColumnRangePoint.js\",[e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{seriesTypes:{column:{prototype:{pointClass:{prototype:i}}},arearange:{prototype:{pointClass:s}}}}=t,{extend:o,isNumber:a}=e;class r extends s{isValid(){return a(this.low)}}return o(r.prototype,{setState:i.setState}),r}),i(e,\"Series/ColumnRange/ColumnRangeSeries.js\",[e[\"Series/ColumnRange/ColumnRangePoint.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{noop:o}=e,{seriesTypes:{arearange:a,column:r,column:{prototype:n}}}=i,{addEvent:l,clamp:h,extend:p,isNumber:d,merge:c,pick:u}=s;class g extends a{setOptions(){return c(!0,arguments[0],{stacking:void 0}),a.prototype.setOptions.apply(this,arguments)}translate(){return n.translate.apply(this)}pointAttribs(){return n.pointAttribs.apply(this,arguments)}translate3dPoints(){return n.translate3dPoints.apply(this,arguments)}translate3dShapes(){return n.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s;let o=this.yAxis,a=this.xAxis,r=a.startAngleRad,n=this.chart,l=this.xAxis.isRadial,p=Math.max(n.chartWidth,n.chartHeight)+999;this.points.forEach(g=>{let f=g.shapeArgs||{},b=this.options.minPointLength,m=g.plotY,y=o.translate(g.high,0,1,0,1);if(d(y)&&d(m)){if(g.plotHigh=h(y,-p,p),g.plotLow=h(m,-p,p),s=g.plotHigh,Math.abs(t=u(g.rectPlotY,g.plotY)-g.plotHigh)● {series.name}: {point.low} - {point.high}
'},whiskerWidth:null}}),i(e,\"Series/ErrorBar/ErrorBarSeries.js\",[e[\"Series/BoxPlot/BoxPlotSeries.js\"],e[\"Series/Column/ColumnSeries.js\"],e[\"Series/ErrorBar/ErrorBarSeriesDefaults.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o){let{arearange:a}=s.seriesTypes,{addEvent:r,merge:n,extend:l}=o;class h extends t{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||e.prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(a)for(let e of(a.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}return h.defaultOptions=n(t.defaultOptions,i),r(h,\"afterTranslate\",function(){for(let t of this.points)t.plotLow=t.plotY},{order:0}),l(h.prototype,{pointArrayMap:[\"low\",\"high\"],pointValKey:\"high\",doQuartiles:!1}),s.registerSeriesType(\"errorbar\",h),h}),i(e,\"Series/Gauge/GaugePoint.js\",[e[\"Core/Series/SeriesRegistry.js\"]],function(t){let{series:{prototype:{pointClass:e}}}=t;return class extends e{setState(t){this.state=t}}}),i(e,\"Series/Gauge/GaugeSeries.js\",[e[\"Series/Gauge/GaugePoint.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{noop:o}=e,{series:a,seriesTypes:{column:r}}=i,{clamp:n,isNumber:l,extend:h,merge:p,pick:d,pInt:c,defined:u}=s;class g extends a{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach(s=>{let o=p(e.dial,s.dial),a=c(o.radius)*i[2]/200,r=c(o.baseLength)*a/100,h=c(o.rearLength)*a/100,d=o.baseWidth,g=o.topWidth,f=e.overshoot,b=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(l(f)||!1===e.wrap)&&(f=l(f)?f/180*Math.PI:0,b=n(b,t.startAngleRad-f,t.endAngleRad+f)),b=180*b/Math.PI,s.shapeType=\"path\";let m=o.path||[[\"M\",-h,-d/2],[\"L\",r,-d/2],[\"L\",a,-g/2],[\"L\",a,g/2],[\"L\",r,d/2],[\"L\",-h,d/2],[\"Z\"]];s.shapeArgs={d:m,translateX:i[0],translateY:i[1],rotation:b},s.plotX=i[0],s.plotY=i[1],u(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)})}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,o=t.options,a=o.pivot,r=e.renderer;t.points.forEach(i=>{let s=i.graphic,a=i.shapeArgs,n=a.d,l=p(o.dial,i.dial);s?(s.animate(a),a.d=n):i.graphic=r[i.shapeType](a).addClass(\"highcharts-dial\").add(t.group),e.styledMode||i.graphic[s?\"animate\":\"attr\"]({stroke:l.borderColor,\"stroke-width\":l.borderWidth,fill:l.backgroundColor})}),s?s.animate({translateX:i[0],translateY:i[1]}):a&&(t.pivot=r.circle(0,0,a.radius).attr({zIndex:2}).addClass(\"highcharts-pivot\").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:a.backgroundColor,stroke:a.borderColor,\"stroke-width\":a.borderWidth}))}animate(t){let e=this;t||e.points.forEach(t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))})}render(){this.group=this.plotGroup(\"group\",\"series\",this.visible?\"inherit\":\"hidden\",this.options.zIndex,this.chart.seriesGroup),a.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){a.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),d(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return g.defaultOptions=p(a.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}),h(g.prototype,{angular:!0,directTouch:!0,drawGraph:o,drawTracker:r.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:t,trackerGroups:[\"group\",\"dataLabelsGroup\"]}),i.registerSeriesType(\"gauge\",g),g}),i(e,\"Series/DragNodesComposition.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{composed:i}=t,{addEvent:s,pushUnique:o}=e;function a(){let t,e,i;let o=this;o.container&&(t=s(o.container,\"mousedown\",t=>{let a=o.hoverPoint;a&&a.series&&a.series.hasDraggableNodes&&a.series.options.draggable&&(a.series.onMouseDown(a,t),e=s(o.container,\"mousemove\",t=>a&&a.series&&a.series.onMouseMove(a,t)),i=s(o.container.ownerDocument,\"mouseup\",t=>(e(),i(),a&&a.series&&a.series.onMouseUp(a,t))))})),s(o,\"destroy\",function(){t()})}return{compose:function(t){o(i,\"DragNodes\")&&s(t,\"load\",a)},onMouseDown:function(t,e){let i=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:i.chartX,chartY:i.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s;let o=this.chart,a=o.pointer?.normalize(e)||e,r=t.fixedPosition.chartX-a.chartX,n=t.fixedPosition.chartY-a.chartY,l=o.graphLayoutsLookup;(Math.abs(r)>5||Math.abs(n)>5)&&(i=t.fixedPosition.plotX-r,s=t.fixedPosition.plotY-n,o.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach(t=>{t.restartSimulation()})))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}}}),i(e,\"Series/GraphLayoutComposition.js\",[e[\"Core/Animation/AnimationUtilities.js\"],e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){let{setAnimation:s}=t,{composed:o}=e,{addEvent:a,pushUnique:r}=i;function n(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation()}),this.redraw())}function l(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation(!1)}),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(t=>{t.stop()})}function p(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(s(!1,this),this.graphLayoutsLookup.forEach(t=>t.start());!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach(t=>{t&&t.layout&&t.render()})}}return{compose:function(t){r(o,\"GraphLayout\")&&(a(t,\"afterPrint\",n),a(t,\"beforePrint\",l),a(t,\"predraw\",h),a(t,\"render\",p))},integrations:{},layouts:{}}}),i(e,\"Series/PackedBubble/PackedBubblePoint.js\",[e[\"Core/Chart/Chart.js\"],e[\"Core/Series/Point.js\"],e[\"Core/Series/SeriesRegistry.js\"]],function(t,e,i){let{seriesTypes:{bubble:{prototype:{pointClass:s}}}}=i;return class extends s{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),e.prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let i=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,e.prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=i}else e.prototype.firePointEvent.apply(this,arguments)}select(){let i=this.series.chart;this.isParentNode?(i.getSelectedPoints=i.getSelectedParentNodes,e.prototype.select.apply(this,arguments),i.getSelectedPoints=t.prototype.getSelectedPoints):e.prototype.select.apply(this,arguments)}}}),i(e,\"Series/PackedBubble/PackedBubbleSeriesDefaults.js\",[e[\"Core/Utilities.js\"]],function(t){let{isNumber:e}=t;return{minSize:\"10%\",maxSize:\"50%\",sizeBy:\"area\",zoneAxis:\"y\",crisp:!1,tooltip:{pointFormat:\"Value: {point.value}\"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-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}}}),i(e,\"Series/Networkgraph/VerletIntegration.js\",[],function(){return{attractive:function(t,e,i){let s=t.getMass(),o=-i.x*e*this.diffTemperature,a=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=o*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=a*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=o*s.toNode/t.toNode.degree,t.toNode.plotY+=a*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach(function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,o=e.prevX,a=e.prevY,r=(e.plotX+e.dispX-o)*i,n=(e.plotY+e.dispY-a)*i,l=Math.abs,h=l(r)/(r||1),p=l(n)/(n||1),d=h*Math.min(s,Math.abs(r)),c=p*Math.min(s,Math.abs(n));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=c,e.temperature=t.vectorLength({x:d,y:c})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}}}),i(e,\"Series/PackedBubble/PackedBubbleIntegration.js\",[e[\"Core/Globals.js\"],e[\"Series/Networkgraph/VerletIntegration.js\"]],function(t,e){let{noop:i}=t;return{barycenter:function(){let t,e;let i=this.options.gravitationalConstant,s=this.box,o=this.nodes;for(let a of o)this.options.splitSeries&&!a.isParentNode?(t=a.series.parentNode.plotX,e=a.series.parentNode.plotY):(t=s.width/2,e=s.height/2),a.fixedPosition||(a.plotX-=(a.plotX-t)*i/(a.mass*Math.sqrt(o.length)),a.plotY-=(a.plotY-e)*i/(a.mass*Math.sqrt(o.length)))},getK:i,integrate:e.integrate,repulsive:function(t,e,i,s){let o=e*this.diffTemperature/t.mass/t.degree,a=i.x*o,r=i.y*o;t.fixedPosition||(t.plotX+=a,t.plotY+=r),s.fixedPosition||(s.plotX-=a,s.plotY-=r)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}}}),i(e,\"Series/Networkgraph/EulerIntegration.js\",[],function(){return{attractive:function(t,e,i,s){let o=t.getMass(),a=i.x/s*e,r=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=a*o.fromNode/t.fromNode.degree,t.fromNode.dispY-=r*o.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=a*o.toNode/t.toNode.degree,t.toNode.dispY+=r*o.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(s){if(!s.fixedPosition){let o=s.getDegree(),a=o*(1+o/2);s.dispX+=(e-s.plotX)*t*a/s.degree,s.dispY+=(i-s.plotY)*t*a/s.degree}})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}}}),i(e,\"Series/Networkgraph/QuadTreeNode.js\",[],function(){class t{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let e=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:e,height:i}),this.nodes[1]=new t({left:this.box.left+e,top:this.box.top,width:e,height:i}),this.nodes[2]=new t({left:this.box.left+e,top:this.box.top+i,width:e,height:i}),this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:e,height:i})}getBoxPosition(t){let e=t.plotXthis.step())):(this.simulation=!1,this.series.forEach(t=>{p(t,\"afterSimulation\")}))}}stop(){this.simulation&&r.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,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(t){this.maxIterations=d(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new s(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(h(t))for(let e of(t.call(this),this.nodes))l(e.prevX)||(e.prevX=e.plotX),l(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else\"circle\"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t;let e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),o=i.filter(function(t){return 0===t.linksTo.length}),a={},r=this.options.initialPositionRadius,n=t=>{for(let e of t.linksFrom||[])a[e.toNode.id]||(a[e.toNode.id]=!0,l.push(e.toNode),n(e.toNode))},l=[];for(let t of o)l.push(t),n(t);if(l.length)for(let t of i)-1===l.indexOf(t)&&l.push(t);else l=i;for(let i=0,o=l.length;i{let e=t*t/Math.PI;return e-Math.floor(e)};for(let a=0,r=i.length;athis.barnesHutApproximation(t,e));else{let t,e,i;for(let s of this.nodes)for(let o of this.nodes)s===o||s.fixedPosition||(i=this.getDistXY(s,o),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force(\"repulsive\",s,t*o.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force(\"attractive\",s,i,t,e)))}applyLimits(){for(let t of this.nodes)t.fixedPosition||(this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0)}applyLimitBox(t,e){let i=t.radius;t.plotX=n(t.plotX,e.left+i,e.width-i),t.plotY=n(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}return c}),i(e,\"Series/PackedBubble/PackedBubbleLayout.js\",[e[\"Series/GraphLayoutComposition.js\"],e[\"Series/PackedBubble/PackedBubbleIntegration.js\"],e[\"Series/Networkgraph/ReingoldFruchtermanLayout.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{addEvent:o,pick:a}=s;function r(){let t=this.series,e=[];return t.forEach(t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)}),e}function n(){this.allDataPoints&&delete this.allDataPoints}class l extends i{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(s){i.compose(s),t.integrations.packedbubble=e,t.layouts.packedbubble=l;let a=s.prototype;a.getSelectedParentNodes||(o(s,\"beforeRedraw\",n),a.getSelectedParentNodes=r)}beforeStep(){this.options.marker&&this.series.forEach(t=>{t&&t.calculateParentRadius()})}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t=this.box,e=this.nodes,i=2*Math.PI/(e.length+1),s=this.options.initialPositionRadius,o,r,n=0;for(let l of e)this.options.splitSeries&&!l.isParentNode?(o=l.series.parentNode.plotX,r=l.series.parentNode.plotY):(o=t.width/2,r=t.height/2),l.plotX=l.prevX=a(l.plotX,o+s*Math.cos(l.index||n*i)),l.plotY=l.prevY=a(l.plotY,r+s*Math.sin(l.index||n*i)),l.dispX=0,l.dispY=0,n++}repulsiveForces(){let t,e,i;let s=this,o=s.options.bubblePadding,a=s.nodes;a.forEach(r=>{r.degree=r.mass,r.neighbours=0,a.forEach(a=>{t=0,r!==a&&!r.fixedPosition&&(s.options.seriesInteraction||r.series===a.series)&&(i=s.getDistXY(r,a),(e=s.vectorLength(i)-(r.marker.radius+a.marker.radius+o))<0&&(r.degree+=.01,r.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(r.neighbours),s.k,r,a)),s.force(\"repulsive\",r,t*a.mass,i,a,e))})})}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}return t.layouts.packedbubble=l,l}),i(e,\"Series/SimulationSeriesUtilities.js\",[e[\"Core/Utilities.js\"],e[\"Core/Animation/AnimationUtilities.js\"]],function(t,e){let{merge:i,syncTimeout:s}=t,{animObject:o}=e;return{initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&t?.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(i({opacity:1},this.getPlotBox(\"data-labels\"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let t=this.options.dataLabels;t?.defer&&this.options.layoutAlgorithm?.enableSimulation?s(()=>{this.deferDataLabels=!1},t?o(t.animation).defer:0):this.deferDataLabels=!1}}}),i(e,\"Extensions/TextPath.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{deg2rad:i}=t,{addEvent:s,merge:o,uniqueKey:a,defined:r,extend:n}=e;function l(t,e){e=o(!0,{enabled:!0,attributes:{dy:-5,startOffset:\"50%\",textAnchor:\"middle\"}},e);let i=this.renderer.url,l=this.text||this,h=l.textPath,{attributes:p,enabled:d}=e;if(t=t||h&&h.path,h&&h.undo(),t&&d){let e=s(l,\"afterModifyTree\",e=>{if(t&&d){let s=t.attr(\"id\");s||t.attr(\"id\",s=a());let o={x:0,y:0};r(p.dx)&&(o.dx=p.dx,delete p.dx),r(p.dy)&&(o.dy=p.dy,delete p.dy),l.attr(o),this.attr({transform:\"\"}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:\"textPath\",attributes:n(p,{\"text-anchor\":p.textAnchor,href:`${i}#${s}`}),children:h}}});l.textPath={path:t,undo:e}}else l.attr({dx:0,dy:0}),delete l.textPath;return this.added&&(l.textCache=\"\",this.renderer.buildText(l)),this}function h(t){let e=t.bBox,s=this.element?.querySelector(\"textPath\");if(s){let t=[],{b:o,h:a}=this.renderer.fontMetrics(this.element),r=a-o,n=RegExp('(|]*>|<\\\\/tspan>)',\"g\"),l=s.innerHTML.replace(n,\"\").split(/]*>/),h=l.length,p=(t,e)=>{let{x:a,y:n}=e,l=(s.getRotationOfChar(t)-90)*i,h=Math.cos(l),p=Math.sin(l);return[[a-r*h,n-r*p],[a+o*h,n+o*p]]};for(let e=0,i=0;i{t.mass=2,t.degree=1,t.collisionNmb=1}),r.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),r.addElementsToCollection([this],r.series),r.addElementsToCollection(this.points,r.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||\"packedbubble\",s=this.chart.graphLayoutsStorage,o=this.chart.graphLayoutsLookup,a=k(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),r=s[e+\"-series\"];r||(s[e+\"-series\"]=r=new i.layouts[e],r.init(a),o.splice(r.index,0,r)),this.parentNodeLayout=r,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=x(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.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 t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,o=-1/0;return e&&i?[e,i]:(t.forEach(t=>{t.yData.forEach(t=>{P(t)&&(t>o&&(o=t),t{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)}),this.calculateParentRadius(),i.nodes.forEach(t=>{t.seriesIndex===this.index&&(o=!0)}),i.setArea(0,0,e.plotWidth,e.plotHeight),o||(a||(a=new t(this,{mass:this.parentNodeRadius/2,marker:r,dataLabels:{inside:!1},states:{normal:{marker:r},hover:{marker:r}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(a.plotX=this.parentNode.plotX,a.plotY=this.parentNode.plotY),this.parentNode=a,i.addElementsToCollection([this],i.series),i.addElementsToCollection([a],i.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(t=>{t.removeElementFromCollection(this,t.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),g.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(g.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix=\"parentNode\",g.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let t=this.chart,e=this.layout.options.parentNodeOptions.marker,i={fill:e.fillColor||c(this.color).brighten(.4).get(),opacity:e.fillOpacity,stroke:e.lineColor||this.color,\"stroke-width\":v(e.lineWidth,this.options.lineWidth)},s={};this.parentNodesGroup=this.plotGroup(\"parentNodesGroup\",\"parentNode\",this.visible?\"inherit\":\"hidden\",.1,t.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&P(this.parentNode.plotX)&&P(this.parentNode.plotY)&&P(this.parentNodeRadius)&&(s=k({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},i),this.parentNode.graphic||(this.graph=this.parentNode.graphic=t.renderer.symbol(i.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(s))}drawTracker(){let t;let e=this.parentNode;super.drawTracker(),e&&(t=L(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(t=>{(t.div||t.element).point=e}))}getPointRadius(){let t,e,i,s;let o=this.chart,a=o.plotWidth,r=o.plotHeight,n=this.options,l=n.useSimulation,h=Math.min(a,r),p={},d=[],c=o.allDataPoints||[],u=c.length;[\"minSize\",\"maxSize\"].forEach(t=>{let e=parseInt(n[t],10),i=/%$/.test(n[t]);p[t]=i?h*e/100:e*Math.sqrt(u)}),o.minRadius=t=p.minSize/Math.sqrt(u),o.maxRadius=e=p.maxSize/Math.sqrt(u);let g=l?this.calculateZExtremes():[t,e];c.forEach((o,a)=>{i=l?x(o[2],g[0],g[1]):o[2],0===(s=this.getRadius(g[0],g[1],t,e,i))&&(s=null),c[a][2]=s,d.push(s)}),this.radii=d}init(){return g.init.apply(this,arguments),m.call(this),this.eventsToUnbind.push(y(this,\"updatedData\",function(){this.chart.series.forEach(t=>{t.type===this.type&&(t.isDirty=!0)},this)})),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let i;let s=this.layout,o=this.parentNodeLayout;o&&s.options.dragBetweenSeries&&o.nodes.forEach(e=>{t&&t.marker&&e!==t.series.parentNode&&(i=s.getDistXY(t,e),s.vectorLength(i)-e.marker.radius-t.marker.radius<0&&(e.series.addPoint(k(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),s.removeElementFromCollection(t,s.nodes),t.remove()))}),e.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e=this.checkOverlap,i=this.positionBubble,s=[],o=1,a=0,r=0,n,l=[],h,p=t.sort((t,e)=>e[2]-t[2]);if(p.length){if(s.push([[0,0,p[0][2],p[0][3],p[0][4]]]),p.length>1)for(s.push([[0,0-p[1][2]-p[0][2],p[1][2],p[1][3],p[1][4]]]),h=2;h1&&s[o-1][r+1]&&e(n,s[o-1][r+1])?(r++,s[o].push(i(s[o][a],s[o-1][r],p[h])),a++):(a++,s[o].push(n));this.chart.stages=s,this.chart.rawPositions=[].concat.apply([],s),this.resizeRadius(),l=this.chart.rawPositions}return l}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,o=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(o=i.layoutAlgorithm.parentNodeOptions.marker);let a=o.fillOpacity,r=g.pointAttribs.call(this,t,e);return 1!==a&&(r[\"fill-opacity\"]=a),r}positionBubble(t,e,i){let s=Math.asin,o=Math.acos,a=Math.pow,r=Math.abs,n=(0,Math.sqrt)(a(t[0]-e[0],2)+a(t[1]-e[1],2)),l=o((a(n,2)+a(i[2]+e[2],2)-a(i[2]+t[2],2))/(2*(i[2]+e[2])*n)),h=s(r(t[0]-e[0])/n),p=(t[1]-e[1]<0?0:Math.PI)+l+h*((t[0]-e[0])*(t[1]-e[1])<0?1:-1),d=Math.cos(p),c=Math.sin(p);return[e[0]+(e[2]+i[2])*c,e[1]-(e[2]+i[2])*d,i[2],i[3],i[4]]}render(){let t=[];g.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(e=>{L(e.dataLabels)&&e.dataLabels.forEach(e=>{t.push(e)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,o;let a=this.chart,r=a.rawPositions,n=Math.min,l=Math.max,h=a.plotLeft,p=a.plotTop,d=a.plotHeight,c=a.plotWidth;for(let a of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,r))o=a[2],t=n(t,a[0]-o),e=l(e,a[0]+o),i=n(i,a[1]-o),s=l(s,a[1]+o);let u=[e-t,s-i],g=[(c-h)/u[0],(d-p)/u[1]],f=n.apply([],g);if(Math.abs(f-1)>1e-10){for(let t of r)t[2]*=f;this.placeBubbles(r)}else a.diffY=d/2+p-i-(s-i)/2,a.diffX=c/2+h-t-(e-t)/2}seriesBox(){let t;let e=this.chart,i=this.data,s=Math.max,o=Math.min,a=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach(e=>{P(e.plotX)&&P(e.plotY)&&e.marker.radius&&(t=e.marker.radius,a[0]=o(a[0],e.plotX-t),a[1]=s(a[1],e.plotX+t),a[2]=o(a[2],e.plotY-t),a[3]=s(a[3],e.plotY+t))}),C(a.width/a.height)?a:null}setVisible(){let t=this;g.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach(e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)}))}translate(){let t,e,i;let s=this.chart,o=this.data,a=this.index,r=this.options.useSimulation;for(let n of(this.processedXData=this.xData,this.generatePoints(),P(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),r?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))n[3]===a&&(t=o[n[4]],e=v(n[2],void 0),r||(t.plotX=n[0]-s.plotLeft+s.diffX,t.plotY=n[1]-s.plotTop+s.diffY),C(e)&&(t.marker=S(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));r&&this.deferLayout(),M(this,\"afterTranslate\")}}return A.defaultOptions=k(f.defaultOptions,a),S(A.prototype,{pointClass:o,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:b,alignDataLabel:g.alignDataLabel,indexateNodes:u,onMouseDown:e.onMouseDown,onMouseMove:e.onMouseMove,redrawHalo:e.redrawHalo,searchPoint:u}),n.registerSeriesType(\"packedbubble\",A),A}),i(e,\"Series/Polygon/PolygonSeriesDefaults.js\",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:\"\"},trackByArea:!0,legendSymbol:\"rectangle\"}}),i(e,\"Series/Polygon/PolygonSeries.js\",[e[\"Core/Globals.js\"],e[\"Series/Polygon/PolygonSeriesDefaults.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let{noop:o}=t,{area:a,line:r,scatter:n}=i.seriesTypes,{extend:l,merge:h}=s;class p extends n{getGraphPath(){let t=r.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||\"M\"===t[e][0])&&e>0&&t.splice(e,0,[\"Z\"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,a.prototype.drawGraph.call(this)}}return p.defaultOptions=h(n.defaultOptions,e),l(p.prototype,{type:\"polygon\",drawTracker:r.prototype.drawTracker,setStackedPoints:o}),i.registerSeriesType(\"polygon\",p),p}),i(e,\"Core/Axis/RadialAxisDefaults.js\",[],function(){return{circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:\"none\"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:\"circle\",gridLineWidth:1,labels:{align:\"right\",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:\"center\",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:\"auto\",minorTickLength:10,minorTickPosition:\"inside\",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:\"inside\",tickWidth:2,title:{rotation:0,text:\"\"},zIndex:2}}}),i(e,\"Core/Axis/RadialAxis.js\",[e[\"Core/Axis/RadialAxisDefaults.js\"],e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){var o;let{defaultOptions:a}=e,{composed:r,noop:n}=i,{addEvent:l,correctFloat:h,defined:p,extend:d,fireEvent:c,isObject:u,merge:g,pick:f,pushUnique:b,relativeLength:m,wrap:y}=s;return function(e){function s(){this.autoConnect=this.isCircular&&void 0===f(this.userMax,this.options.max)&&h(this.endAngleRad-this.startAngleRad)===h(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function o(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(t=>this.ticks[t]&&this.ticks[t].label).filter(t=>!!t)}}function x(){return n}function P(t,e,i){let s=this.pane.center,o=t.value,a,r,n;return this.isCircular?(p(o)?t.point&&(t.point.shapeArgs||{}).start&&(o=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(r=t.chartX||0,n=t.chartY||0,o=this.translate(Math.atan2(n-i,r-e)-this.startAngleRad,!0)),r=(a=this.getPosition(o)).x,n=a.y):(p(o)||(r=t.chartX,n=t.chartY),p(r)&&p(n)&&(i=s[1]+this.chart.plotTop,o=this.translate(Math.min(Math.sqrt(Math.pow(r-e,2)+Math.pow(n-i,2)),s[2]/2)-s[3]/2,!0))),[o,r||0,n||0]}function S(t,e,i){let s=this.pane.center,o=this.chart,a=this.left||0,r=this.top||0,n,l=f(e,s[2]/2-this.offset),h;return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(l+=i),this.isCircular||void 0!==e?((h=this.chart.renderer.symbols.arc(a+s[0],r+s[1],l,l,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[a+s[0]],h.yBounds=[r+s[1]-l]):(n=this.postTranslate(this.angleRad,l),h=[[\"M\",this.center[0]+o.plotLeft,this.center[1]+o.plotTop],[\"L\",n.x,n.y]]),h}function M(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function L(t,e,i){let s=this.chart,o=t=>{if(\"string\"==typeof t){let e=parseInt(t,10);return d.test(t)&&(e=e*n/100),e}return t},a=this.center,r=this.startAngleRad,n=a[2]/2,l=Math.min(this.offset,0),h=this.left||0,p=this.top||0,d=/%$/,c=this.isCircular,u,g,b,m,y,x,P=f(o(i.outerRadius),n),S=o(i.innerRadius),M=f(o(i.thickness),10);if(\"polygon\"===this.options.gridLineInterpolation)x=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let o=this.translate(t),n=this.translate(e);c||(P=o||0,S=n||0),\"circle\"!==i.shape&&c?(u=r+(o||0),g=r+(n||0)):(u=-Math.PI/2,g=1.5*Math.PI,y=!0),P-=l,M-=l,x=s.renderer.symbols.arc(h+a[0],p+a[1],P,P,{start:Math.min(u,g),end:Math.max(u,g),innerR:f(S,P-M),open:y,borderRadius:i.borderRadius}),c&&(b=(g+u)/2,m=h+a[0]+a[2]/2*Math.cos(b),x.xBounds=b>-Math.PI/2&&b-Math.PI&&b<0||b>Math.PI?-10:10)}return x}function C(t){let e=this.pane.center,i=this.chart,s=i.inverted,o=t.reverse,a=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},r=a.innerRadius||\"0%\",n=a.outerRadius||\"100%\",l=e[0]+i.plotLeft,h=e[1]+i.plotTop,p=this.height,d=t.isCrosshair,c=e[3]/2,u=t.value,g,f,b,y,x,P,S,M,L,C=this.getPosition(u),k=C.x,v=C.y;if(d&&(u=(M=this.getCrosshairPosition(t,l,h))[0],k=M[1],v=M[2]),this.isCircular)f=Math.sqrt(Math.pow(k-l,2)+Math.pow(v-h,2)),b=\"string\"==typeof r?m(r,1):r/f,y=\"string\"==typeof n?m(n,1):n/f,e&&c&&(b<(g=c/f)&&(b=g),yp)&&(u=0),\"circle\"===this.options.gridLineInterpolation)L=this.getLinePath(0,u,c);else if(L=[],i[s?\"yAxis\":\"xAxis\"].forEach(t=>{t.pane===this.pane&&(x=t)}),x){S=x.tickPositions,x.autoConnect&&(S=S.concat([S[0]])),o&&(S=S.slice().reverse()),u&&(u+=c);for(let t=0;tMath.PI&&(a-=t),r>Math.PI&&(r-=t),this.normalizedStartAngleRad=a,this.normalizedEndAngleRad=r}}function T(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function N(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function X(t){let e;let i=this.chart,s=i.angular,o=i.polar,a=this.isXAxis,r=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];if(\"colorAxis\"===r){this.isRadial=!1;return}s?(s&&a?(this.isHidden=!0,this.createLabelCollector=x,this.getOffset=n,this.redraw=E,this.render=E,this.setScale=n,this.setCategories=n,this.setTitle=n):A(this),e=!a):o&&(A(this),e=this.horiz),s||o?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e}function R(){this.isRadial&&this.beforeSetTickPositions()}function Y(t){let e=this.label;if(!e)return;let i=this.axis,s=e.getBBox(),o=i.options.labels,a=(i.translate(this.pos)+i.startAngleRad+Math.PI/2)/Math.PI*180%360,r=Math.round(a),n=p(o.y)?0:-(.3*s.height),l=o.y,h,d=20,c=o.align,u=\"end\",g=r<0?r+360:r,b=g,y=0,x=0;i.isRadial&&(h=i.getPosition(this.pos,i.center[2]/2+m(f(o.distance,-25),i.center[2]/2,-i.center[2]/2)),\"auto\"===o.rotation?e.attr({rotation:a}):p(l)||(l=i.chart.renderer.fontMetrics(e).b-s.height/2),p(c)||(i.isCircular?(s.width>i.len*i.tickInterval/(i.max-i.min)&&(d=0),c=a>d&&a<180-d?\"left\":a>180+d&&a<360-d?\"right\":\"center\"):c=\"center\",e.attr({align:c})),\"auto\"===c&&2===i.tickPositions.length&&i.isCircular&&(g>90&&g<180?g=180-g:g>270&&g<=360&&(g=540-g),b>180&&b<=360&&(b=360-b),(i.pane.options.startAngle===r||i.pane.options.startAngle===r+360||i.pane.options.startAngle===r-360)&&(u=\"start\"),c=r>=-90&&r<=90||r>=-360&&r<=-270||r>=270&&r<=360?\"start\"===u?\"right\":\"left\":\"start\"===u?\"left\":\"right\",b>70&&b<110&&(c=\"center\"),g<15||g>=180&&g<195?y=.3*s.height:g>=15&&g<=35?y=\"start\"===u?0:.75*s.height:g>=195&&g<=215?y=\"start\"===u?.75*s.height:0:g>35&&g<=90?y=\"start\"===u?-(.25*s.height):s.height:g>215&&g<=270&&(y=\"start\"===u?s.height:-(.25*s.height)),b<15?x=\"start\"===u?-(.15*s.height):.15*s.height:b>165&&b<=180&&(x=\"start\"===u?.15*s.height:-(.15*s.height)),e.attr({align:c}),e.translate(x,y+n)),t.pos.x=h.x+(o.x||0),t.pos.y=h.y+(l||0))}function j(t){this.axis.getPosition&&d(t.pos,this.axis.getPosition(this.pos))}function I({options:t}){t.xAxis&&g(!0,e.radialDefaultOptions.circular,t.xAxis),t.yAxis&&g(!0,e.radialDefaultOptions.radialGauge,t.yAxis)}function D(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function E(){this.isDirty=!1}function B(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*f(this.sector,1)/2)}function z(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function O(t){let{coll:i}=this,{angular:s,inverted:o,polar:r}=this.chart,n={};s?this.isXAxis||(n=g(a.yAxis,e.radialDefaultOptions.radialGauge)):r&&(n=this.horiz?g(a.xAxis,e.radialDefaultOptions.circular):g(\"xAxis\"===i?a.xAxis:a.yAxis,e.radialDefaultOptions.radial)),o&&\"yAxis\"===i&&(n.stackLabels=u(a.yAxis,!0)?a.yAxis.stackLabels:{},n.reversedStacks=!0);let l=this.options=g(n,t);l.plotBands||(l.plotBands=[]),c(this,\"afterSetOptions\")}function W(t,e,i,s,o,a,r){let n;let l=this.axis;return l.isRadial?[\"M\",e,i,\"L\",(n=l.getPosition(this.pos,l.center[2]/2+s)).x,n.y]:t.call(this,e,i,s,o,a,r)}e.radialDefaultOptions=g(t),e.compose=function(t,e){return b(r,\"Axis.Radial\")&&(l(t,\"afterInit\",w),l(t,\"autoLabelAlign\",T),l(t,\"destroy\",N),l(t,\"init\",X),l(t,\"initialAxisTranslation\",R),l(e,\"afterGetLabelPosition\",Y),l(e,\"afterGetPosition\",j),l(i,\"setOptions\",I),y(e.prototype,\"getMarkPath\",W)),t}}(o||(o={})),o}),i(e,\"Series/PolarComposition.js\",[e[\"Core/Animation/AnimationUtilities.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/Series.js\"],e[\"Extensions/Pane/Pane.js\"],e[\"Core/Axis/RadialAxis.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,a){let{animObject:r}=t,{composed:n}=e,{addEvent:l,defined:h,find:p,isNumber:d,merge:c,pick:u,pushUnique:g,relativeLength:f,splat:b,uniqueKey:m,wrap:y}=a;function x(){(this.pane||[]).forEach(t=>{t.render()})}function P(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&(\"polygon\"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):\"polygon\"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function S(){this.pane||(this.pane=[]),this.options.pane=b(this.options.pane),this.options.pane.forEach(t=>{new s(t,this)},this)}function M(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],o=this.chart.inverted,a=o?s:i,r=o?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr(\"start\"):e.start)-a.startAngleRad,s=e.attr?e.attr(\"r\"):e.r,o=(e.attr?e.attr(\"end\"):e.end)-a.startAngleRad,n=e.attr?e.attr(\"innerR\"):e.innerR;t.result.x=i+a.pos,t.result.width=o-i,t.result.y=r.len+r.pos-s,t.result.height=s-n}}function L(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,o=e.mouseDownY||0,a=t.args.chartY,r=t.args.chartX,n=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,p=e.inverted?e.xAxis[0]:e.yAxis[0],d={},c=\"arc\";if(d.x=i[0]+e.plotLeft,d.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),u=Math.atan2(o-e.plotTop-i[1],s-e.plotLeft-i[0])-l,g=Math.atan2(a-e.plotTop-i[1],r-e.plotLeft-i[0])-l;d.r=i[2]/2,d.innerR=i[3]/2,u<=0&&(u+=n),g<=0&&(g+=n),gh+(n-t)/2&&(g=u,u=l<=0?l:0);let f=d.start=Math.max(u+l,l),b=d.end=Math.min(g+l,h);if(\"polygon\"===p.options.gridLineInterpolation){let t=e.hoverPane.axis,s=f-t.startAngleRad+t.pos,o=p.getPlotLinePath({value:p.max}),a=t.toValue(s),r=t.toValue(s+(b-f));if(ai[2]/2&&(p=i[2]/2),nt.max?(o[a].isNull=!0,o[a].plotY=NaN):o[a].isNull=o[a].isValid&&!o[a].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(l(this,\"afterRender\",function(){let t;s.polar&&!1!==this.options.clip&&(t=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2}):this.clipCircle=function(t,e,i,s,o){let a=m(),r=t.createElement(\"clipPath\").attr({id:a}).add(t.defs),n=o?t.arc(e,i,s,o,0,2*Math.PI).add(r):t.circle(e,i,s).add(r);return n.id=a,n.clipPath=r,n}(s.renderer,t[0],t[1],t[2]/2,t[3]/2),this.group.clip(this.clipCircle),this.setClip=e.noop)})))}}function v(t){let e=this.chart,i=this.xAxis,s=this.yAxis,o=i.pane&&i.pane.center,a=t.chartX-(o&&o[0]||0)-e.plotLeft,r=t.chartY-(o&&o[1]||0)-e.plotTop,n=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(a,r)};return this.searchKDTree(n)}function A(t,e,i,s){let o=s.tickInterval,a=s.tickPositions,r=p(a,t=>t>=i),n=p([...a].reverse(),t=>t<=e);return h(r)||(r=a[a.length-1]),h(n)||(n=a[0],r+=o,t[0][0]=\"L\",t.unshift(t[t.length-3])),(t=t.slice(a.indexOf(n),a.indexOf(r)+1))[0][0]=\"M\",t}function w(t,e){return p(this.pane||[],t=>t.options.id===e)||t.call(this,e)}function T(t,e,s,o,a,r){let n,l,h;let p=this.chart,d=u(o.inside,!!this.options.stacking);if(p.polar){if(n=e.rectPlotX/Math.PI*180,p.inverted)this.forceDL=p.isInsidePlot(e.plotX,e.plotY),d&&e.shapeArgs?(l=e.shapeArgs,a=c(a,{x:(h=this.yAxis.postTranslate(((l.start||0)+(l.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-p.plotLeft,y:h.y-p.plotTop})):e.tooltipPos&&(a=c(a,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),o.align=u(o.align,\"center\"),o.verticalAlign=u(o.verticalAlign,\"middle\");else{var g;let t,e;null===(g=o).align&&(t=n>20&&n<160?\"left\":n>200&&n<340?\"right\":\"center\",g.align=t),null===g.verticalAlign&&(e=n<45||n>315?\"bottom\":n>135&&n<225?\"top\":\"middle\",g.verticalAlign=e),o=g}i.prototype.alignDataLabel.call(this,e,s,o,a,r),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?s.hide():s.show()}else t.call(this,e,s,o,a,r)}function N(){let t=this.options,e=t.stacking,i=this.chart,s=this.xAxis,o=this.yAxis,r=o.reversed,n=o.center,l=s.startAngleRad,p=s.endAngleRad-l,c=t.threshold,u=0,g,b,m,y,x,P=0,S=0,M,L,C,k,v,A,w,T;if(s.isRadial)for(m=(g=this.points).length,y=o.translate(o.min),x=o.translate(o.max),c=t.threshold||0,i.inverted&&d(c)&&h(u=o.translate(c))&&(u<0?u=0:u>p&&(u=p),this.translatedThreshold=u+l);m--;){if(A=(b=g[m]).barX,L=b.x,C=b.y,b.shapeType=\"arc\",i.inverted){b.plotY=o.translate(C),e&&o.stacking?(v=o.stacking.stacks[(C<0?\"-\":\"\")+this.stackKey],this.visible&&v&&v[L]&&!b.isNull&&(k=v[L].points[this.getStackIndicator(void 0,L,this.index).key],P=o.translate(k[0]),S=o.translate(k[1]),h(P)&&(P=a.clamp(P,0,p)))):(P=u,S=b.plotY),P>S&&(S=[P,P=S][0]),r?S>y?S=y:Py||Sx?S=x:(Sx)&&(P=S=0),o.min>o.max&&(P=S=r?p:0),P+=l,S+=l,n&&(b.barX=A+=n[3]/2),w=Math.max(A,0),T=Math.max(A+b.pointWidth,0);let i=t.borderRadius,s=f((\"object\"==typeof i?i.radius:i)||0,T-w);b.shapeArgs={x:n[0],y:n[1],r:T,innerR:w,start:P,end:S,borderRadius:s},b.opacity=P===S?0:void 0,b.plotY=(h(this.translatedThreshold)&&(Pn[1])}}function X(t,e){let i,s;let o=this;if(this.chart.polar){e=e||this.points;for(let t=0;t{void 0===t.polarPlotY&&o.polar.toXY(t)})}let a=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),a}function R(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach(t=>{if(\"colorAxis\"===t.coll)return;let o=t.isXAxis,a=t.center,r=e.chartX-a[0]-i.plotLeft,n=e.chartY-a[1]-i.plotTop;s[o?\"xAxis\":\"yAxis\"].push({axis:t,value:t.translate(o?Math.PI-Math.atan2(r,n):Math.sqrt(Math.pow(r,2)+Math.pow(n,2)),!0)})}):s=t.call(this,e),s}function Y(t,e){this.chart.polar||t.call(this,e)}function j(t,i){let s=this,o=this.chart,a=this.group,n=this.markerGroup,l=this.xAxis&&this.xAxis.center,h=o.plotLeft,p=o.plotTop,d=this.options.animation,c,g,f,b,m,y;o.polar?s.isRadialBar?i||(s.startAngleRad=u(s.translatedThreshold,s.xAxis.startAngleRad),e.seriesTypes.pie.prototype.animate.call(s,i)):(d=r(d),s.is(\"column\")?i||(g=l[3]/2,s.points.forEach(t=>{f=t.graphic,m=(b=t.shapeArgs)&&b.r,y=b&&b.innerR,f&&b&&(f.attr({r:g,innerR:g}),f.animate({r:m,innerR:y},s.options.animation))})):i?(c={translateX:l[0]+h,translateY:l[1]+p,scaleX:.001,scaleY:.001},a.attr(c),n&&n.attr(c)):(c={translateX:h,translateY:p,scaleX:1,scaleY:1},a.animate(c,d),n&&n.animate(c,d))):t.call(this,i)}function I(t,e,i,s){let o,a;if(this.chart.polar){if(s){let t=(a=function t(e,i,s,o){let a,r,n,l,h,p;let d=o?1:0,c=(a=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+d):a-1,u=a+1>e.length-1?d:a+1,g=e[c],f=e[u],b=g.plotX,m=g.plotY,y=f.plotX,x=f.plotY,P=e[a].plotX,S=e[a].plotY;r=(1.5*P+b)/2.5,n=(1.5*S+m)/2.5,l=(1.5*P+y)/2.5,h=(1.5*S+x)/2.5;let M=Math.sqrt(Math.pow(r-P,2)+Math.pow(n-S,2)),L=Math.sqrt(Math.pow(l-P,2)+Math.pow(h-S,2)),C=Math.atan2(n-S,r-P);p=Math.PI/2+(C+Math.atan2(h-S,l-P))/2,Math.abs(C-p)>Math.PI/2&&(p-=Math.PI),r=P+Math.cos(p)*M,n=S+Math.sin(p)*M;let k={rightContX:l=P+Math.cos(Math.PI+p)*L,rightContY:h=S+Math.sin(Math.PI+p)*L,leftContX:r,leftContY:n,plotX:P,plotY:S};return s&&(k.prevPointCont=t(e,c,!1,o)),k}(e,s,!0,this.connectEnds)).prevPointCont&&a.prevPointCont.rightContX,i=a.prevPointCont&&a.prevPointCont.rightContY;o=[\"C\",d(t)?t:a.plotX,d(i)?i:a.plotY,d(a.leftContX)?a.leftContX:a.plotX,d(a.leftContY)?a.leftContY:a.plotY,a.plotX,a.plotY]}else o=[\"M\",i.plotX,i.plotY]}else o=t.call(this,e,i,s);return o}function D(t,e,i=this.plotY){if(!this.destroyed){let{plotX:s,series:o}=this,{chart:a}=o;return a.polar&&d(s)&&d(i)?[s+(e?a.plotLeft:0),i+(e?a.plotTop:0)]:t.call(this,e,i)}}class E{static compose(t,e,i,a,r,h,p,d,c,u){if(s.compose(e,i),o.compose(t,r),g(n,\"Polar\")){let t=e.prototype,s=h.prototype,o=i.prototype,r=a.prototype;if(l(e,\"afterDrawChartBox\",x),l(e,\"getAxes\",S),l(e,\"init\",P),y(t,\"get\",w),y(o,\"getCoordinates\",R),y(o,\"pinch\",Y),l(i,\"getSelectionMarkerAttrs\",L),l(i,\"getSelectionBox\",M),l(a,\"afterInit\",C),l(a,\"afterTranslate\",k,{order:2}),l(a,\"afterColumnTranslate\",N,{order:4}),y(r,\"animate\",j),y(s,\"pos\",D),d){let t=d.prototype;y(t,\"alignDataLabel\",T),y(t,\"animate\",j)}if(c&&y(c.prototype,\"getGraphPath\",X),u){let t=u.prototype;y(t,\"getPointSpline\",I),p&&(p.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let o=this.series,a=o.xAxis.center,r=o.yAxis.len,n=a[3]/2,l=r-e+n,h=r-u(t,r)+n;return o.yAxis.reversed&&(l<0&&(l=n),h<0&&(h=n)),{x:a[0],y:a[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e=this.series,i=e.chart,s=e.xAxis,o=e.yAxis,a=t.plotX,r=i.inverted,n=t.y,l=t.plotY,h=r?a:o.len-l,p;if(r&&e&&!e.isRadialBar&&(t.plotY=l=d(n)?o.translate(n):0),t.rectPlotX=a,t.rectPlotY=l,o.center&&(h+=o.center[3]/2),d(l)){let e=r?o.postTranslate(l,h):s.postTranslate(a,h);t.plotX=t.polarPlotX=e.x-i.plotLeft,t.plotY=t.polarPlotY=e.y-i.plotTop}e.kdByAngle?((p=(a/Math.PI*180+s.pane.options.startAngle)%360)<0&&(p+=360),t.clientX=p):t.clientX=t.plotX}}return E}),i(e,\"Core/Axis/WaterfallAxis.js\",[e[\"Core/Globals.js\"],e[\"Core/Axis/Stacking/StackItem.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){var s;let{composed:o}=t,{addEvent:a,objectEach:r,pushUnique:n}=i;return function(t){function i(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function s(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function l(){this.waterfall||(this.waterfall=new p(this))}function h(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,e){n(o,\"Axis.Waterfall\")&&(a(t,\"init\",l),a(t,\"afterBuildStacks\",i),a(t,\"afterRender\",s),a(e,\"beforeRedraw\",h))};class p{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,i=t.waterfall.stacks,s=t.stacking&&t.stacking.stackTotalGroup,o=new e(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=o,s&&r(i,t=>{r(t,(t,i)=>{o.total=t.stackTotal,o.x=+i,t.label&&(o.label=t.label),e.prototype.render.call(o,s),t.label=o.label,delete o.label})}),o.total=null}}t.Composition=p}(s||(s={})),s}),i(e,\"Series/Waterfall/WaterfallPoint.js\",[e[\"Series/Column/ColumnSeries.js\"],e[\"Core/Series/Point.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){let{isNumber:s}=i;class o extends t.prototype.pointClass{getClassName(){let t=e.prototype.getClassName.call(this);return this.isSum?t+=\" highcharts-sum\":this.isIntermediateSum&&(t+=\" highcharts-intermediate-sum\"),t}isValid(){return s(this.y)||this.isSum||!!this.isIntermediateSum}}return o}),i(e,\"Series/Waterfall/WaterfallSeriesDefaults.js\",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:\"#333333\",dashStyle:\"Dot\",borderColor:\"#333333\",states:{hover:{lineWidthPlus:0}}}}),i(e,\"Series/Waterfall/WaterfallSeries.js\",[e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"],e[\"Core/Axis/WaterfallAxis.js\"],e[\"Series/Waterfall/WaterfallPoint.js\"],e[\"Series/Waterfall/WaterfallSeriesDefaults.js\"]],function(t,e,i,s,o){let{column:a,line:r}=t.seriesTypes,{addEvent:n,arrayMax:l,arrayMin:h,correctFloat:p,crisp:d,extend:c,isNumber:u,merge:g,objectEach:f,pick:b}=e;function m(t,e){return Object.hasOwnProperty.call(t,e)}class y extends a{generatePoints(){a.prototype.generatePoints.apply(this);for(let t=0,e=this.points.length;t0?i:void 0);let s=a.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[[\"M\",0,0]]}getCrispPath(){let t=this.data.filter(t=>u(t.y)),e=this.yAxis,i=t.length,s=this.graph?.strokeWidth()||0,o=this.xAxis.reversed,a=this.yAxis.reversed,r=this.options.stacking,n=[];for(let l=1;l0?-c.height:0;if(g&&c&&i){let t;let p=g[l-1];if(r){let i=p.connectorThreshold;t=d(e.translate(i,!1,!0,!1,!0)+(a?f:0),s)}else t=d(c.y+(h.minPointLengthOffset||0),s);n.push([\"M\",(c.x||0)+(o?0:c.width||0),t],[\"L\",(i.x||0)+(o&&i.width||0),t])}if(c&&n.length&&(!r&&p<0&&!a||p>0&&a)){let t=n[n.length-2];t&&\"number\"==typeof t[2]&&(t[2]+=c.height||0);let e=n[n.length-1];e&&\"number\"==typeof e[2]&&(e[2]+=c.height||0)}}return n}drawGraph(){r.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){let e=this.options,i=t.waterfall?.stacks,s=e.threshold||0,o=this.stackKey,a=this.xData,r=a.length,n=s,l=n,h,p=0,d=0,c=0,u,g,f,b,m,y,x,P,S=(t,e,i,s)=>{if(h){if(u)for(;ix.indexOf(o)&&(P=!0),i[o]||(i[o]={});let t=i[o];if(t)for(let i=0;i=0?h.posTotal+=m:h.negTotal+=m,b=e.data[i],g=h.absolutePos=h.posTotal,f=h.absoluteNeg=h.negTotal,h.stackTotal=g+f,u=h.stackState.length,b&&b.isIntermediateSum?(S(c,d,0,c),c=d,d=s,n^=l,l^=n,n^=l):b&&b.isSum?(S(s,p,u,0),n=s):(S(n,m,0,p),b&&(p+=m,d+=m)),h.stateIndex++,h.threshold=n,n+=h.stackTotal;i.changed=!1,i.alreadyChanged||(i.alreadyChanged=[]),i.alreadyChanged.push(o)}}getExtremes(){let t,e,i;let s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],\"overlap\"===s?f(t[this.stackKey],function(t){e.push(h(t.stackState)),i.push(l(t.stackState))}):f(t[this.stackKey],function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:h(e),dataMax:l(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return y.defaultOptions=g(a.defaultOptions,o),y.compose=i.compose,c(y.prototype,{pointValKey:\"y\",showLine:!0,pointClass:s}),n(y,\"afterColumnTranslate\",function(){let{options:t,points:e,yAxis:i}=this,s=b(t.minPointLength,5),o=s/2,a=t.threshold||0,r=t.stacking,n=i.waterfall.stacks[this.stackKey],l=a,h=a,p,f,y,x;for(let t=0;t=0?f:f-L,m(e,\"absolutePos\")&&delete e.absolutePos,m(e,\"absoluteNeg\")&&delete e.absoluteNeg):(L>=0?(f=e.threshold+e.posTotal,e.posTotal-=L,p=f):(f=e.threshold+e.negTotal,e.negTotal-=L,p=f-L),!e.posTotal&&u(e.absolutePos)&&m(e,\"absolutePos\")&&(e.posTotal=e.absolutePos,delete e.absolutePos),!e.negTotal&&u(e.absoluteNeg)&&m(e,\"absoluteNeg\")&&(e.negTotal=e.absoluteNeg,delete e.absoluteNeg)),b.isSum||(e.connectorThreshold=e.threshold+e.stackTotal),i.reversed?(y=L>=0?p-L:p+L,x=p):(y=p,x=p-L),b.below=y<=a,S.y=i.translate(y,!1,!0,!1,!0),S.height=Math.abs(S.y-i.translate(x,!1,!0,!1,!0));let s=i.waterfall.dummyStackItem;s&&(s.x=t,s.label=n[t].label,s.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[t],this.stackedYPos[t],void 0,this.xAxis))}}else p=Math.max(h,h+L)+M[0],S.y=i.translate(p,!1,!0,!1,!0),b.isSum?(S.y=i.translate(M[1],!1,!0,!1,!0),S.height=Math.min(i.translate(M[0],!1,!0,!1,!0),i.len)-S.y,b.below=M[1]<=a):b.isIntermediateSum?(L>=0?(y=M[1]+l,x=l):(y=l,x=M[1]+l),i.reversed&&(y^=x,x^=y,y^=x),S.y=i.translate(y,!1,!0,!1,!0),S.height=Math.abs(S.y-Math.min(i.translate(x,!1,!0,!1,!0),i.len)),l+=M[1],b.below=y<=a):(S.height=P>0?i.translate(h,!1,!0,!1,!0)-S.y:i.translate(h,!1,!0,!1,!0)-i.translate(h-P,!1,!0,!1,!0),h+=P,b.below=hMath.abs(s-o)){let i=s*s,a=(i-o*o+n*n)/(2*n),u=Math.sqrt(i-a*a),c=e.x,f=r.x,h=e.y,p=r.y,d=c+a*(f-c)/n,y=h+a*(p-h)/n,g=-(u/n*(p-h)),x=-(u/n*(f-c));l=[{x:t(d+g,14),y:t(y-x,14)},{x:t(d-g,14),y:t(y+x,14)}]}return l}function a(e){return e.reduce((e,t,r,n)=>{let i=n.slice(r+1).reduce((e,n,i)=>{let s=[r,i+r+1];return e.concat(l(t,n).map(e=>(e.indexes=s,e)))},[]);return e.concat(i)},[])}function u(e,t){return i(e,t)<=t.r+1e-10}function c(e,t){return!t.some(function(t){return!u(e,t)})}function f(e){return a(e).filter(function(t){return c(t,e)})}e.round=t,e.getAreaOfCircle=s,e.getCircularSegmentArea=o,e.getOverlapBetweenCircles=function(e,r,n){let i=0;if(n1){let o=n(t),l=(t=t.map(function(e){return e.angle=r(o,e),e}).sort(function(e,t){return t.angle-e.angle}))[t.length-1],a=t.reduce(function(t,s){let{startPoint:o}=t,l=n([o,s]),a=s.indexes.filter(function(e){return o.indexes.indexOf(e)>-1}).reduce(function(t,n){let a=e[n],u=r(a,s),c=r(a,o),f=c-u+(c2*d&&(p=2*d),(!t||t.width>p)&&(t={r:d,largeArc:p>d?1:0,width:p,x:s.x,y:s.y}),t},null);if(a){let{r:e}=a;t.arcs.push([\"A\",e,e,0,a.largeArc,1,a.x,a.y]),t.startPoint=s}return t},{startPoint:l,arcs:[]}).arcs;0===a.length||1===a.length||(a.unshift([\"M\",l.x,l.y]),s={center:o,d:a})}return s}}(t||(t={})),t}),r(t,\"Series/DrawPointUtilities.js\",[],function(){return{draw:function(e,t){let{animatableAttribs:r,onComplete:n,css:i,renderer:s}=t,o=e.series&&e.series.chart.hasRendered?void 0:e.series&&e.series.options.animation,l=e.graphic;if(t.attribs={...t.attribs,class:e.getClassName()},e.shouldDraw())l||(l=\"text\"===t.shapeType?s.text():\"image\"===t.shapeType?s.image(t.imageUrl||\"\").attr(t.shapeArgs||{}):s[t.shapeType](t.shapeArgs||{}),e.graphic=l,l.add(t.group)),i&&l.css(i),l.attr(t.attribs).animate(r,!t.isNew&&o,n);else if(l){let t=()=>{e.graphic=l=l&&l.destroy(),\"function\"==typeof n&&n()};Object.keys(r).length?l.animate(r,void 0,()=>t()):t()}}}}),r(t,\"Series/Venn/VennPoint.js\",[t[\"Core/Series/SeriesRegistry.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{scatter:{prototype:{pointClass:r}}}=e.seriesTypes,{isNumber:n}=t;return class extends r{isValid(){return n(this.value)}shouldDraw(){return!!this.shapeArgs}}}),r(t,\"Series/Venn/VennSeriesDefaults.js\",[],function(){return{borderColor:\"#cccccc\",borderDashStyle:\"solid\",borderWidth:1,brighten:0,clip:!1,colorByPoint:!0,dataLabels:{enabled:!0,verticalAlign:\"middle\",formatter:function(){return this.point.name}},inactiveOtherPoints:!0,marker:!1,opacity:.75,showInLegend:!1,legendType:\"point\",states:{hover:{opacity:1,borderColor:\"#333333\"},select:{color:\"#cccccc\",borderColor:\"#000000\",animation:!1},inactive:{opacity:.075}},tooltip:{pointFormat:\"{point.name}: {point.value}\"},legendSymbol:\"rectangle\"}}),r(t,\"Series/Venn/VennUtils.js\",[t[\"Core/Geometry/CircleUtilities.js\"],t[\"Core/Geometry/GeometryUtilities.js\"],t[\"Core/Utilities.js\"]],function(e,t,r){let{getAreaOfCircle:n,getCircleCircleIntersection:i,getOverlapBetweenCircles:s,isPointInsideAllCircles:o,isPointInsideCircle:l,isPointOutsideAllCircles:a}=e,{getDistanceBetweenPoints:u}=t,{extend:c,isArray:f,isNumber:h,isObject:p,isString:d}=r;function y(e){let t={};return e.filter(e=>2===e.sets.length).forEach(e=>{e.sets.forEach((r,n,i)=>{p(t[r])||(t[r]={totalOverlap:0,overlapping:{}}),t[r]={totalOverlap:(t[r].totalOverlap||0)+e.value,overlapping:{...t[r].overlapping||{},[i[1-n]]:e.value}}})}),e.filter(b).forEach(e=>{let r=t[e.sets[0]];c(e,r)}),e}function g(e,t,r,n,i){let s=e(t),o=e(r),l=i||100,a=n||1e-10,u=r-t,c,f,h=1;if(t>=r)throw Error(\"a must be smaller than b.\");if(s*o>0)throw Error(\"f(a) and f(b) must have opposite signs.\");if(0===s)c=t;else if(0===o)c=r;else for(;h++<=l&&0!==f&&u>a;)u=(r-t)/2,s*(f=e(c=t+u))>0?t=c:r=c;return c}function x(e){let t=e.slice(0,-1),r=t.length,n=[],i=(e,t)=>(e.sum+=t[e.i],e);for(let e=0;er-s(e,t,n),0,i)}function b(e){return f(e.sets)&&1===e.sets.length}function v(e){let t={};return p(e)&&h(e.value)&&e.value>-1&&f(e.sets)&&e.sets.length>0&&!e.sets.some(function(e){let r=!1;return!t[e]&&d(e)?t[e]=!0:r=!0,r})}function C(e,t){return t.reduce(function(t,r){let n=0;if(r.sets.length>1){let t=r.value-function(e){let t=0;if(2===e.length){let r=e[0],n=e[1];t=s(r.r,n.r,u(r,n))}return t}(r.sets.map(function(t){return e[t]}));n=Math.round(t*t*1e11)/1e11}return t+n},0)}function A(e,t){return void 0!==t.totalOverlap&&void 0!==e.totalOverlap?t.totalOverlap-e.totalOverlap:NaN}return{geometry:t,geometryCircles:e,addOverlapToSets:y,getCentroid:x,getDistanceBetweenCirclesByOverlap:m,getLabelWidth:function(e,t,r){let n=t.reduce((e,t)=>Math.min(t.r,e),1/0),i=r.filter(t=>!l(e,t)),s=function(r,n){return g(s=>{let l={x:e.x+n*s,y:e.y};return-(r-s)+(o(l,t)&&a(l,i)?0:Number.MAX_VALUE)},0,r)};return 2*Math.min(s(n,-1),s(n,1))},getMarginFromCircles:function(e,t,r){let n=t.reduce((t,r)=>{let n=r.r-u(e,r);return n<=t?n:t},Number.MAX_VALUE);return r.reduce((t,r)=>{let n=u(e,r)-r.r;return n<=t?n:t},n)},isSet:b,layoutGreedyVenn:function(e){let t=[],r={};e.filter(e=>1===e.sets.length).forEach(e=>{r[e.sets[0]]=e.circle={x:Number.MAX_VALUE,y:Number.MAX_VALUE,r:Math.sqrt(e.value/Math.PI)}});let n=(e,r)=>{let n=e.circle;n&&(n.x=r.x,n.y=r.y),t.push(e)};y(e);let s=e.filter(b).sort(A);n(s.shift(),{x:0,y:0});let o=e.filter(e=>2===e.sets.length);for(let e of s){let s=e.circle;if(!s)continue;let l=s.r,a=e.overlapping;n(e,t.reduce((e,n,u)=>{let c=n.circle;if(!c||!a)return e;let f=a[n.sets[0]],h=m(l,c.r,f),p=[{x:c.x+h,y:c.y},{x:c.x-h,y:c.y},{x:c.x,y:c.y+h},{x:c.x,y:c.y-h}];for(let e of t.slice(u+1)){let t=e.circle,r=a[e.sets[0]];if(!t)continue;let n=m(l,t.r,r);p=p.concat(i({x:c.x,y:c.y,r:h},{x:t.x,y:t.y,r:n}))}for(let t of p){s.x=t.x,s.y=t.y;let n=C(r,o);nt.map((t,i)=>e*t+r*n[i]),i=(t,r)=>(r.fx=e(r),t[t.length-1]=r,t),s=t=>{let r=t[0];return t.map(t=>{let i=n(.5,r,.5,t);return i.fx=e(i),i})},o=(t,r,i,s)=>{let o=n(i,t,s,r);return o.fx=e(o),o},l=(t=>{let r=t.length,n=Array(r+1);n[0]=t,n[0].fx=e(t);for(let i=0;i=l[l.length-2].fx){let r;l=n.fx>e.fx?(r=o(t,e,.5,.5)).fx0&&-1===e.indexOf(t.sets[0])&&e.push(t.sets[0]),e},[]).sort(),i=r.reduce(function(e,r){return r.sets&&v(r)&&!r.sets.some(function(e){return -1===n.indexOf(e)})&&(e[r.sets.sort().join(t)]={sets:r.sets,value:r.value||0}),e},{});return n.reduce(function(e,r,n,i){return i.slice(n+1).forEach(function(n){e.push(r+t+n)}),e},[]).forEach(function(e){if(!i[e]){let r={sets:e.split(t),value:0};i[e]=r}}),Object.keys(i).map(function(e){return i[e]})},sortByTotalOverlap:A}}),r(t,\"Series/Venn/VennSeries.js\",[t[\"Core/Animation/AnimationUtilities.js\"],t[\"Core/Color/Color.js\"],t[\"Core/Geometry/CircleUtilities.js\"],t[\"Series/DrawPointUtilities.js\"],t[\"Core/Geometry/GeometryUtilities.js\"],t[\"Core/Series/SeriesRegistry.js\"],t[\"Series/Venn/VennPoint.js\"],t[\"Series/Venn/VennSeriesDefaults.js\"],t[\"Series/Venn/VennUtils.js\"],t[\"Core/Utilities.js\"]],function(e,t,r,n,i,s,o,l,a,u){let{animObject:c}=e,{parse:f}=t,{getAreaOfIntersectionBetweenCircles:h,getCirclesIntersectionPolygon:p,isCircle1CompletelyOverlappingCircle2:d,isPointInsideAllCircles:y,isPointOutsideAllCircles:g}=r,{getCenterOfPoints:x}=i,{scatter:m}=s.seriesTypes,{addEvent:b,extend:v,isArray:C,isNumber:A,isObject:M,merge:j}=u;class O extends m{static getLabelPosition(e,t){let r=e.reduce((r,n)=>{let i=n.r/2;return[{x:n.x,y:n.y},{x:n.x+i,y:n.y},{x:n.x-i,y:n.y},{x:n.x,y:n.y+i},{x:n.x,y:n.y-i}].reduce((r,n)=>{let i=a.getMarginFromCircles(n,e,t);return r.margin-a.getMarginFromCircles({x:r[0],y:r[1]},e,t),[r.x,r.y]);return y(r={x:n[0],y:n[1]},e)&&g(r,t)||(r=e.length>1?x(p(e)):{x:e[0].x,y:e[0].y}),r}static getLabelValues(e,t){let r=e.sets,n=t.reduce((e,t)=>{let n=r.indexOf(t.sets[0])>-1;return t.circle&&e[n?\"internal\":\"external\"].push(t.circle),e},{internal:[],external:[]});n.external=n.external.filter(e=>n.internal.some(t=>!d(e,t)));let i=O.getLabelPosition(n.internal,n.external),s=a.getLabelWidth(i,n.internal,n.external);return{position:i,width:s}}static layout(e){let t={},r={};if(e.length>0){let n=a.layoutGreedyVenn(e),i=e.filter(a.isSet);for(let s of e){let e=s.sets,o=e.join(),l=a.isSet(s)?n[o]:h(e.map(e=>n[e]));l&&(t[o]=l,r[o]=O.getLabelValues(s,i))}}return{mapOfIdToShape:t,mapOfIdToLabelValues:r}}static getScale(e,t,r){let n=r.bottom-r.top,i=r.right-r.left,s=(r.right+r.left)/2,o=(r.top+r.bottom)/2,l=Math.min(i>0?1/i*e:1,n>0?1/n*t:1);return{scale:l,centerX:e/2-s*l,centerY:t/2-o*l}}static updateFieldBoundaries(e,t){let r=t.x-t.r,n=t.x+t.r,i=t.y+t.r,s=t.y-t.r;return(!A(e.left)||e.left>r)&&(e.left=r),(!A(e.right)||e.rights)&&(e.top=s),(!A(e.bottom)||e.bottom{t&&t.graphic&&t.graphic.animate({opacity:1})},e.duration)}}}}drawPoints(){let e=this.chart,t=this.group,r=this.points||[],i=e.renderer;for(let s of r){let r={zIndex:C(s.sets)?s.sets.length:0},o=s.shapeArgs;e.styledMode||v(r,this.pointAttribs(s,s.state)),n.draw(s,{isNew:!s.graphic,animatableAttribs:o,attribs:r,group:t,renderer:i,shapeType:o&&o.d?\"path\":\"circle\"})}}init(){m.prototype.init.apply(this,arguments),delete this.opacity}pointAttribs(e,t){let r=this.options||{},n=e&&e.options||{},i=t&&r.states[t]||{},s=j(r,{color:e&&e.color},n,i);return{fill:f(s.color).brighten(s.brightness).get(),opacity:s.opacity,stroke:s.borderColor,\"stroke-width\":s.borderWidth,dashstyle:s.borderDashStyle}}translate(){let e=this.chart;this.processedXData=this.xData,this.generatePoints();let t=a.processVennData(this.options.data,O.splitter),{mapOfIdToShape:r,mapOfIdToLabelValues:n}=O.layout(t),i=Object.keys(r).filter(e=>{let t=r[e];return t&&A(t.r)}).reduce((e,t)=>O.updateFieldBoundaries(e,r[t]),{top:0,bottom:0,left:0,right:0}),s=O.getScale(e.plotWidth,e.plotHeight,i),o=s.scale,l=s.centerX,u=s.centerY;for(let e of this.points){let t=C(e.sets)?e.sets:[],i=t.join(),s=r[i],a=n[i]||{},c=e.options&&e.options.dataLabels,f,h=a.width,p=a.position;if(s){if(s.r)f={x:l+s.x*o,y:u+s.y*o,r:s.r*o};else if(s.d){let e=s.d;e.forEach(e=>{\"M\"===e[0]?(e[1]=l+e[1]*o,e[2]=u+e[2]*o):\"A\"===e[0]&&(e[1]=e[1]*o,e[2]=e[2]*o,e[6]=l+e[6]*o,e[7]=u+e[7]*o)}),f={d:e}}p?(p.x=l+p.x*o,p.y=u+p.y*o):p={},A(h)&&(h=Math.round(h*o))}e.shapeArgs=f,p&&f&&(e.plotX=p.x,e.plotY=p.y),h&&f&&(e.dlOptions=j(!0,{style:{width:h}},M(c,!0)?c:void 0)),e.name=e.options.name||t.join(\"∩\")}}}return O.splitter=\"highcharts-split\",O.defaultOptions=j(m.defaultOptions,l),v(O.prototype,{axisTypes:[],directTouch:!0,isCartesian:!1,pointArrayMap:[\"value\"],pointClass:o,utils:a}),b(O,\"afterSetOptions\",function(e){let t=e.options.states||{};if(this.is(\"venn\"))for(let e of Object.keys(t))t[e].halo=!1}),s.registerSeriesType(\"venn\",O),O}),r(t,\"masters/modules/venn.src.js\",[t[\"Core/Globals.js\"]],function(e){return e})});","!/**\n * Highcharts JS v11.4.8 (2024-08-29)\n *\n * Sankey diagram module\n *\n * (c) 2010-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */function(t){\"object\"==typeof module&&module.exports?(t.default=t,module.exports=t):\"function\"==typeof define&&define.amd?define(\"highcharts/modules/sankey\",[\"highcharts\"],function(e){return t(e),t.Highcharts=e,t}):t(\"undefined\"!=typeof Highcharts?Highcharts:void 0)}(function(t){\"use strict\";var e=t?t._modules:{};function o(e,o,i,s){e.hasOwnProperty(o)||(e[o]=s.apply(null,i),\"function\"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:o,module:e[o]}})))}o(e,\"Series/NodesComposition.js\",[e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e){var o;let{series:{prototype:i,prototype:{pointClass:{prototype:s}}}}=t,{defined:n,extend:r,find:l,merge:a,pick:h}=e;return function(t){function e(){return this.data=[].concat(this.points||[],this.nodes),i.destroy.apply(this,arguments)}function o(){this.nodes&&(this.nodes.forEach(t=>{t.destroy()}),this.nodes.length=0),i.setData.apply(this,arguments)}function d(t){let e=arguments,o=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];\"select\"!==t&&o.forEach(t=>{t&&t.series&&(s.setState.apply(t,e),!t.isNode&&(t.fromNode.graphic&&s.setState.apply(t.fromNode,e),t.toNode&&t.toNode.graphic&&s.setState.apply(t.toNode,e)))}),s.setState.apply(this,e)}function p(t,e,o,i){let n=this.series.options.nodes,r=this.series.options.data,l=r&&r.length||0,d=r&&r[this.index];if(s.update.call(this,t,!this.isNode&&e,o,i),this.isNode){let t=(n||[]).reduce((t,e,o)=>this.id===e.id?o:t,-1),i=a(n&&n[t]||{},r&&r[this.index]||{});r&&(d?r[this.index]=d:r.length=l),n?t>=0?n[t]=i:n.push(i):this.series.options.nodes=[i],h(e,!0)&&this.series.chart.redraw(o)}}t.compose=function(t,i){let s=t.prototype,n=i.prototype;return s.setNodeState=d,s.setState=d,s.update=p,n.destroy=e,n.setData=o,i},t.createNode=function(t){let e=this.pointClass,o=(t,e)=>l(t,t=>t.id===e),i=o(this.nodes,t),s;if(!i){s=this.options.nodes&&o(this.options.nodes,t);let n=new e(this,r({className:\"highcharts-node\",isNode:!0,id:t,y:1},s));n.linksTo=[],n.linksFrom=[],n.getSum=function(){let t=0,e=0;return n.linksTo.forEach(e=>{t+=e.weight||0}),n.linksFrom.forEach(t=>{e+=t.weight||0}),Math.max(t,e)},n.offset=function(t,e){let o=0;for(let i=0;i{e.outgoing&&t++}),!n.linksTo.length||t!==n.linksTo.length},n.index=this.nodes.push(n)-1,i=n}return i.formatPrefix=\"node\",i.name=i.name||i.options.id||\"\",i.mass=h(i.options.mass,i.options.marker&&i.options.marker.radius,this.options.marker&&this.options.marker.radius,4),i},t.destroy=e,t.generatePoints=function(){let t=this.chart,e={};i.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(t=>{t.linksFrom.length=0,t.linksTo.length=0,t.level=t.options.level}),this.points.forEach(o=>{n(o.from)&&(e[o.from]||(e[o.from]=this.createNode(o.from)),e[o.from].linksFrom.push(o),o.fromNode=e[o.from],t.styledMode?o.colorIndex=h(o.options.colorIndex,e[o.from].colorIndex):o.color=o.options.color||e[o.from].color),n(o.to)&&(e[o.to]||(e[o.to]=this.createNode(o.to)),e[o.to].linksTo.push(o),o.toNode=e[o.to]),o.name=o.name||o.id},this),this.nodeLookup=e},t.setNodeState=d,t.updateNode=p}(o||(o={})),o}),o(e,\"Series/Sankey/SankeyPoint.js\",[e[\"Core/Series/Point.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e,o){let{column:i}=e.seriesTypes,{defined:s}=o;class n extends i.prototype.pointClass{applyOptions(e,o){return t.prototype.applyOptions.call(this,e,o),s(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?\"highcharts-node \":\"highcharts-link \")+t.prototype.getClassName.call(this)}getFromNode(){let t=-1,e;for(let o=0;ot&&i.fromNode!==this&&(t=(e=i.fromNode).column)}return{fromNode:e,fromColumn:t}}setNodeColumn(){s(this.options.column)||(0===this.linksTo.length?this.column=0:this.column=this.getFromNode().fromColumn+1)}isValid(){return this.isNode||\"number\"==typeof this.weight}}return n}),o(e,\"Series/Sankey/SankeySeriesDefaults.js\",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:\"none\",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:\"from\",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:\"center\",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
',pointFormat:\"{point.fromNode.name} → {point.toNode.name}: {point.weight}
\",nodeFormat:\"{point.name}: {point.sum}
\"}}}),o(e,\"Series/Sankey/SankeyColumnComposition.js\",[e[\"Core/Utilities.js\"]],function(t){var e;let{defined:o,relativeLength:i}=t;return function(t){t.compose=function(t,o){return t.sankeyColumn=new e(t,o),t};class e{constructor(t,e){this.points=t,this.series=e}getTranslationFactor(t){let e=this.points,o=e.slice(),i=t.chart,s=t.options.minLinkWidth||0,n,r=0,l,a=(i.plotSizeY||0)-(t.options.borderWidth||0)-(e.length-1)*t.nodePadding;for(;e.length;){for(r=a/e.sankeyColumn.sum(),n=!1,l=e.length;l--;)e[l].getSum()*r(i>0&&(i+=o),i+=Math.max(s.getSum()*t,e.options.minLinkWidth||0)),0);return({top:0,center:.5,bottom:1})[e.options.nodeAlignment||\"center\"]*((e.chart.plotSizeY||0)-i)}left(t){let e=this.series,o=e.chart,i=e.options.equalNodes,s=o.inverted?o.plotHeight:o.plotWidth,n=e.nodePadding,r=this.points.reduce((o,r)=>(o>0&&(o+=n),o+=i?s/r.series.nodes.length-n:Math.max(r.getSum()*t,e.options.minLinkWidth||0)),0);return((o.plotSizeX||0)-Math.round(r))/2}sum(){return this.points.reduce((t,e)=>t+e.getSum(),0)}offset(t,e){let s=this.points,n=this.series,r=n.nodePadding,l=0,a;if(n.is(\"organization\")&&t.hangsFrom)return{absoluteTop:t.hangsFrom.nodeY};for(let h=0;h{let o=s&&s.colorVariation;return o&&\"brightness\"===o.key&&d&&g?t.parse(e).brighten(o.to*(d/g)).get():e})(c),f.color)),h=l(i&&i.options.colorIndex,s&&s.colorIndex,r,u,o.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,o,a,h,d,p;let c={};if(n(t))for(h=s(t.from)?t.from:1,p=t.levels,o={},e=n(t.defaults)?t.defaults:{},i(p)&&(o=p.reduce((t,o)=>{let i,a,d;return n(o)&&s(o.level)&&(a=l((d=r({},o)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,n(t[i=o.level+(a?0:h-1)])?r(!0,t[i],d):t[i]=d),t},{})),d=s(t.to)?t.to:1,a=0;a<=d;a++)c[a]=r({},e,n(o[a])?o[a]:{});return c},getNodeWidth:function(t,e){let{chart:o,options:i}=t,{nodeDistance:s=0,nodeWidth:n=0}=i,{plotSizeX:r=1}=o;if(\"auto\"===n){if(\"string\"==typeof s&&/%$/.test(s))return r/(e+parseFloat(s)/100*(e-1));let t=Number(s);return(r+t)/(e||1)-t}return a(n,r)},setTreeValues:function t(e,i){let s=i.before,n=i.idRoot,r=i.mapIdToNode[n],a=!1!==i.levelIsConstant,h=i.points[e.i],d=h&&h.options||{},p=[],c=0;e.levelDynamic=e.level-(a?0:r.level),e.name=l(h&&h.name,\"\"),e.visible=n===e.id||!0===i.visible,\"function\"==typeof s&&(e=s(e,i)),e.children.forEach((s,n)=>{let r=o({},i);o(r,{index:n,siblings:e.children.length,visible:e.visible}),s=t(s,r),p.push(s),s.visible&&(c+=s.val)});let u=l(d.value,c);return e.visible=u>=0&&(c>0||e.visible),e.children=p,e.childrenTotal=c,e.isLeaf=e.visible&&!c,e.val=u,e},updateRootId:function(t){let e,o;return n(t)&&(o=n(t.options)?t.options:{},e=l(t.rootNode,o.rootId,\"\"),n(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),o(e,\"Extensions/TextPath.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{deg2rad:o}=t,{addEvent:i,merge:s,uniqueKey:n,defined:r,extend:l}=e;function a(t,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:\"50%\",textAnchor:\"middle\"}},e);let o=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=i(a,\"afterModifyTree\",e=>{if(t&&p){let i=t.attr(\"id\");i||t.attr(\"id\",i=n());let s={x:0,y:0};r(d.dx)&&(s.dx=d.dx,delete d.dx),r(d.dy)&&(s.dy=d.dy,delete d.dy),a.attr(s),this.attr({transform:\"\"}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:\"textPath\",attributes:l(d,{\"text-anchor\":d.textAnchor,href:`${o}#${i}`}),children:h}}});a.textPath={path:t,undo:e}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache=\"\",this.renderer.buildText(a)),this}function h(t){let e=t.bBox,i=this.element?.querySelector(\"textPath\");if(i){let t=[],{b:s,h:n}=this.renderer.fontMetrics(this.element),r=n-s,l=RegExp('(|]*>|<\\\\/tspan>)',\"g\"),a=i.innerHTML.replace(l,\"\").split(/]*>/),h=a.length,d=(t,e)=>{let{x:n,y:l}=e,a=(i.getRotationOfChar(t)-90)*o,h=Math.cos(a),d=Math.sin(a);return[[n-r*h,l-r*d],[n+s*h,l+s*d]]};for(let e=0,o=0;ot.level-e.level)}}getNodePadding(){let t=this.options.nodePadding||0;if(this.nodeColumns){let e=this.nodeColumns.reduce((t,e)=>Math.max(t,e.length),0);e*t>this.chart.plotSizeY&&(t=this.chart.plotSizeY/e)}return t}hasData(){return!!this.processedXData.length}pointAttribs(t,e){if(!t)return{};let o=this,i=t.isNode?t.level:t.fromNode.level,s=o.mapOptionsToLevel[i||0]||{},n=t.options,l=s.states&&s.states[e||\"\"]||{},a=[\"colorByPoint\",\"borderColor\",\"borderWidth\",\"linkOpacity\",\"opacity\"].reduce((t,e)=>(t[e]=v(l[e],n[e],s[e],o.options[e]),t),{}),h=v(l.color,n.color,a.colorByPoint?t.color:s.color);return t.isNode?{fill:h,stroke:a.borderColor,\"stroke-width\":a.borderWidth,opacity:a.opacity}:{fill:r.parse(h).setOpacity(a.linkOpacity).get()}}drawTracker(){p.prototype.drawTracker.call(this,this.points),p.prototype.drawTracker.call(this,this.nodes)}drawPoints(){p.prototype.drawPoints.call(this,this.points),p.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){p.prototype.drawDataLabels.call(this,this.points),p.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let t=this,e=this.chart,o=this.options,i=this.nodeColumns,s=i.length;for(let n of(this.nodeWidth=m(this,s),this.nodePadding=this.getNodePadding(),this.translationFactor=i.reduce((e,o)=>Math.min(e,o.sankeyColumn.getTranslationFactor(t)),1/0),this.colDistance=(e.plotSizeX-this.nodeWidth-o.borderWidth)/Math.max(1,i.length-1),t.mapOptionsToLevel=f({from:1,levels:o.levels,to:i.length-1,defaults:{borderColor:o.borderColor,borderRadius:o.borderRadius,borderWidth:o.borderWidth,color:t.color,colorByPoint:o.colorByPoint,levelIsConstant:!0,linkColor:o.linkColor,linkLineWidth:o.linkLineWidth,linkOpacity:o.linkOpacity,states:o.states}}),i))for(let e of n)t.translateNode(e,n);for(let e of this.nodes)for(let o of e.linksFrom)(o.weight||o.isNull)&&o.to&&(t.translateLink(o),o.allowShadow=!1)}translateLink(t){let e=(e,o)=>{let i=e.offset(t,o)*r;return Math.min(e.nodeY+i,e.nodeY+(e.shapeArgs&&e.shapeArgs.height||0)-f)},o=t.fromNode,i=t.toNode,s=this.chart,{inverted:n}=s,r=this.translationFactor,l=this.options,a=v(t.linkColorMode,l.linkColorMode),h=(s.inverted?-this.colDistance:this.colDistance)*l.curveFactor,d=o.nodeX,p=i.nodeX,c=t.outgoing,f=Math.max(t.weight*r,this.options.minLinkWidth),m=e(o,\"linksFrom\"),g=e(i,\"linksTo\"),y=this.nodeWidth,k=p>d+y;if(s.inverted&&(m=s.plotSizeY-m,g=(s.plotSizeY||0)-g,y=-y,f=-f,k=d>p),t.shapeType=\"path\",t.linkBase=[m,m+f,g,g+f],k&&\"number\"==typeof g)t.shapeArgs={d:[[\"M\",d+y,m],[\"C\",d+y+h,m,p-h,g,p,g],[\"L\",p+(c?y:0),g+f/2],[\"L\",p,g+f],[\"C\",p-h,g+f,d+y+h,m+f,d+y,m+f],[\"Z\"]]};else if(\"number\"==typeof g){let e=s.plotHeight-m-f,o=p-20-f,i=p-20,n=d+y,r=n+20,l=r+f,a=m,h=m+f,c=h+20,u=c+e,k=u+20,C=k+f,b=g,v=b+f,x=v+20,S=h-.7*f,N=k+.7*f,P=v-.7*f,T=p-.7*f,L=n+.7*f;t.shapeArgs={d:[[\"M\",n,a],[\"C\",L,a,l,S,l,c],[\"L\",l,u],[\"C\",l,N,L,C,n,C],[\"L\",p,C],[\"C\",T,C,o,N,o,u],[\"L\",o,x],[\"C\",o,P,T,b,p,b],[\"L\",p,v],[\"C\",i,v,i,v,i,x],[\"L\",i,u],[\"C\",i,k,i,k,p,k],[\"L\",n,k],[\"C\",r,k,r,k,r,u],[\"L\",r,c],[\"C\",r,h,r,h,n,h],[\"Z\"]]}}if(t.dlBox={x:d+(p-d+y)/2,y:m+(g-m)/2,height:f,width:0},t.tooltipPos=s.inverted?[s.plotSizeY-t.dlBox.y-f/2,s.plotSizeX-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+f/2],t.y=t.plotY=1,t.x=t.plotX=1,!t.options.color){if(\"from\"===a)t.color=o.color;else if(\"to\"===a)t.color=i.color;else if(\"gradient\"===a){let e=u(o.color).get(),s=u(i.color).get();t.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,n?e:s],[1,n?s:e]]}}}}translateNode(t,e){let o=this.translationFactor,i=this.chart,s=this.options,{borderRadius:n,borderWidth:r=0}=s,l=t.getSum(),a=Math.max(Math.round(l*o),this.options.minLinkWidth),h=Math.round(this.nodeWidth),d=e.sankeyColumn.offset(t,o),p=y(v(d.absoluteTop,e.sankeyColumn.top(o)+d.relativeTop),r),c=y(this.colDistance*t.column+r/2,r)+x(t.options[i.inverted?\"offsetVertical\":\"offsetHorizontal\"]||0,h),u=i.inverted?i.plotSizeX-c:c;if(t.sum=l,l){t.shapeType=\"roundedRect\",t.nodeX=u,t.nodeY=p;let e=u,o=p,r=t.options.width||s.width||h,l=t.options.height||s.height||a,d=g(x(\"object\"==typeof n?n.radius:n||0,r),0,a/2);i.inverted&&(e=u-h,o=i.plotSizeY-p-a,r=t.options.height||s.height||h,l=t.options.width||s.width||a),t.dlOptions=N.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options}),t.plotX=1,t.plotY=1,t.tooltipPos=i.inverted?[i.plotSizeY-o-l/2,i.plotSizeX-e-r/2]:[e+r/2,o+l/2],t.shapeArgs={x:e,y:o,width:r,height:l,r:d,display:t.hasShape()?\"\":\"none\"}}else t.dlOptions={enabled:!1}}}return N.defaultOptions=b(p.defaultOptions,i),e.compose(o,N),k(N.prototype,{animate:c.prototype.animate,createNode:e.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:[\"from\",\"to\",\"weight\"],pointClass:o,searchPoint:t.noop}),s.registerSeriesType(\"sankey\",N),N}),o(e,\"masters/modules/sankey.src.js\",[e[\"Core/Globals.js\"]],function(t){return t})});","!/**\n * Highcharts JS v11.4.8 (2024-08-29)\n *\n * Dependency wheel module\n *\n * (c) 2010-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */function(e){\"object\"==typeof module&&module.exports?(e.default=e,module.exports=e):\"function\"==typeof define&&define.amd?define(\"highcharts/modules/dependency-wheel\",[\"highcharts\",\"highcharts/modules/sankey\"],function(t){return e(t),e.Highcharts=t,e}):e(\"undefined\"!=typeof Highcharts?Highcharts:void 0)}(function(e){\"use strict\";var t=e?e._modules:{};function s(t,s,n,a){t.hasOwnProperty(s)||(t[s]=a.apply(null,n),\"function\"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:s,module:t[s]}})))}s(t,\"Series/DependencyWheel/DependencyWheelPoint.js\",[t[\"Core/Series/SeriesRegistry.js\"],t[\"Core/Utilities.js\"]],function(e,t){let{sankey:{prototype:{pointClass:s}}}=e.seriesTypes,{pInt:n,wrap:a}=t;return class extends s{getDataLabelPath(e){let t=this,s=t.series.chart.renderer,r=t.shapeArgs,i=t.angle<0||t.angle>Math.PI,o=r.start||0,l=r.end||0;return t.dataLabelPath?(t.dataLabelPath=t.dataLabelPath.destroy(),delete t.dataLabelPath):a(e,\"destroy\",function(e){return t.dataLabelPath&&(t.dataLabelPath=t.dataLabelPath.destroy()),e.call(this)}),t.dataLabelPath=s.arc({open:!0,longArc:Math.abs(Math.abs(o)-Math.abs(l)){s.graphic&&s.graphic.animate({opacity:1},{duration:e})},e*t++))}for(let e of this.points){let t=e.graphic;!e.isNode&&t&&t.attr({opacity:0}).animate({opacity:1},this.options.animation)}}}createNode(e){let t=super.createNode(e);return t.getSum=()=>t.linksFrom.concat(t.linksTo).reduce((e,t)=>e+t.weight,0),t.offset=e=>{let s=e=>e.fromNode===t?e.toNode:e.fromNode,n=0,a=t.linksFrom.concat(t.linksTo),r;a.sort((e,t)=>s(e).index-s(t).index);for(let e=0;et.index){a=a.slice(0,e).reverse().concat(a.slice(e).reverse()),r=!0;break}r||a.reverse();for(let t=0;t{let c=t*i,p=Math.cos(n+c)*(h+1),u=Math.sin(n+c)*(h+1);return a=e.curveFactor||0,(r=Math.abs(s.linkBase[3-d]*t-c))>Math.PI&&(r=2*Math.PI-r),(r*=h)(1===e&&(i=0),n({grid:{borderColor:\"#cccccc\",enabled:!0},opposite:o.xAxis?.opposite??t.opposite??!0,linkedTo:i},t,{type:\"datetime\"}))),h.yAxis=a(t.yAxis||{}).map(t=>n({grid:{borderColor:\"#cccccc\",enabled:!0},staticScale:50,reversed:!0,type:t.categories?t.type:\"treegrid\"},t)),super.init(h,e)}}return(s=l||(l={})).ganttChart=function(t,e,i){return new s(t,e,i)},l}),i(e,\"Stock/Navigator/ChartNavigatorComposition.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){let i;let{isTouchDevice:s}=t,{addEvent:o,merge:r,pick:n}=e,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&\"bottom\"===t.verticalAlign&&\"proximate\"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function d(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),n(t.redraw,!0)&&this.redraw(t.animation))}function c(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function p(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!s&&\"x\"===this.zooming.type||s&&\"x\"===this.zooming.pinchType))return!1}function u(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function g(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(r(!0,this.options.navigator,e),r(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(t,s){if(e.pushUnique(a,t)){let e=t.prototype;i=s,e.callbacks.push(u),o(t,\"afterAddSeries\",l),o(t,\"afterSetChartSize\",h),o(t,\"afterUpdate\",d),o(t,\"beforeRender\",c),o(t,\"beforeShowResetZoom\",p),o(t,\"update\",g)}}}}),i(e,\"Core/Axis/NavigatorAxisComposition.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{isTouchDevice:i}=t,{addEvent:s,correctFloat:o,defined:r,isNumber:n,pick:a}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new d(this))}function h(t){let e;let s=this.chart,o=s.options,n=o.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=o.rangeSelector,d=s.zooming.type;if(this.isXAxis&&(n?.enabled||h?.enabled)){if(\"y\"===d&&\"zoom\"===t.trigger)e=!1;else if((\"zoom\"===t.trigger&&\"xy\"===d||i&&\"xy\"===l)&&this.options.range){let e=a.previousZoom;r(t.min)?a.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],a.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class d{static compose(t){t.keepProps.includes(\"navigatorAxis\")||(t.keepProps.push(\"navigatorAxis\"),s(t,\"init\",l),s(t,\"setExtremes\",h))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let l=this.axis,h=(l.pointRange||0)/2,d=a(i,l.translate(t,!0,!l.horiz)),c=a(s,l.translate(e,!0,!l.horiz));return r(i)||(d=o(d+h)),r(s)||(c=o(c-h)),n(d)&&n(c)||(d=c=void 0),{min:d,max:c}}}return d}),i(e,\"Stock/Navigator/NavigatorDefaults.js\",[e[\"Core/Color/Color.js\"],e[\"Core/Series/SeriesRegistry.js\"]],function(t,e){let{parse:i}=t,{seriesTypes:s}=e;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:[\"navigator-handle\",\"navigator-handle\"],enabled:!0,lineWidth:1,backgroundColor:\"#f2f2f2\",borderColor:\"#999999\"},maskFill:i(\"#667aff\").setOpacity(.3).get(),outlineColor:\"#999999\",outlineWidth:1,series:{type:void 0===s.areaspline?\"line\":\"areaspline\",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:\"average\",enabled:!0,groupPixelWidth:2,firstAnchor:\"firstPoint\",anchor:\"middle\",lastAnchor:\"lastPoint\",units:[[\"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,3,4]],[\"week\",[1,2,3]],[\"month\",[1,3,6]],[\"year\",null]]},dataLabels:{enabled:!1,zIndex:2},id:\"highcharts-navigator-series\",className:\"highcharts-navigator-series\",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:\"highcharts-navigator-xaxis\",tickLength:0,lineWidth:0,gridLineColor:\"#e6e6e6\",id:\"navigator-x-axis\",gridLineWidth:1,tickPixelInterval:200,labels:{align:\"left\",style:{color:\"#000000\",fontSize:\"0.7em\",opacity:.6,textOutline:\"2px contrast\"},x:3,y:-4},crosshair:!1},yAxis:{className:\"highcharts-navigator-yaxis\",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:\"navigator-y-axis\",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(e,\"Stock/Navigator/NavigatorSymbols.js\",[e[\"Core/Renderer/SVG/Symbols.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{relativeLength:i}=e;return{\"navigator-handle\":function(e,s,o,r,n={}){let a=n.width?n.width/2:o,l=i(n.borderRadius||0,Math.min(2*a,r));return[[\"M\",-1.5,(r=n.height||r)/2-3.5],[\"L\",-1.5,r/2+4.5],[\"M\",.5,r/2-3.5],[\"L\",.5,r/2+4.5],...t.rect(-a-1,.5,2*a+1,r,{r:l})]}}}),i(e,\"Stock/Utilities/StockUtilities.js\",[e[\"Core/Utilities.js\"]],function(t){let{defined:e}=t;return{setFixedRange:function(t){let i=this.xAxis[0];e(i.dataMax)&&e(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}}),i(e,\"Stock/Navigator/NavigatorComposition.js\",[e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Core/Axis/NavigatorAxisComposition.js\"],e[\"Stock/Navigator/NavigatorDefaults.js\"],e[\"Stock/Navigator/NavigatorSymbols.js\"],e[\"Core/Renderer/RendererRegistry.js\"],e[\"Stock/Utilities/StockUtilities.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,r,n,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:d}=r,{setFixedRange:c}=n,{addEvent:p,extend:u,pushUnique:g}=a;function x(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r){i.compose(e),g(h,\"Navigator\")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,o),p(r,\"afterUpdate\",x),l({navigator:s}))}}}),i(e,\"Core/Axis/ScrollbarAxis.js\",[e[\"Core/Globals.js\"],e[\"Core/Utilities.js\"]],function(t,e){var i;let{composed:s}=t,{addEvent:o,defined:r,pick:n,pushUnique:a}=e;return function(t){let e;function i(t){let e=n(t.options&&t.options.min,t.min),i=n(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:r(t.dataMin)?Math.min(e,t.min,t.dataMin,n(t.threshold,1/0)):e,scrollMax:r(t.dataMax)?Math.max(i,t.max,t.dataMax,n(t.threshold,-1/0)):i}}function l(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function h(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),o(t.scrollbar,\"changed\",function(e){let s,o;let{axisMin:n,axisMax:a,scrollMin:l,scrollMax:h}=i(t),d=h-l;if(r(n)&&r(a)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+d*this.to,o=l+d*this.from):(s=l+d*(1-this.from),o=l+d*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i=\"mousemove\"!==e.DOMType&&\"touchmove\"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function d(){let t,e,s;let{scrollMin:o,scrollMax:n}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=l),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(n)||!r(this.min)||!r(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(n-o),s=(this.max-o)/(n-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){a(s,\"Axis.Scrollbar\")&&(e=i,o(t,\"afterGetOffset\",l),o(t,\"afterInit\",h),o(t,\"afterRender\",d))}}(i||(i={})),i}),i(e,\"Stock/Scrollbar/ScrollbarDefaults.js\",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:\"#cccccc\",barBorderWidth:0,barBorderColor:\"#cccccc\",buttonArrowColor:\"#333333\",buttonBackgroundColor:\"#e6e6e6\",buttonBorderColor:\"#cccccc\",buttonBorderWidth:1,rifleColor:\"none\",trackBackgroundColor:\"rgba(255, 255, 255, 0.001)\",trackBorderColor:\"#cccccc\",trackBorderRadius:5,trackBorderWidth:1}}),i(e,\"Stock/Scrollbar/Scrollbar.js\",[e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Core/Axis/ScrollbarAxis.js\"],e[\"Stock/Scrollbar/ScrollbarDefaults.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o){let{defaultOptions:r}=t,{addEvent:n,correctFloat:a,crisp:l,defined:h,destroyObjectProperties:d,fireEvent:c,merge:p,pick:u,removeEvent:g}=o;class x{static compose(t){i.compose(t,x)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;sthis.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),[\"track\",\"scrollbarRifles\",\"scrollbar\",\"scrollbarGroup\",\"group\"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,d(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass(\"highcharts-scrollbar-button\").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,\"stroke-width\":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(x.swapXY([[\"M\",o/2+(t?-1:1),o/2-3],[\"L\",o/2+(t?-1:1),o/2+3],[\"L\",o/2+(t?2:-2),o/2]],s.vertical)).addClass(\"highcharts-scrollbar-arrow\").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?\"chartY\":\"chartX\",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&c(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&c(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?\"animate\":\"attr\",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g(\"scrollbar\").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass(\"highcharts-scrollbar-track\").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,\"stroke-width\":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-l(0,r),y:-l(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass(\"highcharts-scrollbar-thumb\").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(x.swapXY([[\"M\",-3,i/4],[\"L\",-3,2*i/3],[\"M\",0,i/4],[\"L\",0,2*i/3],[\"M\",3,i/4],[\"L\",3,2*i/3]],e.vertical)).addClass(\"highcharts-scrollbar-rifles\").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,\"stroke-width\":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,\"stroke-width\":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-l(0,this.scrollbarStrokeWidth),-l(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,n=o.minWidth,l=this.barWidth,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?\"attr\":\"animate\";if(!h(l))return;let c=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=a(c-i),s=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return u(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||\"mouseup\"===t||\"touchend\"===t||!h(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,\"changed\",{from:this.from,to:this.to,trigger:\"scrollbar\",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=a(1-a(e-t)),e=1),t<0&&(e=a(e-t),t=0),this.from=t,this.to=e}}return x.defaultOptions=s,r.scrollbar=p(!0,x.defaultOptions,r.scrollbar),x}),i(e,\"Stock/Navigator/Navigator.js\",[e[\"Core/Axis/Axis.js\"],e[\"Stock/Navigator/ChartNavigatorComposition.js\"],e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Core/Axis/NavigatorAxisComposition.js\"],e[\"Stock/Navigator/NavigatorComposition.js\"],e[\"Stock/Scrollbar/Scrollbar.js\"],e[\"Core/Renderer/SVG/SVGRenderer.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,r,n,a,l){let{defaultOptions:h}=i,{isTouchDevice:d}=s,{prototype:{symbols:c}}=a,{addEvent:p,clamp:u,correctFloat:g,defined:x,destroyObjectProperties:f,erase:m,extend:b,find:y,fireEvent:v,isArray:M,isNumber:k,merge:A,pick:S,removeEvent:C,splat:w}=l;function P(t,...e){let i=[].filter.call(e,k);if(i.length)return Math[t].apply(0,i)}class O{static compose(t,i,s){e.compose(t,O),r.compose(t,i,s)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,x,f;i?(x=d+e+a,e=d+t+a,f=[[\"M\",g+c,d-l-a],[\"L\",g+c,x],[\"L\",g,x],[\"M\",g,e],[\"L\",g+c,e],[\"L\",g+c,d+h+l]],o&&f.push([\"M\",g+c,x-n],[\"L\",g+c,e+n])):(g-=l,t+=g+l-a,e+=g+l-a,f=[[\"M\",g,p],[\"L\",t,p],[\"L\",t,u],[\"M\",e,u],[\"L\",e,p],[\"L\",g+h+2*l,p]],o&&f.push([\"M\",t-n,p],[\"L\",e+n,p])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,r,n,a;let l=this.left,h=this.top,d=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?\"ns-resize\":\"ew-resize\"},a=t.navigatorGroup??(t.navigatorGroup=r.g(\"navigator\").attr({zIndex:8,visibility:\"hidden\"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass(\"highcharts-navigator-mask\"+(1===o?\"-inside\":\"-outside\")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:\"rgba(0,0,0,0)\"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass(\"highcharts-navigator-outline\").add(a)),s.styledMode||t.outline.attr({\"stroke-width\":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=c[h].call(c,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass(\"highcharts-navigator-handle highcharts-navigator-handle-\"+[\"left\",\"right\"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,\"stroke-width\":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(A(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),x(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{C(t,\"updatedData\",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(p(t,\"updatedData\",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?\"width\":\"height\"]:this.height,[i.inverted?\"height\":\"width\"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?\"width\":\"height\"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,f=this.scrollButtonSize,m,b,y,M=this.scrollbarHeight,A,C;if(this.hasDragged&&!x(i))return;if(this.isDirty&&this.renderElements(),t=g(t-n/2),e=g(e+n/2),!k(t)||!k(e)){if(!h)return;i=0,s=S(r.width,a.width)}this.left=S(r.left,o.plotLeft+f+(d?o.plotWidth:0));let w=this.size=A=S(r.len,(d?o.plotHeight:o.plotWidth)-2*f);m=d?M:A+2*f,i=S(i,r.toPixels(t,!0)),s=S(s,r.toPixels(e,!0)),k(i)&&Math.abs(i)!==1/0||(i=0,s=m);let P=r.toValue(i,!0),O=r.toValue(s,!0),B=Math.abs(g(O-P));Bp&&(this.grabbedLeft?i=r.toPixels(O-p-n,!0):this.grabbedRight&&(s=r.toPixels(P+p+n,!0))),this.zoomedMax=u(Math.max(i,s),0,w),this.zoomedMin=u(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,w),this.range=this.zoomedMax-this.zoomedMin,w=Math.round(this.zoomedMax);let E=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:\"inherit\"}),C=h&&!this.hasDragged?\"animate\":\"attr\",this.drawMasks(E,w,d,C),this.drawOutline(E,w,d,C),this.navigatorOptions.handles.enabled&&(this.drawHandle(E,0,d,C),this.drawHandle(w,1,d,C))),this.scrollbar&&(d?(y=this.top-f,b=this.left-M+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),M=A+2*f):(y=this.top+(l?this.height:-M),b=this.left-f),this.scrollbar.position(b,y,m,M),this.scrollbar.setRange(this.zoomedMin/(A||1),this.zoomedMax/(A||1))),this.rendered=!0,this.isDirty=!1,v(this,\"afterRender\")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents(\"mousedown\")).push(p(e.renderTo,\"mousemove\",o),p(i.ownerDocument,\"mouseup\",r),p(e.renderTo,\"touchmove\",o),p(i.ownerDocument,\"touchend\",r)),s.concat(t.getPartsEvents(\"touchstart\")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(p(t.series[0].xAxis,\"foundExtremes\",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return[\"shades\",\"handles\"].forEach(function(s){e[s].forEach(function(o,r){i.push(p(o.element,t,function(t){e[s+\"Mousedown\"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-o):(p=l-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,x((c=s.navigatorAxis.toFixedRange(p,p+n,d,h)).min)&&v(this,\"setRange\",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:\"navigator\"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,ls+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&S(e.scrollbar.options.liveRedraw,!d&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n;let a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?\"animate\":\"attr\";(this.hasDragged&&(!h||!h.hasDragged)||\"scrollbar\"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),x((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&v(this,\"setRange\",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:\"navigator\",triggerOp:\"navigator-drag\",DOMEvent:d}})),\"mousemove\"!==t.DOMType&&\"touchmove\"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&k(this.zoomedMin)&&k(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){C(t,\"updatedData\",this.updatedDataHandler)},this),t[0].xAxis&&C(t[0].xAxis,\"foundExtremes\",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(e){let i=e.options,s=i.navigator||{},r=s.enabled,a=i.scrollbar||{},l=a.enabled,h=r&&s.height||0,d=l&&a.height||0,c=a.buttonsEnabled&&d||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=d,this.scrollButtonSize=c,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.setOpposite();let u=this,g=u.baseSeries,x=e.xAxis.length,f=e.yAxis.length,m=g&&g[0]&&g[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,u.navigatorEnabled){let i=this.getXAxisOffsets();u.xAxis=new t(e,A({breaks:m.options.breaks,ordinal:m.options.ordinal,overscroll:m.options.overscroll},s.xAxis,{type:\"datetime\",yAxis:s.yAxis?.id,index:x,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:m.options.ordinal?0:m.options.minPadding,maxPadding:m.options.ordinal?0:m.options.maxPadding,zoomEnabled:!1},e.inverted?{offsets:i,width:h}:{offsets:i,height:h}),\"xAxis\"),u.yAxis=new t(e,A(s.yAxis,{alignTicks:!1,offset:0,index:f,isInternal:!0,reversed:S(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:h}:{height:h}),\"yAxis\"),g||s.series.data?u.updateNavigatorSeries(!1):0===e.series.length&&(u.unbindRedraw=p(e,\"beforeRedraw\",function(){e.series.length>0&&!u.series&&(u.setBaseSeries(),u.unbindRedraw())})),u.reversedExtremes=e.inverted&&!u.xAxis.reversed||!e.inverted&&u.xAxis.reversed,u.renderElements(),u.addMouseEvents()}else u.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){let s=e.xAxis[0],o=s.getExtremes(),r=s.len-2*c,n=P(\"min\",s.options.min,o.dataMin),a=P(\"max\",s.options.max,o.dataMax)-n;return i?t*a/r+n:r*(t-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},u.xAxis.navigatorAxis.axis=u.xAxis,u.xAxis.navigatorAxis.toFixedRange=o.prototype.toFixedRange.bind(u.xAxis.navigatorAxis);if(e.options.scrollbar.enabled){let t=A(e.options.scrollbar,{vertical:e.inverted});!k(t.margin)&&u.navigatorEnabled&&(t.margin=e.inverted?-3:3),e.scrollbar=u.scrollbar=new n(e.renderer,t,e),p(u.scrollbar,\"changed\",function(t){let e=u.size,i=e*this.to,s=e*this.from;u.hasDragged=u.scrollbar.hasDragged,u.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){u.onMouseUp(t)})})}u.addBaseSeriesEvents(),u.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=S(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.xAxis,o=s.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:S(o&&o.min,P(\"min\",r.min,i.dataMin,s.dataMin,s.min)),dataMax:S(o&&o.max,P(\"max\",r.max,i.dataMax,s.dataMax,s.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?y(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:\"nav\",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(C(e,\"updatedData\",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,d=i.navigatorOptions.series,c;o&&o.length&&o.forEach(t=>{let p=t.navigatorSeries,u=b({color:t.color,visible:t.visible},M(d)?h.navigator.series:d);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name=\"Navigator \"+o.length,c=(a=t.options||{}).navigatorOptions||{},u.dataLabels=w(u.dataLabels),(l=A(a,r,u,c)).pointRange=S(u.pointRange,c.pointRange,h.plotOptions[l.type||\"line\"].pointRange);let g=c.data||u.data;i.hasNavigatorData=i.hasNavigatorData||!!g,l.data=g||a.data&&a.data.slice(0),p&&p.options?p.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(d.data&&!(o&&o.length)||M(d))&&(i.hasNavigatorData=!1,(d=w(d)).forEach((t,e)=>{r.name=\"Navigator \"+(n.length+1),(l=A(h.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(p(e[0].xAxis,\"foundExtremes\",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(p(i,\"show\",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(p(i,\"hide\",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(p(i,\"updatedData\",this.updatedDataHandler)),i.eventsToUnbind.push(p(i,\"remove\",function(){e&&m(e,i),this.navigatorSeries&&(m(t.series,this.navigatorSeries),x(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=S(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&\"rangeSelectorButton\"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),d&&(t=a+c,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&k(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.xData[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(k(o)&&k(r))&&(n&&o-i>0?o-i{t.destroy&&t.destroy()}),[\"series\",\"xAxis\",\"yAxis\",\"shades\",\"outline\",\"scrollbarTrack\",\"scrollbarRifles\",\"scrollbarGroup\",\"scrollbar\",\"navigatorGroup\",\"rendered\"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{f(t)}),this.navigatorEnabled=!1}}return O}),i(e,\"Stock/RangeSelector/RangeSelectorDefaults.js\",[],function(){return{lang:{rangeSelectorZoom:\"Zoom\",rangeSelectorFrom:\"\",rangeSelectorTo:\"→\"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:\"responsive\",enabled:void 0,verticalAlign:\"top\",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:\"none\",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:\"%e %b %Y\",inputDateParser:void 0,inputEditDateFormat:\"%Y-%m-%d\",inputEnabled:!0,inputPosition:{align:\"right\",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:\"left\",x:0,y:0},inputStyle:{color:\"#334eff\",cursor:\"pointer\",fontSize:\"0.8em\"},labelStyle:{color:\"#666666\",fontSize:\"0.8em\"}}}}),i(e,\"Stock/RangeSelector/RangeSelectorComposition.js\",[e[\"Core/Defaults.js\"],e[\"Core/Globals.js\"],e[\"Stock/RangeSelector/RangeSelectorDefaults.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){let o;let{defaultOptions:r}=t,{composed:n}=e,{addEvent:a,defined:l,extend:h,isNumber:d,merge:c,pick:p,pushUnique:u}=s,g=[];function x(){let t,e;let i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i=\"year\"===s?\"FullYear\":\"Month\",o=new r.Date(t),n=r.get(i,o);return r.set(i,o,n+e),n===r.get(i,o)&&r.set(\"Date\",o,0),o.getTime()-t};d(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=p(this.dataMin,Number.MIN_VALUE);return d(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function f(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new o(this))}function m(){let t=this.rangeSelector;if(t){d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||(\"bottom\"===e?this.extraBottomMargin=!0:\"middle\"===e||(this.extraTopMargin=!0))}}function b(){let t;let e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;d(i.min)&&e.render(i.min,i.max),s.display&&\"top\"===o&&o===s.options.verticalAlign&&(t=c(this.spacingBox),\"vertical\"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function y(){for(let t=0,e=g.length;tt()),g.splice(t,1);return}}}function v(){let t=this.rangeSelector;if(t){let e=t.getHeight();this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e)}}function M(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!l(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new o(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||(\"bottom\"===t?this.extraBottomMargin=!0:\"middle\"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}return{compose:function(t,e,s){if(o=s,u(n,\"RangeSelector\")){let s=e.prototype;t.prototype.minFromRange=x,a(e,\"afterGetContainer\",f),a(e,\"beforeRender\",m),a(e,\"destroy\",y),a(e,\"getMargins\",v),a(e,\"redraw\",b),a(e,\"update\",M),s.callbacks.push(b),h(r,{rangeSelector:i.rangeSelector}),h(r.lang,i.lang)}}}}),i(e,\"Core/Axis/OrdinalAxis.js\",[e[\"Core/Axis/Axis.js\"],e[\"Core/Globals.js\"],e[\"Core/Series/Series.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s){var o;let{addEvent:r,correctFloat:n,css:a,defined:l,error:h,isNumber:d,pick:c,timeUnits:p,isString:u}=s;return function(t){function s(t,e,i,o,r=[],n=0,a){let d={},c=this.options.tickPixelInterval,u=this.chart.time,g=[],x,f,m,b,y,v=0,M=[],k=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===e)return u.getTimeTicks.apply(u,arguments);let A=r.length;for(x=0;xi,r[x]5*n||y){if(r[x]>k){for(f=u.getTimeTicks(t,r[v],r[x],o);f.length&&f[0]<=k;)f.shift();f.length&&(k=f[f.length-1]),g.push(M.length),M=M.concat(f)}v=x+1}if(y)break}if(f){if(b=f.info,a&&b.unitRange<=p.hour){for(v=1,x=M.length-1;vt-e),(a=s[Math.floor(s.length/2)])<.6*c&&(a=null),h=M[t-1]>i?t-1:t,n=void 0;h--;)l=Math.abs(n-(r=e[h])),n&&l<.8*c&&(null===a||l<.8*a)?(d[M[h]]&&!d[M[h+1]]?(o=h+1,n=r):o=h,M.splice(o,1)):n=r}return M}function o(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function g(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o&&o.length){let r=n((t-i)*s+this.minPixelPadding),a=n(e.getIndexOfPoint(r,o)),l=n(a%1);if(a>=0&&a<=o.length-1){let t=o[Math.floor(a)],e=o[Math.ceil(a)];return o[Math.floor(a)]+l*(e-t)}}return t}function x(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function f(){this.ordinal||(this.ordinal=new t.Additions(this))}function m(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&l(e.overscroll)&&0!==e.overscroll&&d(this.max)&&d(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!==\"pan\"||this.isInternal)&&t?.trigger!==\"navigator\")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&l(this.userMin)&&t?.trigger!==\"mousewheel\"&&(this.min+=i)}}function b(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function y(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function v(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&\"y\"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o;let n=this.mouseDownX,l=e.getExtremes(),h=l.dataMin,d=l.dataMax,c=l.min,p=l.max,u=this.hoverPoints,g=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,x=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||g))),f=e.ordinal.getExtendedPositions(),m={ordinal:{positions:f,extendedOrdinalPositions:f}},b=e.index2val,y=e.val2lin;if(c<=h&&x<0||p+i>=d&&x>0)return;m.ordinal.positions?Math.abs(x)>1&&(u&&u.forEach(function(t){t.setState()}),d>(o=m.ordinal.positions)[o.length-1]&&o.push(d),this.setFixedRange(p-c),(t=e.navigatorAxis.toFixedRange(void 0,void 0,b.apply(m,[y.apply(m,[c,!0])+x]),b.apply(m,[y.apply(m,[p,!0])+x]))).min>=Math.min(l.dataMin,c)&&t.max<=Math.max(d,p)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:\"pan\"}),this.mouseDownX=s,a(this.container,{cursor:\"move\"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function M(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function k(t,e){let i;let s=this.ordinal,o=s.positions,r=s.slope,n;if(!o)return t;let a=o.length;if(o[0]<=t&&o[a-1]>=t)i=x(o,t);else{if(!((n=s.getExtendedPositions&&s.getExtendedPositions())&&n.length))return t;let a=n.length;r||(r=(n[a-1]-n[0])/a);let l=x(n,o[0]);if(t>=n[0]&&t<=n[a-1])i=x(n,t)-l;else{if(!e)return t;i=t0&&\"highcharts-navigator-series\"!==t.options.id&&t.processedXData.length>1&&(b=i!==t.processedXData[1]-t.processedXData[0]),i=t.processedXData[1]-t.processedXData[0],t.boosted&&(y=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(x=x.concat(t.processedXData)).length,x.sort(function(t,e){return t-e}),f=Math.min(f,c(t.closestPointRange,f)),a)){for(e=0;e2){for(h=x[1]-x[0],g=a-1;g--&&!m;)x[g+1]-x[g]!==h&&(m=!0);!t.options.keepOrdinalPadding&&(x[0]-s>h||o-x[x.length-1]>h)&&(m=!0)}else t.options.overscroll&&(2===a?f=x[1]-x[0]:1===a?(f=t.ordinal.convertOverscroll(t.options.overscroll),x=[x[0],x[0]+f]):f=e.overscrollPointsRange);m||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=f,x=x.concat(e.getOverscrollPositions())),e.positions=x,d=t.ordinal2lin(Math.max(s,x[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,x[x.length-1]),!0),1),e.slope=u=(o-s)/(p-d),e.offset=s-d*u):(e.overscrollPointsRange=c(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&m,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;st.x>=e&&t.x<=i)};s.series.forEach(t=>{let e=t.points?.[0];l(e?.plotX)&&(e.plotX{let e=t.xData;e&&(d=Math.min(e[0],d),p=Math.max(e[e.length-1],p))}),i=!1),u=y=(A=this.getYTDExtremes(p,d,s.time.useUTC)).min,g=A.max;else{this.deferredYTDClick=e;return}}else\"all\"===a&&r&&(s.navigator&&s.navigator.baseSeries[0]&&(s.navigator.baseSeries[0].xAxis.options.range=void 0),u=d,g=p);if(S&&o._offsetMin&&c(u)&&(u+=o._offsetMin),o._offsetMax&&c(g)&&(g+=o._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=e+1),r)r.setExtremes(u,g,v(i,!0),void 0,{trigger:\"rangeSelectorButton\",rangeSelectorButton:o}),s.setFixedRange(o._range);else{m=k(s.options.xAxis)[0];let t=l(s,\"afterGetAxes\",function(){let t=s.xAxis[0];t.range=t.options.range=b,t.min=t.options.min=y});l(s,\"load\",function(){let e=s.xAxis[0];s.setFixedRange(o._range),e.options.range=m.range,e.options.min=m.min,t()})}x(this,\"afterBtnClick\")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons||e.defaultButtons.slice(),o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&x(t,\"blur\"),i&&i.blur&&x(i,\"blur\")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(l(t.container,\"mousedown\",r)),this.eventsToUnbind.push(l(t,\"resize\",r)),s.forEach(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(l(t,\"load\",function(){t.xAxis&&t.xAxis[0]&&l(t.xAxis[0],\"setExtremes\",function(i){f(this.max)&&f(this.min)&&this.max-this.min!==t.fixedRange&&\"rangeSelectorButton\"!==i.trigger&&\"updatedData\"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),l=!o.hasVisibleSeries,h=24*36e5,c=e.scroller&&e.scroller.getUnionExtremes()||o,p=c.dataMin,u=c.dataMax,g=t.getYTDExtremes(u,p,e.time.useUTC),x=g.min,m=g.max,b=t.selected,y=t.options.allButtonsEnabled,v=Array(t.buttonOptions.length).fill(0),M=f(b),k=t.buttons,A=!1,S=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,a=e.type,d=e.count||1,c=e._offsetMax-e._offsetMin,g=i===b,f=s>u-p,k=ss&&(w=!0)}else(\"month\"===a||\"year\"===a)&&r+36e5>=({month:28,year:365})[a]*h*d-c&&r-36e5<=({month:31,year:366})[a]*h*d+c?w=!0:\"ytd\"===a?(w=m-x+c===r,C=!g):\"all\"===a&&(w=o.max-o.min>=u-p);let P=!y&&!(A&&\"all\"===a)&&(f||k||l),O=A&&\"all\"===a||!C&&w||g&&t.frozenStates;P?v[i]=3:O&&(!M||i===b)&&(S=i)}),null!==S?(v[S]=2,t.setSelected(S)):(t.setSelected(),s&&(s.setState(0),s.attr({text:(a.lang.rangeSelectorZoom||\"\")+\" ▾\"})));for(let e=0;e6&&(t.lastIndexOf(\"-\")===t.length-6||t.lastIndexOf(\"+\")===t.length-6))){let t=new Date(o).getTimezoneOffset()/60;o+=t<=0?`+${y(-t)}:00`:`-${y(t)}:00`}}let r=Date.parse(o);if(!f(r)){let e=t.split(\"-\");r=Date.UTC(M(e[0]),M(e[1])-1,M(e[2]))}return s&&e&&f(r)&&(r+=s.getTimezoneOffset(r)),r}drawInput(t){let{chart:e,div:s,inputGroup:o}=this,r=this,n=e.renderer.style||{},l=e.renderer,c=e.options.rangeSelector,p=a.lang,u=\"min\"===t;function x(t){let{maxInput:i,minInput:s}=r,o=e.xAxis[0],n=e.scroller?.getUnionExtremes()||o,a=n.dataMin,l=n.dataMax,h=e.xAxis[0].getExtremes()[t],d=r.getInputValue(t);f(d)&&d!==h&&(u&&i&&f(a)?d>Number(i.getAttribute(\"data-hc-time\"))?d=void 0:dl&&(d=l)),void 0!==d&&o.setExtremes(u?d:o.min,u?o.max:d,void 0,void 0,{trigger:\"rangeSelectorInput\"}))}let b=p[u?\"rangeSelectorFrom\":\"rangeSelectorTo\"]||\"\",y=l.label(b,0).addClass(\"highcharts-range-label\").attr({padding:b?2:0,height:b?c.inputBoxHeight:0}).add(o),v=l.label(\"\",0).addClass(\"highcharts-range-input\").attr({padding:2,width:c.inputBoxWidth,height:c.inputBoxHeight,\"text-align\":\"center\"}).on(\"click\",function(){r.showInput(t),r[t+\"Input\"].focus()});e.styledMode||v.attr({stroke:c.inputBoxBorderColor,\"stroke-width\":1}),v.add(o);let M=h(\"input\",{name:t,className:\"highcharts-range-selector\"},void 0,s);M.setAttribute(\"type\",function(t){if(-1!==t.indexOf(\"%L\"))return\"text\";let e=[\"a\",\"A\",\"d\",\"e\",\"w\",\"b\",\"B\",\"m\",\"o\",\"y\",\"Y\"].some(e=>-1!==t.indexOf(\"%\"+e)),i=[\"H\",\"k\",\"I\",\"l\",\"M\",\"S\"].some(e=>-1!==t.indexOf(\"%\"+e));return e&&i?\"datetime-local\":e?\"date\":i?\"time\":\"text\"}(c.inputDateFormat||\"%e %b %Y\")),e.styledMode||(y.css(m(n,c.labelStyle)),v.css(m({color:\"#333333\"},n,c.inputStyle)),d(M,g({position:\"absolute\",border:0,boxShadow:\"0 0 15px rgba(0,0,0,0.3)\",width:\"1px\",height:\"1px\",padding:0,textAlign:\"center\",fontSize:n.fontSize,fontFamily:n.fontFamily,top:\"-9999em\"},c.inputStyle))),M.onfocus=()=>{r.showInput(t)},M.onblur=()=>{M===i.doc.activeElement&&x(t),r.hideInput(t),r.setInputValue(t),M.blur()};let k=!1;return M.onchange=()=>{k||(x(t),r.hideInput(t),M.blur())},M.onkeypress=e=>{13===e.keyCode&&x(t)},M.onkeydown=e=>{k=!0,(\"ArrowUp\"===e.key||\"ArrowDown\"===e.key||\"Tab\"===e.key)&&x(t)},M.onkeyup=()=>{k=!1},{dateBox:v,input:M,label:y}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i=\"top\"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get(\"FullYear\",o),n=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),a=o.getTime();return{max:Math.min(t||a,a),min:n}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=v(s.chart.style?.zIndex,0)+1;if(!1!==o.enabled&&(this.group=e.g(\"range-selector-group\").attr({zIndex:7}).add(),this.div=h(\"div\",void 0,{position:\"relative\",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)){this.inputGroup=e.g(\"input-group\").add(this.group);let t=this.drawInput(\"min\");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let i=this.drawInput(\"max\");this.maxDateBox=i.dateBox,this.maxLabel=i.label,this.maxInput=i.input}}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue(\"min\",t),this.setInputValue(\"max\",e);let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(c(o.dataMin)&&c(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes(\"min\",o.dataMin,Math.min(o.dataMax,this.getInputValue(\"max\"))-t),this.setInputExtremes(\"max\",Math.max(o.dataMin,this.getInputValue(\"min\"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:s}=this,o=a.lang,r=e.renderer,n=m(s.buttonTheme),d=n&&n.states,c=n.width||28;delete n.width,delete n.states,this.buttonGroup=r.g(\"range-selector-buttons\").add(this.group);let p=this.dropdown=h(\"select\",void 0,{position:\"absolute\",padding:0,border:0,cursor:\"pointer\",opacity:1e-4},this.div),u=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=r.button(\"\",0,0,()=>{},m(n,{\"stroke-width\":v(n[\"stroke-width\"],0),width:\"auto\",paddingLeft:v(s.buttonTheme.paddingLeft,u?.padding,8),paddingRight:v(s.buttonTheme.paddingRight,u?.padding,8)}),d&&d.hover,d&&d.select,d&&d.disabled).hide().add(this.group),l(p,\"touchstart\",()=>{p.style.fontSize=\"16px\"});let g=i.isMS?\"mouseover\":\"mouseenter\",f=i.isMS?\"mouseout\":\"mouseleave\";l(p,g,()=>{x(this.dropdownLabel.element,g)}),l(p,f,()=>{x(this.dropdownLabel.element,f)}),l(p,\"change\",()=>{x(this.buttons[p.selectedIndex-1].element,\"click\")}),this.zoomText=r.label(o.rangeSelectorZoom||\"\",0).attr({padding:s.buttonTheme.padding,height:s.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(s.labelStyle),n[\"stroke-width\"]=v(n[\"stroke-width\"],0)),h(\"option\",{textContent:this.zoomText.textStr,disabled:!0},void 0,p),this.buttonOptions.forEach((e,i)=>{h(\"option\",{textContent:e.title||e.text},void 0,p),t[i]=r.button(e.text,0,0,t=>{let s;let o=e.events&&e.events.click;o&&(s=o.call(e,t)),!1!==s&&this.clickButton(i),this.isActive=!0},n,d&&d.hover,d&&d.select,d&&d.disabled).attr({\"text-align\":\"center\",width:c}).add(this.buttonGroup),e.title&&t[i].attr(\"title\",e.title)})}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:c}=r,p=(t,e)=>l&&this.titleCollision(i)&&\"top\"===c&&\"right\"===e.align&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,h);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;o&&(l=p(o,d),\"left\"===d.align?a=u:\"right\"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,x=s.getBBox().height+20,f=0;if(\"bottom\"===c){let t=i.legend&&i.legend.options;f=g-(x=x+(t&&\"bottom\"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+v(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}\"top\"===c?(r.floating&&(f=0),i.titleOffset&&i.titleOffset[0]&&(f=i.titleOffset[0]),f+=i.margin[0]-i.spacing[0]||0):\"middle\"===c&&(d.y===h.y?f=g:(d.y||h.y)&&(d.y<0||h.y<0?f-=Math.min(d.y,h.y):f=g-x)),s.translate(r.x,r.y+Math.floor(f));let{minInput:m,maxInput:b,dropdown:y}=this;r.inputEnabled&&m&&b&&(m.style.marginTop=s.translateY+\"px\",b.style.marginTop=s.translateY+\"px\"),y&&(y.style.marginTop=s.translateY+\"px\")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,{buttonPosition:r}=s,n=i.plotLeft-i.spacing[3],a=r.x-i.spacing[3];\"right\"===r.align?a+=t-n:\"center\"===r.align&&(a-=n/2),o&&o.align({y:r.y,width:v(e,this.initialButtonGroupWidth),align:r.align,x:a},!0,i.spacingBox)}positionButtons(){let{buttons:t,chart:e,options:i,zoomText:s}=this,o=e.hasLoaded?\"animate\":\"attr\",{buttonPosition:r}=i,n=e.plotLeft,a=n;s&&\"hidden\"!==s.visibility&&(s[o]({x:v(n+r.x,n)}),a+=r.x+s.getBBox().width+5);for(let e=0,s=this.buttonOptions.length;e{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},l=e=>{if(s?.alignOptions&&i){let r=s.alignAttr.translateX+s.alignOptions.x-t+s.getBBox().x+2,a=s.alignOptions.width||0,l=i.alignAttr.translateX+i.getBBox().x;return l+e>r&&r+a>l&&o.y{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};if(i){if(\"always\"===r){this.collapseButtons(),l(a())&&h();return}\"never\"===r&&this.expandButtons()}s&&i?n.align===o.align||l(this.initialButtonGroupWidth+20)?\"responsive\"===r?(this.collapseButtons(),l(a())&&h()):h():\"responsive\"===r&&this.expandButtons():i&&\"responsive\"===r&&(this.initialButtonGroupWidth>e.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;if(t&&s){let{translateX:o=0,translateY:r=0}=t,n=e.plotLeft+o;i.attr({x:n,y:r}).show(),d(s,{left:n+\"px\",top:r+\"px\",visibility:\"inherit\"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),d(t,{visibility:\"hidden\",width:\"1px\",height:\"1px\"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;m(!0,i.options.rangeSelector,t),this.destroy(),this.init(i),e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(t=>t()),t.eventsToUnbind=void 0),p(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),b(t,function(e,i){e&&\"chart\"!==i&&(e instanceof o?e.destroy():e instanceof window.HTMLElement&&u(e)),e!==A.prototype[i]&&(t[i]=null)},this)}}return g(A.prototype,{defaultButtons:[{type:\"month\",count:1,text:\"1m\",title:\"View 1 month\"},{type:\"month\",count:3,text:\"3m\",title:\"View 3 months\"},{type:\"month\",count:6,text:\"6m\",title:\"View 6 months\"},{type:\"ytd\",text:\"YTD\",title:\"View year to date\"},{type:\"year\",count:1,text:\"1y\",title:\"View 1 year\"},{type:\"all\",text:\"All\",title:\"View all\"}],inputTypeFormats:{\"datetime-local\":\"%Y-%m-%dT%H:%M:%S\",date:\"%Y-%m-%d\",time:\"%H:%M:%S\"}}),A}),i(e,\"Series/PathUtilities.js\",[],function(){function t(t,e){let i=[];for(let s=0;s>1].xMin)>0)o=n+1;else{if(!(a<0))return n;r=n-1}return o>0?o-1:0}function a(t,e){let i=n(t,e.x+1)+1;for(;i--;){var s;if(t[i].xMax>=e.x&&(s=t[i],e.x<=s.xMax&&e.x>=s.xMin&&e.y<=s.yMax&&e.y>=s.yMin))return i}return -1}function l(t){let e=[];if(t.length){e.push([\"M\",t[0].start.x,t[0].start.y]);for(let i=0;ir(s.y-e.y))?\"x\":\"y\",g,x,f,m;function b(t,e,i,s,o){let r={x:t.x,y:t.y};return r[e]=i[s||e]+(o||0),r}function y(t,e,i){let s=r(e[i]-t[i+\"Min\"])>r(e[i]-t[i+\"Max\"]);return b(e,i,t,i+(s?\"Max\":\"Min\"),s?1:-1)}c>-1?(p={start:x=y(h[c],s,u),end:s},m=x):m=s,d>-1&&(x=y(g=h[d],e,u),n.push({start:e,end:x}),x[u]>=e[u]==x[u]>=m[u]&&(f=e[u=\"y\"===u?\"x\":\"y\"]r(e.y-t.y)),p=c?\"x\":\"y\",u=[],g=d.obstacleMetrics,x=s(t.x,e.x)-g.maxWidth-10,f=o(t.x,e.x)+g.maxWidth+10,m=s(t.y,e.y)-g.maxHeight-10,b=o(t.y,e.y)+g.maxHeight+10,y,v,M,k=!1,A=d.chartObstacles,S=n(A,f),C=n(A,x);function w(t,e,i){let o,r,a,l;let h=t.x0&&A[d].xMin<=r.x||h<0&&A[d].xMax>=o.x);){if(A[d].xMin<=r.x&&A[d].xMax>=o.x&&A[d].yMin<=a.y&&A[d].yMax>=l.y){if(i)return{y:t.y,x:t.x=n[l+\"Max\"],p=t[l+\"Min\"]<=n[l+\"Min\"],u=t[l+\"Max\"]>=a[l+\"Max\"],g=t[l+\"Min\"]<=a[l+\"Min\"],x=r(t[l+\"Min\"]-e[l]),f=r(t[l+\"Max\"]-e[l]),m=10>r(x-f)?e[l]-1&&(M=function(t,e,i){let o=s(t.xMax-e.x,e.x-t.xMin)-1;)v=e[p]-t[p]<0,(M={x:e.x,y:e.y})[p]=A[S][v?p+\"Max\":p+\"Min\"]+(v?1:-1),u.push({end:e,start:M}),e=M;return{path:l(y=(y=function t(e,i,r){let n,l,c,p,u,g,y;if(e.x===i.x&&e.y===i.y)return[];let v=r?\"x\":\"y\",M=d.obstacleOptions.margin,S={soft:{xMin:x,xMax:f,yMin:m,yMax:b},hard:d.hardBounds};return(u=a(A,e))>-1?(p=P(u=A[u],e,i,r,S),h(u,d.hardBounds),y=r?{y:e.y,x:u[p?\"xMax\":\"xMin\"]+(p?1:-1)}:{x:e.x,y:u[p?\"yMax\":\"yMin\"]+(p?1:-1)},(g=a(A,y))>-1&&(h(g=A[g],d.hardBounds),y[v]=p?o(u[v+\"Max\"]-M+1,(g[v+\"Min\"]+u[v+\"Max\"])/2):s(u[v+\"Min\"]+M-1,(g[v+\"Max\"]+u[v+\"Min\"])/2),e.x===y.x&&e.y===y.y?(k&&(y[v]=p?o(u[v+\"Max\"],g[v+\"Max\"])+1:s(u[v+\"Min\"],g[v+\"Min\"])-1),k=!k):k=!1),l=[{start:e,end:y}]):(n=w(e,{x:r?i.x:e.x,y:r?e.y:i.y},r),l=[{start:e,end:{x:n.x,y:n.y}}],n[r?\"x\":\"y\"]!==i[r?\"x\":\"y\"]&&(p=P(n.obstacle,n,i,!r,S),h(n.obstacle,d.hardBounds),c={x:r?n.x:n.obstacle[p?\"xMax\":\"xMin\"]+(p?1:-1),y:r?n.obstacle[p?\"yMax\":\"yMin\"]+(p?1:-1):n.y},r=!r,l=l.concat(t({x:n.x,y:n.y},c,r)))),l=l.concat(t(l[l.length-1].end,i,!r))}(t,e,c)).concat(u.reverse())),obstacles:y}}return d.requiresObstacles=!0,c.requiresObstacles=!0,{fastAvoid:c,straight:function(t,e){return{path:[[\"M\",t.x,t.y],[\"L\",e.x,e.y]],obstacles:[{start:t,end:e}]}},simpleConnect:d}}),i(e,\"Gantt/ConnectorsDefaults.js\",[],function(){return{connectors:{type:\"straight\",radius:0,lineWidth:1,marker:{enabled:!1,align:\"center\",verticalAlign:\"middle\",inside:!1,lineWidth:1},startMarker:{symbol:\"diamond\"},endMarker:{symbol:\"arrow-filled\"}}}}),i(e,\"Gantt/PathfinderComposition.js\",[e[\"Gantt/ConnectorsDefaults.js\"],e[\"Core/Defaults.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){var s;let{setOptions:o}=e,{defined:r,error:n,merge:a}=i;function l(t){let e=t.shapeArgs;if(e)return{xMin:e.x||0,xMax:(e.x||0)+(e.width||0),yMin:e.y||0,yMax:(e.y||0)+(e.height||0)};let i=t.graphic&&t.graphic.getBBox();return i?{xMin:t.plotX-i.width/2,xMax:t.plotX+i.width/2,yMin:t.plotY-i.height/2,yMax:t.plotY+i.height/2}:null}return function(e){function i(t){let e,i;let s=l(this);switch(t.align){case\"right\":e=\"xMax\";break;case\"left\":e=\"xMin\"}switch(t.verticalAlign){case\"top\":i=\"yMin\";break;case\"bottom\":i=\"yMax\"}return{x:e?s[e]:(s.xMin+s.xMax)/2,y:i?s[i]:(s.yMin+s.yMax)/2}}function s(t,e){let i;return!r(e)&&(i=l(this))&&(e={x:(i.xMin+i.xMax)/2,y:(i.yMin+i.yMax)/2}),Math.atan2(e.y-t.y,t.x-e.x)}function h(t,e,i){let s=2*Math.PI,o=l(this),r=o.xMax-o.xMin,n=o.yMax-o.yMin,a=Math.atan2(n,r),h=r/2,d=n/2,c=o.xMin+h,p=o.yMin+d,u={x:c,y:p},g=t,x=1,f=!1,m=1,b=1;for(;g<-Math.PI;)g+=s;for(;g>Math.PI;)g-=s;return x=Math.tan(g),g>-a&&g<=a?(b=-1,f=!0):g>a&&g<=Math.PI-a?b=-1:g>Math.PI-a||g<=-(Math.PI-a)?(m=-1,f=!0):m=-1,f?(u.x+=m*h,u.y+=b*h*x):(u.x+=n/(2*x)*m,u.y+=b*d),i.x!==c&&(u.x=i.x),i.y!==p&&(u.y=i.y),{x:u.x+e*Math.cos(g),y:u.y-e*Math.sin(g)}}e.compose=function(e,r,l){let d=l.prototype;d.getPathfinderAnchorPoint||(e.prototype.callbacks.push(function(t){!1!==t.options.connectors.enabled&&((t.options.pathfinder||t.series.reduce(function(t,e){return e.options&&a(!0,e.options.connectors=e.options.connectors||{},e.options.pathfinder),t||e.options&&e.options.pathfinder},!1))&&(a(!0,t.options.connectors=t.options.connectors||{},t.options.pathfinder),n('WARNING: Pathfinder options have been renamed. Use \"chart.connectors\" or \"series.connectors\" instead.')),this.pathfinder=new r(this),this.pathfinder.update(!0))}),d.getMarkerVector=h,d.getPathfinderAnchorPoint=i,d.getRadiansToVector=s,o(t))}}(s||(s={})),s}),i(e,\"Gantt/Pathfinder.js\",[e[\"Gantt/Connection.js\"],e[\"Gantt/PathfinderAlgorithms.js\"],e[\"Gantt/PathfinderComposition.js\"],e[\"Core/Series/Point.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o){let{addEvent:r,defined:n,pick:a,splat:l}=o,h=Math.max,d=Math.min;class c{static compose(t,e){i.compose(t,c,e)}constructor(t){this.init(t)}init(t){this.chart=t,this.connections=[],r(t,\"redraw\",function(){this.pathfinder.update()})}update(e){let i=this.chart,o=this,r=o.connections;o.connections=[],i.series.forEach(function(e){e.visible&&!e.options.isInternal&&e.points.forEach(function(e){let r;let n=e.options;n&&n.dependency&&(n.connect=n.dependency);let a=e.options?.connect&&l(e.options.connect);e.visible&&!1!==e.isInside&&a&&a.forEach(function(n){(r=i.get(\"string\"==typeof n?n:n.to))instanceof s&&r.series.visible&&r.visible&&!1!==r.isInside&&o.connections.push(new t(e,r,\"string\"==typeof n?{}:n))})})});for(let t=0,e,i,s=r.length,n=o.connections.length;ti.yMin-o&&e.yMin-oi.xMin-o&&e.xMin-oi.xMax?e.xMin-i.xMax:i.xMin-e.xMax:1/0,h=n?e.yMin>i.yMax?e.yMin-i.yMax:i.yMin-e.yMax:1/0;return n&&r?o?t(e,i,Math.floor(o/2)):1/0:d(l,h)}(t[o],t[r]))<80&&s.push(e);return s.push(80),h(Math.floor(s.sort(function(t,e){return t-e})[Math.floor(s.length/10)]/2-1),1)}(s),s.forEach(function(t){t.xMin-=o,t.xMax+=o,t.yMin-=o,t.yMax+=o})),s}getObstacleMetrics(t){let e=0,i=0,s,o,r=t.length;for(;r--;)s=t[r].xMax-t[r].xMin,o=t[r].yMax-t[r].yMin,e=1&&(e.plotHeight=i,e.redrawTrigger=\"adjustHeight\",e.setSize(void 0,e.chartHeight+n,s)),t.series.forEach(function(t){let i=t.sharedClipKey&&e.sharedClips[t.sharedClipKey];i&&i.attr(e.inverted?{width:e.plotHeight}:{height:e.plotHeight})})}}this.initiatedScale=!0}this.redrawTrigger=null}return{compose:function(t,i){let s=i.prototype;s.adjustHeight||(e(t,\"afterSetOptions\",r),s.adjustHeight=n,e(i,\"render\",s.adjustHeight))}}}),i(e,\"masters/modules/static-scale.src.js\",[e[\"Core/Globals.js\"],e[\"Extensions/StaticScale.js\"]],function(t,e){return e.compose(t.Axis,t.Chart),t}),i(e,\"Series/XRange/XRangeSeriesDefaults.js\",[e[\"Core/Utilities.js\"]],function(t){let{correctFloat:e,isNumber:i,isObject:s}=t;return{colorByPoint:!0,dataLabels:{formatter:function(){let t=this.point.partialFill;if(s(t)&&(t=t.amount),i(t)&&t>0)return e(100*t)+\"%\"},inside:!0,verticalAlign:\"middle\",style:{whiteSpace:\"nowrap\"}},tooltip:{headerFormat:'{point.x} - {point.x2}
',pointFormat:'● {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}}),i(e,\"Series/XRange/XRangePoint.js\",[e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{column:{prototype:{pointClass:i}}}=t.seriesTypes,{extend:s}=e;class o extends i{static getColorByCategory(t,e){let i=t.options.colors||t.chart.options.colors,s=i?i.length:t.chart.options.chart.colorCount,o=e.y%s,r=i&&i[o];return{colorIndex:o,color:r}}resolveColor(){let t=this.series;if(t.options.colorByPoint&&!this.options.color){let e=o.getColorByCategory(t,this);t.chart.styledMode||(this.color=e.color),this.options.colorIndex||(this.colorIndex=e.colorIndex)}else this.color=this.options.color||t.color}constructor(t,e){super(t,e),this.y||(this.y=0)}setState(){super.setState.apply(this,arguments),this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){let t=super.getLabelConfig.call(this),e=this.series.yAxis.categories;return t.x2=this.x2,t.yCategory=this.yCategory=e&&e[this.y],t.key=this.category||this.name,t}isValid(){return\"number\"==typeof this.x&&\"number\"==typeof this.x2}}return s(o.prototype,{ttBelow:!1,tooltipDateKeys:[\"x\",\"x2\"]}),o}),i(e,\"Series/XRange/XRangeSeries.js\",[e[\"Core/Globals.js\"],e[\"Core/Color/Color.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"],e[\"Series/XRange/XRangeSeriesDefaults.js\"],e[\"Series/XRange/XRangePoint.js\"]],function(t,e,i,s,o,r){let{composed:n,noop:a}=t,{parse:l}=e,{column:h}=i.seriesTypes,{addEvent:d,clamp:c,crisp:p,defined:u,extend:g,find:x,isNumber:f,isObject:m,merge:b,pick:y,pushUnique:v,relativeLength:M}=s;function k(){let t,e;if(this.isXAxis){for(let i of(t=y(this.dataMax,-Number.MAX_VALUE),this.series))if(i.x2Data)for(let s of i.x2Data)s&&s>t&&(t=s,e=!0);e&&(this.dataMax=t)}}class A extends h{static compose(t){v(n,\"Series.XRange\")&&d(t,\"afterGetSeriesExtremes\",k)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}getColumnMetrics(){let t=()=>{for(let t of this.chart.series){let e=t.xAxis;t.xAxis=t.yAxis,t.yAxis=e}};t();let e=super.getColumnMetrics();return t(),e}cropData(t,e,i,s){let o=super.cropData(this.x2Data,e,i,s);return o.xData=t.slice(o.start,o.end),o}findPointIndex(t){let e;let{cropStart:i,points:s}=this,{id:o}=t;if(o){let t=x(s,t=>t.id===o);e=t?t.index:void 0}if(void 0===e){let i=x(s,e=>e.x===t.x&&e.x2===t.x2&&!e.touched);e=i?i.index:void 0}return this.cropped&&f(e)&&f(i)&&e>=i&&(e-=i),e}alignDataLabel(t){let e=t.plotX;t.plotX=y(t.dlBox&&t.dlBox.centerX,t.plotX),t.dataLabel&&t.shapeArgs?.width&&t.dataLabel.css({width:`${t.shapeArgs.width}px`}),super.alignDataLabel.apply(this,arguments),t.plotX=e}translatePoint(t){let e=this.xAxis,i=this.yAxis,s=this.columnMetrics,o=this.options,r=o.minPointLength||0,n=(t.shapeArgs&&t.shapeArgs.width||0)/2,a=this.pointXOffset=s.offset,l=y(t.x2,t.x+(t.len||0)),h=o.borderRadius,d=this.chart.plotTop,g=this.chart.plotLeft,x=t.plotX,v=e.translate(l,0,0,0,1),k=Math.abs(v-x),A=this.chart.inverted,S=y(o.borderWidth,1),C,w,P=s.offset,O=Math.round(s.width),B,E,T,D;r&&((C=r-k)<0&&(C=0),x-=C/2,v+=C/2),x=Math.max(x,-10),v=c(v,-10,e.len+10),u(t.options.pointWidth)&&(P-=(Math.ceil(t.options.pointWidth)-O)/2,O=Math.ceil(t.options.pointWidth)),o.pointPlacement&&f(t.plotY)&&i.categories&&(t.plotY=i.translate(t.y,0,1,0,1,o.pointPlacement));let G=p(Math.min(x,v),S),R=p(Math.max(x,v),S)-G,I=Math.min(M(\"object\"==typeof h?h.radius:h||0,O),Math.min(R,O)/2),j={x:G,y:p((t.plotY||0)+P,S),width:R,height:O,r:I};t.shapeArgs=j,A?t.tooltipPos[1]+=a+n:t.tooltipPos[0]-=n+a-j.width/2,E=(B=j.x)+j.width,B<0||E>e.len?(B=c(B,0,e.len),T=(E=c(E,0,e.len))-B,t.dlBox=b(j,{x:B,width:E-B,centerX:T?T/2:null})):t.dlBox=null;let L=t.tooltipPos,z=A?1:0,N=A?0:1,U=this.columnMetrics?this.columnMetrics.offset:-s.width/2;A?L[z]+=j.width/2:L[z]=c(L[z]+(e.reversed?-1:0)*j.width,e.left-g,e.left+e.len-g-1),L[N]=c(L[N]+(A?-1:1)*U,i.top-d,i.top+i.len-d-1),(w=t.partialFill)&&(m(w)&&(w=w.amount),f(w)||(w=0),t.partShapeArgs=b(j),D=Math.max(Math.round(k*w+t.plotX-x),0),t.clipRectArgs={x:e.reversed?j.x+k-D:j.x,y:j.y,width:D,height:j.height})}translate(){for(let t of(super.translate.apply(this,arguments),this.points))this.translatePoint(t)}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeType,r=t.shapeArgs,n=t.partShapeArgs,a=t.clipRectArgs,h=t.state,d=i.states[h||\"normal\"]||{},c=void 0===h?\"attr\":e,p=this.pointAttribs(t,h),u=y(this.chart.options.chart.animation,d.animation),g=t.graphic,x=t.partialFill;if(t.isNull||!1===t.visible)g&&(t.graphic=g.destroy());else if(g?g.rect[e](r):(t.graphic=g=s.g(\"point\").addClass(t.getClassName()).add(t.group||this.group),g.rect=s[o](b(r)).addClass(t.getClassName()).addClass(\"highcharts-partfill-original\").add(g)),n&&(g.partRect?(g.partRect[e](b(n)),g.partialClipRect[e](b(a))):(g.partialClipRect=s.clipRect(a.x,a.y,a.width,a.height),g.partRect=s[o](n).addClass(\"highcharts-partfill-overlay\").add(g).clip(g.partialClipRect))),!this.chart.styledMode&&(g.rect[e](p,u).shadow(i.shadow),n)){m(x)||(x={}),m(i.partialFill)&&(x=b(i.partialFill,x));let e=x.fill||l(p.fill).brighten(-.3).get()||l(t.color||this.color).brighten(-.3).get();p.fill=e,g.partRect[c](p,u).shadow(i.shadow)}}drawPoints(){let t=this.getAnimationVerb();for(let e of this.points)this.drawPoint(e,t)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?\"animate\":\"attr\"}isPointInside(t){let e=t.shapeArgs,i=t.plotX,s=t.plotY;return e?void 0!==i&&void 0!==s&&s>=0&&s<=this.yAxis.len&&(e.x||0)+(e.width||0)>=0&&i<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}return A.defaultOptions=b(h.defaultOptions,o),g(A.prototype,{pointClass:r,pointArrayMap:[\"x2\",\"y\"],getExtremesFromAll:!0,parallelArrays:[\"x\",\"x2\",\"y\"],requireSorting:!1,type:\"xrange\",animate:i.series.prototype.animate,autoIncrement:a,buildKDTree:a}),i.registerSeriesType(\"xrange\",A),A}),i(e,\"masters/modules/xrange.src.js\",[e[\"Core/Globals.js\"],e[\"Series/XRange/XRangeSeries.js\"]],function(t,e){return e.compose(t.Axis),t}),i(e,\"Series/Gantt/GanttPoint.js\",[e[\"Core/Series/SeriesRegistry.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{xrange:{prototype:{pointClass:i}}}=t.seriesTypes,{pick:s}=e;class o extends i{static setGanttPointAliases(t){function e(e,i){void 0!==i&&(t[e]=i)}e(\"x\",s(t.start,t.x)),e(\"x2\",s(t.end,t.x2)),e(\"partialFill\",s(t.completed,t.partialFill))}applyOptions(t,e){let i=super.applyOptions(t,e);return o.setGanttPointAliases(i),i}isValid(){return(\"number\"==typeof this.start||\"number\"==typeof this.x)&&(\"number\"==typeof this.end||\"number\"==typeof this.x2||this.milestone)}}return o}),i(e,\"Series/Gantt/GanttSeriesDefaults.js\",[e[\"Core/Utilities.js\"]],function(t){let{isNumber:e}=t;return{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){let t=this.series,i=t.xAxis,s=t.tooltipOptions.dateTimeLabelFormats,o=i.options.startOfWeek,r=t.tooltipOptions,n=this.options.milestone,a=r.xDateFormat,l=\"\"+(this.name||this.yCategory)+\"\";if(r.pointFormat)return this.tooltipFormatter(r.pointFormat);!a&&e(this.start)&&(a=t.chart.time.getDateFormat(i.closestPointRange,this.start,o,s||{}));let h=t.chart.time.dateFormat(a,this.start),d=t.chart.time.dateFormat(a,this.end);return l+=\"
\",n?l+=h+\"
\":l+=\"Start: \"+h+\"
End: \"+d+\"
\",l}},connectors:{type:\"simpleConnect\",animation:{reversed:!0},radius:0,startMarker:{enabled:!0,symbol:\"arrow-filled\",radius:4,fill:\"#fa0\",align:\"left\"},endMarker:{enabled:!1,align:\"right\"}}}}),i(e,\"Core/Axis/BrokenAxis.js\",[e[\"Core/Axis/Stacking/StackItem.js\"],e[\"Core/Utilities.js\"]],function(t,e){var i;let{addEvent:s,find:o,fireEvent:r,isArray:n,isNumber:a,pick:l}=e;return function(e){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function h(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function d(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;ie.to||s>e.from&&oe.from&&oe.from&&o>e.to&&o0){let e,a;for(\"value\"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);n--;)if(a&&!1!==a.visible||(a=s[n+1]),e=s[n],!1!==a.visible&&!1!==e.visible){if(a.x-e.x>r){let i=(e.x+a.x)/2;s.splice(n+1,0,{isNull:!0,x:i}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][i]=new t(o,o.options.stackLabels,!1,i,this.stack)).total=0)}a=e}}return this.getGraphPath(s)}e.compose=function(t,e){if(!t.keepProps.includes(\"brokenAxis\")){t.keepProps.push(\"brokenAxis\"),s(t,\"init\",c),s(t,\"afterInit\",i),s(t,\"afterSetTickPositions\",d),s(t,\"afterSetOptions\",h);let o=e.prototype;o.drawBreaks=g,o.gappedPath=x,s(e,\"afterGeneratePoints\",p),s(e,\"afterRender\",u)}return t};class f{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r=s);r++)o.to=t)break;else if(f.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return o(e,function(e){return e.fromp;)g-=c;for(;g{t.getOffset()})}i&&t.apply(this)}function y(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:e,height:i,horiz:o,left:r,offset:n,opposite:a,options:l,top:h,width:d}=this,c=this.tickSize(),p=e&&e.getBBox().width,g=l.title.x,x=l.title.y,f=u(l.title.margin,o?5:10),m=e?this.chart.renderer.fontMetrics(e).f:0,b=(o?h+i:r)+(o?1:-1)*(a?-1:1)*(c?c[0]/2:0)+(this.side===s.bottom?m:0);t.titlePosition.x=o?r-(p||0)/2-f+g:b+(a?d:0)+n+g,t.titlePosition.y=o?b-(a?i:0)+(a?m:-m)/2+n+x:h-f+x}}function v(){let{chart:e,options:{grid:i={}},userOptions:s}=this;if(i.enabled&&function(t){let e=t.options;e.labels.align=u(e.labels.align,\"center\"),t.categories||(e.showLastLabel=!1),t.labelRotation=0,e.labels.rotation=0,e.minTickInterval=1}(this),i.columns){let o=this.grid.columns=[],r=this.grid.columnIndex=0;for(;++rt.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let t,e;let i=this.tickmarkOffset,s=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(e=this.hiddenMarks.pop())&&e.element;)e.show();(t=this.ticks[n].label)&&(o-n>i?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[s].label)&&(s-r>i?this.hiddenLabels.push(t.hide()):t.show());let a=this.ticks[s].mark;a&&s-r0&&this.ticks[s].isLast&&this.hiddenMarks.push(a.hide())}}}function k(){let t=this.tickPositions&&this.tickPositions.info,e=this.options,i=e.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&e.dateTimeLabelFormats&&e.labels&&!a(s.align)&&(!1===e.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(e.labels.align=\"left\",a(s.x)||(e.labels.x=3))):\"treegrid\"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function A(t){let e;let i=this.options,s=t.userOptions,o=i&&f(i.grid)?i.grid:{};!0===o.enabled&&(e=p(!0,{className:\"highcharts-grid-axis \"+(s.className||\"\"),dateTimeLabelFormats:{hour:{list:[\"%H:%M\",\"%H\"]},day:{list:[\"%A, %e. %B\",\"%a, %e. %b\",\"%E\"]},week:{list:[\"Week %W\",\"W%W\"]},month:{list:[\"%B\",\"%b\",\"%o\"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:\"0.9em\"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:\"ellipsis\"}},units:[[\"millisecond\",[1,10,100]],[\"second\",[1,10]],[\"minute\",[1,5,15]],[\"hour\",[1,6]],[\"day\",[1]],[\"week\",[1]],[\"month\",[1]],[\"year\",null]]},s),\"xAxis\"!==this.coll||(a(s.linkedTo)&&!a(s.tickPixelInterval)&&(e.tickPixelInterval=350),!(!a(s.tickPixelInterval)&&a(s.linkedTo))||a(s.tickPositioner)||a(s.tickInterval)||a(s.units)||(e.tickPositioner=function(t,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=e.units||[],r,n=1,a=\"year\";for(let t=0;tt.setScale())}function w(t){let{horiz:e,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=e?s.cellHeight||o+i.height:o+i.width;d(t.tickSize)?t.tickSize[0]=r:t.tickSize=[r,0]}}function P(){this.axes.forEach(t=>{(t.grid&&t.grid.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function O(t){let{grid:e}=this;(e.columns||[]).forEach(e=>e.destroy(t.keepEvents)),e.columns=void 0}function B(t){let e=t.userOptions||{},i=e.grid||{};i.enabled&&a(i.borderColor)&&(e.tickColor=e.lineColor=i.borderColor),this.grid||(this.grid=new R(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function E(t){let e=this.label,i=this.axis,o=i.reversed,r=i.chart,n=i.options.grid||{},a=i.options.labels,l=a.align,h=s[i.side],d=t.tickmarkOffset,p=i.tickPositions,u=this.pos-d,g=c(p[t.index+1])?p[t.index+1]-d:(i.max||0)+d,x=i.tickSize(\"tick\"),f=x?x[0]:0,m=x?x[1]/2:0;if(!0===n.enabled){let s,n,d,c;if(\"top\"===h?n=(s=i.top+i.offset)-f:\"bottom\"===h?s=(n=r.chartHeight-i.bottom+i.offset)+f:(s=i.top+i.len-(i.translate(o?g:u)||0),n=i.top+i.len-(i.translate(o?u:g)||0)),\"right\"===h?c=(d=r.chartWidth-i.right+i.offset)+f:\"left\"===h?d=(c=i.left+i.offset)-f:(d=Math.round(i.left+(i.translate(o?g:u)||0))-m,c=Math.min(Math.round(i.left+(i.translate(o?u:g)||0))-m,i.left+i.len)),this.slotWidth=c-d,t.pos.x=\"left\"===l?d:\"right\"===l?c:d+(c-d)/2,t.pos.y=n+(s-n)/2,e){let i=r.renderer.fontMetrics(e),s=e.getBBox().height;if(a.useHTML)t.pos.y+=i.b+-(s/2);else{let e=Math.round(s/i.h);t.pos.y+=(i.b-(i.h-i.f))/2+-((e-1)*i.h/2)}}t.pos.x+=i.horiz&&a.x||0}}function T(t){let{axis:i,value:s}=t;if(i.options.grid&&i.options.grid.enabled){let o;let r=i.tickPositions,n=(i.linkedParent||i).series[0],a=s===r[0],l=s===r[r.length-1],d=n&&h(n.options.data,function(t){return t[i.isXAxis?\"x\":\"y\"]===s});d&&n.is(\"gantt\")&&(o=p(d),e.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(o)),t.isFirst=a,t.isLast=l,t.point=o}}function D(){let t=this.options,e=t.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],a=s[s.length-2],l=this.linkedParent&&this.linkedParent.min,h=this.linkedParent&&this.linkedParent.max,d=l||this.min,p=h||this.max,u=this.tickInterval,g=c(d)&&d>=o+u&&dd,f=c(p)&&n>p&&n-ua;!0===e.enabled&&!i&&(this.isXAxis||this.isLinked)&&((x||g)&&!t.startOnTick&&(s[0]=d),(f||m)&&!t.endOnTick&&(s[s.length-1]=p))}function G(t){var e;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:t.apply(this,(e=arguments,Array.prototype.slice.call(e,1)))}(o=s||(s={}))[o.top=0]=\"top\",o[o.right=1]=\"right\",o[o.bottom=2]=\"bottom\",o[o.left=3]=\"left\";class R{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,e=t.chart,i=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],o=i?t.linkedParent:t,r=-1,n=0;return 3===t.side&&!e.inverted&&s.length?!t.linkedParent:((e[t.coll]||[]).forEach((e,i)=>{e.side!==t.side||e.options.isInternal||(n=i,e!==o||(r=i))}),n===r&&(!c(i)||s.length===i))}renderBorder(t){let e=this.axis,i=e.chart.renderer,s=e.options,o=i.path(t).addClass(\"highcharts-axis-line\").add(e.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,\"stroke-width\":s.lineWidth,zIndex:7}),o}}return r.E=function(t){return this.dateFormat(\"%a\",t,!0).charAt(0)},r.W=function(t){let e=this,i=new this.Date(t);[\"Hours\",\"Milliseconds\",\"Minutes\",\"Seconds\"].forEach(function(t){e.set(t,i,0)});let s=(this.get(\"Day\",i)+6)%7,o=new this.Date(i.valueOf());this.set(\"Date\",o,this.get(\"Date\",i)-s+3);let r=new this.Date(this.get(\"FullYear\",o),0,1);return 4!==this.get(\"Day\",r)&&(this.set(\"Month\",i,0),this.set(\"Date\",i,1+(11-this.get(\"Day\",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(t,e,i){return t.keepProps.includes(\"grid\")||(t.keepProps.push(\"grid\"),t.prototype.getMaxLabelDimensions=m,x(t.prototype,\"unsquish\",G),x(t.prototype,\"getOffset\",b),n(t,\"init\",B),n(t,\"afterGetTitlePosition\",y),n(t,\"afterInit\",v),n(t,\"afterRender\",M),n(t,\"afterSetAxisTranslation\",k),n(t,\"afterSetOptions\",A),n(t,\"afterSetOptions\",S),n(t,\"afterSetScale\",C),n(t,\"afterTickSize\",w),n(t,\"trimTicks\",D),n(t,\"destroy\",O),n(e,\"afterSetChartSize\",P),n(i,\"afterGetLabelPosition\",E),n(i,\"labelFormat\",T)),t}}}),i(e,\"Gantt/Tree.js\",[e[\"Core/Utilities.js\"]],function(t){let{extend:e,isNumber:i,pick:s}=t;function o(t,r,n,a,l,h){let d=h&&h.after,c=h&&h.before,p={data:a,depth:n-1,id:t,level:n,parent:r||\"\"},u=0,g=0,x,f;\"function\"==typeof c&&c(p,h);let m=(l[t]||[]).map(e=>{let s=o(e.id,t,n+1,e,l,h),r=e.start||NaN,a=!0===e.milestone?r:e.end||NaN;return x=!i(x)||rf?a:f,u=u+1+s.descendants,g=Math.max(s.height+1,g),s});return a&&(a.start=s(a.start,x),a.end=s(a.end,f)),e(p,{children:m,descendants:u,height:g}),\"function\"==typeof d&&d(p,h),p}return{getNode:o,getTree:function(t,e){return o(\"\",null,1,null,function(t){let e=[],i=t.reduce((t,i)=>{let{parent:s=\"\",id:o}=i;return void 0===t[s]&&(t[s]=[]),t[s].push(i),o&&e.push(o),t},{});return Object.keys(i).forEach(t=>{if(\"\"!==t&&-1===e.indexOf(t)){let e=i[t].map(function(t){let{...e}=t;return e});i[\"\"].push(...e),delete i[t]}}),i}(t),e)}}}),i(e,\"Core/Axis/TreeGrid/TreeGridTick.js\",[e[\"Core/Utilities.js\"]],function(t){let{addEvent:e,removeEvent:i,isObject:s,isNumber:o,pick:r,wrap:n}=t;function a(){this.treeGrid||(this.treeGrid=new d(this))}function l(t,e,i,n,a,l,h,d,c){let p,u,g;let x=r(this.options&&this.options.labels,l),f=this.pos,m=this.axis,b=\"treegrid\"===m.type,y=t.apply(this,[e,i,n,a,x,h,d,c]);if(b){let{width:t=0,padding:e=m.linkedParent?0:5}=x&&s(x.symbol,!0)?x.symbol:{},i=x&&o(x.indentation)?x.indentation:0;g=(u=(p=m.treeGrid.mapOfPosToGridNode)&&p[f])&&u.depth||1,y.x+=t+2*e+(g-1)*i}return y}function h(t){let n,a,l;let{pos:h,axis:d,label:c,treeGrid:p,options:u}=this,g=p?.labelIcon,x=c?.element,{treeGrid:f,options:m,chart:b,tickPositions:y}=d,v=f.mapOfPosToGridNode,M=r(u?.labels,m?.labels),k=M&&s(M.symbol,!0)?M.symbol:{},A=v&&v[h],{descendants:S,depth:C}=A||{},w=A&&S&&S>0,P=\"treegrid\"===d.type&&x,O=y.indexOf(h)>-1,B=\"highcharts-treegrid-node-\",E=B+\"level-\",T=b.styledMode;P&&A&&c.removeClass(RegExp(E+\".*\")).addClass(E+C),t.apply(this,Array.prototype.slice.call(arguments,1)),P&&w?(n=f.isCollapsed(A),function(t,e){let i=t.treeGrid,s=!i.labelIcon,n=e.renderer,a=e.xy,l=e.options,h=l.width||0,d=l.height||0,c=l.padding??t.axis.linkedParent?0:5,p={x:a.x-h/2-c,y:a.y-d/2},u=e.collapsed?90:180,g=e.show&&o(p.y),x=i.labelIcon;x||(i.labelIcon=x=n.path(n.symbols[l.type](l.x||0,l.y||0,h,d)).addClass(\"highcharts-label-icon\").add(e.group)),x[g?\"show\":\"hide\"](),n.styledMode||x.attr({cursor:\"pointer\",fill:r(e.color,\"#666666\"),\"stroke-width\":1,stroke:l.lineColor,strokeWidth:l.lineWidth||0}),x[s?\"attr\":\"animate\"]({translateX:p.x,translateY:p.y,rotation:u})}(this,{color:!T&&c.styles.color||\"\",collapsed:n,group:c.parentGroup,options:k,renderer:c.renderer,show:O,xy:c.xy}),a=B+(n?\"collapsed\":\"expanded\"),l=B+(n?\"expanded\":\"collapsed\"),c.addClass(a).removeClass(l),T||c.css({cursor:\"pointer\"}),[c,g].forEach(t=>{t&&!t.attachedTreeGridEvents&&(e(t.element,\"mouseover\",function(){c.addClass(\"highcharts-treegrid-node-active\"),c.renderer.styledMode||c.css({textDecoration:\"underline\"})}),e(t.element,\"mouseout\",function(){!function(t,e){let i=s(e.style)?e.style:{};t.removeClass(\"highcharts-treegrid-node-active\"),t.renderer.styledMode||t.css({textDecoration:i.textDecoration||\"none\"})}(c,M)}),e(t.element,\"click\",function(){p.toggleCollapse()}),t.attachedTreeGridEvents=!0)})):g&&(i(x),c?.css({cursor:\"default\"}),g.destroy())}class d{static compose(t){let i=t.prototype;i.toggleCollapse||(e(t,\"init\",a),n(i,\"getLabelPosition\",l),n(i,\"renderLabel\",h),i.collapse=function(t){this.treeGrid.collapse(t)},i.expand=function(t){this.treeGrid.expand(t)},i.toggleCollapse=function(t){this.treeGrid.toggleCollapse(t)})}constructor(t){this.tick=t}collapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,n=i.treeGrid.mapOfPosToGridNode[o],a=i.treeGrid.collapse(n);s.setBreaks(a,r(t,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(t){let{pos:e,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,n=s.mapOfPosToGridNode;if(o&&n){let i=n[e],a=s.expand(i);o.setBreaks(a,r(t,!0))}}toggleCollapse(t){let e=this.tick,i=e.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=e.pos,n=i.treeGrid.mapOfPosToGridNode[o],a=i.treeGrid.toggleCollapse(n);s.setBreaks(a,r(t,!0))}}}return d}),i(e,\"Series/TreeUtilities.js\",[e[\"Core/Color/Color.js\"],e[\"Core/Utilities.js\"]],function(t,e){let{extend:i,isArray:s,isNumber:o,isObject:r,merge:n,pick:a,relativeLength:l}=e;return{getColor:function(e,i){let s,o,r,n,l,h;let d=i.index,c=i.mapOptionsToLevel,p=i.parentColor,u=i.parentColorIndex,g=i.series,x=i.colors,f=i.siblings,m=g.points,b=g.chart.options.chart;return e&&(s=m[e.i],o=c[e.level]||{},s&&o.colorByPoint&&(n=s.index%(x?x.length:b.colorCount),r=x&&x[n]),g.chart.styledMode||(l=a(s&&s.options.color,o&&o.color,r,p&&(e=>{let i=o&&o.colorVariation;return i&&\"brightness\"===i.key&&d&&f?t.parse(e).brighten(i.to*(d/f)).get():e})(p),g.color)),h=a(s&&s.options.colorIndex,o&&o.colorIndex,n,u,i.colorIndex)),{color:l,colorIndex:h}},getLevelOptions:function(t){let e,i,l,h,d,c;let p={};if(r(t))for(h=o(t.from)?t.from:1,c=t.levels,i={},e=r(t.defaults)?t.defaults:{},s(c)&&(i=c.reduce((t,i)=>{let s,l,d;return r(i)&&o(i.level)&&(l=a((d=n({},i)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,r(t[s=i.level+(l?0:h-1)])?n(!0,t[s],d):t[s]=d),t},{})),d=o(t.to)?t.to:1,l=0;l<=d;l++)p[l]=n({},e,r(i[l])?i[l]:{});return p},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if(\"auto\"===r){if(\"string\"==typeof o&&/%$/.test(o))return n/(e+parseFloat(o)/100*(e-1));let t=Number(o);return(n+t)/(e||1)-t}return l(r,n)},setTreeValues:function t(e,s){let o=s.before,r=s.idRoot,n=s.mapIdToNode[r],l=!1!==s.levelIsConstant,h=s.points[e.i],d=h&&h.options||{},c=[],p=0;e.levelDynamic=e.level-(l?0:n.level),e.name=a(h&&h.name,\"\"),e.visible=r===e.id||!0===s.visible,\"function\"==typeof o&&(e=o(e,s)),e.children.forEach((o,r)=>{let n=i({},s);i(n,{index:r,siblings:e.children.length,visible:e.visible}),o=t(o,n),c.push(o),o.visible&&(p+=o.val)});let u=a(d.value,p);return e.visible=u>=0&&(p>0||e.visible),e.children=c,e.childrenTotal=p,e.isLeaf=e.visible&&!p,e.val=u,e},updateRootId:function(t){let e,i;return r(t)&&(i=r(t.options)?t.options:{},e=a(t.rootNode,i.rootId,\"\"),r(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),i(e,\"Core/Axis/TreeGrid/TreeGridAxis.js\",[e[\"Core/Axis/BrokenAxis.js\"],e[\"Core/Axis/GridAxis.js\"],e[\"Gantt/Tree.js\"],e[\"Core/Axis/TreeGrid/TreeGridTick.js\"],e[\"Series/TreeUtilities.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,r){let n;let{getLevelOptions:a}=o,{addEvent:l,find:h,fireEvent:d,isArray:c,isObject:p,isString:u,merge:g,pick:x,removeEvent:f,wrap:m}=r;function b(t,e){let i=t.collapseEnd||0,s=t.collapseStart||0;return i>=e&&(s-=.5),{from:s,to:i,showPoints:!1}}function y(t,e,s){let o=[],r=[],n={},a=e||!1,l={},d=-1,c=i.getTree(t,{after:function(t){let e=l[t.pos],i=0,s=0;e.children.forEach(function(t){s+=(t.descendants||0)+1,i=Math.max((t.height||0)+1,i)}),e.descendants=s,e.height=i,e.collapsed&&r.push(e)},before:function(t){let e,i;let s=p(t.data,!0)?t.data:{},r=u(s.name)?s.name:\"\",c=n[t.parent],g=p(c,!0)?l[c.pos]:null;a&&p(g,!0)&&(e=h(g.children,function(t){return t.name===r}))?(i=e.pos,e.nodes.push(t)):i=d++,!l[i]&&(l[i]=e={depth:g?g.depth+1:0,name:r,id:s.id,nodes:[t],children:[],pos:i},-1!==i&&o.push(r),p(g,!0)&&g.children.push(e)),u(t.id)&&(n[t.id]=t),e&&!0===s.collapsed&&(e.collapsed=!0),t.pos=i}});return{categories:o,mapOfIdToNode:n,mapOfPosToGridNode:l=function(t,e){let i=function(t,s,o){let r=t.nodes,n=s+(-1===s?0:e-1),a=(n-s)/2,l=s+a;return r.forEach(function(t){let e=t.data;p(e,!0)&&(e.y=s+(e.seriesIndex||0),delete e.seriesIndex),t.pos=l}),o[l]=t,t.pos=l,t.tickmarkOffset=a+.5,t.collapseStart=n+.5,t.children.forEach(function(t){i(t,n+1,o),n=(t.collapseEnd||0)-.5}),t.collapseEnd=n+.5,o};return i(t[\"-1\"],-1,{})}(l,s),collapsedNodes:r,tree:c}}function v(t){t.target.axes.filter(t=>\"treegrid\"===t.type).forEach(function(e){let i=e.options||{},s=i.labels,o=e.uniqueNames,r=i.max,n=!e.treeGrid.mapOfPosToGridNode||e.series.some(function(t){return!t.hasRendered||t.isDirtyData||t.isDirty}),l=0,h,d;if(n){if(h=e.series.reduce(function(t,e){return e.visible&&((e.options.data||[]).forEach(function(i){e.options.keys&&e.options.keys.length&&(i=e.pointClass.prototype.optionsToObject.call({series:e},i),e.pointClass.setGanttPointAliases(i)),p(i,!0)&&(i.seriesIndex=l,t.push(i))}),!0===o&&l++),t},[]),r&&h.length=0&&e.indexOf(t.x2)>=0&&(e=t)}),p(e,!0)?g(e):e});t.visible&&t.setData(e,!1)}),e.treeGrid.mapOptionsToLevel=a({defaults:s,from:1,levels:s&&s.levels,to:e.treeGrid.tree&&e.treeGrid.tree.height}),\"beforeRender\"===t.type&&(e.treeGrid.collapsedNodes=d.collapsedNodes)}})}function M(t,e){let i=this.treeGrid.mapOptionsToLevel||{},s=\"treegrid\"===this.type,o=this.ticks,r=o[e],a,l,h;s&&this.treeGrid.mapOfPosToGridNode?((a=i[(h=this.treeGrid.mapOfPosToGridNode[e]).depth])&&(l={labels:a}),!r&&n?o[e]=r=new n(this,e,void 0,void 0,{category:h.name,tickmarkOffset:h.tickmarkOffset,options:l}):(r.parameters.category=h.name,r.options=l,r.addLabel())):t.apply(this,Array.prototype.slice.call(arguments,1))}function k(t,e,i,s){let o=this,r=\"treegrid\"===i.type;o.treeGrid||(o.treeGrid=new C(o)),r&&(l(e,\"beforeRender\",v),l(e,\"beforeRedraw\",v),l(e,\"addSeries\",function(t){if(t.options.data){let e=y(t.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(e.collapsedNodes)}}),l(o,\"foundExtremes\",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(t){let e=o.treeGrid.collapse(t);o.brokenAxis&&(o.brokenAxis.setBreaks(e,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(e=>t.collapseStart!==e.collapseStart||t.collapseEnd!==e.collapseEnd)))})}),l(o,\"afterBreaks\",function(){\"yAxis\"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=g({grid:{enabled:!0},labels:{align:\"left\",levels:[{level:void 0},{level:1,style:{fontWeight:\"bold\"}}],symbol:{type:\"triangle\",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),t.apply(o,[e,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function A(t){let e=this.options,i=\"number\"==typeof e.linkedTo?this.chart[this.coll]?.[e.linkedTo]:void 0;if(\"treegrid\"===this.type){if(this.min=x(this.userMin,e.min,this.dataMin),this.max=x(this.userMax,e.max,this.dataMax),d(this,\"foundExtremes\"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i){let t=i.getExtremes();this.min=x(t.min,t.dataMin),this.max=x(t.max,t.dataMax),this.tickPositions=i.tickPositions}this.linkedParent=i}else t.apply(this,Array.prototype.slice.call(arguments,1))}function S(t){let e=this;\"treegrid\"===this.type&&e.visible&&e.tickPositions.forEach(function(t){let i=e.ticks[t];i.label&&i.label.attachedTreeGridEvents&&(f(i.label.element),i.label.attachedTreeGridEvents=!1)}),t.apply(e,Array.prototype.slice.call(arguments,1))}class C{static compose(o,r,a,l){if(!o.keepProps.includes(\"treeGrid\")){let t=o.prototype;o.keepProps.push(\"treeGrid\"),m(t,\"generateTick\",M),m(t,\"init\",k),m(t,\"setTickInterval\",A),m(t,\"redraw\",S),t.utils={getNode:i.getNode},n||(n=l)}return e.compose(o,r,l),t.compose(o,a),s.compose(l),o}constructor(t){this.axis=t}setCollapsedStatus(t){let e=this.axis,i=e.chart;e.series.forEach(function(e){let s=e.options.data;if(t.id&&s){let o=i.get(t.id),r=s[e.data.indexOf(o)];o&&r&&(o.collapsed=t.collapsed,r.collapsed=t.collapsed)}})}collapse(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.push(s),t.collapsed=!0,e.treeGrid.setCollapsedStatus(t),i}expand(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return t.collapsed=!1,e.treeGrid.setCollapsedStatus(t),i.reduce(function(t,e){return(e.to!==s.to||e.from!==s.from)&&t.push(e),t},[])}getTickPositions(){let t=this.axis,e=Math.floor(t.min/t.tickInterval)*t.tickInterval,i=Math.ceil(t.max/t.tickInterval)*t.tickInterval;return Object.keys(t.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=e&&r<=i&&!(t.brokenAxis&&t.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(t){let e=this.axis,i=e.options.breaks||[],s=b(t,e.max);return i.some(function(t){return t.from===s.from&&t.to===s.to})}toggleCollapse(t){return this.isCollapsed(t)?this.expand(t):this.collapse(t)}}return C}),i(e,\"Series/Gantt/GanttSeries.js\",[e[\"Series/Gantt/GanttPoint.js\"],e[\"Series/Gantt/GanttSeriesDefaults.js\"],e[\"Gantt/Pathfinder.js\"],e[\"Core/Series/SeriesRegistry.js\"],e[\"Extensions/StaticScale.js\"],e[\"Core/Axis/TreeGrid/TreeGridAxis.js\"],e[\"Core/Utilities.js\"]],function(t,e,i,s,o,r,n){let{series:a,seriesTypes:{xrange:l}}=s,{extend:h,isNumber:d,merge:c}=n;class p extends l{static compose(t,e,s,n){l.compose(t),e&&(o.compose(t,e),s)&&(i.compose(e,s.prototype.pointClass),n&&r.compose(t,e,s,n))}drawPoint(t,e){let i=this.options,s=this.chart.renderer,o=t.shapeArgs,r=t.plotY,n=t.selected&&\"select\",a=i.stacking&&!i.borderRadius,l=t.graphic,h;t.options.milestone?d(r)&&null!==t.y&&!1!==t.visible?(h=s.symbols.diamond(o.x||0,o.y||0,o.width||0,o.height||0),l?l[e]({d:h}):t.graphic=l=s.path(h).addClass(t.getClassName(),!0).add(t.group||this.group),this.chart.styledMode||t.graphic.attr(this.pointAttribs(t,n)).shadow(i.shadow,null,a)):l&&(t.graphic=l.destroy()):super.drawPoint(t,e)}translatePoint(t){let e,i;super.translatePoint(t),t.options.milestone&&(i=(e=t.shapeArgs).height||0,t.shapeArgs={x:(e.x||0)-i/2,y:e.y,width:i,height:i})}}return p.defaultOptions=c(l.defaultOptions,e),h(p.prototype,{pointArrayMap:[\"start\",\"end\",\"y\"],pointClass:t,setData:a.prototype.setData}),s.registerSeriesType(\"gantt\",p),p}),i(e,\"masters/modules/gantt.src.js\",[e[\"Core/Globals.js\"],e[\"Extensions/ArrowSymbols.js\"],e[\"Gantt/Connection.js\"],e[\"Extensions/CurrentDateIndication.js\"],e[\"Core/Chart/GanttChart.js\"],e[\"Stock/Navigator/Navigator.js\"],e[\"Stock/RangeSelector/RangeSelector.js\"],e[\"Stock/Scrollbar/Scrollbar.js\"],e[\"Series/Gantt/GanttSeries.js\"]],function(t,e,i,s,o,r,n,a,l){return t.Connection=t.Connection||i,t.GanttChart=t.GanttChart||o,t.Navigator=t.Navigator||r,t.RangeSelector=t.RangeSelector||n,t.Scrollbar=t.Scrollbar||a,t.ganttChart=t.GanttChart.ganttChart,e.compose(t.SVGRenderer),s.compose(t.Axis,t.PlotLineOrBand),l.compose(t.Axis,t.Chart,t.Series,t.Tick),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t})});","!/**\n * Highcharts JS v11.4.8 (2024-08-29)\n *\n * Module for adding patterns and images as point fills.\n *\n * (c) 2010-2024 Highsoft AS\n * Author: Torstein Hønsi, Øystein Moseng\n *\n * License: www.highcharts.com/license\n */function(t){\"object\"==typeof module&&module.exports?(t.default=t,module.exports=t):\"function\"==typeof define&&define.amd?define(\"highcharts/modules/pattern-fill\",[\"highcharts\"],function(e){return t(e),t.Highcharts=e,t}):t(\"undefined\"!=typeof Highcharts?Highcharts:void 0)}(function(t){\"use strict\";var e=t?t._modules:{};function i(e,i,r,a){e.hasOwnProperty(i)||(e[i]=a.apply(null,r),\"function\"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:i,module:e[i]}})))}i(e,\"Extensions/PatternFill.js\",[e[\"Core/Animation/AnimationUtilities.js\"],e[\"Core/Defaults.js\"],e[\"Core/Utilities.js\"]],function(t,e,i){let{animObject:r}=t,{getOptions:a}=e,{addEvent:n,defined:o,erase:s,extend:h,merge:l,pick:p,removeEvent:c,wrap:d}=i,f=function(){let t=[],e=a().colors,i=0;for(let r of[\"M 0 0 L 5 5 M 4.5 -0.5 L 5.5 0.5 M -0.5 4.5 L 0.5 5.5\",\"M 0 5 L 5 0 M -0.5 0.5 L 0.5 -0.5 M 4.5 5.5 L 5.5 4.5\",\"M 2 0 L 2 5 M 4 0 L 4 5\",\"M 0 2 L 5 2 M 0 4 L 5 4\",\"M 0 1.5 L 2.5 1.5 L 2.5 0 M 2.5 5 L 2.5 3.5 L 5 3.5\"])t.push({path:r,color:e[i++],width:5,height:5,patternTransform:\"scale(1.4 1.4)\"});for(let r of(i=5,[\"M 0 0 L 5 10 L 10 0\",\"M 3 3 L 8 3 L 8 8 L 3 8 Z\",\"M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0\",\"M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11\",\"M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9\"]))t.push({path:r,color:e[i],width:10,height:10}),i+=5;return t}();function u(t,e){let i=JSON.stringify(t),r=i.length||0,a=0,n=0,o;if(e){o=Math.max(Math.floor(r/500),1);for(let t=0;tt&&t.indexOf&&0===t.indexOf(\"highcharts-pattern-\")).length){for(let t of this.series)if(t.visible)for(let e of t.points){let t=e.options&&e.options.color;t&&t.pattern&&(t.pattern._width=\"defer\",t.pattern._height=\"defer\")}this.redraw(!1)}}function m(){let t={},e=this.renderer,i=(e.defIds||[]).filter(t=>t.indexOf&&0===t.indexOf(\"highcharts-pattern-\"));if(i.length)for(let r of([].forEach.call(this.renderTo.querySelectorAll('[color^=\"url(\"], [fill^=\"url(\"], [stroke^=\"url(\"]'),i=>{let r=i.getAttribute(\"fill\")||i.getAttribute(\"color\")||i.getAttribute(\"stroke\");r&&(t[r.replace(e.url,\"\").replace(\"url(#\",\"\").replace(\")\",\"\")]=!0)}),i))!t[r]&&(s(e.defIds,r),e.patternElements[r]&&(e.patternElements[r].destroy(),delete e.patternElements[r]))}function y(){let t=this.options.color;t&&t.pattern&&(\"string\"==typeof t.pattern.path&&(t.pattern.path={d:t.pattern.path}),this.color=this.options.color=l(this.series.options.color,t))}function x(t){let e=t.args[0],i=t.args[1],r=t.args[2],a=this.chartIndex||0,n=e.pattern,o=\"#333333\";if(void 0!==e.patternIndex&&f&&(n=f[e.patternIndex]),!n)return!0;if(n.image||\"string\"==typeof n.path||n.path&&n.path.d){let t=r.parentNode&&r.parentNode.getAttribute(\"class\");t=t&&t.indexOf(\"highcharts-legend\")>-1,(\"defer\"===n._width||\"defer\"===n._height)&&M.call({graphic:{element:r}},n),(t||!n.id)&&((n=l({},n)).id=\"highcharts-pattern-\"+a+\"-\"+u(n)+u(n,!0)),this.addPattern(n,!this.forExport&&p(n.animation,this.globalAnimation,{duration:100})),o=`url(${this.url}#${n.id+(this.forExport?\"-export\":\"\")})`}else o=n.color||o;return r.setAttribute(i,o),e.toString=function(){return o},!1}function w(){let t=this.chart.isResizing;if(this.isDirtyData||t||!this.chart.hasRendered)for(let e of this.points){let i=e.options&&e.options.color;i&&i.pattern&&(t&&!(e.shapeArgs&&e.shapeArgs.width&&e.shapeArgs.height)?(i.pattern._width=\"defer\",i.pattern._height=\"defer\"):e.calculatePatternDimensions(i.pattern))}}function M(t){if(t.width&&t.height)return;let e=this.graphic&&(this.graphic.getBBox&&this.graphic.getBBox(!0)||this.graphic.element&&this.graphic.element.getBBox())||{},i=this.shapeArgs;if(i&&(e.width=i.width||e.width,e.height=i.height||e.height,e.x=i.x||e.x,e.y=i.y||e.y),t.image){if(!e.width||!e.height){t._width=\"defer\",t._height=\"defer\";let e=this.series.chart.mapView&&this.series.chart.mapView.getSVGTransform().scaleY;o(e)&&e<0&&(t._inverted=!0);return}t.aspectRatio&&(e.aspectRatio=e.width/e.height,t.aspectRatio>e.aspectRatio?e.aspectWidth=e.height*t.aspectRatio:e.aspectHeight=e.width/t.aspectRatio),t._width=t.width||Math.ceil(e.aspectWidth||e.width),t._height=t.height||Math.ceil(e.aspectHeight||e.height)}t.width||(t._x=t.x||0,t._x+=e.x-Math.round(e.aspectWidth?Math.abs(e.aspectWidth-e.width)/2:0)),t.height||(t._y=t.y||0,t._y+=e.y-Math.round(e.aspectHeight?Math.abs(e.aspectHeight-e.height)/2:0))}function L(t,e){let a=p(e,!0),n=r(a),o=t.color||\"#333333\",s=t.height||(\"number\"==typeof t._height?t._height:0)||32,h=t.width||(\"number\"==typeof t._width?t._width:0)||32,l,d=t.id,f;if(!d&&(this.idCounter=this.idCounter||0,d=\"highcharts-pattern-\"+this.idCounter+\"-\"+(this.chartIndex||0),++this.idCounter),this.forExport&&(d+=\"-export\"),this.defIds=this.defIds||[],this.defIds.indexOf(d)>-1)return;this.defIds.push(d);let u={id:d,patternUnits:\"userSpaceOnUse\",patternContentUnits:t.patternContentUnits||\"userSpaceOnUse\",width:h,height:s,x:t._x||t.x||0,y:t._y||t.y||0};t._inverted&&(u.patternTransform=\"scale(1, -1)\",t.patternTransform&&(t.patternTransform+=\" scale(1, -1)\")),t.patternTransform&&(u.patternTransform=t.patternTransform);let g=this.createElement(\"pattern\").attr(u).add(this.defs);if(g.id=d,t.path){if(f=i.isObject(t.path)?t.path:{d:t.path},t.backgroundColor){let e;e=t.backgroundColor,this.rect(0,0,h,s).attr({fill:e}).add(g)}l={d:f.d},this.styledMode||(l.stroke=f.stroke||o,l[\"stroke-width\"]=p(f.strokeWidth,2),l.fill=f.fill||\"none\"),f.transform&&(l.transform=f.transform),this.createElement(\"path\").attr(l).add(g),g.color=o}else t.image&&(a?this.image(t.image,0,0,h,s,function(){this.animate({opacity:p(t.opacity,1)},n),c(this.element,\"load\")}).attr({opacity:0}).add(g):this.image(t.image,0,0,h,s).add(g));return t.image&&a||void 0===t.opacity||[].forEach.call(g.element.childNodes,e=>{e.setAttribute(\"opacity\",t.opacity)}),this.patternElements=this.patternElements||{},this.patternElements[d]=g,g}function b(t){let e=this.options.color;e&&e.pattern&&!e.pattern.color?(delete this.options.color,t.apply(this,[].slice.call(arguments,1)),e.pattern.color=this.color,this.color=this.options.color=e):t.apply(this,[].slice.call(arguments,1))}function _(){if(!this.chart?.mapView)return;let t=this.chart.renderer,e=t.patternElements;t.defIds?.length&&e&&this.points.filter(function(t){return!!t.graphic&&(t.graphic.element.hasAttribute(\"fill\")||t.graphic.element.hasAttribute(\"color\")||t.graphic.element.hasAttribute(\"stroke\"))&&!t.options.color?.pattern?.image&&!!t.group?.scaleX&&!!t.group?.scaleY}).map(function(e){return{id:(e.graphic?.element.getAttribute(\"fill\")||e.graphic?.element.getAttribute(\"color\")||e.graphic?.element.getAttribute(\"stroke\")||\"\").replace(t.url,\"\").replace(\"url(#\",\"\").replace(\")\",\"\"),x:e.group?.scaleX||1,y:e.group?.scaleY||1}}).filter(function(t,e,i){return\"\"!==t.id&&-1!==t.id.indexOf(\"highcharts-pattern-\")&&!i.some(function(i,r){return i.id===t.id&&r