function fh(t,i){for(var e=0;e<i.length;e++){const O=i[e];if(typeof O!="string"&&!Array.isArray(O)){for(const m in O)if(m!=="default"&&!(m in t)){const T=Object.getOwnPropertyDescriptor(O,m);T&&Object.defineProperty(t,m,T.get?T:{enumerable:!0,get:()=>O[m]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))O(m);new MutationObserver(m=>{for(const T of m)if(T.type==="childList")for(const G of T.addedNodes)G.tagName==="LINK"&&G.rel==="modulepreload"&&O(G)}).observe(document,{childList:!0,subtree:!0});function e(m){const T={};return m.integrity&&(T.integrity=m.integrity),m.referrerPolicy&&(T.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?T.credentials="include":m.crossOrigin==="anonymous"?T.credentials="omit":T.credentials="same-origin",T}function O(m){if(m.ep)return;m.ep=!0;const T=e(m);fetch(m.href,T)}})();var oa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function gs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mh={exports:{}},So={},xh={exports:{}},Lt={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var cr=Symbol.for("react.element"),Gc=Symbol.for("react.portal"),Hc=Symbol.for("react.fragment"),Xc=Symbol.for("react.strict_mode"),Wc=Symbol.for("react.profiler"),Uc=Symbol.for("react.provider"),Yc=Symbol.for("react.context"),Vc=Symbol.for("react.forward_ref"),_c=Symbol.for("react.suspense"),$c=Symbol.for("react.memo"),qc=Symbol.for("react.lazy"),ol=Symbol.iterator;function Kc(t){return t===null||typeof t!="object"?null:(t=ol&&t[ol]||t["@@iterator"],typeof t=="function"?t:null)}var yh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},bh=Object.assign,vh={};function fs(t,i,e){this.props=t,this.context=i,this.refs=vh,this.updater=e||yh}fs.prototype.isReactComponent={};fs.prototype.setState=function(t,i){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,i,"setState")};fs.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Sh(){}Sh.prototype=fs.prototype;function na(t,i,e){this.props=t,this.context=i,this.refs=vh,this.updater=e||yh}var aa=na.prototype=new Sh;aa.constructor=na;bh(aa,fs.prototype);aa.isPureReactComponent=!0;var nl=Array.isArray,kh=Object.prototype.hasOwnProperty,la={current:null},Ch={key:!0,ref:!0,__self:!0,__source:!0};function wh(t,i,e){var O,m={},T=null,G=null;if(i!=null)for(O in i.ref!==void 0&&(G=i.ref),i.key!==void 0&&(T=""+i.key),i)kh.call(i,O)&&!Ch.hasOwnProperty(O)&&(m[O]=i[O]);var $=arguments.length-2;if($===1)m.children=e;else if(1<$){for(var q=Array($),Z=0;Z<$;Z++)q[Z]=arguments[Z+2];m.children=q}if(t&&t.defaultProps)for(O in $=t.defaultProps,$)m[O]===void 0&&(m[O]=$[O]);return{$$typeof:cr,type:t,key:T,ref:G,props:m,_owner:la.current}}function Zc(t,i){return{$$typeof:cr,type:t.type,key:i,ref:t.ref,props:t.props,_owner:t._owner}}function ha(t){return typeof t=="object"&&t!==null&&t.$$typeof===cr}function Qc(t){var i={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return i[e]})}var al=/\/+/g;function Go(t,i){return typeof t=="object"&&t!==null&&t.key!=null?Qc(""+t.key):i.toString(36)}function Br(t,i,e,O,m){var T=typeof t;(T==="undefined"||T==="boolean")&&(t=null);var G=!1;if(t===null)G=!0;else switch(T){case"string":case"number":G=!0;break;case"object":switch(t.$$typeof){case cr:case Gc:G=!0}}if(G)return G=t,m=m(G),t=O===""?"."+Go(G,0):O,nl(m)?(e="",t!=null&&(e=t.replace(al,"$&/")+"/"),Br(m,i,e,"",function(Z){return Z})):m!=null&&(ha(m)&&(m=Zc(m,e+(!m.key||G&&G.key===m.key?"":(""+m.key).replace(al,"$&/")+"/")+t)),i.push(m)),1;if(G=0,O=O===""?".":O+":",nl(t))for(var $=0;$<t.length;$++){T=t[$];var q=O+Go(T,$);G+=Br(T,i,e,q,m)}else if(q=Kc(t),typeof q=="function")for(t=q.call(t),$=0;!(T=t.next()).done;)T=T.value,q=O+Go(T,$++),G+=Br(T,i,e,q,m);else if(T==="object")throw i=String(t),Error("Objects are not valid as a React child (found: "+(i==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":i)+"). If you meant to render a collection of children, use an array instead.");return G}function yr(t,i,e){if(t==null)return t;var O=[],m=0;return Br(t,O,"","",function(T){return i.call(e,T,m++)}),O}function Jc(t){if(t._status===-1){var i=t._result;i=i(),i.then(function(e){(t._status===0||t._status===-1)&&(t._status=1,t._result=e)},function(e){(t._status===0||t._status===-1)&&(t._status=2,t._result=e)}),t._status===-1&&(t._status=0,t._result=i)}if(t._status===1)return t._result.default;throw t._result}var ce={current:null},zr={transition:null},tu={ReactCurrentDispatcher:ce,ReactCurrentBatchConfig:zr,ReactCurrentOwner:la};Lt.Children={map:yr,forEach:function(t,i,e){yr(t,function(){i.apply(this,arguments)},e)},count:function(t){var i=0;return yr(t,function(){i++}),i},toArray:function(t){return yr(t,function(i){return i})||[]},only:function(t){if(!ha(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};Lt.Component=fs;Lt.Fragment=Hc;Lt.Profiler=Wc;Lt.PureComponent=na;Lt.StrictMode=Xc;Lt.Suspense=_c;Lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu;Lt.cloneElement=function(t,i,e){if(t==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var O=bh({},t.props),m=t.key,T=t.ref,G=t._owner;if(i!=null){if(i.ref!==void 0&&(T=i.ref,G=la.current),i.key!==void 0&&(m=""+i.key),t.type&&t.type.defaultProps)var $=t.type.defaultProps;for(q in i)kh.call(i,q)&&!Ch.hasOwnProperty(q)&&(O[q]=i[q]===void 0&&$!==void 0?$[q]:i[q])}var q=arguments.length-2;if(q===1)O.children=e;else if(1<q){$=Array(q);for(var Z=0;Z<q;Z++)$[Z]=arguments[Z+2];O.children=$}return{$$typeof:cr,type:t.type,key:m,ref:T,props:O,_owner:G}};Lt.createContext=function(t){return t={$$typeof:Yc,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},t.Provider={$$typeof:Uc,_context:t},t.Consumer=t};Lt.createElement=wh;Lt.createFactory=function(t){var i=wh.bind(null,t);return i.type=t,i};Lt.createRef=function(){return{current:null}};Lt.forwardRef=function(t){return{$$typeof:Vc,render:t}};Lt.isValidElement=ha;Lt.lazy=function(t){return{$$typeof:qc,_payload:{_status:-1,_result:t},_init:Jc}};Lt.memo=function(t,i){return{$$typeof:$c,type:t,compare:i===void 0?null:i}};Lt.startTransition=function(t){var i=zr.transition;zr.transition={};try{t()}finally{zr.transition=i}};Lt.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};Lt.useCallback=function(t,i){return ce.current.useCallback(t,i)};Lt.useContext=function(t){return ce.current.useContext(t)};Lt.useDebugValue=function(){};Lt.useDeferredValue=function(t){return ce.current.useDeferredValue(t)};Lt.useEffect=function(t,i){return ce.current.useEffect(t,i)};Lt.useId=function(){return ce.current.useId()};Lt.useImperativeHandle=function(t,i,e){return ce.current.useImperativeHandle(t,i,e)};Lt.useInsertionEffect=function(t,i){return ce.current.useInsertionEffect(t,i)};Lt.useLayoutEffect=function(t,i){return ce.current.useLayoutEffect(t,i)};Lt.useMemo=function(t,i){return ce.current.useMemo(t,i)};Lt.useReducer=function(t,i,e){return ce.current.useReducer(t,i,e)};Lt.useRef=function(t){return ce.current.useRef(t)};Lt.useState=function(t){return ce.current.useState(t)};Lt.useSyncExternalStore=function(t,i,e){return ce.current.useSyncExternalStore(t,i,e)};Lt.useTransition=function(){return ce.current.useTransition()};Lt.version="18.2.0";xh.exports=Lt;var Ft=xh.exports;const ms=gs(Ft);/** * @license React * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var eu=Ft,iu=Symbol.for("react.element"),su=Symbol.for("react.fragment"),ru=Object.prototype.hasOwnProperty,ou=eu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nu={key:!0,ref:!0,__self:!0,__source:!0};function Mh(t,i,e){var O,m={},T=null,G=null;e!==void 0&&(T=""+e),i.key!==void 0&&(T=""+i.key),i.ref!==void 0&&(G=i.ref);for(O in i)ru.call(i,O)&&!nu.hasOwnProperty(O)&&(m[O]=i[O]);if(t&&t.defaultProps)for(O in i=t.defaultProps,i)m[O]===void 0&&(m[O]=i[O]);return{$$typeof:iu,type:t,key:T,ref:G,props:m,_owner:ou.current}}So.Fragment=su;So.jsx=Mh;So.jsxs=Mh;mh.exports=So;var St=mh.exports,yi={},Ah={exports:{}},ke={},Th={exports:{}},Ph={};/** * @license React * scheduler.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */(function(t){function i(n,h){var c=n.length;n.push(h);t:for(;0<c;){var L=c-1>>>1,z=n[L];if(0<m(z,h))n[L]=h,n[c]=z,c=L;else break t}}function e(n){return n.length===0?null:n[0]}function O(n){if(n.length===0)return null;var h=n[0],c=n.pop();if(c!==h){n[0]=c;t:for(var L=0,z=n.length,w=z>>>1;L<w;){var R=2*(L+1)-1,V=n[R],X=R+1,J=n[X];if(0>m(V,c))X<z&&0>m(J,V)?(n[L]=J,n[X]=c,L=X):(n[L]=V,n[R]=c,L=R);else if(X<z&&0>m(J,c))n[L]=J,n[X]=c,L=X;else break t}}return h}function m(n,h){var c=n.sortIndex-h.sortIndex;return c!==0?c:n.id-h.id}if(typeof performance=="object"&&typeof performance.now=="function"){var T=performance;t.unstable_now=function(){return T.now()}}else{var G=Date,$=G.now();t.unstable_now=function(){return G.now()-$}}var q=[],Z=[],Q=1,Y=null,F=3,W=!1,k=!1,E=!1,M=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,o=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function u(n){for(var h=e(Z);h!==null;){if(h.callback===null)O(Z);else if(h.startTime<=n)O(Z),h.sortIndex=h.expirationTime,i(q,h);else break;h=e(Z)}}function x(n){if(E=!1,u(n),!k)if(e(q)!==null)k=!0,a(f);else{var h=e(Z);h!==null&&d(x,h.startTime-n)}}function f(n,h){k=!1,E&&(E=!1,v(I),I=-1),W=!0;var c=F;try{for(u(h),Y=e(q);Y!==null&&(!(Y.expirationTime>h)||n&&!g());){var L=Y.callback;if(typeof L=="function"){Y.callback=null,F=Y.priorityLevel;var z=L(Y.expirationTime<=h);h=t.unstable_now(),typeof z=="function"?Y.callback=z:Y===e(q)&&O(q),u(h)}else O(q);Y=e(q)}if(Y!==null)var w=!0;else{var R=e(Z);R!==null&&d(x,R.startTime-h),w=!1}return w}finally{Y=null,F=c,W=!1}}var p=!1,b=null,I=-1,B=5,A=-1;function g(){return!(t.unstable_now()-A<B)}function S(){if(b!==null){var n=t.unstable_now();A=n;var h=!0;try{h=b(!0,n)}finally{h?l():(p=!1,b=null)}}else p=!1}var l;if(typeof o=="function")l=function(){o(S)};else if(typeof MessageChannel<"u"){var s=new MessageChannel,r=s.port2;s.port1.onmessage=S,l=function(){r.postMessage(null)}}else l=function(){M(S,0)};function a(n){b=n,p||(p=!0,l())}function d(n,h){I=M(function(){n(t.unstable_now())},h)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(n){n.callback=null},t.unstable_continueExecution=function(){k||W||(k=!0,a(f))},t.unstable_forceFrameRate=function(n){0>n||125<n?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):B=0<n?Math.floor(1e3/n):5},t.unstable_getCurrentPriorityLevel=function(){return F},t.unstable_getFirstCallbackNode=function(){return e(q)},t.unstable_next=function(n){switch(F){case 1:case 2:case 3:var h=3;break;default:h=F}var c=F;F=h;try{return n()}finally{F=c}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(n,h){switch(n){case 1:case 2:case 3:case 4:case 5:break;default:n=3}var c=F;F=n;try{return h()}finally{F=c}},t.unstable_scheduleCallback=function(n,h,c){var L=t.unstable_now();switch(typeof c=="object"&&c!==null?(c=c.delay,c=typeof c=="number"&&0<c?L+c:L):c=L,n){case 1:var z=-1;break;case 2:z=250;break;case 5:z=1073741823;break;case 4:z=1e4;break;default:z=5e3}return z=c+z,n={id:Q++,callback:h,priorityLevel:n,startTime:c,expirationTime:z,sortIndex:-1},c>L?(n.sortIndex=c,i(Z,n),e(q)===null&&n===e(Z)&&(E?(v(I),I=-1):E=!0,d(x,c-L))):(n.sortIndex=z,i(q,n),k||W||(k=!0,a(f))),n},t.unstable_shouldYield=g,t.unstable_wrapCallback=function(n){var h=F;return function(){var c=F;F=h;try{return n.apply(this,arguments)}finally{F=c}}}})(Ph);Th.exports=Ph;var au=Th.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Eh=Ft,Se=au;function wt(t){for(var i="https://reactjs.org/docs/error-decoder.html?invariant="+t,e=1;e<arguments.length;e++)i+="&args[]="+encodeURIComponent(arguments[e]);return"Minified React error #"+t+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Lh=new Set,$s={};function Fi(t,i){as(t,i),as(t+"Capture",i)}function as(t,i){for($s[t]=i,t=0;t<i.length;t++)Lh.add(i[t])}var Qe=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),pn=Object.prototype.hasOwnProperty,lu=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ll={},hl={};function hu(t){return pn.call(hl,t)?!0:pn.call(ll,t)?!1:lu.test(t)?hl[t]=!0:(ll[t]=!0,!1)}function du(t,i,e,O){if(e!==null&&e.type===0)return!1;switch(typeof i){case"function":case"symbol":return!0;case"boolean":return O?!1:e!==null?!e.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function cu(t,i,e,O){if(i===null||typeof i>"u"||du(t,i,e,O))return!0;if(O)return!1;if(e!==null)switch(e.type){case 3:return!i;case 4:return i===!1;case 5:return isNaN(i);case 6:return isNaN(i)||1>i}return!1}function ue(t,i,e,O,m,T,G){this.acceptsBooleans=i===2||i===3||i===4,this.attributeName=O,this.attributeNamespace=m,this.mustUseProperty=e,this.propertyName=t,this.type=i,this.sanitizeURL=T,this.removeEmptyString=G}var re={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){re[t]=new ue(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var i=t[0];re[i]=new ue(i,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){re[t]=new ue(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){re[t]=new ue(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){re[t]=new ue(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){re[t]=new ue(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){re[t]=new ue(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){re[t]=new ue(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){re[t]=new ue(t,5,!1,t.toLowerCase(),null,!1,!1)});var da=/[\-:]([a-z])/g;function ca(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var i=t.replace(da,ca);re[i]=new ue(i,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var i=t.replace(da,ca);re[i]=new ue(i,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var i=t.replace(da,ca);re[i]=new ue(i,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){re[t]=new ue(t,1,!1,t.toLowerCase(),null,!1,!1)});re.xlinkHref=new ue("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){re[t]=new ue(t,1,!1,t.toLowerCase(),null,!0,!0)});function ua(t,i,e,O){var m=re.hasOwnProperty(i)?re[i]:null;(m!==null?m.type!==0:O||!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(cu(i,e,m,O)&&(e=null),O||m===null?hu(i)&&(e===null?t.removeAttribute(i):t.setAttribute(i,""+e)):m.mustUseProperty?t[m.propertyName]=e===null?m.type===3?!1:"":e:(i=m.attributeName,O=m.attributeNamespace,e===null?t.removeAttribute(i):(m=m.type,e=m===3||m===4&&e===!0?"":""+e,O?t.setAttributeNS(O,i,e):t.setAttribute(i,e))))}var ii=Eh.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,br=Symbol.for("react.element"),Xi=Symbol.for("react.portal"),Wi=Symbol.for("react.fragment"),pa=Symbol.for("react.strict_mode"),gn=Symbol.for("react.profiler"),Oh=Symbol.for("react.provider"),Dh=Symbol.for("react.context"),ga=Symbol.for("react.forward_ref"),fn=Symbol.for("react.suspense"),mn=Symbol.for("react.suspense_list"),fa=Symbol.for("react.memo"),ri=Symbol.for("react.lazy"),jh=Symbol.for("react.offscreen"),dl=Symbol.iterator;function Ts(t){return t===null||typeof t!="object"?null:(t=dl&&t[dl]||t["@@iterator"],typeof t=="function"?t:null)}var Ut=Object.assign,Ho;function Is(t){if(Ho===void 0)try{throw Error()}catch(e){var i=e.stack.trim().match(/\n( *(at )?)/);Ho=i&&i[1]||""}return` `+Ho+t}var Xo=!1;function Wo(t,i){if(!t||Xo)return"";Xo=!0;var e=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(i)if(i=function(){throw Error()},Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(Z){var O=Z}Reflect.construct(t,[],i)}else{try{i.call()}catch(Z){O=Z}t.call(i.prototype)}else{try{throw Error()}catch(Z){O=Z}t()}}catch(Z){if(Z&&O&&typeof Z.stack=="string"){for(var m=Z.stack.split(` `),T=O.stack.split(` `),G=m.length-1,$=T.length-1;1<=G&&0<=$&&m[G]!==T[$];)$--;for(;1<=G&&0<=$;G--,$--)if(m[G]!==T[$]){if(G!==1||$!==1)do if(G--,$--,0>$||m[G]!==T[$]){var q=` `+m[G].replace(" at new "," at ");return t.displayName&&q.includes("<anonymous>")&&(q=q.replace("<anonymous>",t.displayName)),q}while(1<=G&&0<=$);break}}}finally{Xo=!1,Error.prepareStackTrace=e}return(t=t?t.displayName||t.name:"")?Is(t):""}function uu(t){switch(t.tag){case 5:return Is(t.type);case 16:return Is("Lazy");case 13:return Is("Suspense");case 19:return Is("SuspenseList");case 0:case 2:case 15:return t=Wo(t.type,!1),t;case 11:return t=Wo(t.type.render,!1),t;case 1:return t=Wo(t.type,!0),t;default:return""}}function xn(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Wi:return"Fragment";case Xi:return"Portal";case gn:return"Profiler";case pa:return"StrictMode";case fn:return"Suspense";case mn:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Dh:return(t.displayName||"Context")+".Consumer";case Oh:return(t._context.displayName||"Context")+".Provider";case ga:var i=t.render;return t=t.displayName,t||(t=i.displayName||i.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case fa:return i=t.displayName||null,i!==null?i:xn(t.type)||"Memo";case ri:i=t._payload,t=t._init;try{return xn(t(i))}catch{}}return null}function pu(t){var i=t.type;switch(t.tag){case 24:return"Cache";case 9:return(i.displayName||"Context")+".Consumer";case 10:return(i._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=i.render,t=t.displayName||t.name||"",i.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return i;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xn(i);case 8:return i===pa?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i}return null}function bi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Nh(t){var i=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function gu(t){var i=Nh(t)?"checked":"value",e=Object.getOwnPropertyDescriptor(t.constructor.prototype,i),O=""+t[i];if(!t.hasOwnProperty(i)&&typeof e<"u"&&typeof e.get=="function"&&typeof e.set=="function"){var m=e.get,T=e.set;return Object.defineProperty(t,i,{configurable:!0,get:function(){return m.call(this)},set:function(G){O=""+G,T.call(this,G)}}),Object.defineProperty(t,i,{enumerable:e.enumerable}),{getValue:function(){return O},setValue:function(G){O=""+G},stopTracking:function(){t._valueTracker=null,delete t[i]}}}}function vr(t){t._valueTracker||(t._valueTracker=gu(t))}function Ih(t){if(!t)return!1;var i=t._valueTracker;if(!i)return!0;var e=i.getValue(),O="";return t&&(O=Nh(t)?t.checked?"true":"false":t.value),t=O,t!==e?(i.setValue(t),!0):!1}function qr(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function yn(t,i){var e=i.checked;return Ut({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:e??t._wrapperState.initialChecked})}function cl(t,i){var e=i.defaultValue==null?"":i.defaultValue,O=i.checked!=null?i.checked:i.defaultChecked;e=bi(i.value!=null?i.value:e),t._wrapperState={initialChecked:O,initialValue:e,controlled:i.type==="checkbox"||i.type==="radio"?i.checked!=null:i.value!=null}}function Rh(t,i){i=i.checked,i!=null&&ua(t,"checked",i,!1)}function bn(t,i){Rh(t,i);var e=bi(i.value),O=i.type;if(e!=null)O==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+e):t.value!==""+e&&(t.value=""+e);else if(O==="submit"||O==="reset"){t.removeAttribute("value");return}i.hasOwnProperty("value")?vn(t,i.type,e):i.hasOwnProperty("defaultValue")&&vn(t,i.type,bi(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(t.defaultChecked=!!i.defaultChecked)}function ul(t,i,e){if(i.hasOwnProperty("value")||i.hasOwnProperty("defaultValue")){var O=i.type;if(!(O!=="submit"&&O!=="reset"||i.value!==void 0&&i.value!==null))return;i=""+t._wrapperState.initialValue,e||i===t.value||(t.value=i),t.defaultValue=i}e=t.name,e!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,e!==""&&(t.name=e)}function vn(t,i,e){(i!=="number"||qr(t.ownerDocument)!==t)&&(e==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+e&&(t.defaultValue=""+e))}var Rs=Array.isArray;function ts(t,i,e,O){if(t=t.options,i){i={};for(var m=0;m<e.length;m++)i["$"+e[m]]=!0;for(e=0;e<t.length;e++)m=i.hasOwnProperty("$"+t[e].value),t[e].selected!==m&&(t[e].selected=m),m&&O&&(t[e].defaultSelected=!0)}else{for(e=""+bi(e),i=null,m=0;m<t.length;m++){if(t[m].value===e){t[m].selected=!0,O&&(t[m].defaultSelected=!0);return}i!==null||t[m].disabled||(i=t[m])}i!==null&&(i.selected=!0)}}function Sn(t,i){if(i.dangerouslySetInnerHTML!=null)throw Error(wt(91));return Ut({},i,{value:void 0,defaultValue:void 0,children:""+t._wrapperState.initialValue})}function pl(t,i){var e=i.value;if(e==null){if(e=i.children,i=i.defaultValue,e!=null){if(i!=null)throw Error(wt(92));if(Rs(e)){if(1<e.length)throw Error(wt(93));e=e[0]}i=e}i==null&&(i=""),e=i}t._wrapperState={initialValue:bi(e)}}function Bh(t,i){var e=bi(i.value),O=bi(i.defaultValue);e!=null&&(e=""+e,e!==t.value&&(t.value=e),i.defaultValue==null&&t.defaultValue!==e&&(t.defaultValue=e)),O!=null&&(t.defaultValue=""+O)}function gl(t){var i=t.textContent;i===t._wrapperState.initialValue&&i!==""&&i!==null&&(t.value=i)}function zh(t){switch(t){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function kn(t,i){return t==null||t==="http://www.w3.org/1999/xhtml"?zh(i):t==="http://www.w3.org/2000/svg"&&i==="foreignObject"?"http://www.w3.org/1999/xhtml":t}var Sr,Fh=function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(i,e,O,m){MSApp.execUnsafeLocalFunction(function(){return t(i,e,O,m)})}:t}(function(t,i){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=i;else{for(Sr=Sr||document.createElement("div"),Sr.innerHTML="<svg>"+i.valueOf().toString()+"</svg>",i=Sr.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;i.firstChild;)t.appendChild(i.firstChild)}});function qs(t,i){if(i){var e=t.firstChild;if(e&&e===t.lastChild&&e.nodeType===3){e.nodeValue=i;return}}t.textContent=i}var Fs={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fu=["Webkit","ms","Moz","O"];Object.keys(Fs).forEach(function(t){fu.forEach(function(i){i=i+t.charAt(0).toUpperCase()+t.substring(1),Fs[i]=Fs[t]})});function Gh(t,i,e){return i==null||typeof i=="boolean"||i===""?"":e||typeof i!="number"||i===0||Fs.hasOwnProperty(t)&&Fs[t]?(""+i).trim():i+"px"}function Hh(t,i){t=t.style;for(var e in i)if(i.hasOwnProperty(e)){var O=e.indexOf("--")===0,m=Gh(e,i[e],O);e==="float"&&(e="cssFloat"),O?t.setProperty(e,m):t[e]=m}}var mu=Ut({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Cn(t,i){if(i){if(mu[t]&&(i.children!=null||i.dangerouslySetInnerHTML!=null))throw Error(wt(137,t));if(i.dangerouslySetInnerHTML!=null){if(i.children!=null)throw Error(wt(60));if(typeof i.dangerouslySetInnerHTML!="object"||!("__html"in i.dangerouslySetInnerHTML))throw Error(wt(61))}if(i.style!=null&&typeof i.style!="object")throw Error(wt(62))}}function wn(t,i){if(t.indexOf("-")===-1)return typeof i.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Mn=null;function ma(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var An=null,es=null,is=null;function fl(t){if(t=gr(t)){if(typeof An!="function")throw Error(wt(280));var i=t.stateNode;i&&(i=Ao(i),An(t.stateNode,t.type,i))}}function Xh(t){es?is?is.push(t):is=[t]:es=t}function Wh(){if(es){var t=es,i=is;if(is=es=null,fl(t),i)for(t=0;t<i.length;t++)fl(i[t])}}function Uh(t,i){return t(i)}function Yh(){}var Uo=!1;function Vh(t,i,e){if(Uo)return t(i,e);Uo=!0;try{return Uh(t,i,e)}finally{Uo=!1,(es!==null||is!==null)&&(Yh(),Wh())}}function Ks(t,i){var e=t.stateNode;if(e===null)return null;var O=Ao(e);if(O===null)return null;e=O[i];t:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(O=!O.disabled)||(t=t.type,O=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!O;break t;default:t=!1}if(t)return null;if(e&&typeof e!="function")throw Error(wt(231,i,typeof e));return e}var Tn=!1;if(Qe)try{var Ps={};Object.defineProperty(Ps,"passive",{get:function(){Tn=!0}}),window.addEventListener("test",Ps,Ps),window.removeEventListener("test",Ps,Ps)}catch{Tn=!1}function xu(t,i,e,O,m,T,G,$,q){var Z=Array.prototype.slice.call(arguments,3);try{i.apply(e,Z)}catch(Q){this.onError(Q)}}var Gs=!1,Kr=null,Zr=!1,Pn=null,yu={onError:function(t){Gs=!0,Kr=t}};function bu(t,i,e,O,m,T,G,$,q){Gs=!1,Kr=null,xu.apply(yu,arguments)}function vu(t,i,e,O,m,T,G,$,q){if(bu.apply(this,arguments),Gs){if(Gs){var Z=Kr;Gs=!1,Kr=null}else throw Error(wt(198));Zr||(Zr=!0,Pn=Z)}}function Gi(t){var i=t,e=t;if(t.alternate)for(;i.return;)i=i.return;else{t=i;do i=t,i.flags&4098&&(e=i.return),t=i.return;while(t)}return i.tag===3?e:null}function _h(t){if(t.tag===13){var i=t.memoizedState;if(i===null&&(t=t.alternate,t!==null&&(i=t.memoizedState)),i!==null)return i.dehydrated}return null}function ml(t){if(Gi(t)!==t)throw Error(wt(188))}function Su(t){var i=t.alternate;if(!i){if(i=Gi(t),i===null)throw Error(wt(188));return i!==t?null:t}for(var e=t,O=i;;){var m=e.return;if(m===null)break;var T=m.alternate;if(T===null){if(O=m.return,O!==null){e=O;continue}break}if(m.child===T.child){for(T=m.child;T;){if(T===e)return ml(m),t;if(T===O)return ml(m),i;T=T.sibling}throw Error(wt(188))}if(e.return!==O.return)e=m,O=T;else{for(var G=!1,$=m.child;$;){if($===e){G=!0,e=m,O=T;break}if($===O){G=!0,O=m,e=T;break}$=$.sibling}if(!G){for($=T.child;$;){if($===e){G=!0,e=T,O=m;break}if($===O){G=!0,O=T,e=m;break}$=$.sibling}if(!G)throw Error(wt(189))}}if(e.alternate!==O)throw Error(wt(190))}if(e.tag!==3)throw Error(wt(188));return e.stateNode.current===e?t:i}function $h(t){return t=Su(t),t!==null?qh(t):null}function qh(t){if(t.tag===5||t.tag===6)return t;for(t=t.child;t!==null;){var i=qh(t);if(i!==null)return i;t=t.sibling}return null}var Kh=Se.unstable_scheduleCallback,xl=Se.unstable_cancelCallback,ku=Se.unstable_shouldYield,Cu=Se.unstable_requestPaint,_t=Se.unstable_now,wu=Se.unstable_getCurrentPriorityLevel,xa=Se.unstable_ImmediatePriority,Zh=Se.unstable_UserBlockingPriority,Qr=Se.unstable_NormalPriority,Mu=Se.unstable_LowPriority,Qh=Se.unstable_IdlePriority,ko=null,Xe=null;function Au(t){if(Xe&&typeof Xe.onCommitFiberRoot=="function")try{Xe.onCommitFiberRoot(ko,t,void 0,(t.current.flags&128)===128)}catch{}}var Re=Math.clz32?Math.clz32:Eu,Tu=Math.log,Pu=Math.LN2;function Eu(t){return t>>>=0,t===0?32:31-(Tu(t)/Pu|0)|0}var kr=64,Cr=4194304;function Bs(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Jr(t,i){var e=t.pendingLanes;if(e===0)return 0;var O=0,m=t.suspendedLanes,T=t.pingedLanes,G=e&268435455;if(G!==0){var $=G&~m;$!==0?O=Bs($):(T&=G,T!==0&&(O=Bs(T)))}else G=e&~m,G!==0?O=Bs(G):T!==0&&(O=Bs(T));if(O===0)return 0;if(i!==0&&i!==O&&!(i&m)&&(m=O&-O,T=i&-i,m>=T||m===16&&(T&4194240)!==0))return i;if(O&4&&(O|=e&16),i=t.entangledLanes,i!==0)for(t=t.entanglements,i&=O;0<i;)e=31-Re(i),m=1<<e,O|=t[e],i&=~m;return O}function Lu(t,i){switch(t){case 1:case 2:case 4:return i+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ou(t,i){for(var e=t.suspendedLanes,O=t.pingedLanes,m=t.expirationTimes,T=t.pendingLanes;0<T;){var G=31-Re(T),$=1<<G,q=m[G];q===-1?(!($&e)||$&O)&&(m[G]=Lu($,i)):q<=i&&(t.expiredLanes|=$),T&=~$}}function En(t){return t=t.pendingLanes&-1073741825,t!==0?t:t&1073741824?1073741824:0}function Jh(){var t=kr;return kr<<=1,!(kr&4194240)&&(kr=64),t}function Yo(t){for(var i=[],e=0;31>e;e++)i.push(t);return i}function ur(t,i,e){t.pendingLanes|=i,i!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,i=31-Re(i),t[i]=e}function Du(t,i){var e=t.pendingLanes&~i;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=i,t.mutableReadLanes&=i,t.entangledLanes&=i,i=t.entanglements;var O=t.eventTimes;for(t=t.expirationTimes;0<e;){var m=31-Re(e),T=1<<m;i[m]=0,O[m]=-1,t[m]=-1,e&=~T}}function ya(t,i){var e=t.entangledLanes|=i;for(t=t.entanglements;e;){var O=31-Re(e),m=1<<O;m&i|t[O]&i&&(t[O]|=i),e&=~m}}var It=0;function td(t){return t&=-t,1<t?4<t?t&268435455?16:536870912:4:1}var ed,ba,id,sd,rd,Ln=!1,wr=[],di=null,ci=null,ui=null,Zs=new Map,Qs=new Map,ni=[],ju="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function yl(t,i){switch(t){case"focusin":case"focusout":di=null;break;case"dragenter":case"dragleave":ci=null;break;case"mouseover":case"mouseout":ui=null;break;case"pointerover":case"pointerout":Zs.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":Qs.delete(i.pointerId)}}function Es(t,i,e,O,m,T){return t===null||t.nativeEvent!==T?(t={blockedOn:i,domEventName:e,eventSystemFlags:O,nativeEvent:T,targetContainers:[m]},i!==null&&(i=gr(i),i!==null&&ba(i)),t):(t.eventSystemFlags|=O,i=t.targetContainers,m!==null&&i.indexOf(m)===-1&&i.push(m),t)}function Nu(t,i,e,O,m){switch(i){case"focusin":return di=Es(di,t,i,e,O,m),!0;case"dragenter":return ci=Es(ci,t,i,e,O,m),!0;case"mouseover":return ui=Es(ui,t,i,e,O,m),!0;case"pointerover":var T=m.pointerId;return Zs.set(T,Es(Zs.get(T)||null,t,i,e,O,m)),!0;case"gotpointercapture":return T=m.pointerId,Qs.set(T,Es(Qs.get(T)||null,t,i,e,O,m)),!0}return!1}function od(t){var i=Ei(t.target);if(i!==null){var e=Gi(i);if(e!==null){if(i=e.tag,i===13){if(i=_h(e),i!==null){t.blockedOn=i,rd(t.priority,function(){id(e)});return}}else if(i===3&&e.stateNode.current.memoizedState.isDehydrated){t.blockedOn=e.tag===3?e.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Fr(t){if(t.blockedOn!==null)return!1;for(var i=t.targetContainers;0<i.length;){var e=On(t.domEventName,t.eventSystemFlags,i[0],t.nativeEvent);if(e===null){e=t.nativeEvent;var O=new e.constructor(e.type,e);Mn=O,e.target.dispatchEvent(O),Mn=null}else return i=gr(e),i!==null&&ba(i),t.blockedOn=e,!1;i.shift()}return!0}function bl(t,i,e){Fr(t)&&e.delete(i)}function Iu(){Ln=!1,di!==null&&Fr(di)&&(di=null),ci!==null&&Fr(ci)&&(ci=null),ui!==null&&Fr(ui)&&(ui=null),Zs.forEach(bl),Qs.forEach(bl)}function Ls(t,i){t.blockedOn===i&&(t.blockedOn=null,Ln||(Ln=!0,Se.unstable_scheduleCallback(Se.unstable_NormalPriority,Iu)))}function Js(t){function i(m){return Ls(m,t)}if(0<wr.length){Ls(wr[0],t);for(var e=1;e<wr.length;e++){var O=wr[e];O.blockedOn===t&&(O.blockedOn=null)}}for(di!==null&&Ls(di,t),ci!==null&&Ls(ci,t),ui!==null&&Ls(ui,t),Zs.forEach(i),Qs.forEach(i),e=0;e<ni.length;e++)O=ni[e],O.blockedOn===t&&(O.blockedOn=null);for(;0<ni.length&&(e=ni[0],e.blockedOn===null);)od(e),e.blockedOn===null&&ni.shift()}var ss=ii.ReactCurrentBatchConfig,to=!0;function Ru(t,i,e,O){var m=It,T=ss.transition;ss.transition=null;try{It=1,va(t,i,e,O)}finally{It=m,ss.transition=T}}function Bu(t,i,e,O){var m=It,T=ss.transition;ss.transition=null;try{It=4,va(t,i,e,O)}finally{It=m,ss.transition=T}}function va(t,i,e,O){if(to){var m=On(t,i,e,O);if(m===null)en(t,i,O,eo,e),yl(t,O);else if(Nu(m,t,i,e,O))O.stopPropagation();else if(yl(t,O),i&4&&-1<ju.indexOf(t)){for(;m!==null;){var T=gr(m);if(T!==null&&ed(T),T=On(t,i,e,O),T===null&&en(t,i,O,eo,e),T===m)break;m=T}m!==null&&O.stopPropagation()}else en(t,i,O,null,e)}}var eo=null;function On(t,i,e,O){if(eo=null,t=ma(O),t=Ei(t),t!==null)if(i=Gi(t),i===null)t=null;else if(e=i.tag,e===13){if(t=_h(i),t!==null)return t;t=null}else if(e===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;t=null}else i!==t&&(t=null);return eo=t,null}function nd(t){switch(t){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(wu()){case xa:return 1;case Zh:return 4;case Qr:case Mu:return 16;case Qh:return 536870912;default:return 16}default:return 16}}var li=null,Sa=null,Gr=null;function ad(){if(Gr)return Gr;var t,i=Sa,e=i.length,O,m="value"in li?li.value:li.textContent,T=m.length;for(t=0;t<e&&i[t]===m[t];t++);var G=e-t;for(O=1;O<=G&&i[e-O]===m[T-O];O++);return Gr=m.slice(t,1<O?1-O:void 0)}function Hr(t){var i=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&i===13&&(t=13)):t=i,t===10&&(t=13),32<=t||t===13?t:0}function Mr(){return!0}function vl(){return!1}function Ce(t){function i(e,O,m,T,G){this._reactName=e,this._targetInst=m,this.type=O,this.nativeEvent=T,this.target=G,this.currentTarget=null;for(var $ in t)t.hasOwnProperty($)&&(e=t[$],this[$]=e?e(T):T[$]);return this.isDefaultPrevented=(T.defaultPrevented!=null?T.defaultPrevented:T.returnValue===!1)?Mr:vl,this.isPropagationStopped=vl,this}return Ut(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!="unknown"&&(e.returnValue=!1),this.isDefaultPrevented=Mr)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!="unknown"&&(e.cancelBubble=!0),this.isPropagationStopped=Mr)},persist:function(){},isPersistent:Mr}),i}var xs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ka=Ce(xs),pr=Ut({},xs,{view:0,detail:0}),zu=Ce(pr),Vo,_o,Os,Co=Ut({},pr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ca,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==Os&&(Os&&t.type==="mousemove"?(Vo=t.screenX-Os.screenX,_o=t.screenY-Os.screenY):_o=Vo=0,Os=t),Vo)},movementY:function(t){return"movementY"in t?t.movementY:_o}}),Sl=Ce(Co),Fu=Ut({},Co,{dataTransfer:0}),Gu=Ce(Fu),Hu=Ut({},pr,{relatedTarget:0}),$o=Ce(Hu),Xu=Ut({},xs,{animationName:0,elapsedTime:0,pseudoElement:0}),Wu=Ce(Xu),Uu=Ut({},xs,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),Yu=Ce(Uu),Vu=Ut({},xs,{data:0}),kl=Ce(Vu),_u={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},$u={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},qu={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ku(t){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(t):(t=qu[t])?!!i[t]:!1}function Ca(){return Ku}var Zu=Ut({},pr,{key:function(t){if(t.key){var i=_u[t.key]||t.key;if(i!=="Unidentified")return i}return t.type==="keypress"?(t=Hr(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?$u[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ca,charCode:function(t){return t.type==="keypress"?Hr(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Hr(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),Qu=Ce(Zu),Ju=Ut({},Co,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Cl=Ce(Ju),tp=Ut({},pr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ca}),ep=Ce(tp),ip=Ut({},xs,{propertyName:0,elapsedTime:0,pseudoElement:0}),sp=Ce(ip),rp=Ut({},Co,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),op=Ce(rp),np=[9,13,27,32],wa=Qe&&"CompositionEvent"in window,Hs=null;Qe&&"documentMode"in document&&(Hs=document.documentMode);var ap=Qe&&"TextEvent"in window&&!Hs,ld=Qe&&(!wa||Hs&&8<Hs&&11>=Hs),wl=" ",Ml=!1;function hd(t,i){switch(t){case"keyup":return np.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dd(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ui=!1;function lp(t,i){switch(t){case"compositionend":return dd(i);case"keypress":return i.which!==32?null:(Ml=!0,wl);case"textInput":return t=i.data,t===wl&&Ml?null:t;default:return null}}function hp(t,i){if(Ui)return t==="compositionend"||!wa&&hd(t,i)?(t=ad(),Gr=Sa=li=null,Ui=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return ld&&i.locale!=="ko"?null:i.data;default:return null}}var dp={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Al(t){var i=t&&t.nodeName&&t.nodeName.toLowerCase();return i==="input"?!!dp[t.type]:i==="textarea"}function cd(t,i,e,O){Xh(O),i=io(i,"onChange"),0<i.length&&(e=new ka("onChange","change",null,e,O),t.push({event:e,listeners:i}))}var Xs=null,tr=null;function cp(t){kd(t,0)}function wo(t){var i=_i(t);if(Ih(i))return t}function up(t,i){if(t==="change")return i}var ud=!1;if(Qe){var qo;if(Qe){var Ko="oninput"in document;if(!Ko){var Tl=document.createElement("div");Tl.setAttribute("oninput","return;"),Ko=typeof Tl.oninput=="function"}qo=Ko}else qo=!1;ud=qo&&(!document.documentMode||9<document.documentMode)}function Pl(){Xs&&(Xs.detachEvent("onpropertychange",pd),tr=Xs=null)}function pd(t){if(t.propertyName==="value"&&wo(tr)){var i=[];cd(i,tr,t,ma(t)),Vh(cp,i)}}function pp(t,i,e){t==="focusin"?(Pl(),Xs=i,tr=e,Xs.attachEvent("onpropertychange",pd)):t==="focusout"&&Pl()}function gp(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return wo(tr)}function fp(t,i){if(t==="click")return wo(i)}function mp(t,i){if(t==="input"||t==="change")return wo(i)}function xp(t,i){return t===i&&(t!==0||1/t===1/i)||t!==t&&i!==i}var ze=typeof Object.is=="function"?Object.is:xp;function er(t,i){if(ze(t,i))return!0;if(typeof t!="object"||t===null||typeof i!="object"||i===null)return!1;var e=Object.keys(t),O=Object.keys(i);if(e.length!==O.length)return!1;for(O=0;O<e.length;O++){var m=e[O];if(!pn.call(i,m)||!ze(t[m],i[m]))return!1}return!0}function El(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function Ll(t,i){var e=El(t);t=0;for(var O;e;){if(e.nodeType===3){if(O=t+e.textContent.length,t<=i&&O>=i)return{node:e,offset:i-t};t=O}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=El(e)}}function gd(t,i){return t&&i?t===i?!0:t&&t.nodeType===3?!1:i&&i.nodeType===3?gd(t,i.parentNode):"contains"in t?t.contains(i):t.compareDocumentPosition?!!(t.compareDocumentPosition(i)&16):!1:!1}function fd(){for(var t=window,i=qr();i instanceof t.HTMLIFrameElement;){try{var e=typeof i.contentWindow.location.href=="string"}catch{e=!1}if(e)t=i.contentWindow;else break;i=qr(t.document)}return i}function Ma(t){var i=t&&t.nodeName&&t.nodeName.toLowerCase();return i&&(i==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||i==="textarea"||t.contentEditable==="true")}function yp(t){var i=fd(),e=t.focusedElem,O=t.selectionRange;if(i!==e&&e&&e.ownerDocument&&gd(e.ownerDocument.documentElement,e)){if(O!==null&&Ma(e)){if(i=O.start,t=O.end,t===void 0&&(t=i),"selectionStart"in e)e.selectionStart=i,e.selectionEnd=Math.min(t,e.value.length);else if(t=(i=e.ownerDocument||document)&&i.defaultView||window,t.getSelection){t=t.getSelection();var m=e.textContent.length,T=Math.min(O.start,m);O=O.end===void 0?T:Math.min(O.end,m),!t.extend&&T>O&&(m=O,O=T,T=m),m=Ll(e,T);var G=Ll(e,O);m&&G&&(t.rangeCount!==1||t.anchorNode!==m.node||t.anchorOffset!==m.offset||t.focusNode!==G.node||t.focusOffset!==G.offset)&&(i=i.createRange(),i.setStart(m.node,m.offset),t.removeAllRanges(),T>O?(t.addRange(i),t.extend(G.node,G.offset)):(i.setEnd(G.node,G.offset),t.addRange(i)))}}for(i=[],t=e;t=t.parentNode;)t.nodeType===1&&i.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof e.focus=="function"&&e.focus(),e=0;e<i.length;e++)t=i[e],t.element.scrollLeft=t.left,t.element.scrollTop=t.top}}var bp=Qe&&"documentMode"in document&&11>=document.documentMode,Yi=null,Dn=null,Ws=null,jn=!1;function Ol(t,i,e){var O=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;jn||Yi==null||Yi!==qr(O)||(O=Yi,"selectionStart"in O&&Ma(O)?O={start:O.selectionStart,end:O.selectionEnd}:(O=(O.ownerDocument&&O.ownerDocument.defaultView||window).getSelection(),O={anchorNode:O.anchorNode,anchorOffset:O.anchorOffset,focusNode:O.focusNode,focusOffset:O.focusOffset}),Ws&&er(Ws,O)||(Ws=O,O=io(Dn,"onSelect"),0<O.length&&(i=new ka("onSelect","select",null,i,e),t.push({event:i,listeners:O}),i.target=Yi)))}function Ar(t,i){var e={};return e[t.toLowerCase()]=i.toLowerCase(),e["Webkit"+t]="webkit"+i,e["Moz"+t]="moz"+i,e}var Vi={animationend:Ar("Animation","AnimationEnd"),animationiteration:Ar("Animation","AnimationIteration"),animationstart:Ar("Animation","AnimationStart"),transitionend:Ar("Transition","TransitionEnd")},Zo={},md={};Qe&&(md=document.createElement("div").style,"AnimationEvent"in window||(delete Vi.animationend.animation,delete Vi.animationiteration.animation,delete Vi.animationstart.animation),"TransitionEvent"in window||delete Vi.transitionend.transition);function Mo(t){if(Zo[t])return Zo[t];if(!Vi[t])return t;var i=Vi[t],e;for(e in i)if(i.hasOwnProperty(e)&&e in md)return Zo[t]=i[e];return t}var xd=Mo("animationend"),yd=Mo("animationiteration"),bd=Mo("animationstart"),vd=Mo("transitionend"),Sd=new Map,Dl="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Si(t,i){Sd.set(t,i),Fi(i,[t])}for(var Qo=0;Qo<Dl.length;Qo++){var Jo=Dl[Qo],vp=Jo.toLowerCase(),Sp=Jo[0].toUpperCase()+Jo.slice(1);Si(vp,"on"+Sp)}Si(xd,"onAnimationEnd");Si(yd,"onAnimationIteration");Si(bd,"onAnimationStart");Si("dblclick","onDoubleClick");Si("focusin","onFocus");Si("focusout","onBlur");Si(vd,"onTransitionEnd");as("onMouseEnter",["mouseout","mouseover"]);as("onMouseLeave",["mouseout","mouseover"]);as("onPointerEnter",["pointerout","pointerover"]);as("onPointerLeave",["pointerout","pointerover"]);Fi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Fi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Fi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Fi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Fi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Fi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var zs="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),kp=new Set("cancel close invalid load scroll toggle".split(" ").concat(zs));function jl(t,i,e){var O=t.type||"unknown-event";t.currentTarget=e,vu(O,i,void 0,t),t.currentTarget=null}function kd(t,i){i=(i&4)!==0;for(var e=0;e<t.length;e++){var O=t[e],m=O.event;O=O.listeners;t:{var T=void 0;if(i)for(var G=O.length-1;0<=G;G--){var $=O[G],q=$.instance,Z=$.currentTarget;if($=$.listener,q!==T&&m.isPropagationStopped())break t;jl(m,$,Z),T=q}else for(G=0;G<O.length;G++){if($=O[G],q=$.instance,Z=$.currentTarget,$=$.listener,q!==T&&m.isPropagationStopped())break t;jl(m,$,Z),T=q}}}if(Zr)throw t=Pn,Zr=!1,Pn=null,t}function zt(t,i){var e=i[zn];e===void 0&&(e=i[zn]=new Set);var O=t+"__bubble";e.has(O)||(Cd(i,t,2,!1),e.add(O))}function tn(t,i,e){var O=0;i&&(O|=4),Cd(e,t,O,i)}var Tr="_reactListening"+Math.random().toString(36).slice(2);function ir(t){if(!t[Tr]){t[Tr]=!0,Lh.forEach(function(e){e!=="selectionchange"&&(kp.has(e)||tn(e,!1,t),tn(e,!0,t))});var i=t.nodeType===9?t:t.ownerDocument;i===null||i[Tr]||(i[Tr]=!0,tn("selectionchange",!1,i))}}function Cd(t,i,e,O){switch(nd(i)){case 1:var m=Ru;break;case 4:m=Bu;break;default:m=va}e=m.bind(null,i,e,t),m=void 0,!Tn||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(m=!0),O?m!==void 0?t.addEventListener(i,e,{capture:!0,passive:m}):t.addEventListener(i,e,!0):m!==void 0?t.addEventListener(i,e,{passive:m}):t.addEventListener(i,e,!1)}function en(t,i,e,O,m){var T=O;if(!(i&1)&&!(i&2)&&O!==null)t:for(;;){if(O===null)return;var G=O.tag;if(G===3||G===4){var $=O.stateNode.containerInfo;if($===m||$.nodeType===8&&$.parentNode===m)break;if(G===4)for(G=O.return;G!==null;){var q=G.tag;if((q===3||q===4)&&(q=G.stateNode.containerInfo,q===m||q.nodeType===8&&q.parentNode===m))return;G=G.return}for(;$!==null;){if(G=Ei($),G===null)return;if(q=G.tag,q===5||q===6){O=T=G;continue t}$=$.parentNode}}O=O.return}Vh(function(){var Z=T,Q=ma(e),Y=[];t:{var F=Sd.get(t);if(F!==void 0){var W=ka,k=t;switch(t){case"keypress":if(Hr(e)===0)break t;case"keydown":case"keyup":W=Qu;break;case"focusin":k="focus",W=$o;break;case"focusout":k="blur",W=$o;break;case"beforeblur":case"afterblur":W=$o;break;case"click":if(e.button===2)break t;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":W=Sl;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":W=Gu;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":W=ep;break;case xd:case yd:case bd:W=Wu;break;case vd:W=sp;break;case"scroll":W=zu;break;case"wheel":W=op;break;case"copy":case"cut":case"paste":W=Yu;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":W=Cl}var E=(i&4)!==0,M=!E&&t==="scroll",v=E?F!==null?F+"Capture":null:F;E=[];for(var o=Z,u;o!==null;){u=o;var x=u.stateNode;if(u.tag===5&&x!==null&&(u=x,v!==null&&(x=Ks(o,v),x!=null&&E.push(sr(o,x,u)))),M)break;o=o.return}0<E.length&&(F=new W(F,k,null,e,Q),Y.push({event:F,listeners:E}))}}if(!(i&7)){t:{if(F=t==="mouseover"||t==="pointerover",W=t==="mouseout"||t==="pointerout",F&&e!==Mn&&(k=e.relatedTarget||e.fromElement)&&(Ei(k)||k[Je]))break t;if((W||F)&&(F=Q.window===Q?Q:(F=Q.ownerDocument)?F.defaultView||F.parentWindow:window,W?(k=e.relatedTarget||e.toElement,W=Z,k=k?Ei(k):null,k!==null&&(M=Gi(k),k!==M||k.tag!==5&&k.tag!==6)&&(k=null)):(W=null,k=Z),W!==k)){if(E=Sl,x="onMouseLeave",v="onMouseEnter",o="mouse",(t==="pointerout"||t==="pointerover")&&(E=Cl,x="onPointerLeave",v="onPointerEnter",o="pointer"),M=W==null?F:_i(W),u=k==null?F:_i(k),F=new E(x,o+"leave",W,e,Q),F.target=M,F.relatedTarget=u,x=null,Ei(Q)===Z&&(E=new E(v,o+"enter",k,e,Q),E.target=u,E.relatedTarget=M,x=E),M=x,W&&k)e:{for(E=W,v=k,o=0,u=E;u;u=Hi(u))o++;for(u=0,x=v;x;x=Hi(x))u++;for(;0<o-u;)E=Hi(E),o--;for(;0<u-o;)v=Hi(v),u--;for(;o--;){if(E===v||v!==null&&E===v.alternate)break e;E=Hi(E),v=Hi(v)}E=null}else E=null;W!==null&&Nl(Y,F,W,E,!1),k!==null&&M!==null&&Nl(Y,M,k,E,!0)}}t:{if(F=Z?_i(Z):window,W=F.nodeName&&F.nodeName.toLowerCase(),W==="select"||W==="input"&&F.type==="file")var f=up;else if(Al(F))if(ud)f=mp;else{f=gp;var p=pp}else(W=F.nodeName)&&W.toLowerCase()==="input"&&(F.type==="checkbox"||F.type==="radio")&&(f=fp);if(f&&(f=f(t,Z))){cd(Y,f,e,Q);break t}p&&p(t,F,Z),t==="focusout"&&(p=F._wrapperState)&&p.controlled&&F.type==="number"&&vn(F,"number",F.value)}switch(p=Z?_i(Z):window,t){case"focusin":(Al(p)||p.contentEditable==="true")&&(Yi=p,Dn=Z,Ws=null);break;case"focusout":Ws=Dn=Yi=null;break;case"mousedown":jn=!0;break;case"contextmenu":case"mouseup":case"dragend":jn=!1,Ol(Y,e,Q);break;case"selectionchange":if(bp)break;case"keydown":case"keyup":Ol(Y,e,Q)}var b;if(wa)t:{switch(t){case"compositionstart":var I="onCompositionStart";break t;case"compositionend":I="onCompositionEnd";break t;case"compositionupdate":I="onCompositionUpdate";break t}I=void 0}else Ui?hd(t,e)&&(I="onCompositionEnd"):t==="keydown"&&e.keyCode===229&&(I="onCompositionStart");I&&(ld&&e.locale!=="ko"&&(Ui||I!=="onCompositionStart"?I==="onCompositionEnd"&&Ui&&(b=ad()):(li=Q,Sa="value"in li?li.value:li.textContent,Ui=!0)),p=io(Z,I),0<p.length&&(I=new kl(I,t,null,e,Q),Y.push({event:I,listeners:p}),b?I.data=b:(b=dd(e),b!==null&&(I.data=b)))),(b=ap?lp(t,e):hp(t,e))&&(Z=io(Z,"onBeforeInput"),0<Z.length&&(Q=new kl("onBeforeInput","beforeinput",null,e,Q),Y.push({event:Q,listeners:Z}),Q.data=b))}kd(Y,i)})}function sr(t,i,e){return{instance:t,listener:i,currentTarget:e}}function io(t,i){for(var e=i+"Capture",O=[];t!==null;){var m=t,T=m.stateNode;m.tag===5&&T!==null&&(m=T,T=Ks(t,e),T!=null&&O.unshift(sr(t,T,m)),T=Ks(t,i),T!=null&&O.push(sr(t,T,m))),t=t.return}return O}function Hi(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5);return t||null}function Nl(t,i,e,O,m){for(var T=i._reactName,G=[];e!==null&&e!==O;){var $=e,q=$.alternate,Z=$.stateNode;if(q!==null&&q===O)break;$.tag===5&&Z!==null&&($=Z,m?(q=Ks(e,T),q!=null&&G.unshift(sr(e,q,$))):m||(q=Ks(e,T),q!=null&&G.push(sr(e,q,$)))),e=e.return}G.length!==0&&t.push({event:i,listeners:G})}var Cp=/\r\n?/g,wp=/\u0000|\uFFFD/g;function Il(t){return(typeof t=="string"?t:""+t).replace(Cp,` `).replace(wp,"")}function Pr(t,i,e){if(i=Il(i),Il(t)!==i&&e)throw Error(wt(425))}function so(){}var Nn=null,In=null;function Rn(t,i){return t==="textarea"||t==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var Bn=typeof setTimeout=="function"?setTimeout:void 0,Mp=typeof clearTimeout=="function"?clearTimeout:void 0,Rl=typeof Promise=="function"?Promise:void 0,Ap=typeof queueMicrotask=="function"?queueMicrotask:typeof Rl<"u"?function(t){return Rl.resolve(null).then(t).catch(Tp)}:Bn;function Tp(t){setTimeout(function(){throw t})}function sn(t,i){var e=i,O=0;do{var m=e.nextSibling;if(t.removeChild(e),m&&m.nodeType===8)if(e=m.data,e==="/$"){if(O===0){t.removeChild(m),Js(i);return}O--}else e!=="$"&&e!=="$?"&&e!=="$!"||O++;e=m}while(e);Js(i)}function pi(t){for(;t!=null;t=t.nextSibling){var i=t.nodeType;if(i===1||i===3)break;if(i===8){if(i=t.data,i==="$"||i==="$!"||i==="$?")break;if(i==="/$")return null}}return t}function Bl(t){t=t.previousSibling;for(var i=0;t;){if(t.nodeType===8){var e=t.data;if(e==="$"||e==="$!"||e==="$?"){if(i===0)return t;i--}else e==="/$"&&i++}t=t.previousSibling}return null}var ys=Math.random().toString(36).slice(2),He="__reactFiber$"+ys,rr="__reactProps$"+ys,Je="__reactContainer$"+ys,zn="__reactEvents$"+ys,Pp="__reactListeners$"+ys,Ep="__reactHandles$"+ys;function Ei(t){var i=t[He];if(i)return i;for(var e=t.parentNode;e;){if(i=e[Je]||e[He]){if(e=i.alternate,i.child!==null||e!==null&&e.child!==null)for(t=Bl(t);t!==null;){if(e=t[He])return e;t=Bl(t)}return i}t=e,e=t.parentNode}return null}function gr(t){return t=t[He]||t[Je],!t||t.tag!==5&&t.tag!==6&&t.tag!==13&&t.tag!==3?null:t}function _i(t){if(t.tag===5||t.tag===6)return t.stateNode;throw Error(wt(33))}function Ao(t){return t[rr]||null}var Fn=[],$i=-1;function ki(t){return{current:t}}function Gt(t){0>$i||(t.current=Fn[$i],Fn[$i]=null,$i--)}function Bt(t,i){$i++,Fn[$i]=t.current,t.current=i}var vi={},le=ki(vi),fe=ki(!1),Ni=vi;function ls(t,i){var e=t.type.contextTypes;if(!e)return vi;var O=t.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===i)return O.__reactInternalMemoizedMaskedChildContext;var m={},T;for(T in e)m[T]=i[T];return O&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=m),m}function me(t){return t=t.childContextTypes,t!=null}function ro(){Gt(fe),Gt(le)}function zl(t,i,e){if(le.current!==vi)throw Error(wt(168));Bt(le,i),Bt(fe,e)}function wd(t,i,e){var O=t.stateNode;if(i=i.childContextTypes,typeof O.getChildContext!="function")return e;O=O.getChildContext();for(var m in O)if(!(m in i))throw Error(wt(108,pu(t)||"Unknown",m));return Ut({},e,O)}function oo(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||vi,Ni=le.current,Bt(le,t),Bt(fe,fe.current),!0}function Fl(t,i,e){var O=t.stateNode;if(!O)throw Error(wt(169));e?(t=wd(t,i,Ni),O.__reactInternalMemoizedMergedChildContext=t,Gt(fe),Gt(le),Bt(le,t)):Gt(fe),Bt(fe,e)}var $e=null,To=!1,rn=!1;function Md(t){$e===null?$e=[t]:$e.push(t)}function Lp(t){To=!0,Md(t)}function Ci(){if(!rn&&$e!==null){rn=!0;var t=0,i=It;try{var e=$e;for(It=1;t<e.length;t++){var O=e[t];do O=O(!0);while(O!==null)}$e=null,To=!1}catch(m){throw $e!==null&&($e=$e.slice(t+1)),Kh(xa,Ci),m}finally{It=i,rn=!1}}return null}var qi=[],Ki=0,no=null,ao=0,we=[],Me=0,Ii=null,qe=1,Ke="";function Ti(t,i){qi[Ki++]=ao,qi[Ki++]=no,no=t,ao=i}function Ad(t,i,e){we[Me++]=qe,we[Me++]=Ke,we[Me++]=Ii,Ii=t;var O=qe;t=Ke;var m=32-Re(O)-1;O&=~(1<<m),e+=1;var T=32-Re(i)+m;if(30<T){var G=m-m%5;T=(O&(1<<G)-1).toString(32),O>>=G,m-=G,qe=1<<32-Re(i)+m|e<<m|O,Ke=T+t}else qe=1<<T|e<<m|O,Ke=t}function Aa(t){t.return!==null&&(Ti(t,1),Ad(t,1,0))}function Ta(t){for(;t===no;)no=qi[--Ki],qi[Ki]=null,ao=qi[--Ki],qi[Ki]=null;for(;t===Ii;)Ii=we[--Me],we[Me]=null,Ke=we[--Me],we[Me]=null,qe=we[--Me],we[Me]=null}var ve=null,be=null,Ht=!1,Ie=null;function Td(t,i){var e=Ae(5,null,null,0);e.elementType="DELETED",e.stateNode=i,e.return=t,i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)}function Gl(t,i){switch(t.tag){case 5:var e=t.type;return i=i.nodeType!==1||e.toLowerCase()!==i.nodeName.toLowerCase()?null:i,i!==null?(t.stateNode=i,ve=t,be=pi(i.firstChild),!0):!1;case 6:return i=t.pendingProps===""||i.nodeType!==3?null:i,i!==null?(t.stateNode=i,ve=t,be=null,!0):!1;case 13:return i=i.nodeType!==8?null:i,i!==null?(e=Ii!==null?{id:qe,overflow:Ke}:null,t.memoizedState={dehydrated:i,treeContext:e,retryLane:1073741824},e=Ae(18,null,null,0),e.stateNode=i,e.return=t,t.child=e,ve=t,be=null,!0):!1;default:return!1}}function Gn(t){return(t.mode&1)!==0&&(t.flags&128)===0}function Hn(t){if(Ht){var i=be;if(i){var e=i;if(!Gl(t,i)){if(Gn(t))throw Error(wt(418));i=pi(e.nextSibling);var O=ve;i&&Gl(t,i)?Td(O,e):(t.flags=t.flags&-4097|2,Ht=!1,ve=t)}}else{if(Gn(t))throw Error(wt(418));t.flags=t.flags&-4097|2,Ht=!1,ve=t}}}function Hl(t){for(t=t.return;t!==null&&t.tag!==5&&t.tag!==3&&t.tag!==13;)t=t.return;ve=t}function Er(t){if(t!==ve)return!1;if(!Ht)return Hl(t),Ht=!0,!1;var i;if((i=t.tag!==3)&&!(i=t.tag!==5)&&(i=t.type,i=i!=="head"&&i!=="body"&&!Rn(t.type,t.memoizedProps)),i&&(i=be)){if(Gn(t))throw Pd(),Error(wt(418));for(;i;)Td(t,i),i=pi(i.nextSibling)}if(Hl(t),t.tag===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(wt(317));t:{for(t=t.nextSibling,i=0;t;){if(t.nodeType===8){var e=t.data;if(e==="/$"){if(i===0){be=pi(t.nextSibling);break t}i--}else e!=="$"&&e!=="$!"&&e!=="$?"||i++}t=t.nextSibling}be=null}}else be=ve?pi(t.stateNode.nextSibling):null;return!0}function Pd(){for(var t=be;t;)t=pi(t.nextSibling)}function hs(){be=ve=null,Ht=!1}function Pa(t){Ie===null?Ie=[t]:Ie.push(t)}var Op=ii.ReactCurrentBatchConfig;function je(t,i){if(t&&t.defaultProps){i=Ut({},i),t=t.defaultProps;for(var e in t)i[e]===void 0&&(i[e]=t[e]);return i}return i}var lo=ki(null),ho=null,Zi=null,Ea=null;function La(){Ea=Zi=ho=null}function Oa(t){var i=lo.current;Gt(lo),t._currentValue=i}function Xn(t,i,e){for(;t!==null;){var O=t.alternate;if((t.childLanes&i)!==i?(t.childLanes|=i,O!==null&&(O.childLanes|=i)):O!==null&&(O.childLanes&i)!==i&&(O.childLanes|=i),t===e)break;t=t.return}}function rs(t,i){ho=t,Ea=Zi=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&i&&(ge=!0),t.firstContext=null)}function Ee(t){var i=t._currentValue;if(Ea!==t)if(t={context:t,memoizedValue:i,next:null},Zi===null){if(ho===null)throw Error(wt(308));Zi=t,ho.dependencies={lanes:0,firstContext:t}}else Zi=Zi.next=t;return i}var Li=null;function Da(t){Li===null?Li=[t]:Li.push(t)}function Ed(t,i,e,O){var m=i.interleaved;return m===null?(e.next=e,Da(i)):(e.next=m.next,m.next=e),i.interleaved=e,ti(t,O)}function ti(t,i){t.lanes|=i;var e=t.alternate;for(e!==null&&(e.lanes|=i),e=t,t=t.return;t!==null;)t.childLanes|=i,e=t.alternate,e!==null&&(e.childLanes|=i),e=t,t=t.return;return e.tag===3?e.stateNode:null}var oi=!1;function ja(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ld(t,i){t=t.updateQueue,i.updateQueue===t&&(i.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Ze(t,i){return{eventTime:t,lane:i,tag:0,payload:null,callback:null,next:null}}function gi(t,i,e){var O=t.updateQueue;if(O===null)return null;if(O=O.shared,jt&2){var m=O.pending;return m===null?i.next=i:(i.next=m.next,m.next=i),O.pending=i,ti(t,e)}return m=O.interleaved,m===null?(i.next=i,Da(O)):(i.next=m.next,m.next=i),O.interleaved=i,ti(t,e)}function Xr(t,i,e){if(i=i.updateQueue,i!==null&&(i=i.shared,(e&4194240)!==0)){var O=i.lanes;O&=t.pendingLanes,e|=O,i.lanes=e,ya(t,e)}}function Xl(t,i){var e=t.updateQueue,O=t.alternate;if(O!==null&&(O=O.updateQueue,e===O)){var m=null,T=null;if(e=e.firstBaseUpdate,e!==null){do{var G={eventTime:e.eventTime,lane:e.lane,tag:e.tag,payload:e.payload,callback:e.callback,next:null};T===null?m=T=G:T=T.next=G,e=e.next}while(e!==null);T===null?m=T=i:T=T.next=i}else m=T=i;e={baseState:O.baseState,firstBaseUpdate:m,lastBaseUpdate:T,shared:O.shared,effects:O.effects},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=i:t.next=i,e.lastBaseUpdate=i}function co(t,i,e,O){var m=t.updateQueue;oi=!1;var T=m.firstBaseUpdate,G=m.lastBaseUpdate,$=m.shared.pending;if($!==null){m.shared.pending=null;var q=$,Z=q.next;q.next=null,G===null?T=Z:G.next=Z,G=q;var Q=t.alternate;Q!==null&&(Q=Q.updateQueue,$=Q.lastBaseUpdate,$!==G&&($===null?Q.firstBaseUpdate=Z:$.next=Z,Q.lastBaseUpdate=q))}if(T!==null){var Y=m.baseState;G=0,Q=Z=q=null,$=T;do{var F=$.lane,W=$.eventTime;if((O&F)===F){Q!==null&&(Q=Q.next={eventTime:W,lane:0,tag:$.tag,payload:$.payload,callback:$.callback,next:null});t:{var k=t,E=$;switch(F=i,W=e,E.tag){case 1:if(k=E.payload,typeof k=="function"){Y=k.call(W,Y,F);break t}Y=k;break t;case 3:k.flags=k.flags&-65537|128;case 0:if(k=E.payload,F=typeof k=="function"?k.call(W,Y,F):k,F==null)break t;Y=Ut({},Y,F);break t;case 2:oi=!0}}$.callback!==null&&$.lane!==0&&(t.flags|=64,F=m.effects,F===null?m.effects=[$]:F.push($))}else W={eventTime:W,lane:F,tag:$.tag,payload:$.payload,callback:$.callback,next:null},Q===null?(Z=Q=W,q=Y):Q=Q.next=W,G|=F;if($=$.next,$===null){if($=m.shared.pending,$===null)break;F=$,$=F.next,F.next=null,m.lastBaseUpdate=F,m.shared.pending=null}}while(!0);if(Q===null&&(q=Y),m.baseState=q,m.firstBaseUpdate=Z,m.lastBaseUpdate=Q,i=m.shared.interleaved,i!==null){m=i;do G|=m.lane,m=m.next;while(m!==i)}else T===null&&(m.shared.lanes=0);Bi|=G,t.lanes=G,t.memoizedState=Y}}function Wl(t,i,e){if(t=i.effects,i.effects=null,t!==null)for(i=0;i<t.length;i++){var O=t[i],m=O.callback;if(m!==null){if(O.callback=null,O=e,typeof m!="function")throw Error(wt(191,m));m.call(O)}}}var Od=new Eh.Component().refs;function Wn(t,i,e,O){i=t.memoizedState,e=e(O,i),e=e==null?i:Ut({},i,e),t.memoizedState=e,t.lanes===0&&(t.updateQueue.baseState=e)}var Po={isMounted:function(t){return(t=t._reactInternals)?Gi(t)===t:!1},enqueueSetState:function(t,i,e){t=t._reactInternals;var O=de(),m=mi(t),T=Ze(O,m);T.payload=i,e!=null&&(T.callback=e),i=gi(t,T,m),i!==null&&(Be(i,t,m,O),Xr(i,t,m))},enqueueReplaceState:function(t,i,e){t=t._reactInternals;var O=de(),m=mi(t),T=Ze(O,m);T.tag=1,T.payload=i,e!=null&&(T.callback=e),i=gi(t,T,m),i!==null&&(Be(i,t,m,O),Xr(i,t,m))},enqueueForceUpdate:function(t,i){t=t._reactInternals;var e=de(),O=mi(t),m=Ze(e,O);m.tag=2,i!=null&&(m.callback=i),i=gi(t,m,O),i!==null&&(Be(i,t,O,e),Xr(i,t,O))}};function Ul(t,i,e,O,m,T,G){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(O,T,G):i.prototype&&i.prototype.isPureReactComponent?!er(e,O)||!er(m,T):!0}function Dd(t,i,e){var O=!1,m=vi,T=i.contextType;return typeof T=="object"&&T!==null?T=Ee(T):(m=me(i)?Ni:le.current,O=i.contextTypes,T=(O=O!=null)?ls(t,m):vi),i=new i(e,T),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Po,t.stateNode=i,i._reactInternals=t,O&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=m,t.__reactInternalMemoizedMaskedChildContext=T),i}function Yl(t,i,e,O){t=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(e,O),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(e,O),i.state!==t&&Po.enqueueReplaceState(i,i.state,null)}function Un(t,i,e,O){var m=t.stateNode;m.props=e,m.state=t.memoizedState,m.refs=Od,ja(t);var T=i.contextType;typeof T=="object"&&T!==null?m.context=Ee(T):(T=me(i)?Ni:le.current,m.context=ls(t,T)),m.state=t.memoizedState,T=i.getDerivedStateFromProps,typeof T=="function"&&(Wn(t,i,T,e),m.state=t.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(i=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),i!==m.state&&Po.enqueueReplaceState(m,m.state,null),co(t,e,m,O),m.state=t.memoizedState),typeof m.componentDidMount=="function"&&(t.flags|=4194308)}function Ds(t,i,e){if(t=e.ref,t!==null&&typeof t!="function"&&typeof t!="object"){if(e._owner){if(e=e._owner,e){if(e.tag!==1)throw Error(wt(309));var O=e.stateNode}if(!O)throw Error(wt(147,t));var m=O,T=""+t;return i!==null&&i.ref!==null&&typeof i.ref=="function"&&i.ref._stringRef===T?i.ref:(i=function(G){var $=m.refs;$===Od&&($=m.refs={}),G===null?delete $[T]:$[T]=G},i._stringRef=T,i)}if(typeof t!="string")throw Error(wt(284));if(!e._owner)throw Error(wt(290,t))}return t}function Lr(t,i){throw t=Object.prototype.toString.call(i),Error(wt(31,t==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":t))}function Vl(t){var i=t._init;return i(t._payload)}function jd(t){function i(v,o){if(t){var u=v.deletions;u===null?(v.deletions=[o],v.flags|=16):u.push(o)}}function e(v,o){if(!t)return null;for(;o!==null;)i(v,o),o=o.sibling;return null}function O(v,o){for(v=new Map;o!==null;)o.key!==null?v.set(o.key,o):v.set(o.index,o),o=o.sibling;return v}function m(v,o){return v=xi(v,o),v.index=0,v.sibling=null,v}function T(v,o,u){return v.index=u,t?(u=v.alternate,u!==null?(u=u.index,u<o?(v.flags|=2,o):u):(v.flags|=2,o)):(v.flags|=1048576,o)}function G(v){return t&&v.alternate===null&&(v.flags|=2),v}function $(v,o,u,x){return o===null||o.tag!==6?(o=cn(u,v.mode,x),o.return=v,o):(o=m(o,u),o.return=v,o)}function q(v,o,u,x){var f=u.type;return f===Wi?Q(v,o,u.props.children,x,u.key):o!==null&&(o.elementType===f||typeof f=="object"&&f!==null&&f.$$typeof===ri&&Vl(f)===o.type)?(x=m(o,u.props),x.ref=Ds(v,o,u),x.return=v,x):(x=$r(u.type,u.key,u.props,null,v.mode,x),x.ref=Ds(v,o,u),x.return=v,x)}function Z(v,o,u,x){return o===null||o.tag!==4||o.stateNode.containerInfo!==u.containerInfo||o.stateNode.implementation!==u.implementation?(o=un(u,v.mode,x),o.return=v,o):(o=m(o,u.children||[]),o.return=v,o)}function Q(v,o,u,x,f){return o===null||o.tag!==7?(o=ji(u,v.mode,x,f),o.return=v,o):(o=m(o,u),o.return=v,o)}function Y(v,o,u){if(typeof o=="string"&&o!==""||typeof o=="number")return o=cn(""+o,v.mode,u),o.return=v,o;if(typeof o=="object"&&o!==null){switch(o.$$typeof){case br:return u=$r(o.type,o.key,o.props,null,v.mode,u),u.ref=Ds(v,null,o),u.return=v,u;case Xi:return o=un(o,v.mode,u),o.return=v,o;case ri:var x=o._init;return Y(v,x(o._payload),u)}if(Rs(o)||Ts(o))return o=ji(o,v.mode,u,null),o.return=v,o;Lr(v,o)}return null}function F(v,o,u,x){var f=o!==null?o.key:null;if(typeof u=="string"&&u!==""||typeof u=="number")return f!==null?null:$(v,o,""+u,x);if(typeof u=="object"&&u!==null){switch(u.$$typeof){case br:return u.key===f?q(v,o,u,x):null;case Xi:return u.key===f?Z(v,o,u,x):null;case ri:return f=u._init,F(v,o,f(u._payload),x)}if(Rs(u)||Ts(u))return f!==null?null:Q(v,o,u,x,null);Lr(v,u)}return null}function W(v,o,u,x,f){if(typeof x=="string"&&x!==""||typeof x=="number")return v=v.get(u)||null,$(o,v,""+x,f);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case br:return v=v.get(x.key===null?u:x.key)||null,q(o,v,x,f);case Xi:return v=v.get(x.key===null?u:x.key)||null,Z(o,v,x,f);case ri:var p=x._init;return W(v,o,u,p(x._payload),f)}if(Rs(x)||Ts(x))return v=v.get(u)||null,Q(o,v,x,f,null);Lr(o,x)}return null}function k(v,o,u,x){for(var f=null,p=null,b=o,I=o=0,B=null;b!==null&&I<u.length;I++){b.index>I?(B=b,b=null):B=b.sibling;var A=F(v,b,u[I],x);if(A===null){b===null&&(b=B);break}t&&b&&A.alternate===null&&i(v,b),o=T(A,o,I),p===null?f=A:p.sibling=A,p=A,b=B}if(I===u.length)return e(v,b),Ht&&Ti(v,I),f;if(b===null){for(;I<u.length;I++)b=Y(v,u[I],x),b!==null&&(o=T(b,o,I),p===null?f=b:p.sibling=b,p=b);return Ht&&Ti(v,I),f}for(b=O(v,b);I<u.length;I++)B=W(b,v,I,u[I],x),B!==null&&(t&&B.alternate!==null&&b.delete(B.key===null?I:B.key),o=T(B,o,I),p===null?f=B:p.sibling=B,p=B);return t&&b.forEach(function(g){return i(v,g)}),Ht&&Ti(v,I),f}function E(v,o,u,x){var f=Ts(u);if(typeof f!="function")throw Error(wt(150));if(u=f.call(u),u==null)throw Error(wt(151));for(var p=f=null,b=o,I=o=0,B=null,A=u.next();b!==null&&!A.done;I++,A=u.next()){b.index>I?(B=b,b=null):B=b.sibling;var g=F(v,b,A.value,x);if(g===null){b===null&&(b=B);break}t&&b&&g.alternate===null&&i(v,b),o=T(g,o,I),p===null?f=g:p.sibling=g,p=g,b=B}if(A.done)return e(v,b),Ht&&Ti(v,I),f;if(b===null){for(;!A.done;I++,A=u.next())A=Y(v,A.value,x),A!==null&&(o=T(A,o,I),p===null?f=A:p.sibling=A,p=A);return Ht&&Ti(v,I),f}for(b=O(v,b);!A.done;I++,A=u.next())A=W(b,v,I,A.value,x),A!==null&&(t&&A.alternate!==null&&b.delete(A.key===null?I:A.key),o=T(A,o,I),p===null?f=A:p.sibling=A,p=A);return t&&b.forEach(function(S){return i(v,S)}),Ht&&Ti(v,I),f}function M(v,o,u,x){if(typeof u=="object"&&u!==null&&u.type===Wi&&u.key===null&&(u=u.props.children),typeof u=="object"&&u!==null){switch(u.$$typeof){case br:t:{for(var f=u.key,p=o;p!==null;){if(p.key===f){if(f=u.type,f===Wi){if(p.tag===7){e(v,p.sibling),o=m(p,u.props.children),o.return=v,v=o;break t}}else if(p.elementType===f||typeof f=="object"&&f!==null&&f.$$typeof===ri&&Vl(f)===p.type){e(v,p.sibling),o=m(p,u.props),o.ref=Ds(v,p,u),o.return=v,v=o;break t}e(v,p);break}else i(v,p);p=p.sibling}u.type===Wi?(o=ji(u.props.children,v.mode,x,u.key),o.return=v,v=o):(x=$r(u.type,u.key,u.props,null,v.mode,x),x.ref=Ds(v,o,u),x.return=v,v=x)}return G(v);case Xi:t:{for(p=u.key;o!==null;){if(o.key===p)if(o.tag===4&&o.stateNode.containerInfo===u.containerInfo&&o.stateNode.implementation===u.implementation){e(v,o.sibling),o=m(o,u.children||[]),o.return=v,v=o;break t}else{e(v,o);break}else i(v,o);o=o.sibling}o=un(u,v.mode,x),o.return=v,v=o}return G(v);case ri:return p=u._init,M(v,o,p(u._payload),x)}if(Rs(u))return k(v,o,u,x);if(Ts(u))return E(v,o,u,x);Lr(v,u)}return typeof u=="string"&&u!==""||typeof u=="number"?(u=""+u,o!==null&&o.tag===6?(e(v,o.sibling),o=m(o,u),o.return=v,v=o):(e(v,o),o=cn(u,v.mode,x),o.return=v,v=o),G(v)):e(v,o)}return M}var ds=jd(!0),Nd=jd(!1),fr={},We=ki(fr),or=ki(fr),nr=ki(fr);function Oi(t){if(t===fr)throw Error(wt(174));return t}function Na(t,i){switch(Bt(nr,i),Bt(or,t),Bt(We,fr),t=i.nodeType,t){case 9:case 11:i=(i=i.documentElement)?i.namespaceURI:kn(null,"");break;default:t=t===8?i.parentNode:i,i=t.namespaceURI||null,t=t.tagName,i=kn(i,t)}Gt(We),Bt(We,i)}function cs(){Gt(We),Gt(or),Gt(nr)}function Id(t){Oi(nr.current);var i=Oi(We.current),e=kn(i,t.type);i!==e&&(Bt(or,t),Bt(We,e))}function Ia(t){or.current===t&&(Gt(We),Gt(or))}var Xt=ki(0);function uo(t){for(var i=t;i!==null;){if(i.tag===13){var e=i.memoizedState;if(e!==null&&(e=e.dehydrated,e===null||e.data==="$?"||e.data==="$!"))return i}else if(i.tag===19&&i.memoizedProps.revealOrder!==void 0){if(i.flags&128)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var on=[];function Ra(){for(var t=0;t<on.length;t++)on[t]._workInProgressVersionPrimary=null;on.length=0}var Wr=ii.ReactCurrentDispatcher,nn=ii.ReactCurrentBatchConfig,Ri=0,Wt=null,Zt=null,Jt=null,po=!1,Us=!1,ar=0,Dp=0;function oe(){throw Error(wt(321))}function Ba(t,i){if(i===null)return!1;for(var e=0;e<i.length&&e<t.length;e++)if(!ze(t[e],i[e]))return!1;return!0}function za(t,i,e,O,m,T){if(Ri=T,Wt=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,Wr.current=t===null||t.memoizedState===null?Rp:Bp,t=e(O,m),Us){T=0;do{if(Us=!1,ar=0,25<=T)throw Error(wt(301));T+=1,Jt=Zt=null,i.updateQueue=null,Wr.current=zp,t=e(O,m)}while(Us)}if(Wr.current=go,i=Zt!==null&&Zt.next!==null,Ri=0,Jt=Zt=Wt=null,po=!1,i)throw Error(wt(300));return t}function Fa(){var t=ar!==0;return ar=0,t}function Ge(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Jt===null?Wt.memoizedState=Jt=t:Jt=Jt.next=t,Jt}function Le(){if(Zt===null){var t=Wt.alternate;t=t!==null?t.memoizedState:null}else t=Zt.next;var i=Jt===null?Wt.memoizedState:Jt.next;if(i!==null)Jt=i,Zt=t;else{if(t===null)throw Error(wt(310));Zt=t,t={memoizedState:Zt.memoizedState,baseState:Zt.baseState,baseQueue:Zt.baseQueue,queue:Zt.queue,next:null},Jt===null?Wt.memoizedState=Jt=t:Jt=Jt.next=t}return Jt}function lr(t,i){return typeof i=="function"?i(t):i}function an(t){var i=Le(),e=i.queue;if(e===null)throw Error(wt(311));e.lastRenderedReducer=t;var O=Zt,m=O.baseQueue,T=e.pending;if(T!==null){if(m!==null){var G=m.next;m.next=T.next,T.next=G}O.baseQueue=m=T,e.pending=null}if(m!==null){T=m.next,O=O.baseState;var $=G=null,q=null,Z=T;do{var Q=Z.lane;if((Ri&Q)===Q)q!==null&&(q=q.next={lane:0,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null}),O=Z.hasEagerState?Z.eagerState:t(O,Z.action);else{var Y={lane:Q,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null};q===null?($=q=Y,G=O):q=q.next=Y,Wt.lanes|=Q,Bi|=Q}Z=Z.next}while(Z!==null&&Z!==T);q===null?G=O:q.next=$,ze(O,i.memoizedState)||(ge=!0),i.memoizedState=O,i.baseState=G,i.baseQueue=q,e.lastRenderedState=O}if(t=e.interleaved,t!==null){m=t;do T=m.lane,Wt.lanes|=T,Bi|=T,m=m.next;while(m!==t)}else m===null&&(e.lanes=0);return[i.memoizedState,e.dispatch]}function ln(t){var i=Le(),e=i.queue;if(e===null)throw Error(wt(311));e.lastRenderedReducer=t;var O=e.dispatch,m=e.pending,T=i.memoizedState;if(m!==null){e.pending=null;var G=m=m.next;do T=t(T,G.action),G=G.next;while(G!==m);ze(T,i.memoizedState)||(ge=!0),i.memoizedState=T,i.baseQueue===null&&(i.baseState=T),e.lastRenderedState=T}return[T,O]}function Rd(){}function Bd(t,i){var e=Wt,O=Le(),m=i(),T=!ze(O.memoizedState,m);if(T&&(O.memoizedState=m,ge=!0),O=O.queue,Ga(Gd.bind(null,e,O,t),[t]),O.getSnapshot!==i||T||Jt!==null&&Jt.memoizedState.tag&1){if(e.flags|=2048,hr(9,Fd.bind(null,e,O,m,i),void 0,null),te===null)throw Error(wt(349));Ri&30||zd(e,i,m)}return m}function zd(t,i,e){t.flags|=16384,t={getSnapshot:i,value:e},i=Wt.updateQueue,i===null?(i={lastEffect:null,stores:null},Wt.updateQueue=i,i.stores=[t]):(e=i.stores,e===null?i.stores=[t]:e.push(t))}function Fd(t,i,e,O){i.value=e,i.getSnapshot=O,Hd(i)&&Xd(t)}function Gd(t,i,e){return e(function(){Hd(i)&&Xd(t)})}function Hd(t){var i=t.getSnapshot;t=t.value;try{var e=i();return!ze(t,e)}catch{return!0}}function Xd(t){var i=ti(t,1);i!==null&&Be(i,t,1,-1)}function _l(t){var i=Ge();return typeof t=="function"&&(t=t()),i.memoizedState=i.baseState=t,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:lr,lastRenderedState:t},i.queue=t,t=t.dispatch=Ip.bind(null,Wt,t),[i.memoizedState,t]}function hr(t,i,e,O){return t={tag:t,create:i,destroy:e,deps:O,next:null},i=Wt.updateQueue,i===null?(i={lastEffect:null,stores:null},Wt.updateQueue=i,i.lastEffect=t.next=t):(e=i.lastEffect,e===null?i.lastEffect=t.next=t:(O=e.next,e.next=t,t.next=O,i.lastEffect=t)),t}function Wd(){return Le().memoizedState}function Ur(t,i,e,O){var m=Ge();Wt.flags|=t,m.memoizedState=hr(1|i,e,void 0,O===void 0?null:O)}function Eo(t,i,e,O){var m=Le();O=O===void 0?null:O;var T=void 0;if(Zt!==null){var G=Zt.memoizedState;if(T=G.destroy,O!==null&&Ba(O,G.deps)){m.memoizedState=hr(i,e,T,O);return}}Wt.flags|=t,m.memoizedState=hr(1|i,e,T,O)}function $l(t,i){return Ur(8390656,8,t,i)}function Ga(t,i){return Eo(2048,8,t,i)}function Ud(t,i){return Eo(4,2,t,i)}function Yd(t,i){return Eo(4,4,t,i)}function Vd(t,i){if(typeof i=="function")return t=t(),i(t),function(){i(null)};if(i!=null)return t=t(),i.current=t,function(){i.current=null}}function _d(t,i,e){return e=e!=null?e.concat([t]):null,Eo(4,4,Vd.bind(null,i,t),e)}function Ha(){}function $d(t,i){var e=Le();i=i===void 0?null:i;var O=e.memoizedState;return O!==null&&i!==null&&Ba(i,O[1])?O[0]:(e.memoizedState=[t,i],t)}function qd(t,i){var e=Le();i=i===void 0?null:i;var O=e.memoizedState;return O!==null&&i!==null&&Ba(i,O[1])?O[0]:(t=t(),e.memoizedState=[t,i],t)}function Kd(t,i,e){return Ri&21?(ze(e,i)||(e=Jh(),Wt.lanes|=e,Bi|=e,t.baseState=!0),i):(t.baseState&&(t.baseState=!1,ge=!0),t.memoizedState=e)}function jp(t,i){var e=It;It=e!==0&&4>e?e:4,t(!0);var O=nn.transition;nn.transition={};try{t(!1),i()}finally{It=e,nn.transition=O}}function Zd(){return Le().memoizedState}function Np(t,i,e){var O=mi(t);if(e={lane:O,action:e,hasEagerState:!1,eagerState:null,next:null},Qd(t))Jd(i,e);else if(e=Ed(t,i,e,O),e!==null){var m=de();Be(e,t,O,m),tc(e,i,O)}}function Ip(t,i,e){var O=mi(t),m={lane:O,action:e,hasEagerState:!1,eagerState:null,next:null};if(Qd(t))Jd(i,m);else{var T=t.alternate;if(t.lanes===0&&(T===null||T.lanes===0)&&(T=i.lastRenderedReducer,T!==null))try{var G=i.lastRenderedState,$=T(G,e);if(m.hasEagerState=!0,m.eagerState=$,ze($,G)){var q=i.interleaved;q===null?(m.next=m,Da(i)):(m.next=q.next,q.next=m),i.interleaved=m;return}}catch{}finally{}e=Ed(t,i,m,O),e!==null&&(m=de(),Be(e,t,O,m),tc(e,i,O))}}function Qd(t){var i=t.alternate;return t===Wt||i!==null&&i===Wt}function Jd(t,i){Us=po=!0;var e=t.pending;e===null?i.next=i:(i.next=e.next,e.next=i),t.pending=i}function tc(t,i,e){if(e&4194240){var O=i.lanes;O&=t.pendingLanes,e|=O,i.lanes=e,ya(t,e)}}var go={readContext:Ee,useCallback:oe,useContext:oe,useEffect:oe,useImperativeHandle:oe,useInsertionEffect:oe,useLayoutEffect:oe,useMemo:oe,useReducer:oe,useRef:oe,useState:oe,useDebugValue:oe,useDeferredValue:oe,useTransition:oe,useMutableSource:oe,useSyncExternalStore:oe,useId:oe,unstable_isNewReconciler:!1},Rp={readContext:Ee,useCallback:function(t,i){return Ge().memoizedState=[t,i===void 0?null:i],t},useContext:Ee,useEffect:$l,useImperativeHandle:function(t,i,e){return e=e!=null?e.concat([t]):null,Ur(4194308,4,Vd.bind(null,i,t),e)},useLayoutEffect:function(t,i){return Ur(4194308,4,t,i)},useInsertionEffect:function(t,i){return Ur(4,2,t,i)},useMemo:function(t,i){var e=Ge();return i=i===void 0?null:i,t=t(),e.memoizedState=[t,i],t},useReducer:function(t,i,e){var O=Ge();return i=e!==void 0?e(i):i,O.memoizedState=O.baseState=i,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:i},O.queue=t,t=t.dispatch=Np.bind(null,Wt,t),[O.memoizedState,t]},useRef:function(t){var i=Ge();return t={current:t},i.memoizedState=t},useState:_l,useDebugValue:Ha,useDeferredValue:function(t){return Ge().memoizedState=t},useTransition:function(){var t=_l(!1),i=t[0];return t=jp.bind(null,t[1]),Ge().memoizedState=t,[i,t]},useMutableSource:function(){},useSyncExternalStore:function(t,i,e){var O=Wt,m=Ge();if(Ht){if(e===void 0)throw Error(wt(407));e=e()}else{if(e=i(),te===null)throw Error(wt(349));Ri&30||zd(O,i,e)}m.memoizedState=e;var T={value:e,getSnapshot:i};return m.queue=T,$l(Gd.bind(null,O,T,t),[t]),O.flags|=2048,hr(9,Fd.bind(null,O,T,e,i),void 0,null),e},useId:function(){var t=Ge(),i=te.identifierPrefix;if(Ht){var e=Ke,O=qe;e=(O&~(1<<32-Re(O)-1)).toString(32)+e,i=":"+i+"R"+e,e=ar++,0<e&&(i+="H"+e.toString(32)),i+=":"}else e=Dp++,i=":"+i+"r"+e.toString(32)+":";return t.memoizedState=i},unstable_isNewReconciler:!1},Bp={readContext:Ee,useCallback:$d,useContext:Ee,useEffect:Ga,useImperativeHandle:_d,useInsertionEffect:Ud,useLayoutEffect:Yd,useMemo:qd,useReducer:an,useRef:Wd,useState:function(){return an(lr)},useDebugValue:Ha,useDeferredValue:function(t){var i=Le();return Kd(i,Zt.memoizedState,t)},useTransition:function(){var t=an(lr)[0],i=Le().memoizedState;return[t,i]},useMutableSource:Rd,useSyncExternalStore:Bd,useId:Zd,unstable_isNewReconciler:!1},zp={readContext:Ee,useCallback:$d,useContext:Ee,useEffect:Ga,useImperativeHandle:_d,useInsertionEffect:Ud,useLayoutEffect:Yd,useMemo:qd,useReducer:ln,useRef:Wd,useState:function(){return ln(lr)},useDebugValue:Ha,useDeferredValue:function(t){var i=Le();return Zt===null?i.memoizedState=t:Kd(i,Zt.memoizedState,t)},useTransition:function(){var t=ln(lr)[0],i=Le().memoizedState;return[t,i]},useMutableSource:Rd,useSyncExternalStore:Bd,useId:Zd,unstable_isNewReconciler:!1};function us(t,i){try{var e="",O=i;do e+=uu(O),O=O.return;while(O);var m=e}catch(T){m=` Error generating stack: `+T.message+` `+T.stack}return{value:t,source:i,stack:m,digest:null}}function hn(t,i,e){return{value:t,source:null,stack:e??null,digest:i??null}}function Yn(t,i){try{console.error(i.value)}catch(e){setTimeout(function(){throw e})}}var Fp=typeof WeakMap=="function"?WeakMap:Map;function ec(t,i,e){e=Ze(-1,e),e.tag=3,e.payload={element:null};var O=i.value;return e.callback=function(){mo||(mo=!0,ea=O),Yn(t,i)},e}function ic(t,i,e){e=Ze(-1,e),e.tag=3;var O=t.type.getDerivedStateFromError;if(typeof O=="function"){var m=i.value;e.payload=function(){return O(m)},e.callback=function(){Yn(t,i)}}var T=t.stateNode;return T!==null&&typeof T.componentDidCatch=="function"&&(e.callback=function(){Yn(t,i),typeof O!="function"&&(fi===null?fi=new Set([this]):fi.add(this));var G=i.stack;this.componentDidCatch(i.value,{componentStack:G!==null?G:""})}),e}function ql(t,i,e){var O=t.pingCache;if(O===null){O=t.pingCache=new Fp;var m=new Set;O.set(i,m)}else m=O.get(i),m===void 0&&(m=new Set,O.set(i,m));m.has(e)||(m.add(e),t=Jp.bind(null,t,i,e),i.then(t,t))}function Kl(t){do{var i;if((i=t.tag===13)&&(i=t.memoizedState,i=i!==null?i.dehydrated!==null:!0),i)return t;t=t.return}while(t!==null);return null}function Zl(t,i,e,O,m){return t.mode&1?(t.flags|=65536,t.lanes=m,t):(t===i?t.flags|=65536:(t.flags|=128,e.flags|=131072,e.flags&=-52805,e.tag===1&&(e.alternate===null?e.tag=17:(i=Ze(-1,1),i.tag=2,gi(e,i,1))),e.lanes|=1),t)}var Gp=ii.ReactCurrentOwner,ge=!1;function he(t,i,e,O){i.child=t===null?Nd(i,null,e,O):ds(i,t.child,e,O)}function Ql(t,i,e,O,m){e=e.render;var T=i.ref;return rs(i,m),O=za(t,i,e,O,T,m),e=Fa(),t!==null&&!ge?(i.updateQueue=t.updateQueue,i.flags&=-2053,t.lanes&=~m,ei(t,i,m)):(Ht&&e&&Aa(i),i.flags|=1,he(t,i,O,m),i.child)}function Jl(t,i,e,O,m){if(t===null){var T=e.type;return typeof T=="function"&&!qa(T)&&T.defaultProps===void 0&&e.compare===null&&e.defaultProps===void 0?(i.tag=15,i.type=T,sc(t,i,T,O,m)):(t=$r(e.type,null,O,i,i.mode,m),t.ref=i.ref,t.return=i,i.child=t)}if(T=t.child,!(t.lanes&m)){var G=T.memoizedProps;if(e=e.compare,e=e!==null?e:er,e(G,O)&&t.ref===i.ref)return ei(t,i,m)}return i.flags|=1,t=xi(T,O),t.ref=i.ref,t.return=i,i.child=t}function sc(t,i,e,O,m){if(t!==null){var T=t.memoizedProps;if(er(T,O)&&t.ref===i.ref)if(ge=!1,i.pendingProps=O=T,(t.lanes&m)!==0)t.flags&131072&&(ge=!0);else return i.lanes=t.lanes,ei(t,i,m)}return Vn(t,i,e,O,m)}function rc(t,i,e){var O=i.pendingProps,m=O.children,T=t!==null?t.memoizedState:null;if(O.mode==="hidden")if(!(i.mode&1))i.memoizedState={baseLanes:0,cachePool:null,transitions:null},Bt(Ji,ye),ye|=e;else{if(!(e&1073741824))return t=T!==null?T.baseLanes|e:e,i.lanes=i.childLanes=1073741824,i.memoizedState={baseLanes:t,cachePool:null,transitions:null},i.updateQueue=null,Bt(Ji,ye),ye|=t,null;i.memoizedState={baseLanes:0,cachePool:null,transitions:null},O=T!==null?T.baseLanes:e,Bt(Ji,ye),ye|=O}else T!==null?(O=T.baseLanes|e,i.memoizedState=null):O=e,Bt(Ji,ye),ye|=O;return he(t,i,m,e),i.child}function oc(t,i){var e=i.ref;(t===null&&e!==null||t!==null&&t.ref!==e)&&(i.flags|=512,i.flags|=2097152)}function Vn(t,i,e,O,m){var T=me(e)?Ni:le.current;return T=ls(i,T),rs(i,m),e=za(t,i,e,O,T,m),O=Fa(),t!==null&&!ge?(i.updateQueue=t.updateQueue,i.flags&=-2053,t.lanes&=~m,ei(t,i,m)):(Ht&&O&&Aa(i),i.flags|=1,he(t,i,e,m),i.child)}function th(t,i,e,O,m){if(me(e)){var T=!0;oo(i)}else T=!1;if(rs(i,m),i.stateNode===null)Yr(t,i),Dd(i,e,O),Un(i,e,O,m),O=!0;else if(t===null){var G=i.stateNode,$=i.memoizedProps;G.props=$;var q=G.context,Z=e.contextType;typeof Z=="object"&&Z!==null?Z=Ee(Z):(Z=me(e)?Ni:le.current,Z=ls(i,Z));var Q=e.getDerivedStateFromProps,Y=typeof Q=="function"||typeof G.getSnapshotBeforeUpdate=="function";Y||typeof G.UNSAFE_componentWillReceiveProps!="function"&&typeof G.componentWillReceiveProps!="function"||($!==O||q!==Z)&&Yl(i,G,O,Z),oi=!1;var F=i.memoizedState;G.state=F,co(i,O,G,m),q=i.memoizedState,$!==O||F!==q||fe.current||oi?(typeof Q=="function"&&(Wn(i,e,Q,O),q=i.memoizedState),($=oi||Ul(i,e,$,O,F,q,Z))?(Y||typeof G.UNSAFE_componentWillMount!="function"&&typeof G.componentWillMount!="function"||(typeof G.componentWillMount=="function"&&G.componentWillMount(),typeof G.UNSAFE_componentWillMount=="function"&&G.UNSAFE_componentWillMount()),typeof G.componentDidMount=="function"&&(i.flags|=4194308)):(typeof G.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=O,i.memoizedState=q),G.props=O,G.state=q,G.context=Z,O=$):(typeof G.componentDidMount=="function"&&(i.flags|=4194308),O=!1)}else{G=i.stateNode,Ld(t,i),$=i.memoizedProps,Z=i.type===i.elementType?$:je(i.type,$),G.props=Z,Y=i.pendingProps,F=G.context,q=e.contextType,typeof q=="object"&&q!==null?q=Ee(q):(q=me(e)?Ni:le.current,q=ls(i,q));var W=e.getDerivedStateFromProps;(Q=typeof W=="function"||typeof G.getSnapshotBeforeUpdate=="function")||typeof G.UNSAFE_componentWillReceiveProps!="function"&&typeof G.componentWillReceiveProps!="function"||($!==Y||F!==q)&&Yl(i,G,O,q),oi=!1,F=i.memoizedState,G.state=F,co(i,O,G,m);var k=i.memoizedState;$!==Y||F!==k||fe.current||oi?(typeof W=="function"&&(Wn(i,e,W,O),k=i.memoizedState),(Z=oi||Ul(i,e,Z,O,F,k,q)||!1)?(Q||typeof G.UNSAFE_componentWillUpdate!="function"&&typeof G.componentWillUpdate!="function"||(typeof G.componentWillUpdate=="function"&&G.componentWillUpdate(O,k,q),typeof G.UNSAFE_componentWillUpdate=="function"&&G.UNSAFE_componentWillUpdate(O,k,q)),typeof G.componentDidUpdate=="function"&&(i.flags|=4),typeof G.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof G.componentDidUpdate!="function"||$===t.memoizedProps&&F===t.memoizedState||(i.flags|=4),typeof G.getSnapshotBeforeUpdate!="function"||$===t.memoizedProps&&F===t.memoizedState||(i.flags|=1024),i.memoizedProps=O,i.memoizedState=k),G.props=O,G.state=k,G.context=q,O=Z):(typeof G.componentDidUpdate!="function"||$===t.memoizedProps&&F===t.memoizedState||(i.flags|=4),typeof G.getSnapshotBeforeUpdate!="function"||$===t.memoizedProps&&F===t.memoizedState||(i.flags|=1024),O=!1)}return _n(t,i,e,O,T,m)}function _n(t,i,e,O,m,T){oc(t,i);var G=(i.flags&128)!==0;if(!O&&!G)return m&&Fl(i,e,!1),ei(t,i,T);O=i.stateNode,Gp.current=i;var $=G&&typeof e.getDerivedStateFromError!="function"?null:O.render();return i.flags|=1,t!==null&&G?(i.child=ds(i,t.child,null,T),i.child=ds(i,null,$,T)):he(t,i,$,T),i.memoizedState=O.state,m&&Fl(i,e,!0),i.child}function nc(t){var i=t.stateNode;i.pendingContext?zl(t,i.pendingContext,i.pendingContext!==i.context):i.context&&zl(t,i.context,!1),Na(t,i.containerInfo)}function eh(t,i,e,O,m){return hs(),Pa(m),i.flags|=256,he(t,i,e,O),i.child}var $n={dehydrated:null,treeContext:null,retryLane:0};function qn(t){return{baseLanes:t,cachePool:null,transitions:null}}function ac(t,i,e){var O=i.pendingProps,m=Xt.current,T=!1,G=(i.flags&128)!==0,$;if(($=G)||($=t!==null&&t.memoizedState===null?!1:(m&2)!==0),$?(T=!0,i.flags&=-129):(t===null||t.memoizedState!==null)&&(m|=1),Bt(Xt,m&1),t===null)return Hn(i),t=i.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?(i.mode&1?t.data==="$!"?i.lanes=8:i.lanes=1073741824:i.lanes=1,null):(G=O.children,t=O.fallback,T?(O=i.mode,T=i.child,G={mode:"hidden",children:G},!(O&1)&&T!==null?(T.childLanes=0,T.pendingProps=G):T=Do(G,O,0,null),t=ji(t,O,e,null),T.return=i,t.return=i,T.sibling=t,i.child=T,i.child.memoizedState=qn(e),i.memoizedState=$n,t):Xa(i,G));if(m=t.memoizedState,m!==null&&($=m.dehydrated,$!==null))return Hp(t,i,G,O,$,m,e);if(T){T=O.fallback,G=i.mode,m=t.child,$=m.sibling;var q={mode:"hidden",children:O.children};return!(G&1)&&i.child!==m?(O=i.child,O.childLanes=0,O.pendingProps=q,i.deletions=null):(O=xi(m,q),O.subtreeFlags=m.subtreeFlags&14680064),$!==null?T=xi($,T):(T=ji(T,G,e,null),T.flags|=2),T.return=i,O.return=i,O.sibling=T,i.child=O,O=T,T=i.child,G=t.child.memoizedState,G=G===null?qn(e):{baseLanes:G.baseLanes|e,cachePool:null,transitions:G.transitions},T.memoizedState=G,T.childLanes=t.childLanes&~e,i.memoizedState=$n,O}return T=t.child,t=T.sibling,O=xi(T,{mode:"visible",children:O.children}),!(i.mode&1)&&(O.lanes=e),O.return=i,O.sibling=null,t!==null&&(e=i.deletions,e===null?(i.deletions=[t],i.flags|=16):e.push(t)),i.child=O,i.memoizedState=null,O}function Xa(t,i){return i=Do({mode:"visible",children:i},t.mode,0,null),i.return=t,t.child=i}function Or(t,i,e,O){return O!==null&&Pa(O),ds(i,t.child,null,e),t=Xa(i,i.pendingProps.children),t.flags|=2,i.memoizedState=null,t}function Hp(t,i,e,O,m,T,G){if(e)return i.flags&256?(i.flags&=-257,O=hn(Error(wt(422))),Or(t,i,G,O)):i.memoizedState!==null?(i.child=t.child,i.flags|=128,null):(T=O.fallback,m=i.mode,O=Do({mode:"visible",children:O.children},m,0,null),T=ji(T,m,G,null),T.flags|=2,O.return=i,T.return=i,O.sibling=T,i.child=O,i.mode&1&&ds(i,t.child,null,G),i.child.memoizedState=qn(G),i.memoizedState=$n,T);if(!(i.mode&1))return Or(t,i,G,null);if(m.data==="$!"){if(O=m.nextSibling&&m.nextSibling.dataset,O)var $=O.dgst;return O=$,T=Error(wt(419)),O=hn(T,O,void 0),Or(t,i,G,O)}if($=(G&t.childLanes)!==0,ge||$){if(O=te,O!==null){switch(G&-G){case 4:m=2;break;case 16:m=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:m=32;break;case 536870912:m=268435456;break;default:m=0}m=m&(O.suspendedLanes|G)?0:m,m!==0&&m!==T.retryLane&&(T.retryLane=m,ti(t,m),Be(O,t,m,-1))}return $a(),O=hn(Error(wt(421))),Or(t,i,G,O)}return m.data==="$?"?(i.flags|=128,i.child=t.child,i=tg.bind(null,t),m._reactRetry=i,null):(t=T.treeContext,be=pi(m.nextSibling),ve=i,Ht=!0,Ie=null,t!==null&&(we[Me++]=qe,we[Me++]=Ke,we[Me++]=Ii,qe=t.id,Ke=t.overflow,Ii=i),i=Xa(i,O.children),i.flags|=4096,i)}function ih(t,i,e){t.lanes|=i;var O=t.alternate;O!==null&&(O.lanes|=i),Xn(t.return,i,e)}function dn(t,i,e,O,m){var T=t.memoizedState;T===null?t.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:O,tail:e,tailMode:m}:(T.isBackwards=i,T.rendering=null,T.renderingStartTime=0,T.last=O,T.tail=e,T.tailMode=m)}function lc(t,i,e){var O=i.pendingProps,m=O.revealOrder,T=O.tail;if(he(t,i,O.children,e),O=Xt.current,O&2)O=O&1|2,i.flags|=128;else{if(t!==null&&t.flags&128)t:for(t=i.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&ih(t,e,i);else if(t.tag===19)ih(t,e,i);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===i)break t;for(;t.sibling===null;){if(t.return===null||t.return===i)break t;t=t.return}t.sibling.return=t.return,t=t.sibling}O&=1}if(Bt(Xt,O),!(i.mode&1))i.memoizedState=null;else switch(m){case"forwards":for(e=i.child,m=null;e!==null;)t=e.alternate,t!==null&&uo(t)===null&&(m=e),e=e.sibling;e=m,e===null?(m=i.child,i.child=null):(m=e.sibling,e.sibling=null),dn(i,!1,m,e,T);break;case"backwards":for(e=null,m=i.child,i.child=null;m!==null;){if(t=m.alternate,t!==null&&uo(t)===null){i.child=m;break}t=m.sibling,m.sibling=e,e=m,m=t}dn(i,!0,e,null,T);break;case"together":dn(i,!1,null,null,void 0);break;default:i.memoizedState=null}return i.child}function Yr(t,i){!(i.mode&1)&&t!==null&&(t.alternate=null,i.alternate=null,i.flags|=2)}function ei(t,i,e){if(t!==null&&(i.dependencies=t.dependencies),Bi|=i.lanes,!(e&i.childLanes))return null;if(t!==null&&i.child!==t.child)throw Error(wt(153));if(i.child!==null){for(t=i.child,e=xi(t,t.pendingProps),i.child=e,e.return=i;t.sibling!==null;)t=t.sibling,e=e.sibling=xi(t,t.pendingProps),e.return=i;e.sibling=null}return i.child}function Xp(t,i,e){switch(i.tag){case 3:nc(i),hs();break;case 5:Id(i);break;case 1:me(i.type)&&oo(i);break;case 4:Na(i,i.stateNode.containerInfo);break;case 10:var O=i.type._context,m=i.memoizedProps.value;Bt(lo,O._currentValue),O._currentValue=m;break;case 13:if(O=i.memoizedState,O!==null)return O.dehydrated!==null?(Bt(Xt,Xt.current&1),i.flags|=128,null):e&i.child.childLanes?ac(t,i,e):(Bt(Xt,Xt.current&1),t=ei(t,i,e),t!==null?t.sibling:null);Bt(Xt,Xt.current&1);break;case 19:if(O=(e&i.childLanes)!==0,t.flags&128){if(O)return lc(t,i,e);i.flags|=128}if(m=i.memoizedState,m!==null&&(m.rendering=null,m.tail=null,m.lastEffect=null),Bt(Xt,Xt.current),O)break;return null;case 22:case 23:return i.lanes=0,rc(t,i,e)}return ei(t,i,e)}var hc,Kn,dc,cc;hc=function(t,i){for(var e=i.child;e!==null;){if(e.tag===5||e.tag===6)t.appendChild(e.stateNode);else if(e.tag!==4&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===i)break;for(;e.sibling===null;){if(e.return===null||e.return===i)return;e=e.return}e.sibling.return=e.return,e=e.sibling}};Kn=function(){};dc=function(t,i,e,O){var m=t.memoizedProps;if(m!==O){t=i.stateNode,Oi(We.current);var T=null;switch(e){case"input":m=yn(t,m),O=yn(t,O),T=[];break;case"select":m=Ut({},m,{value:void 0}),O=Ut({},O,{value:void 0}),T=[];break;case"textarea":m=Sn(t,m),O=Sn(t,O),T=[];break;default:typeof m.onClick!="function"&&typeof O.onClick=="function"&&(t.onclick=so)}Cn(e,O);var G;e=null;for(Z in m)if(!O.hasOwnProperty(Z)&&m.hasOwnProperty(Z)&&m[Z]!=null)if(Z==="style"){var $=m[Z];for(G in $)$.hasOwnProperty(G)&&(e||(e={}),e[G]="")}else Z!=="dangerouslySetInnerHTML"&&Z!=="children"&&Z!=="suppressContentEditableWarning"&&Z!=="suppressHydrationWarning"&&Z!=="autoFocus"&&($s.hasOwnProperty(Z)?T||(T=[]):(T=T||[]).push(Z,null));for(Z in O){var q=O[Z];if($=m!=null?m[Z]:void 0,O.hasOwnProperty(Z)&&q!==$&&(q!=null||$!=null))if(Z==="style")if($){for(G in $)!$.hasOwnProperty(G)||q&&q.hasOwnProperty(G)||(e||(e={}),e[G]="");for(G in q)q.hasOwnProperty(G)&&$[G]!==q[G]&&(e||(e={}),e[G]=q[G])}else e||(T||(T=[]),T.push(Z,e)),e=q;else Z==="dangerouslySetInnerHTML"?(q=q?q.__html:void 0,$=$?$.__html:void 0,q!=null&&$!==q&&(T=T||[]).push(Z,q)):Z==="children"?typeof q!="string"&&typeof q!="number"||(T=T||[]).push(Z,""+q):Z!=="suppressContentEditableWarning"&&Z!=="suppressHydrationWarning"&&($s.hasOwnProperty(Z)?(q!=null&&Z==="onScroll"&&zt("scroll",t),T||$===q||(T=[])):(T=T||[]).push(Z,q))}e&&(T=T||[]).push("style",e);var Z=T;(i.updateQueue=Z)&&(i.flags|=4)}};cc=function(t,i,e,O){e!==O&&(i.flags|=4)};function js(t,i){if(!Ht)switch(t.tailMode){case"hidden":i=t.tail;for(var e=null;i!==null;)i.alternate!==null&&(e=i),i=i.sibling;e===null?t.tail=null:e.sibling=null;break;case"collapsed":e=t.tail;for(var O=null;e!==null;)e.alternate!==null&&(O=e),e=e.sibling;O===null?i||t.tail===null?t.tail=null:t.tail.sibling=null:O.sibling=null}}function ne(t){var i=t.alternate!==null&&t.alternate.child===t.child,e=0,O=0;if(i)for(var m=t.child;m!==null;)e|=m.lanes|m.childLanes,O|=m.subtreeFlags&14680064,O|=m.flags&14680064,m.return=t,m=m.sibling;else for(m=t.child;m!==null;)e|=m.lanes|m.childLanes,O|=m.subtreeFlags,O|=m.flags,m.return=t,m=m.sibling;return t.subtreeFlags|=O,t.childLanes=e,i}function Wp(t,i,e){var O=i.pendingProps;switch(Ta(i),i.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ne(i),null;case 1:return me(i.type)&&ro(),ne(i),null;case 3:return O=i.stateNode,cs(),Gt(fe),Gt(le),Ra(),O.pendingContext&&(O.context=O.pendingContext,O.pendingContext=null),(t===null||t.child===null)&&(Er(i)?i.flags|=4:t===null||t.memoizedState.isDehydrated&&!(i.flags&256)||(i.flags|=1024,Ie!==null&&(ra(Ie),Ie=null))),Kn(t,i),ne(i),null;case 5:Ia(i);var m=Oi(nr.current);if(e=i.type,t!==null&&i.stateNode!=null)dc(t,i,e,O,m),t.ref!==i.ref&&(i.flags|=512,i.flags|=2097152);else{if(!O){if(i.stateNode===null)throw Error(wt(166));return ne(i),null}if(t=Oi(We.current),Er(i)){O=i.stateNode,e=i.type;var T=i.memoizedProps;switch(O[He]=i,O[rr]=T,t=(i.mode&1)!==0,e){case"dialog":zt("cancel",O),zt("close",O);break;case"iframe":case"object":case"embed":zt("load",O);break;case"video":case"audio":for(m=0;m<zs.length;m++)zt(zs[m],O);break;case"source":zt("error",O);break;case"img":case"image":case"link":zt("error",O),zt("load",O);break;case"details":zt("toggle",O);break;case"input":cl(O,T),zt("invalid",O);break;case"select":O._wrapperState={wasMultiple:!!T.multiple},zt("invalid",O);break;case"textarea":pl(O,T),zt("invalid",O)}Cn(e,T),m=null;for(var G in T)if(T.hasOwnProperty(G)){var $=T[G];G==="children"?typeof $=="string"?O.textContent!==$&&(T.suppressHydrationWarning!==!0&&Pr(O.textContent,$,t),m=["children",$]):typeof $=="number"&&O.textContent!==""+$&&(T.suppressHydrationWarning!==!0&&Pr(O.textContent,$,t),m=["children",""+$]):$s.hasOwnProperty(G)&&$!=null&&G==="onScroll"&&zt("scroll",O)}switch(e){case"input":vr(O),ul(O,T,!0);break;case"textarea":vr(O),gl(O);break;case"select":case"option":break;default:typeof T.onClick=="function"&&(O.onclick=so)}O=m,i.updateQueue=O,O!==null&&(i.flags|=4)}else{G=m.nodeType===9?m:m.ownerDocument,t==="http://www.w3.org/1999/xhtml"&&(t=zh(e)),t==="http://www.w3.org/1999/xhtml"?e==="script"?(t=G.createElement("div"),t.innerHTML="<script><\/script>",t=t.removeChild(t.firstChild)):typeof O.is=="string"?t=G.createElement(e,{is:O.is}):(t=G.createElement(e),e==="select"&&(G=t,O.multiple?G.multiple=!0:O.size&&(G.size=O.size))):t=G.createElementNS(t,e),t[He]=i,t[rr]=O,hc(t,i,!1,!1),i.stateNode=t;t:{switch(G=wn(e,O),e){case"dialog":zt("cancel",t),zt("close",t),m=O;break;case"iframe":case"object":case"embed":zt("load",t),m=O;break;case"video":case"audio":for(m=0;m<zs.length;m++)zt(zs[m],t);m=O;break;case"source":zt("error",t),m=O;break;case"img":case"image":case"link":zt("error",t),zt("load",t),m=O;break;case"details":zt("toggle",t),m=O;break;case"input":cl(t,O),m=yn(t,O),zt("invalid",t);break;case"option":m=O;break;case"select":t._wrapperState={wasMultiple:!!O.multiple},m=Ut({},O,{value:void 0}),zt("invalid",t);break;case"textarea":pl(t,O),m=Sn(t,O),zt("invalid",t);break;default:m=O}Cn(e,m),$=m;for(T in $)if($.hasOwnProperty(T)){var q=$[T];T==="style"?Hh(t,q):T==="dangerouslySetInnerHTML"?(q=q?q.__html:void 0,q!=null&&Fh(t,q)):T==="children"?typeof q=="string"?(e!=="textarea"||q!=="")&&qs(t,q):typeof q=="number"&&qs(t,""+q):T!=="suppressContentEditableWarning"&&T!=="suppressHydrationWarning"&&T!=="autoFocus"&&($s.hasOwnProperty(T)?q!=null&&T==="onScroll"&&zt("scroll",t):q!=null&&ua(t,T,q,G))}switch(e){case"input":vr(t),ul(t,O,!1);break;case"textarea":vr(t),gl(t);break;case"option":O.value!=null&&t.setAttribute("value",""+bi(O.value));break;case"select":t.multiple=!!O.multiple,T=O.value,T!=null?ts(t,!!O.multiple,T,!1):O.defaultValue!=null&&ts(t,!!O.multiple,O.defaultValue,!0);break;default:typeof m.onClick=="function"&&(t.onclick=so)}switch(e){case"button":case"input":case"select":case"textarea":O=!!O.autoFocus;break t;case"img":O=!0;break t;default:O=!1}}O&&(i.flags|=4)}i.ref!==null&&(i.flags|=512,i.flags|=2097152)}return ne(i),null;case 6:if(t&&i.stateNode!=null)cc(t,i,t.memoizedProps,O);else{if(typeof O!="string"&&i.stateNode===null)throw Error(wt(166));if(e=Oi(nr.current),Oi(We.current),Er(i)){if(O=i.stateNode,e=i.memoizedProps,O[He]=i,(T=O.nodeValue!==e)&&(t=ve,t!==null))switch(t.tag){case 3:Pr(O.nodeValue,e,(t.mode&1)!==0);break;case 5:t.memoizedProps.suppressHydrationWarning!==!0&&Pr(O.nodeValue,e,(t.mode&1)!==0)}T&&(i.flags|=4)}else O=(e.nodeType===9?e:e.ownerDocument).createTextNode(O),O[He]=i,i.stateNode=O}return ne(i),null;case 13:if(Gt(Xt),O=i.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(Ht&&be!==null&&i.mode&1&&!(i.flags&128))Pd(),hs(),i.flags|=98560,T=!1;else if(T=Er(i),O!==null&&O.dehydrated!==null){if(t===null){if(!T)throw Error(wt(318));if(T=i.memoizedState,T=T!==null?T.dehydrated:null,!T)throw Error(wt(317));T[He]=i}else hs(),!(i.flags&128)&&(i.memoizedState=null),i.flags|=4;ne(i),T=!1}else Ie!==null&&(ra(Ie),Ie=null),T=!0;if(!T)return i.flags&65536?i:null}return i.flags&128?(i.lanes=e,i):(O=O!==null,O!==(t!==null&&t.memoizedState!==null)&&O&&(i.child.flags|=8192,i.mode&1&&(t===null||Xt.current&1?Qt===0&&(Qt=3):$a())),i.updateQueue!==null&&(i.flags|=4),ne(i),null);case 4:return cs(),Kn(t,i),t===null&&ir(i.stateNode.containerInfo),ne(i),null;case 10:return Oa(i.type._context),ne(i),null;case 17:return me(i.type)&&ro(),ne(i),null;case 19:if(Gt(Xt),T=i.memoizedState,T===null)return ne(i),null;if(O=(i.flags&128)!==0,G=T.rendering,G===null)if(O)js(T,!1);else{if(Qt!==0||t!==null&&t.flags&128)for(t=i.child;t!==null;){if(G=uo(t),G!==null){for(i.flags|=128,js(T,!1),O=G.updateQueue,O!==null&&(i.updateQueue=O,i.flags|=4),i.subtreeFlags=0,O=e,e=i.child;e!==null;)T=e,t=O,T.flags&=14680066,G=T.alternate,G===null?(T.childLanes=0,T.lanes=t,T.child=null,T.subtreeFlags=0,T.memoizedProps=null,T.memoizedState=null,T.updateQueue=null,T.dependencies=null,T.stateNode=null):(T.childLanes=G.childLanes,T.lanes=G.lanes,T.child=G.child,T.subtreeFlags=0,T.deletions=null,T.memoizedProps=G.memoizedProps,T.memoizedState=G.memoizedState,T.updateQueue=G.updateQueue,T.type=G.type,t=G.dependencies,T.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e=e.sibling;return Bt(Xt,Xt.current&1|2),i.child}t=t.sibling}T.tail!==null&&_t()>ps&&(i.flags|=128,O=!0,js(T,!1),i.lanes=4194304)}else{if(!O)if(t=uo(G),t!==null){if(i.flags|=128,O=!0,e=t.updateQueue,e!==null&&(i.updateQueue=e,i.flags|=4),js(T,!0),T.tail===null&&T.tailMode==="hidden"&&!G.alternate&&!Ht)return ne(i),null}else 2*_t()-T.renderingStartTime>ps&&e!==1073741824&&(i.flags|=128,O=!0,js(T,!1),i.lanes=4194304);T.isBackwards?(G.sibling=i.child,i.child=G):(e=T.last,e!==null?e.sibling=G:i.child=G,T.last=G)}return T.tail!==null?(i=T.tail,T.rendering=i,T.tail=i.sibling,T.renderingStartTime=_t(),i.sibling=null,e=Xt.current,Bt(Xt,O?e&1|2:e&1),i):(ne(i),null);case 22:case 23:return _a(),O=i.memoizedState!==null,t!==null&&t.memoizedState!==null!==O&&(i.flags|=8192),O&&i.mode&1?ye&1073741824&&(ne(i),i.subtreeFlags&6&&(i.flags|=8192)):ne(i),null;case 24:return null;case 25:return null}throw Error(wt(156,i.tag))}function Up(t,i){switch(Ta(i),i.tag){case 1:return me(i.type)&&ro(),t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 3:return cs(),Gt(fe),Gt(le),Ra(),t=i.flags,t&65536&&!(t&128)?(i.flags=t&-65537|128,i):null;case 5:return Ia(i),null;case 13:if(Gt(Xt),t=i.memoizedState,t!==null&&t.dehydrated!==null){if(i.alternate===null)throw Error(wt(340));hs()}return t=i.flags,t&65536?(i.flags=t&-65537|128,i):null;case 19:return Gt(Xt),null;case 4:return cs(),null;case 10:return Oa(i.type._context),null;case 22:case 23:return _a(),null;case 24:return null;default:return null}}var Dr=!1,ae=!1,Yp=typeof WeakSet=="function"?WeakSet:Set,At=null;function Qi(t,i){var e=t.ref;if(e!==null)if(typeof e=="function")try{e(null)}catch(O){Yt(t,i,O)}else e.current=null}function Zn(t,i,e){try{e()}catch(O){Yt(t,i,O)}}var sh=!1;function Vp(t,i){if(Nn=to,t=fd(),Ma(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var O=e.getSelection&&e.getSelection();if(O&&O.rangeCount!==0){e=O.anchorNode;var m=O.anchorOffset,T=O.focusNode;O=O.focusOffset;try{e.nodeType,T.nodeType}catch{e=null;break t}var G=0,$=-1,q=-1,Z=0,Q=0,Y=t,F=null;e:for(;;){for(var W;Y!==e||m!==0&&Y.nodeType!==3||($=G+m),Y!==T||O!==0&&Y.nodeType!==3||(q=G+O),Y.nodeType===3&&(G+=Y.nodeValue.length),(W=Y.firstChild)!==null;)F=Y,Y=W;for(;;){if(Y===t)break e;if(F===e&&++Z===m&&($=G),F===T&&++Q===O&&(q=G),(W=Y.nextSibling)!==null)break;Y=F,F=Y.parentNode}Y=W}e=$===-1||q===-1?null:{start:$,end:q}}else e=null}e=e||{start:0,end:0}}else e=null;for(In={focusedElem:t,selectionRange:e},to=!1,At=i;At!==null;)if(i=At,t=i.child,(i.subtreeFlags&1028)!==0&&t!==null)t.return=i,At=t;else for(;At!==null;){i=At;try{var k=i.alternate;if(i.flags&1024)switch(i.tag){case 0:case 11:case 15:break;case 1:if(k!==null){var E=k.memoizedProps,M=k.memoizedState,v=i.stateNode,o=v.getSnapshotBeforeUpdate(i.elementType===i.type?E:je(i.type,E),M);v.__reactInternalSnapshotBeforeUpdate=o}break;case 3:var u=i.stateNode.containerInfo;u.nodeType===1?u.textContent="":u.nodeType===9&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(wt(163))}}catch(x){Yt(i,i.return,x)}if(t=i.sibling,t!==null){t.return=i.return,At=t;break}At=i.return}return k=sh,sh=!1,k}function Ys(t,i,e){var O=i.updateQueue;if(O=O!==null?O.lastEffect:null,O!==null){var m=O=O.next;do{if((m.tag&t)===t){var T=m.destroy;m.destroy=void 0,T!==void 0&&Zn(i,e,T)}m=m.next}while(m!==O)}}function Lo(t,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var e=i=i.next;do{if((e.tag&t)===t){var O=e.create;e.destroy=O()}e=e.next}while(e!==i)}}function Qn(t){var i=t.ref;if(i!==null){var e=t.stateNode;switch(t.tag){case 5:t=e;break;default:t=e}typeof i=="function"?i(t):i.current=t}}function uc(t){var i=t.alternate;i!==null&&(t.alternate=null,uc(i)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(i=t.stateNode,i!==null&&(delete i[He],delete i[rr],delete i[zn],delete i[Pp],delete i[Ep])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function pc(t){return t.tag===5||t.tag===3||t.tag===4}function rh(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||pc(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Jn(t,i,e){var O=t.tag;if(O===5||O===6)t=t.stateNode,i?e.nodeType===8?e.parentNode.insertBefore(t,i):e.insertBefore(t,i):(e.nodeType===8?(i=e.parentNode,i.insertBefore(t,e)):(i=e,i.appendChild(t)),e=e._reactRootContainer,e!=null||i.onclick!==null||(i.onclick=so));else if(O!==4&&(t=t.child,t!==null))for(Jn(t,i,e),t=t.sibling;t!==null;)Jn(t,i,e),t=t.sibling}function ta(t,i,e){var O=t.tag;if(O===5||O===6)t=t.stateNode,i?e.insertBefore(t,i):e.appendChild(t);else if(O!==4&&(t=t.child,t!==null))for(ta(t,i,e),t=t.sibling;t!==null;)ta(t,i,e),t=t.sibling}var ie=null,Ne=!1;function si(t,i,e){for(e=e.child;e!==null;)gc(t,i,e),e=e.sibling}function gc(t,i,e){if(Xe&&typeof Xe.onCommitFiberUnmount=="function")try{Xe.onCommitFiberUnmount(ko,e)}catch{}switch(e.tag){case 5:ae||Qi(e,i);case 6:var O=ie,m=Ne;ie=null,si(t,i,e),ie=O,Ne=m,ie!==null&&(Ne?(t=ie,e=e.stateNode,t.nodeType===8?t.parentNode.removeChild(e):t.removeChild(e)):ie.removeChild(e.stateNode));break;case 18:ie!==null&&(Ne?(t=ie,e=e.stateNode,t.nodeType===8?sn(t.parentNode,e):t.nodeType===1&&sn(t,e),Js(t)):sn(ie,e.stateNode));break;case 4:O=ie,m=Ne,ie=e.stateNode.containerInfo,Ne=!0,si(t,i,e),ie=O,Ne=m;break;case 0:case 11:case 14:case 15:if(!ae&&(O=e.updateQueue,O!==null&&(O=O.lastEffect,O!==null))){m=O=O.next;do{var T=m,G=T.destroy;T=T.tag,G!==void 0&&(T&2||T&4)&&Zn(e,i,G),m=m.next}while(m!==O)}si(t,i,e);break;case 1:if(!ae&&(Qi(e,i),O=e.stateNode,typeof O.componentWillUnmount=="function"))try{O.props=e.memoizedProps,O.state=e.memoizedState,O.componentWillUnmount()}catch($){Yt(e,i,$)}si(t,i,e);break;case 21:si(t,i,e);break;case 22:e.mode&1?(ae=(O=ae)||e.memoizedState!==null,si(t,i,e),ae=O):si(t,i,e);break;default:si(t,i,e)}}function oh(t){var i=t.updateQueue;if(i!==null){t.updateQueue=null;var e=t.stateNode;e===null&&(e=t.stateNode=new Yp),i.forEach(function(O){var m=eg.bind(null,t,O);e.has(O)||(e.add(O),O.then(m,m))})}}function De(t,i){var e=i.deletions;if(e!==null)for(var O=0;O<e.length;O++){var m=e[O];try{var T=t,G=i,$=G;t:for(;$!==null;){switch($.tag){case 5:ie=$.stateNode,Ne=!1;break t;case 3:ie=$.stateNode.containerInfo,Ne=!0;break t;case 4:ie=$.stateNode.containerInfo,Ne=!0;break t}$=$.return}if(ie===null)throw Error(wt(160));gc(T,G,m),ie=null,Ne=!1;var q=m.alternate;q!==null&&(q.return=null),m.return=null}catch(Z){Yt(m,i,Z)}}if(i.subtreeFlags&12854)for(i=i.child;i!==null;)fc(i,t),i=i.sibling}function fc(t,i){var e=t.alternate,O=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:if(De(i,t),Fe(t),O&4){try{Ys(3,t,t.return),Lo(3,t)}catch(E){Yt(t,t.return,E)}try{Ys(5,t,t.return)}catch(E){Yt(t,t.return,E)}}break;case 1:De(i,t),Fe(t),O&512&&e!==null&&Qi(e,e.return);break;case 5:if(De(i,t),Fe(t),O&512&&e!==null&&Qi(e,e.return),t.flags&32){var m=t.stateNode;try{qs(m,"")}catch(E){Yt(t,t.return,E)}}if(O&4&&(m=t.stateNode,m!=null)){var T=t.memoizedProps,G=e!==null?e.memoizedProps:T,$=t.type,q=t.updateQueue;if(t.updateQueue=null,q!==null)try{$==="input"&&T.type==="radio"&&T.name!=null&&Rh(m,T),wn($,G);var Z=wn($,T);for(G=0;G<q.length;G+=2){var Q=q[G],Y=q[G+1];Q==="style"?Hh(m,Y):Q==="dangerouslySetInnerHTML"?Fh(m,Y):Q==="children"?qs(m,Y):ua(m,Q,Y,Z)}switch($){case"input":bn(m,T);break;case"textarea":Bh(m,T);break;case"select":var F=m._wrapperState.wasMultiple;m._wrapperState.wasMultiple=!!T.multiple;var W=T.value;W!=null?ts(m,!!T.multiple,W,!1):F!==!!T.multiple&&(T.defaultValue!=null?ts(m,!!T.multiple,T.defaultValue,!0):ts(m,!!T.multiple,T.multiple?[]:"",!1))}m[rr]=T}catch(E){Yt(t,t.return,E)}}break;case 6:if(De(i,t),Fe(t),O&4){if(t.stateNode===null)throw Error(wt(162));m=t.stateNode,T=t.memoizedProps;try{m.nodeValue=T}catch(E){Yt(t,t.return,E)}}break;case 3:if(De(i,t),Fe(t),O&4&&e!==null&&e.memoizedState.isDehydrated)try{Js(i.containerInfo)}catch(E){Yt(t,t.return,E)}break;case 4:De(i,t),Fe(t);break;case 13:De(i,t),Fe(t),m=t.child,m.flags&8192&&(T=m.memoizedState!==null,m.stateNode.isHidden=T,!T||m.alternate!==null&&m.alternate.memoizedState!==null||(Ya=_t())),O&4&&oh(t);break;case 22:if(Q=e!==null&&e.memoizedState!==null,t.mode&1?(ae=(Z=ae)||Q,De(i,t),ae=Z):De(i,t),Fe(t),O&8192){if(Z=t.memoizedState!==null,(t.stateNode.isHidden=Z)&&!Q&&t.mode&1)for(At=t,Q=t.child;Q!==null;){for(Y=At=Q;At!==null;){switch(F=At,W=F.child,F.tag){case 0:case 11:case 14:case 15:Ys(4,F,F.return);break;case 1:Qi(F,F.return);var k=F.stateNode;if(typeof k.componentWillUnmount=="function"){O=F,e=F.return;try{i=O,k.props=i.memoizedProps,k.state=i.memoizedState,k.componentWillUnmount()}catch(E){Yt(O,e,E)}}break;case 5:Qi(F,F.return);break;case 22:if(F.memoizedState!==null){ah(Y);continue}}W!==null?(W.return=F,At=W):ah(Y)}Q=Q.sibling}t:for(Q=null,Y=t;;){if(Y.tag===5){if(Q===null){Q=Y;try{m=Y.stateNode,Z?(T=m.style,typeof T.setProperty=="function"?T.setProperty("display","none","important"):T.display="none"):($=Y.stateNode,q=Y.memoizedProps.style,G=q!=null&&q.hasOwnProperty("display")?q.display:null,$.style.display=Gh("display",G))}catch(E){Yt(t,t.return,E)}}}else if(Y.tag===6){if(Q===null)try{Y.stateNode.nodeValue=Z?"":Y.memoizedProps}catch(E){Yt(t,t.return,E)}}else if((Y.tag!==22&&Y.tag!==23||Y.memoizedState===null||Y===t)&&Y.child!==null){Y.child.return=Y,Y=Y.child;continue}if(Y===t)break t;for(;Y.sibling===null;){if(Y.return===null||Y.return===t)break t;Q===Y&&(Q=null),Y=Y.return}Q===Y&&(Q=null),Y.sibling.return=Y.return,Y=Y.sibling}}break;case 19:De(i,t),Fe(t),O&4&&oh(t);break;case 21:break;default:De(i,t),Fe(t)}}function Fe(t){var i=t.flags;if(i&2){try{t:{for(var e=t.return;e!==null;){if(pc(e)){var O=e;break t}e=e.return}throw Error(wt(160))}switch(O.tag){case 5:var m=O.stateNode;O.flags&32&&(qs(m,""),O.flags&=-33);var T=rh(t);ta(t,T,m);break;case 3:case 4:var G=O.stateNode.containerInfo,$=rh(t);Jn(t,$,G);break;default:throw Error(wt(161))}}catch(q){Yt(t,t.return,q)}t.flags&=-3}i&4096&&(t.flags&=-4097)}function _p(t,i,e){At=t,mc(t)}function mc(t,i,e){for(var O=(t.mode&1)!==0;At!==null;){var m=At,T=m.child;if(m.tag===22&&O){var G=m.memoizedState!==null||Dr;if(!G){var $=m.alternate,q=$!==null&&$.memoizedState!==null||ae;$=Dr;var Z=ae;if(Dr=G,(ae=q)&&!Z)for(At=m;At!==null;)G=At,q=G.child,G.tag===22&&G.memoizedState!==null?lh(m):q!==null?(q.return=G,At=q):lh(m);for(;T!==null;)At=T,mc(T),T=T.sibling;At=m,Dr=$,ae=Z}nh(t)}else m.subtreeFlags&8772&&T!==null?(T.return=m,At=T):nh(t)}}function nh(t){for(;At!==null;){var i=At;if(i.flags&8772){var e=i.alternate;try{if(i.flags&8772)switch(i.tag){case 0:case 11:case 15:ae||Lo(5,i);break;case 1:var O=i.stateNode;if(i.flags&4&&!ae)if(e===null)O.componentDidMount();else{var m=i.elementType===i.type?e.memoizedProps:je(i.type,e.memoizedProps);O.componentDidUpdate(m,e.memoizedState,O.__reactInternalSnapshotBeforeUpdate)}var T=i.updateQueue;T!==null&&Wl(i,T,O);break;case 3:var G=i.updateQueue;if(G!==null){if(e=null,i.child!==null)switch(i.child.tag){case 5:e=i.child.stateNode;break;case 1:e=i.child.stateNode}Wl(i,G,e)}break;case 5:var $=i.stateNode;if(e===null&&i.flags&4){e=$;var q=i.memoizedProps;switch(i.type){case"button":case"input":case"select":case"textarea":q.autoFocus&&e.focus();break;case"img":q.src&&(e.src=q.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(i.memoizedState===null){var Z=i.alternate;if(Z!==null){var Q=Z.memoizedState;if(Q!==null){var Y=Q.dehydrated;Y!==null&&Js(Y)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(wt(163))}ae||i.flags&512&&Qn(i)}catch(F){Yt(i,i.return,F)}}if(i===t){At=null;break}if(e=i.sibling,e!==null){e.return=i.return,At=e;break}At=i.return}}function ah(t){for(;At!==null;){var i=At;if(i===t){At=null;break}var e=i.sibling;if(e!==null){e.return=i.return,At=e;break}At=i.return}}function lh(t){for(;At!==null;){var i=At;try{switch(i.tag){case 0:case 11:case 15:var e=i.return;try{Lo(4,i)}catch(q){Yt(i,e,q)}break;case 1:var O=i.stateNode;if(typeof O.componentDidMount=="function"){var m=i.return;try{O.componentDidMount()}catch(q){Yt(i,m,q)}}var T=i.return;try{Qn(i)}catch(q){Yt(i,T,q)}break;case 5:var G=i.return;try{Qn(i)}catch(q){Yt(i,G,q)}}}catch(q){Yt(i,i.return,q)}if(i===t){At=null;break}var $=i.sibling;if($!==null){$.return=i.return,At=$;break}At=i.return}}var $p=Math.ceil,fo=ii.ReactCurrentDispatcher,Wa=ii.ReactCurrentOwner,Pe=ii.ReactCurrentBatchConfig,jt=0,te=null,qt=null,se=0,ye=0,Ji=ki(0),Qt=0,dr=null,Bi=0,Oo=0,Ua=0,Vs=null,pe=null,Ya=0,ps=1/0,_e=null,mo=!1,ea=null,fi=null,jr=!1,hi=null,xo=0,_s=0,ia=null,Vr=-1,_r=0;function de(){return jt&6?_t():Vr!==-1?Vr:Vr=_t()}function mi(t){return t.mode&1?jt&2&&se!==0?se&-se:Op.transition!==null?(_r===0&&(_r=Jh()),_r):(t=It,t!==0||(t=window.event,t=t===void 0?16:nd(t.type)),t):1}function Be(t,i,e,O){if(50<_s)throw _s=0,ia=null,Error(wt(185));ur(t,e,O),(!(jt&2)||t!==te)&&(t===te&&(!(jt&2)&&(Oo|=e),Qt===4&&ai(t,se)),xe(t,O),e===1&&jt===0&&!(i.mode&1)&&(ps=_t()+500,To&&Ci()))}function xe(t,i){var e=t.callbackNode;Ou(t,i);var O=Jr(t,t===te?se:0);if(O===0)e!==null&&xl(e),t.callbackNode=null,t.callbackPriority=0;else if(i=O&-O,t.callbackPriority!==i){if(e!=null&&xl(e),i===1)t.tag===0?Lp(hh.bind(null,t)):Md(hh.bind(null,t)),Ap(function(){!(jt&6)&&Ci()}),e=null;else{switch(td(O)){case 1:e=xa;break;case 4:e=Zh;break;case 16:e=Qr;break;case 536870912:e=Qh;break;default:e=Qr}e=wc(e,xc.bind(null,t))}t.callbackPriority=i,t.callbackNode=e}}function xc(t,i){if(Vr=-1,_r=0,jt&6)throw Error(wt(327));var e=t.callbackNode;if(os()&&t.callbackNode!==e)return null;var O=Jr(t,t===te?se:0);if(O===0)return null;if(O&30||O&t.expiredLanes||i)i=yo(t,O);else{i=O;var m=jt;jt|=2;var T=bc();(te!==t||se!==i)&&(_e=null,ps=_t()+500,Di(t,i));do try{Zp();break}catch($){yc(t,$)}while(!0);La(),fo.current=T,jt=m,qt!==null?i=0:(te=null,se=0,i=Qt)}if(i!==0){if(i===2&&(m=En(t),m!==0&&(O=m,i=sa(t,m))),i===1)throw e=dr,Di(t,0),ai(t,O),xe(t,_t()),e;if(i===6)ai(t,O);else{if(m=t.current.alternate,!(O&30)&&!qp(m)&&(i=yo(t,O),i===2&&(T=En(t),T!==0&&(O=T,i=sa(t,T))),i===1))throw e=dr,Di(t,0),ai(t,O),xe(t,_t()),e;switch(t.finishedWork=m,t.finishedLanes=O,i){case 0:case 1:throw Error(wt(345));case 2:Pi(t,pe,_e);break;case 3:if(ai(t,O),(O&130023424)===O&&(i=Ya+500-_t(),10<i)){if(Jr(t,0)!==0)break;if(m=t.suspendedLanes,(m&O)!==O){de(),t.pingedLanes|=t.suspendedLanes&m;break}t.timeoutHandle=Bn(Pi.bind(null,t,pe,_e),i);break}Pi(t,pe,_e);break;case 4:if(ai(t,O),(O&4194240)===O)break;for(i=t.eventTimes,m=-1;0<O;){var G=31-Re(O);T=1<<G,G=i[G],G>m&&(m=G),O&=~T}if(O=m,O=_t()-O,O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*$p(O/1960))-O,10<O){t.timeoutHandle=Bn(Pi.bind(null,t,pe,_e),O);break}Pi(t,pe,_e);break;case 5:Pi(t,pe,_e);break;default:throw Error(wt(329))}}}return xe(t,_t()),t.callbackNode===e?xc.bind(null,t):null}function sa(t,i){var e=Vs;return t.current.memoizedState.isDehydrated&&(Di(t,i).flags|=256),t=yo(t,i),t!==2&&(i=pe,pe=e,i!==null&&ra(i)),t}function ra(t){pe===null?pe=t:pe.push.apply(pe,t)}function qp(t){for(var i=t;;){if(i.flags&16384){var e=i.updateQueue;if(e!==null&&(e=e.stores,e!==null))for(var O=0;O<e.length;O++){var m=e[O],T=m.getSnapshot;m=m.value;try{if(!ze(T(),m))return!1}catch{return!1}}}if(e=i.child,i.subtreeFlags&16384&&e!==null)e.return=i,i=e;else{if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function ai(t,i){for(i&=~Ua,i&=~Oo,t.suspendedLanes|=i,t.pingedLanes&=~i,t=t.expirationTimes;0<i;){var e=31-Re(i),O=1<<e;t[e]=-1,i&=~O}}function hh(t){if(jt&6)throw Error(wt(327));os();var i=Jr(t,0);if(!(i&1))return xe(t,_t()),null;var e=yo(t,i);if(t.tag!==0&&e===2){var O=En(t);O!==0&&(i=O,e=sa(t,O))}if(e===1)throw e=dr,Di(t,0),ai(t,i),xe(t,_t()),e;if(e===6)throw Error(wt(345));return t.finishedWork=t.current.alternate,t.finishedLanes=i,Pi(t,pe,_e),xe(t,_t()),null}function Va(t,i){var e=jt;jt|=1;try{return t(i)}finally{jt=e,jt===0&&(ps=_t()+500,To&&Ci())}}function zi(t){hi!==null&&hi.tag===0&&!(jt&6)&&os();var i=jt;jt|=1;var e=Pe.transition,O=It;try{if(Pe.transition=null,It=1,t)return t()}finally{It=O,Pe.transition=e,jt=i,!(jt&6)&&Ci()}}function _a(){ye=Ji.current,Gt(Ji)}function Di(t,i){t.finishedWork=null,t.finishedLanes=0;var e=t.timeoutHandle;if(e!==-1&&(t.timeoutHandle=-1,Mp(e)),qt!==null)for(e=qt.return;e!==null;){var O=e;switch(Ta(O),O.tag){case 1:O=O.type.childContextTypes,O!=null&&ro();break;case 3:cs(),Gt(fe),Gt(le),Ra();break;case 5:Ia(O);break;case 4:cs();break;case 13:Gt(Xt);break;case 19:Gt(Xt);break;case 10:Oa(O.type._context);break;case 22:case 23:_a()}e=e.return}if(te=t,qt=t=xi(t.current,null),se=ye=i,Qt=0,dr=null,Ua=Oo=Bi=0,pe=Vs=null,Li!==null){for(i=0;i<Li.length;i++)if(e=Li[i],O=e.interleaved,O!==null){e.interleaved=null;var m=O.next,T=e.pending;if(T!==null){var G=T.next;T.next=m,O.next=G}e.pending=O}Li=null}return t}function yc(t,i){do{var e=qt;try{if(La(),Wr.current=go,po){for(var O=Wt.memoizedState;O!==null;){var m=O.queue;m!==null&&(m.pending=null),O=O.next}po=!1}if(Ri=0,Jt=Zt=Wt=null,Us=!1,ar=0,Wa.current=null,e===null||e.return===null){Qt=1,dr=i,qt=null;break}t:{var T=t,G=e.return,$=e,q=i;if(i=se,$.flags|=32768,q!==null&&typeof q=="object"&&typeof q.then=="function"){var Z=q,Q=$,Y=Q.tag;if(!(Q.mode&1)&&(Y===0||Y===11||Y===15)){var F=Q.alternate;F?(Q.updateQueue=F.updateQueue,Q.memoizedState=F.memoizedState,Q.lanes=F.lanes):(Q.updateQueue=null,Q.memoizedState=null)}var W=Kl(G);if(W!==null){W.flags&=-257,Zl(W,G,$,T,i),W.mode&1&&ql(T,Z,i),i=W,q=Z;var k=i.updateQueue;if(k===null){var E=new Set;E.add(q),i.updateQueue=E}else k.add(q);break t}else{if(!(i&1)){ql(T,Z,i),$a();break t}q=Error(wt(426))}}else if(Ht&&$.mode&1){var M=Kl(G);if(M!==null){!(M.flags&65536)&&(M.flags|=256),Zl(M,G,$,T,i),Pa(us(q,$));break t}}T=q=us(q,$),Qt!==4&&(Qt=2),Vs===null?Vs=[T]:Vs.push(T),T=G;do{switch(T.tag){case 3:T.flags|=65536,i&=-i,T.lanes|=i;var v=ec(T,q,i);Xl(T,v);break t;case 1:$=q;var o=T.type,u=T.stateNode;if(!(T.flags&128)&&(typeof o.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(fi===null||!fi.has(u)))){T.flags|=65536,i&=-i,T.lanes|=i;var x=ic(T,$,i);Xl(T,x);break t}}T=T.return}while(T!==null)}Sc(e)}catch(f){i=f,qt===e&&e!==null&&(qt=e=e.return);continue}break}while(!0)}function bc(){var t=fo.current;return fo.current=go,t===null?go:t}function $a(){(Qt===0||Qt===3||Qt===2)&&(Qt=4),te===null||!(Bi&268435455)&&!(Oo&268435455)||ai(te,se)}function yo(t,i){var e=jt;jt|=2;var O=bc();(te!==t||se!==i)&&(_e=null,Di(t,i));do try{Kp();break}catch(m){yc(t,m)}while(!0);if(La(),jt=e,fo.current=O,qt!==null)throw Error(wt(261));return te=null,se=0,Qt}function Kp(){for(;qt!==null;)vc(qt)}function Zp(){for(;qt!==null&&!ku();)vc(qt)}function vc(t){var i=Cc(t.alternate,t,ye);t.memoizedProps=t.pendingProps,i===null?Sc(t):qt=i,Wa.current=null}function Sc(t){var i=t;do{var e=i.alternate;if(t=i.return,i.flags&32768){if(e=Up(e,i),e!==null){e.flags&=32767,qt=e;return}if(t!==null)t.flags|=32768,t.subtreeFlags=0,t.deletions=null;else{Qt=6,qt=null;return}}else if(e=Wp(e,i,ye),e!==null){qt=e;return}if(i=i.sibling,i!==null){qt=i;return}qt=i=t}while(i!==null);Qt===0&&(Qt=5)}function Pi(t,i,e){var O=It,m=Pe.transition;try{Pe.transition=null,It=1,Qp(t,i,e,O)}finally{Pe.transition=m,It=O}return null}function Qp(t,i,e,O){do os();while(hi!==null);if(jt&6)throw Error(wt(327));e=t.finishedWork;var m=t.finishedLanes;if(e===null)return null;if(t.finishedWork=null,t.finishedLanes=0,e===t.current)throw Error(wt(177));t.callbackNode=null,t.callbackPriority=0;var T=e.lanes|e.childLanes;if(Du(t,T),t===te&&(qt=te=null,se=0),!(e.subtreeFlags&2064)&&!(e.flags&2064)||jr||(jr=!0,wc(Qr,function(){return os(),null})),T=(e.flags&15990)!==0,e.subtreeFlags&15990||T){T=Pe.transition,Pe.transition=null;var G=It;It=1;var $=jt;jt|=4,Wa.current=null,Vp(t,e),fc(e,t),yp(In),to=!!Nn,In=Nn=null,t.current=e,_p(e),Cu(),jt=$,It=G,Pe.transition=T}else t.current=e;if(jr&&(jr=!1,hi=t,xo=m),T=t.pendingLanes,T===0&&(fi=null),Au(e.stateNode),xe(t,_t()),i!==null)for(O=t.onRecoverableError,e=0;e<i.length;e++)m=i[e],O(m.value,{componentStack:m.stack,digest:m.digest});if(mo)throw mo=!1,t=ea,ea=null,t;return xo&1&&t.tag!==0&&os(),T=t.pendingLanes,T&1?t===ia?_s++:(_s=0,ia=t):_s=0,Ci(),null}function os(){if(hi!==null){var t=td(xo),i=Pe.transition,e=It;try{if(Pe.transition=null,It=16>t?16:t,hi===null)var O=!1;else{if(t=hi,hi=null,xo=0,jt&6)throw Error(wt(331));var m=jt;for(jt|=4,At=t.current;At!==null;){var T=At,G=T.child;if(At.flags&16){var $=T.deletions;if($!==null){for(var q=0;q<$.length;q++){var Z=$[q];for(At=Z;At!==null;){var Q=At;switch(Q.tag){case 0:case 11:case 15:Ys(8,Q,T)}var Y=Q.child;if(Y!==null)Y.return=Q,At=Y;else for(;At!==null;){Q=At;var F=Q.sibling,W=Q.return;if(uc(Q),Q===Z){At=null;break}if(F!==null){F.return=W,At=F;break}At=W}}}var k=T.alternate;if(k!==null){var E=k.child;if(E!==null){k.child=null;do{var M=E.sibling;E.sibling=null,E=M}while(E!==null)}}At=T}}if(T.subtreeFlags&2064&&G!==null)G.return=T,At=G;else t:for(;At!==null;){if(T=At,T.flags&2048)switch(T.tag){case 0:case 11:case 15:Ys(9,T,T.return)}var v=T.sibling;if(v!==null){v.return=T.return,At=v;break t}At=T.return}}var o=t.current;for(At=o;At!==null;){G=At;var u=G.child;if(G.subtreeFlags&2064&&u!==null)u.return=G,At=u;else t:for(G=o;At!==null;){if($=At,$.flags&2048)try{switch($.tag){case 0:case 11:case 15:Lo(9,$)}}catch(f){Yt($,$.return,f)}if($===G){At=null;break t}var x=$.sibling;if(x!==null){x.return=$.return,At=x;break t}At=$.return}}if(jt=m,Ci(),Xe&&typeof Xe.onPostCommitFiberRoot=="function")try{Xe.onPostCommitFiberRoot(ko,t)}catch{}O=!0}return O}finally{It=e,Pe.transition=i}}return!1}function dh(t,i,e){i=us(e,i),i=ec(t,i,1),t=gi(t,i,1),i=de(),t!==null&&(ur(t,1,i),xe(t,i))}function Yt(t,i,e){if(t.tag===3)dh(t,t,e);else for(;i!==null;){if(i.tag===3){dh(i,t,e);break}else if(i.tag===1){var O=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof O.componentDidCatch=="function"&&(fi===null||!fi.has(O))){t=us(e,t),t=ic(i,t,1),i=gi(i,t,1),t=de(),i!==null&&(ur(i,1,t),xe(i,t));break}}i=i.return}}function Jp(t,i,e){var O=t.pingCache;O!==null&&O.delete(i),i=de(),t.pingedLanes|=t.suspendedLanes&e,te===t&&(se&e)===e&&(Qt===4||Qt===3&&(se&130023424)===se&&500>_t()-Ya?Di(t,0):Ua|=e),xe(t,i)}function kc(t,i){i===0&&(t.mode&1?(i=Cr,Cr<<=1,!(Cr&130023424)&&(Cr=4194304)):i=1);var e=de();t=ti(t,i),t!==null&&(ur(t,i,e),xe(t,e))}function tg(t){var i=t.memoizedState,e=0;i!==null&&(e=i.retryLane),kc(t,e)}function eg(t,i){var e=0;switch(t.tag){case 13:var O=t.stateNode,m=t.memoizedState;m!==null&&(e=m.retryLane);break;case 19:O=t.stateNode;break;default:throw Error(wt(314))}O!==null&&O.delete(i),kc(t,e)}var Cc;Cc=function(t,i,e){if(t!==null)if(t.memoizedProps!==i.pendingProps||fe.current)ge=!0;else{if(!(t.lanes&e)&&!(i.flags&128))return ge=!1,Xp(t,i,e);ge=!!(t.flags&131072)}else ge=!1,Ht&&i.flags&1048576&&Ad(i,ao,i.index);switch(i.lanes=0,i.tag){case 2:var O=i.type;Yr(t,i),t=i.pendingProps;var m=ls(i,le.current);rs(i,e),m=za(null,i,O,t,m,e);var T=Fa();return i.flags|=1,typeof m=="object"&&m!==null&&typeof m.render=="function"&&m.$$typeof===void 0?(i.tag=1,i.memoizedState=null,i.updateQueue=null,me(O)?(T=!0,oo(i)):T=!1,i.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,ja(i),m.updater=Po,i.stateNode=m,m._reactInternals=i,Un(i,O,t,e),i=_n(null,i,O,!0,T,e)):(i.tag=0,Ht&&T&&Aa(i),he(null,i,m,e),i=i.child),i;case 16:O=i.elementType;t:{switch(Yr(t,i),t=i.pendingProps,m=O._init,O=m(O._payload),i.type=O,m=i.tag=sg(O),t=je(O,t),m){case 0:i=Vn(null,i,O,t,e);break t;case 1:i=th(null,i,O,t,e);break t;case 11:i=Ql(null,i,O,t,e);break t;case 14:i=Jl(null,i,O,je(O.type,t),e);break t}throw Error(wt(306,O,""))}return i;case 0:return O=i.type,m=i.pendingProps,m=i.elementType===O?m:je(O,m),Vn(t,i,O,m,e);case 1:return O=i.type,m=i.pendingProps,m=i.elementType===O?m:je(O,m),th(t,i,O,m,e);case 3:t:{if(nc(i),t===null)throw Error(wt(387));O=i.pendingProps,T=i.memoizedState,m=T.element,Ld(t,i),co(i,O,null,e);var G=i.memoizedState;if(O=G.element,T.isDehydrated)if(T={element:O,isDehydrated:!1,cache:G.cache,pendingSuspenseBoundaries:G.pendingSuspenseBoundaries,transitions:G.transitions},i.updateQueue.baseState=T,i.memoizedState=T,i.flags&256){m=us(Error(wt(423)),i),i=eh(t,i,O,e,m);break t}else if(O!==m){m=us(Error(wt(424)),i),i=eh(t,i,O,e,m);break t}else for(be=pi(i.stateNode.containerInfo.firstChild),ve=i,Ht=!0,Ie=null,e=Nd(i,null,O,e),i.child=e;e;)e.flags=e.flags&-3|4096,e=e.sibling;else{if(hs(),O===m){i=ei(t,i,e);break t}he(t,i,O,e)}i=i.child}return i;case 5:return Id(i),t===null&&Hn(i),O=i.type,m=i.pendingProps,T=t!==null?t.memoizedProps:null,G=m.children,Rn(O,m)?G=null:T!==null&&Rn(O,T)&&(i.flags|=32),oc(t,i),he(t,i,G,e),i.child;case 6:return t===null&&Hn(i),null;case 13:return ac(t,i,e);case 4:return Na(i,i.stateNode.containerInfo),O=i.pendingProps,t===null?i.child=ds(i,null,O,e):he(t,i,O,e),i.child;case 11:return O=i.type,m=i.pendingProps,m=i.elementType===O?m:je(O,m),Ql(t,i,O,m,e);case 7:return he(t,i,i.pendingProps,e),i.child;case 8:return he(t,i,i.pendingProps.children,e),i.child;case 12:return he(t,i,i.pendingProps.children,e),i.child;case 10:t:{if(O=i.type._context,m=i.pendingProps,T=i.memoizedProps,G=m.value,Bt(lo,O._currentValue),O._currentValue=G,T!==null)if(ze(T.value,G)){if(T.children===m.children&&!fe.current){i=ei(t,i,e);break t}}else for(T=i.child,T!==null&&(T.return=i);T!==null;){var $=T.dependencies;if($!==null){G=T.child;for(var q=$.firstContext;q!==null;){if(q.context===O){if(T.tag===1){q=Ze(-1,e&-e),q.tag=2;var Z=T.updateQueue;if(Z!==null){Z=Z.shared;var Q=Z.pending;Q===null?q.next=q:(q.next=Q.next,Q.next=q),Z.pending=q}}T.lanes|=e,q=T.alternate,q!==null&&(q.lanes|=e),Xn(T.return,e,i),$.lanes|=e;break}q=q.next}}else if(T.tag===10)G=T.type===i.type?null:T.child;else if(T.tag===18){if(G=T.return,G===null)throw Error(wt(341));G.lanes|=e,$=G.alternate,$!==null&&($.lanes|=e),Xn(G,e,i),G=T.sibling}else G=T.child;if(G!==null)G.return=T;else for(G=T;G!==null;){if(G===i){G=null;break}if(T=G.sibling,T!==null){T.return=G.return,G=T;break}G=G.return}T=G}he(t,i,m.children,e),i=i.child}return i;case 9:return m=i.type,O=i.pendingProps.children,rs(i,e),m=Ee(m),O=O(m),i.flags|=1,he(t,i,O,e),i.child;case 14:return O=i.type,m=je(O,i.pendingProps),m=je(O.type,m),Jl(t,i,O,m,e);case 15:return sc(t,i,i.type,i.pendingProps,e);case 17:return O=i.type,m=i.pendingProps,m=i.elementType===O?m:je(O,m),Yr(t,i),i.tag=1,me(O)?(t=!0,oo(i)):t=!1,rs(i,e),Dd(i,O,m),Un(i,O,m,e),_n(null,i,O,!0,t,e);case 19:return lc(t,i,e);case 22:return rc(t,i,e)}throw Error(wt(156,i.tag))};function wc(t,i){return Kh(t,i)}function ig(t,i,e,O){this.tag=t,this.key=e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=O,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ae(t,i,e,O){return new ig(t,i,e,O)}function qa(t){return t=t.prototype,!(!t||!t.isReactComponent)}function sg(t){if(typeof t=="function")return qa(t)?1:0;if(t!=null){if(t=t.$$typeof,t===ga)return 11;if(t===fa)return 14}return 2}function xi(t,i){var e=t.alternate;return e===null?(e=Ae(t.tag,i,t.key,t.mode),e.elementType=t.elementType,e.type=t.type,e.stateNode=t.stateNode,e.alternate=t,t.alternate=e):(e.pendingProps=i,e.type=t.type,e.flags=0,e.subtreeFlags=0,e.deletions=null),e.flags=t.flags&14680064,e.childLanes=t.childLanes,e.lanes=t.lanes,e.child=t.child,e.memoizedProps=t.memoizedProps,e.memoizedState=t.memoizedState,e.updateQueue=t.updateQueue,i=t.dependencies,e.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},e.sibling=t.sibling,e.index=t.index,e.ref=t.ref,e}function $r(t,i,e,O,m,T){var G=2;if(O=t,typeof t=="function")qa(t)&&(G=1);else if(typeof t=="string")G=5;else t:switch(t){case Wi:return ji(e.children,m,T,i);case pa:G=8,m|=8;break;case gn:return t=Ae(12,e,i,m|2),t.elementType=gn,t.lanes=T,t;case fn:return t=Ae(13,e,i,m),t.elementType=fn,t.lanes=T,t;case mn:return t=Ae(19,e,i,m),t.elementType=mn,t.lanes=T,t;case jh:return Do(e,m,T,i);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Oh:G=10;break t;case Dh:G=9;break t;case ga:G=11;break t;case fa:G=14;break t;case ri:G=16,O=null;break t}throw Error(wt(130,t==null?t:typeof t,""))}return i=Ae(G,e,i,m),i.elementType=t,i.type=O,i.lanes=T,i}function ji(t,i,e,O){return t=Ae(7,t,O,i),t.lanes=e,t}function Do(t,i,e,O){return t=Ae(22,t,O,i),t.elementType=jh,t.lanes=e,t.stateNode={isHidden:!1},t}function cn(t,i,e){return t=Ae(6,t,null,i),t.lanes=e,t}function un(t,i,e){return i=Ae(4,t.children!==null?t.children:[],t.key,i),i.lanes=e,i.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},i}function rg(t,i,e,O,m){this.tag=i,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Yo(0),this.expirationTimes=Yo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Yo(0),this.identifierPrefix=O,this.onRecoverableError=m,this.mutableSourceEagerHydrationData=null}function Ka(t,i,e,O,m,T,G,$,q){return t=new rg(t,i,e,$,q),i===1?(i=1,T===!0&&(i|=8)):i=0,T=Ae(3,null,null,i),t.current=T,T.stateNode=t,T.memoizedState={element:O,isDehydrated:e,cache:null,transitions:null,pendingSuspenseBoundaries:null},ja(T),t}function og(t,i,e){var O=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Xi,key:O==null?null:""+O,children:t,containerInfo:i,implementation:e}}function Mc(t){if(!t)return vi;t=t._reactInternals;t:{if(Gi(t)!==t||t.tag!==1)throw Error(wt(170));var i=t;do{switch(i.tag){case 3:i=i.stateNode.context;break t;case 1:if(me(i.type)){i=i.stateNode.__reactInternalMemoizedMergedChildContext;break t}}i=i.return}while(i!==null);throw Error(wt(171))}if(t.tag===1){var e=t.type;if(me(e))return wd(t,e,i)}return i}function Ac(t,i,e,O,m,T,G,$,q){return t=Ka(e,O,!0,t,m,T,G,$,q),t.context=Mc(null),e=t.current,O=de(),m=mi(e),T=Ze(O,m),T.callback=i??null,gi(e,T,m),t.current.lanes=m,ur(t,m,O),xe(t,O),t}function jo(t,i,e,O){var m=i.current,T=de(),G=mi(m);return e=Mc(e),i.context===null?i.context=e:i.pendingContext=e,i=Ze(T,G),i.payload={element:t},O=O===void 0?null:O,O!==null&&(i.callback=O),t=gi(m,i,G),t!==null&&(Be(t,m,G,T),Xr(t,m,G)),G}function bo(t){if(t=t.current,!t.child)return null;switch(t.child.tag){case 5:return t.child.stateNode;default:return t.child.stateNode}}function ch(t,i){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var e=t.retryLane;t.retryLane=e!==0&&e<i?e:i}}function Za(t,i){ch(t,i),(t=t.alternate)&&ch(t,i)}function ng(){return null}var Tc=typeof reportError=="function"?reportError:function(t){console.error(t)};function Qa(t){this._internalRoot=t}No.prototype.render=Qa.prototype.render=function(t){var i=this._internalRoot;if(i===null)throw Error(wt(409));jo(t,i,null,null)};No.prototype.unmount=Qa.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var i=t.containerInfo;zi(function(){jo(null,t,null,null)}),i[Je]=null}};function No(t){this._internalRoot=t}No.prototype.unstable_scheduleHydration=function(t){if(t){var i=sd();t={blockedOn:null,target:t,priority:i};for(var e=0;e<ni.length&&i!==0&&i<ni[e].priority;e++);ni.splice(e,0,t),e===0&&od(t)}};function Ja(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function Io(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11&&(t.nodeType!==8||t.nodeValue!==" react-mount-point-unstable "))}function uh(){}function ag(t,i,e,O,m){if(m){if(typeof O=="function"){var T=O;O=function(){var Z=bo(G);T.call(Z)}}var G=Ac(i,O,t,0,null,!1,!1,"",uh);return t._reactRootContainer=G,t[Je]=G.current,ir(t.nodeType===8?t.parentNode:t),zi(),G}for(;m=t.lastChild;)t.removeChild(m);if(typeof O=="function"){var $=O;O=function(){var Z=bo(q);$.call(Z)}}var q=Ka(t,0,!1,null,null,!1,!1,"",uh);return t._reactRootContainer=q,t[Je]=q.current,ir(t.nodeType===8?t.parentNode:t),zi(function(){jo(i,q,e,O)}),q}function Ro(t,i,e,O,m){var T=e._reactRootContainer;if(T){var G=T;if(typeof m=="function"){var $=m;m=function(){var q=bo(G);$.call(q)}}jo(i,G,t,m)}else G=ag(e,i,t,m,O);return bo(G)}ed=function(t){switch(t.tag){case 3:var i=t.stateNode;if(i.current.memoizedState.isDehydrated){var e=Bs(i.pendingLanes);e!==0&&(ya(i,e|1),xe(i,_t()),!(jt&6)&&(ps=_t()+500,Ci()))}break;case 13:zi(function(){var O=ti(t,1);if(O!==null){var m=de();Be(O,t,1,m)}}),Za(t,1)}};ba=function(t){if(t.tag===13){var i=ti(t,134217728);if(i!==null){var e=de();Be(i,t,134217728,e)}Za(t,134217728)}};id=function(t){if(t.tag===13){var i=mi(t),e=ti(t,i);if(e!==null){var O=de();Be(e,t,i,O)}Za(t,i)}};sd=function(){return It};rd=function(t,i){var e=It;try{return It=t,i()}finally{It=e}};An=function(t,i,e){switch(i){case"input":if(bn(t,e),i=e.name,e.type==="radio"&&i!=null){for(e=t;e.parentNode;)e=e.parentNode;for(e=e.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),i=0;i<e.length;i++){var O=e[i];if(O!==t&&O.form===t.form){var m=Ao(O);if(!m)throw Error(wt(90));Ih(O),bn(O,m)}}}break;case"textarea":Bh(t,e);break;case"select":i=e.value,i!=null&&ts(t,!!e.multiple,i,!1)}};Uh=Va;Yh=zi;var lg={usingClientEntryPoint:!1,Events:[gr,_i,Ao,Xh,Wh,Va]},Ns={findFiberByHostInstance:Ei,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},hg={bundleType:Ns.bundleType,version:Ns.version,rendererPackageName:Ns.rendererPackageName,rendererConfig:Ns.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ii.ReactCurrentDispatcher,findHostInstanceByFiber:function(t){return t=$h(t),t===null?null:t.stateNode},findFiberByHostInstance:Ns.findFiberByHostInstance||ng,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Nr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Nr.isDisabled&&Nr.supportsFiber)try{ko=Nr.inject(hg),Xe=Nr}catch{}}ke.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lg;ke.createPortal=function(t,i){var e=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Ja(i))throw Error(wt(200));return og(t,i,null,e)};ke.createRoot=function(t,i){if(!Ja(t))throw Error(wt(299));var e=!1,O="",m=Tc;return i!=null&&(i.unstable_strictMode===!0&&(e=!0),i.identifierPrefix!==void 0&&(O=i.identifierPrefix),i.onRecoverableError!==void 0&&(m=i.onRecoverableError)),i=Ka(t,1,!1,null,null,e,!1,O,m),t[Je]=i.current,ir(t.nodeType===8?t.parentNode:t),new Qa(i)};ke.findDOMNode=function(t){if(t==null)return null;if(t.nodeType===1)return t;var i=t._reactInternals;if(i===void 0)throw typeof t.render=="function"?Error(wt(188)):(t=Object.keys(t).join(","),Error(wt(268,t)));return t=$h(i),t=t===null?null:t.stateNode,t};ke.flushSync=function(t){return zi(t)};ke.hydrate=function(t,i,e){if(!Io(i))throw Error(wt(200));return Ro(null,t,i,!0,e)};ke.hydrateRoot=function(t,i,e){if(!Ja(t))throw Error(wt(405));var O=e!=null&&e.hydratedSources||null,m=!1,T="",G=Tc;if(e!=null&&(e.unstable_strictMode===!0&&(m=!0),e.identifierPrefix!==void 0&&(T=e.identifierPrefix),e.onRecoverableError!==void 0&&(G=e.onRecoverableError)),i=Ac(i,null,t,1,e??null,m,!1,T,G),t[Je]=i.current,ir(t),O)for(t=0;t<O.length;t++)e=O[t],m=e._getVersion,m=m(e._source),i.mutableSourceEagerHydrationData==null?i.mutableSourceEagerHydrationData=[e,m]:i.mutableSourceEagerHydrationData.push(e,m);return new No(i)};ke.render=function(t,i,e){if(!Io(i))throw Error(wt(200));return Ro(null,t,i,!1,e)};ke.unmountComponentAtNode=function(t){if(!Io(t))throw Error(wt(40));return t._reactRootContainer?(zi(function(){Ro(null,null,t,!1,function(){t._reactRootContainer=null,t[Je]=null})}),!0):!1};ke.unstable_batchedUpdates=Va;ke.unstable_renderSubtreeIntoContainer=function(t,i,e,O){if(!Io(e))throw Error(wt(200));if(t==null||t._reactInternals===void 0)throw Error(wt(38));return Ro(t,i,e,!1,O)};ke.version="18.2.0-next-9e3b772b8-20220608";function Pc(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Pc)}catch(t){console.error(t)}}Pc(),Ah.exports=ke;var dg=Ah.exports,ph=dg;yi.createRoot=ph.createRoot,yi.hydrateRoot=ph.hydrateRoot;const cg=({capitalize:t=!1,title:i,...e})=>{const O=t?"text-capitalize":"";return St.jsx("div",{className:"card-heading",...e,children:St.jsx("h3",{className:["card-title",O].join(" "),children:i})})},ug=({children:t,...i})=>St.jsx("div",{className:"card-body",...i,children:t}),pg="_purple_l4i8j_1",gg="_orange_l4i8j_7",fg="_green_l4i8j_13",mg="_red_l4i8j_19",xg="_blue_l4i8j_25",yg="_cyan_l4i8j_31",bg="_mw300_l4i8j_37",gh={purple:pg,orange:gg,green:fg,red:mg,blue:xg,cyan:yg,mw300:bg},bs=({title:t,headerCaps:i,borderTopColor:e="blue",children:O,...m})=>St.jsxs("div",{className:`card ${gh[e]} ${gh.mw300}`,...m,children:[St.jsx(cg,{capitalize:i,title:t}),St.jsx(ug,{children:O})]}),ns=({release:t,releaseLink:i,units:e,frequency:O,children:m,source:T,sourceLink:G,...$})=>St.jsxs("figcaption",{className:"footnotes",...$,children:[e?St.jsxs("p",{children:[St.jsx("strong",{children:"Units"}),": ",e]}):null,T?St.jsxs("p",{children:[St.jsx("strong",{children:"Source"}),": ",St.jsx("a",{href:G,children:T}),t?St.jsxs(St.Fragment,{children:[",",St.jsxs("a",{style:{marginLeft:"5px"},href:i,children:["Data: ",t]})]}):null]}):null,O?St.jsxs("p",{children:[St.jsx("strong",{children:"Frequency"}),": ",O]}):null,m]}),mr=(t,i=!1)=>{const[e,O]=Ft.useState(null),[m,T]=Ft.useState(!0),[G,$]=Ft.useState(null);return Ft.useEffect(()=>{(async()=>{T(!0),$(null);let Z={};i&&(Z={headers:{"content-type":"text/csv;charset=UTF-8"}});try{const Q=await fetch(t,Z);if(!Q.ok)throw new Error(`An error occurred: ${Q.statusText}`);if(i){const Y=await Q.text();O(Y)}else{const Y=await Q.json();O(Y)}}catch(Q){if(Q instanceof Error)$(Q.message);else throw Q}finally{T(!1)}})()},[t,i]),{data:e,loading:m,error:G}};var Ec={exports:{}};(function(t){(function(i,e){t.exports?(e.default=e,t.exports=i&&i.document?e(i):e):(i.Highcharts&&i.Highcharts.error(16,!0),i.Highcharts=e(i))})(typeof window<"u"?window:oa,function(i){var e={};function O(m,T,G,$){m.hasOwnProperty(T)||(m[T]=$.apply(null,G),typeof CustomEvent=="function"&&i.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:T,module:m[T]}})))}return O(e,"Core/Globals.js",[],function(){var m,T;return(T=m||(m={})).SVG_NS="http://www.w3.org/2000/svg",T.product="Highcharts",T.version="11.4.6",T.win=i!==void 0?i:{},T.doc=T.win.document,T.svg=T.doc&&T.doc.createElementNS&&!!T.doc.createElementNS(T.SVG_NS,"svg").createSVGRect,T.userAgent=T.win.navigator&&T.win.navigator.userAgent||"",T.isChrome=T.win.chrome,T.isFirefox=T.userAgent.indexOf("Firefox")!==-1,T.isMS=/(edge|msie|trident)/i.test(T.userAgent)&&!T.win.opera,T.isSafari=!T.isChrome&&T.userAgent.indexOf("Safari")!==-1,T.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(T.userAgent),T.isWebKit=T.userAgent.indexOf("AppleWebKit")!==-1,T.deg2rad=2*Math.PI/360,T.hasBidiBug=T.isFirefox&&4>parseInt(T.userAgent.split("Firefox/")[1],10),T.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],T.noop=function(){},T.supportsPassiveEvents=function(){let G=!1;if(!T.isMS){let $=Object.defineProperty({},"passive",{get:function(){G=!0}});T.win.addEventListener&&T.win.removeEventListener&&(T.win.addEventListener("testPassive",T.noop,$),T.win.removeEventListener("testPassive",T.noop,$))}return G}(),T.charts=[],T.composed=[],T.dateFormats={},T.seriesTypes={},T.symbolSizes={},T.chartCount=0,m}),O(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(m){let T,{charts:G,doc:$,win:q}=m;function Z(s,r,a,d){let n=r?"Highcharts error":"Highcharts warning";s===32&&(s=`${n}: Deprecated member`);let h=M(s),c=h?`${n} #${s}: www.highcharts.com/errors/${s}/`:s.toString();if(d!==void 0){let L="";h&&(c+="?"),A(d,function(z,w){L+=` - ${w}: ${z}`,h&&(c+=encodeURI(w)+"="+encodeURI(z))}),c+=L}S(m,"displayError",{chart:a,code:s,message:c,params:d},function(){if(r)throw Error(c);q.console&&Z.messages.indexOf(c)===-1&&console.warn(c)}),Z.messages.push(c)}function Q(s,r){return parseInt(s,r||10)}function Y(s){return typeof s=="string"}function F(s){let r=Object.prototype.toString.call(s);return r==="[object Array]"||r==="[object Array Iterator]"}function W(s,r){return!!s&&typeof s=="object"&&(!r||!F(s))}function k(s){return W(s)&&typeof s.nodeType=="number"}function E(s){let r=s&&s.constructor;return!!(W(s,!0)&&!k(s)&&r&&r.name&&r.name!=="Object")}function M(s){return typeof s=="number"&&!isNaN(s)&&s<1/0&&s>-1/0}function v(s){return s!=null}function o(s,r,a){let d,n=Y(r)&&!v(a),h=(c,L)=>{v(c)?s.setAttribute(L,c):n?(d=s.getAttribute(L))||L!=="class"||(d=s.getAttribute(L+"Name")):s.removeAttribute(L)};return Y(r)?h(a,r):A(r,h),d}function u(s){return F(s)?s:[s]}function x(s,r){let a;for(a in s||(s={}),r)s[a]=r[a];return s}function f(){let s=arguments,r=s.length;for(let a=0;a<r;a++){let d=s[a];if(d!=null)return d}}function p(s,r){x(s.style,r)}function b(s){return Math.pow(10,Math.floor(Math.log(s)/Math.LN10))}function I(s,r){return s>1e14?s:parseFloat(s.toPrecision(r||14))}(Z||(Z={})).messages=[],Math.easeInOutSine=function(s){return-.5*(Math.cos(Math.PI*s)-1)};let B=Array.prototype.find?function(s,r){return s.find(r)}:function(s,r){let a,d=s.length;for(a=0;a<d;a++)if(r(s[a],a))return s[a]};function A(s,r,a){for(let d in s)Object.hasOwnProperty.call(s,d)&&r.call(a||s[d],s[d],d,s)}function g(s,r,a){function d(c,L){let z=s.removeEventListener;z&&z.call(s,c,L,!1)}function n(c){let L,z;s.nodeName&&(r?(L={})[r]=!0:L=c,A(L,function(w,R){if(c[R])for(z=c[R].length;z--;)d(R,c[R][z].fn)}))}let h=typeof s=="function"&&s.prototype||s;if(Object.hasOwnProperty.call(h,"hcEvents")){let c=h.hcEvents;if(r){let L=c[r]||[];a?(c[r]=L.filter(function(z){return a!==z.fn}),d(r,a)):(n(c),c[r]=[])}else n(c),delete h.hcEvents}}function S(s,r,a,d){if(a=a||{},$.createEvent&&(s.dispatchEvent||s.fireEvent&&s!==m)){let n=$.createEvent("Events");n.initEvent(r,!0,!0),a=x(n,a),s.dispatchEvent?s.dispatchEvent(a):s.fireEvent(r,a)}else if(s.hcEvents){a.target||x(a,{preventDefault:function(){a.defaultPrevented=!0},target:s,type:r});let n=[],h=s,c=!1;for(;h.hcEvents;)Object.hasOwnProperty.call(h,"hcEvents")&&h.hcEvents[r]&&(n.length&&(c=!0),n.unshift.apply(n,h.hcEvents[r])),h=Object.getPrototypeOf(h);c&&n.sort((L,z)=>L.order-z.order),n.forEach(L=>{L.fn.call(s,a)===!1&&a.preventDefault()})}d&&!a.defaultPrevented&&d.call(s,a)}A({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(s,r){m[r]=function(a){return Z(32,!1,void 0,{[`Highcharts.${r}`]:`use Array.${s}`}),Array.prototype[s].apply(a,[].slice.call(arguments,1))}});let l=function(){let s=Math.random().toString(36).substring(2,9)+"-",r=0;return function(){return"highcharts-"+(T?"":s)+r++}}();return q.jQuery&&(q.jQuery.fn.highcharts=function(){let s=[].slice.call(arguments);if(this[0])return s[0]?(new m[Y(s[0])?s.shift():"Chart"](this[0],s[0],s[1]),this):G[o(this[0],"data-highcharts-chart")]}),{addEvent:function(s,r,a,d={}){let n=typeof s=="function"&&s.prototype||s;Object.hasOwnProperty.call(n,"hcEvents")||(n.hcEvents={});let h=n.hcEvents;m.Point&&s instanceof m.Point&&s.series&&s.series.chart&&(s.series.chart.runTrackerClick=!0);let c=s.addEventListener;c&&c.call(s,r,a,!!m.supportsPassiveEvents&&{passive:d.passive===void 0?r.indexOf("touch")!==-1:d.passive,capture:!1}),h[r]||(h[r]=[]);let L={fn:a,order:typeof d.order=="number"?d.order:1/0};return h[r].push(L),h[r].sort((z,w)=>z.order-w.order),function(){g(s,r,a)}},arrayMax:function(s){let r=s.length,a=s[0];for(;r--;)s[r]>a&&(a=s[r]);return a},arrayMin:function(s){let r=s.length,a=s[0];for(;r--;)s[r]<a&&(a=s[r]);return a},attr:o,clamp:function(s,r,a){return s>r?s<a?s:a:r},clearTimeout:function(s){v(s)&&clearTimeout(s)},correctFloat:I,createElement:function(s,r,a,d,n){let h=$.createElement(s);return r&&x(h,r),n&&p(h,{padding:"0",border:"none",margin:"0"}),a&&p(h,a),d&&d.appendChild(h),h},crisp:(s,r=0,a)=>{let d=r%2/2,n=a?-1:1;return(Math.round(s*n-d)+d)*n},css:p,defined:v,destroyObjectProperties:function(s,r,a){A(s,function(d,n){d!==r&&(d!=null&&d.destroy)&&d.destroy(),(d!=null&&d.destroy||!a)&&delete s[n]})},diffObjects:function(s,r,a,d){let n={};return function h(c,L,z,w){let R=a?L:c;A(c,function(V,X){if(!w&&d&&d.indexOf(X)>-1&&L[X]){V=u(V),z[X]=[];for(let J=0;J<Math.max(V.length,L[X].length);J++)L[X][J]&&(V[J]===void 0?z[X][J]=L[X][J]:(z[X][J]={},h(V[J],L[X][J],z[X][J],w+1)))}else W(V,!0)&&!V.nodeType?(z[X]=F(V)?[]:{},h(V,L[X]||{},z[X],w+1),Object.keys(z[X]).length!==0||X==="colorAxis"&&w===0||delete z[X]):(c[X]!==L[X]||X in c&&!(X in L))&&X!=="__proto__"&&X!=="constructor"&&(z[X]=R[X])})}(s,r,n,0),n},discardElement:function(s){s&&s.parentElement&&s.parentElement.removeChild(s)},erase:function(s,r){let a=s.length;for(;a--;)if(s[a]===r){s.splice(a,1);break}},error:Z,extend:x,extendClass:function(s,r){let a=function(){};return a.prototype=new s,x(a.prototype,r),a},find:B,fireEvent:S,getClosestDistance:function(s,r){let a,d,n,h=!r;return s.forEach(c=>{if(c.length>1)for(n=c.length-1;n>0;n--)(d=c[n]-c[n-1])<0&&!h?(r==null||r(),r=void 0):d&&(a===void 0||d<a)&&(a=d)}),a},getMagnitude:b,getNestedProperty:function(s,r){let a=s.split(".");for(;a.length&&v(r);){let d=a.shift();if(d===void 0||d==="__proto__")return;if(d==="this"){let h;return W(r)&&(h=r["@this"]),h??r}let n=r[d];if(!v(n)||typeof n=="function"||typeof n.nodeType=="number"||n===q)return;r=n}return r},getStyle:function s(r,a,d){let n;if(a==="width"){let c=Math.min(r.offsetWidth,r.scrollWidth),L=r.getBoundingClientRect&&r.getBoundingClientRect().width;return L<c&&L>=c-1&&(c=Math.floor(L)),Math.max(0,c-(s(r,"padding-left",!0)||0)-(s(r,"padding-right",!0)||0))}if(a==="height")return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(s(r,"padding-top",!0)||0)-(s(r,"padding-bottom",!0)||0));let h=q.getComputedStyle(r,void 0);return h&&(n=h.getPropertyValue(a),f(d,a!=="opacity")&&(n=Q(n))),n},inArray:function(s,r,a){return Z(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(s,a)},insertItem:function(s,r){let a,d=s.options.index,n=r.length;for(a=s.options.isInternal?n:0;a<n+1;a++)if(!r[a]||M(d)&&d<f(r[a].options.index,r[a]._i)||r[a].options.isInternal){r.splice(a,0,s);break}return a},isArray:F,isClass:E,isDOMElement:k,isFunction:function(s){return typeof s=="function"},isNumber:M,isObject:W,isString:Y,keys:function(s){return Z(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(s)},merge:function(){let s,r=arguments,a={},d=function(h,c){return typeof h!="object"&&(h={}),A(c,function(L,z){z!=="__proto__"&&z!=="constructor"&&(!W(L,!0)||E(L)||k(L)?h[z]=c[z]:h[z]=d(h[z]||{},L))}),h};r[0]===!0&&(a=r[1],r=Array.prototype.slice.call(r,2));let n=r.length;for(s=0;s<n;s++)a=d(a,r[s]);return a},normalizeTickInterval:function(s,r,a,d,n){let h,c=s;a=f(a,b(s));let L=s/a;for(!r&&(r=n?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],d===!1&&(a===1?r=r.filter(function(z){return z%1==0}):a<=.1&&(r=[1/a]))),h=0;h<r.length&&(c=r[h],(!n||!(c*a>=s))&&(n||!(L<=(r[h]+(r[h+1]||r[h]))/2)));h++);return I(c*a,-Math.round(Math.log(.001)/Math.LN10))},objectEach:A,offset:function(s){let r=$.documentElement,a=s.parentElement||s.parentNode?s.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:a.top+(q.pageYOffset||r.scrollTop)-(r.clientTop||0),left:a.left+(q.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:a.width,height:a.height}},pad:function(s,r,a){return Array((r||2)+1-String(s).replace("-","").length).join(a||"0")+s},pick:f,pInt:Q,pushUnique:function(s,r){return 0>s.indexOf(r)&&!!s.push(r)},relativeLength:function(s,r,a){return/%$/.test(s)?r*parseFloat(s)/100+(a||0):parseFloat(s)},removeEvent:g,replaceNested:function(s,...r){let a,d;do for(d of(a=s,r))s=s.replace(d[0],d[1]);while(s!==a);return s},splat:u,stableSort:function(s,r){let a,d,n=s.length;for(d=0;d<n;d++)s[d].safeI=d;for(s.sort(function(h,c){return(a=r(h,c))===0?h.safeI-c.safeI:a}),d=0;d<n;d++)delete s[d].safeI},syncTimeout:function(s,r,a){return r>0?setTimeout(s,r,a):(s.call(0,a),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:l,useSerialIds:function(s){return T=f(s,T)},wrap:function(s,r,a){let d=s[r];s[r]=function(){let n=arguments,h=this;return a.apply(this,[function(){return d.apply(h,arguments.length?arguments:n)}].concat([].slice.call(arguments)))}}}}),O(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),O(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),O(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{win:G}=m,{defined:$,error:q,extend:Z,isNumber:Q,isObject:Y,merge:F,objectEach:W,pad:k,pick:E,splat:M,timeUnits:v}=T,o=m.isSafari&&G.Intl&&G.Intl.DateTimeFormat.prototype.formatRange,u=m.isSafari&&G.Intl&&!G.Intl.DateTimeFormat.prototype.formatRange;class x{constructor(p){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=G.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(p)}get(p,b){if(this.variableTimezone||this.timezoneOffset){let I=b.getTime(),B=I-this.getTimezoneOffset(b);b.setTime(B);let A=b["getUTC"+p]();return b.setTime(I),A}return this.useUTC?b["getUTC"+p]():b["get"+p]()}set(p,b,I){if(this.variableTimezone||this.timezoneOffset){if(p==="Milliseconds"||p==="Seconds"||p==="Minutes"&&this.getTimezoneOffset(b)%36e5==0)return b["setUTC"+p](I);let B=this.getTimezoneOffset(b),A=b.getTime()-B;b.setTime(A),b["setUTC"+p](I);let g=this.getTimezoneOffset(b);return A=b.getTime()+g,b.setTime(A)}return this.useUTC||o&&p==="FullYear"?b["setUTC"+p](I):b["set"+p](I)}update(p={}){let b=E(p.useUTC,!0);this.options=p=F(!0,this.options,p),this.Date=p.Date||G.Date||Date,this.useUTC=b,this.timezoneOffset=b&&p.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=b&&!!(p.getTimezoneOffset||p.timezone)}makeTime(p,b,I,B,A,g){let S,l,s;return this.useUTC?(S=this.Date.UTC.apply(0,arguments),l=this.getTimezoneOffset(S),S+=l,l!==(s=this.getTimezoneOffset(S))?S+=s-l:l-36e5!==this.getTimezoneOffset(S-36e5)||u||(S-=36e5)):S=new this.Date(p,b,E(I,1),E(B,0),E(A,0),E(g,0)).getTime(),S}timezoneOffsetFunction(){let p=this,b=this.options,I=b.getTimezoneOffset;return this.useUTC?b.timezone?B=>{try{let A=`shortOffset,${b.timezone||""}`,[g,S,l,s,r=0]=(x.formatCache[A]=x.formatCache[A]||Intl.DateTimeFormat("en",{timeZone:b.timezone,timeZoneName:"shortOffset"})).format(B).split(/(GMT|:)/).map(Number),a=-(36e5*(l+r/60));if(Q(a))return a}catch{q(34)}return 0}:this.useUTC&&I?B=>6e4*I(B.valueOf()):()=>6e4*(p.timezoneOffset||0):B=>6e4*new Date(B.toString()).getTimezoneOffset()}dateFormat(p,b,I){if(!$(b)||isNaN(b))return m.defaultOptions.lang&&m.defaultOptions.lang.invalidDate||"";p=E(p,"%Y-%m-%d %H:%M:%S");let B=this,A=new this.Date(b),g=this.get("Hours",A),S=this.get("Day",A),l=this.get("Date",A),s=this.get("Month",A),r=this.get("FullYear",A),a=m.defaultOptions.lang,d=a&&a.weekdays,n=a&&a.shortWeekdays;return W(Z({a:n?n[S]:d[S].substr(0,3),A:d[S],d:k(l),e:k(l,2," "),w:S,b:a.shortMonths[s],B:a.months[s],m:k(s+1),o:s+1,y:r.toString().substr(2,2),Y:r,H:k(g),k:g,I:k(g%12||12),l:g%12||12,M:k(this.get("Minutes",A)),p:g<12?"AM":"PM",P:g<12?"am":"pm",S:k(this.get("Seconds",A)),L:k(Math.floor(b%1e3),3)},m.dateFormats),function(h,c){for(;p.indexOf("%"+c)!==-1;)p=p.replace("%"+c,typeof h=="function"?h.call(B,b):h)}),I?p.substr(0,1).toUpperCase()+p.substr(1):p}resolveDTLFormat(p){return Y(p,!0)?p:{main:(p=M(p))[0],from:p[1],to:p[2]}}getTimeTicks(p,b,I,B){let A,g,S,l,s=this,r=s.Date,a=[],d={},n=new r(b),h=p.unitRange,c=p.count||1;if(B=E(B,1),$(b)){s.set("Milliseconds",n,h>=v.second?0:c*Math.floor(s.get("Milliseconds",n)/c)),h>=v.second&&s.set("Seconds",n,h>=v.minute?0:c*Math.floor(s.get("Seconds",n)/c)),h>=v.minute&&s.set("Minutes",n,h>=v.hour?0:c*Math.floor(s.get("Minutes",n)/c)),h>=v.hour&&s.set("Hours",n,h>=v.day?0:c*Math.floor(s.get("Hours",n)/c)),h>=v.day&&s.set("Date",n,h>=v.month?1:Math.max(1,c*Math.floor(s.get("Date",n)/c))),h>=v.month&&(s.set("Month",n,h>=v.year?0:c*Math.floor(s.get("Month",n)/c)),g=s.get("FullYear",n)),h>=v.year&&(g-=g%c,s.set("FullYear",n,g)),h===v.week&&(l=s.get("Day",n),s.set("Date",n,s.get("Date",n)-l+B+(l<B?-7:0))),g=s.get("FullYear",n);let L=s.get("Month",n),z=s.get("Date",n),w=s.get("Hours",n);b=n.getTime(),(s.variableTimezone||!s.useUTC)&&$(I)&&(S=I-b>4*v.month||s.getTimezoneOffset(b)!==s.getTimezoneOffset(I));let R=n.getTime();for(A=1;R<I;)a.push(R),h===v.year?R=s.makeTime(g+A*c,0):h===v.month?R=s.makeTime(g,L+A*c):S&&(h===v.day||h===v.week)?R=s.makeTime(g,L,z+A*c*(h===v.day?1:7)):S&&h===v.hour&&c>1?R=s.makeTime(g,L,z,w+A*c):R+=h*c,A++;a.push(R),h<=v.hour&&a.length<1e4&&a.forEach(function(V){V%18e5==0&&s.dateFormat("%H%M%S%L",V)==="000000000"&&(d[V]="day")})}return a.info=Z(p,{higherRanks:d,totalRange:h*c}),a}getDateFormat(p,b,I,B){let A=this.dateFormat("%m-%d %H:%M:%S.%L",b),g="01-01 00:00:00.000",S={millisecond:15,second:12,minute:9,hour:6,day:3},l="millisecond",s=l;for(l in v){if(p===v.week&&+this.dateFormat("%w",b)===I&&A.substr(6)===g.substr(6)){l="week";break}if(v[l]>p){l=s;break}if(S[l]&&A.substr(S[l])!==g.substr(S[l]))break;l!=="week"&&(s=l)}return this.resolveDTLFormat(B[l]).main}}return x.formatCache={},x}),O(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{isTouchDevice:Z}=T,{fireEvent:Q,merge:Y}=q,F={colors:G.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:m,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:k=>Math.sqrt(1-Math.pow(k-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:Z?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">â—</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};F.chart.styledMode=!1;let W=new $(F.time);return{defaultOptions:F,defaultTime:W,getOptions:function(){return F},setOptions:function(k){return Q(T,"setOptions",{options:k}),Y(!0,F,k),(k.time||k.global)&&(T.time?T.time.update(Y(F.global,F.time,k.global,k.time)):T.time=W),F}}}),O(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{isNumber:G,merge:$,pInt:q}=T;class Z{static parse(Y){return Y?new Z(Y):Z.None}constructor(Y){let F,W,k,E;this.rgba=[NaN,NaN,NaN,NaN],this.input=Y;let M=m.Color;if(M&&M!==Z)return new M(Y);if(typeof Y=="object"&&Y.stops!==void 0)this.stops=Y.stops.map(v=>new Z(v[1]));else if(typeof Y=="string"){if(this.input=Y=Z.names[Y.toLowerCase()]||Y,Y.charAt(0)==="#"){let v=Y.length,o=parseInt(Y.substr(1),16);v===7?W=[(16711680&o)>>16,(65280&o)>>8,255&o,1]:v===4&&(W=[(3840&o)>>4|(3840&o)>>8,(240&o)>>4|240&o,(15&o)<<4|15&o,1])}if(!W)for(k=Z.parsers.length;k--&&!W;)(F=(E=Z.parsers[k]).regex.exec(Y))&&(W=E.parse(F))}W&&(this.rgba=W)}get(Y){let F=this.input,W=this.rgba;if(typeof F=="object"&&this.stops!==void 0){let k=$(F);return k.stops=[].slice.call(k.stops),this.stops.forEach((E,M)=>{k.stops[M]=[k.stops[M][0],E.get(Y)]}),k}return W&&G(W[0])?Y!=="rgb"&&(Y||W[3]!==1)?Y==="a"?`${W[3]}`:"rgba("+W.join(",")+")":"rgb("+W[0]+","+W[1]+","+W[2]+")":F}brighten(Y){let F=this.rgba;if(this.stops)this.stops.forEach(function(W){W.brighten(Y)});else if(G(Y)&&Y!==0)for(let W=0;W<3;W++)F[W]+=q(255*Y),F[W]<0&&(F[W]=0),F[W]>255&&(F[W]=255);return this}setOpacity(Y){return this.rgba[3]=Y,this}tweenTo(Y,F){let W=this.rgba,k=Y.rgba;if(!G(W[0])||!G(k[0]))return Y.input||"none";let E=k[3]!==1||W[3]!==1;return(E?"rgba(":"rgb(")+Math.round(k[0]+(W[0]-k[0])*(1-F))+","+Math.round(k[1]+(W[1]-k[1])*(1-F))+","+Math.round(k[2]+(W[2]-k[2])*(1-F))+(E?","+(k[3]+(W[3]-k[3])*(1-F)):"")+")"}}return Z.names={white:"#ffffff",black:"#000000"},Z.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(Q){return[q(Q[1]),q(Q[2]),q(Q[3]),parseFloat(Q[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(Q){return[q(Q[1]),q(Q[2]),q(Q[3]),1]}}],Z.None=new Z(""),Z}),O(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{parse:$}=m,{win:q}=T,{isNumber:Z,objectEach:Q}=G;class Y{constructor(W,k,E){this.pos=NaN,this.options=k,this.elem=W,this.prop=E}dSetter(){let W=this.paths,k=W&&W[0],E=W&&W[1],M=this.now||0,v=[];if(M!==1&&k&&E)if(k.length===E.length&&M<1)for(let o=0;o<E.length;o++){let u=k[o],x=E[o],f=[];for(let p=0;p<x.length;p++){let b=u[p],I=x[p];Z(b)&&Z(I)&&!(x[0]==="A"&&(p===4||p===5))?f[p]=b+M*(I-b):f[p]=I}v.push(f)}else v=E;else v=this.toD||[];this.elem.attr("d",v,void 0,!0)}update(){let W=this.elem,k=this.prop,E=this.now,M=this.options.step;this[k+"Setter"]?this[k+"Setter"]():W.attr?W.element&&W.attr(k,E,null,!0):W.style[k]=E+this.unit,M&&M.call(W,E,this)}run(W,k,E){let M=this,v=M.options,o=function(f){return!o.stopped&&M.step(f)},u=q.requestAnimationFrame||function(f){setTimeout(f,13)},x=function(){for(let f=0;f<Y.timers.length;f++)Y.timers[f]()||Y.timers.splice(f--,1);Y.timers.length&&u(x)};W!==k||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=W,this.end=k,this.unit=E,this.now=this.start,this.pos=0,o.elem=this.elem,o.prop=this.prop,o()&&Y.timers.push(o)===1&&u(x)):(delete v.curAnim[this.prop],v.complete&&Object.keys(v.curAnim).length===0&&v.complete.call(this.elem))}step(W){let k,E,M=+new Date,v=this.options,o=this.elem,u=v.complete,x=v.duration,f=v.curAnim;return o.attr&&!o.element?k=!1:W||M>=x+this.startTime?(this.now=this.end,this.pos=1,this.update(),f[this.prop]=!0,E=!0,Q(f,function(p){p!==!0&&(E=!1)}),E&&u&&u.call(o),k=!1):(this.pos=v.easing((M-this.startTime)/x),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0),k}initPath(W,k,E){let M=W.startX,v=W.endX,o=E.slice(),u=W.isArea,x=u?2:1,f=k&&E.length>k.length&&E.hasStackedCliffs,p,b,I,B,A=k&&k.slice();if(!A||f)return[o,o];function g(l,s){for(;l.length<b;){let r=l[0],a=s[b-l.length];if(a&&r[0]==="M"&&(a[0]==="C"?l[0]=["C",r[1],r[2],r[1],r[2],r[1],r[2]]:l[0]=["L",r[1],r[2]]),l.unshift(r),u){let d=l.pop();l.push(l[l.length-1],d)}}}function S(l){for(;l.length<b;){let s=l[Math.floor(l.length/x)-1].slice();if(s[0]==="C"&&(s[1]=s[5],s[2]=s[6]),u){let r=l[Math.floor(l.length/x)].slice();l.splice(l.length/2,0,s,r)}else l.push(s)}}if(M&&v&&v.length){for(I=0;I<M.length;I++){if(M[I]===v[0]){p=I;break}if(M[0]===v[v.length-M.length+I]){p=I,B=!0;break}if(M[M.length-1]===v[v.length-M.length+I]){p=M.length-I;break}}p===void 0&&(A=[])}return A.length&&Z(p)&&(b=o.length+p*x,B?(g(A,o),S(o)):(g(o,A),S(A))),[A,o]}fillSetter(){Y.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,$(this.start).tweenTo($(this.end),this.pos),void 0,!0)}}return Y.timers=[],Y}),O(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(m,T){let{defined:G,getStyle:$,isArray:q,isNumber:Z,isObject:Q,merge:Y,objectEach:F,pick:W}=T;function k(M){return Q(M)?Y({duration:500,defer:0},M):{duration:M?500:0,defer:0}}function E(M,v){let o=m.timers.length;for(;o--;)m.timers[o].elem!==M||v&&v!==m.timers[o].prop||(m.timers[o].stopped=!0)}return{animate:function(M,v,o){let u,x="",f,p,b;Q(o)||(b=arguments,o={duration:b[2],easing:b[3],complete:b[4]}),Z(o.duration)||(o.duration=400),o.easing=typeof o.easing=="function"?o.easing:Math[o.easing]||Math.easeInOutSine,o.curAnim=Y(v),F(v,function(I,B){E(M,B),p=new m(M,o,B),f=void 0,B==="d"&&q(v.d)?(p.paths=p.initPath(M,M.pathArray,v.d),p.toD=v.d,u=0,f=1):M.attr?u=M.attr(B):(u=parseFloat($(M,B))||0,B!=="opacity"&&(x="px")),f||(f=I),typeof f=="string"&&f.match("px")&&(f=f.replace(/px/g,"")),p.run(u,f,x)})},animObject:k,getDeferredAnimation:function(M,v,o){let u=k(v),x=o?[o]:M.series,f=0,p=0;return x.forEach(b=>{let I=k(b.options.animation);f=Q(v)&&G(v.defer)?u.defer:Math.max(f,I.duration+I.defer),p=Math.min(u.duration,I.duration)}),M.renderer.forExport&&(f=0),{defer:Math.max(0,f-p),duration:Math.min(f,p)}},setAnimation:function(M,v){v.renderer.globalAnimation=W(M,v.options.chart.animation,!0)},stop:E}}),O(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{SVG_NS:G,win:$}=m,{attr:q,createElement:Z,css:Q,error:Y,isFunction:F,isString:W,objectEach:k,splat:E}=T,{trustedTypes:M}=$,v=M&&F(M.createPolicy)&&M.createPolicy("highcharts",{createHTML:f=>f}),o=v?v.createHTML(""):"",u=function(){try{return!!new DOMParser().parseFromString(o,"text/html")}catch{return!1}}();class x{static filterUserAttributes(p){return k(p,(b,I)=>{let B=!0;x.allowedAttributes.indexOf(I)===-1&&(B=!1),["background","dynsrc","href","lowsrc","src"].indexOf(I)!==-1&&(B=W(b)&&x.allowedReferences.some(A=>b.indexOf(A)===0)),B||(Y(33,!1,void 0,{"Invalid attribute in config":`${I}`}),delete p[I]),W(b)&&p[I]&&(p[I]=b.replace(/</g,"<"))}),p}static parseStyle(p){return p.split(";").reduce((b,I)=>{let B=I.split(":").map(g=>g.trim()),A=B.shift();return A&&B.length&&(b[A.replace(/-([a-z])/g,g=>g[1].toUpperCase())]=B.join(":")),b},{})}static setElementHTML(p,b){p.innerHTML=x.emptyHTML,b&&new x(b).addToDOM(p)}constructor(p){this.nodes=typeof p=="string"?this.parseMarkup(p):p}addToDOM(p){return function b(I,B){let A;return E(I).forEach(function(g){let S,l=g.tagName,s=g.textContent?m.doc.createTextNode(g.textContent):void 0,r=x.bypassHTMLFiltering;if(l)if(l==="#text")S=s;else if(x.allowedTags.indexOf(l)!==-1||r){let a=l==="svg"?G:B.namespaceURI||G,d=m.doc.createElementNS(a,l),n=g.attributes||{};k(g,function(h,c){c!=="tagName"&&c!=="attributes"&&c!=="children"&&c!=="style"&&c!=="textContent"&&(n[c]=h)}),q(d,r?n:x.filterUserAttributes(n)),g.style&&Q(d,g.style),s&&d.appendChild(s),b(g.children||[],d),S=d}else Y(33,!1,void 0,{"Invalid tagName in config":l});S&&B.appendChild(S),A=S}),A}(this.nodes,p)}parseMarkup(p){let b,I=[];if(p=p.trim().replace(/ style=(["'])/g," data-style=$1"),u)b=new DOMParser().parseFromString(v?v.createHTML(p):p,"text/html");else{let A=Z("div");A.innerHTML=p,b={body:A}}let B=(A,g)=>{let S=A.nodeName.toLowerCase(),l={tagName:S};S==="#text"&&(l.textContent=A.textContent||"");let s=A.attributes;if(s){let r={};[].forEach.call(s,a=>{a.name==="data-style"?l.style=x.parseStyle(a.value):r[a.name]=a.value}),l.attributes=r}if(A.childNodes.length){let r=[];[].forEach.call(A.childNodes,a=>{B(a,r)}),r.length&&(l.children=r)}g.push(l)};return[].forEach.call(b.body.childNodes,A=>B(A,I)),I}}return x.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],x.allowedReferences=["https://","http://","mailto:","/","../","./","#"],x.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],x.emptyHTML=o,x.bypassHTMLFiltering=!1,x}),O(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(m,T){let{defaultOptions:G,defaultTime:$}=m,{extend:q,getNestedProperty:Z,isArray:Q,isNumber:Y,isObject:F,pick:W,pInt:k}=T,E={add:(o,u)=>o+u,divide:(o,u)=>u!==0?o/u:"",eq:(o,u)=>o==u,each:function(o){let u=arguments[arguments.length-1];return!!Q(o)&&o.map((x,f)=>M(u.body,q(F(x)?x:{"@this":x},{"@index":f,"@first":f===0,"@last":f===o.length-1}))).join("")},ge:(o,u)=>o>=u,gt:(o,u)=>o>u,if:o=>!!o,le:(o,u)=>o<=u,lt:(o,u)=>o<u,multiply:(o,u)=>o*u,ne:(o,u)=>o!=u,subtract:(o,u)=>o-u,unless:o=>!o};function M(o="",u,x){let f=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,b=[],I=/f$/,B=/\.(\d)/,A=G.lang,g=x&&x.time||$,S=x&&x.numberFormatter||v,l=(n="")=>{let h;return n==="true"||n!=="false"&&((h=Number(n)).toString()===n?h:Z(n,u))},s,r,a=0,d;for(;(s=f.exec(o))!==null;){let n=p.exec(s[1]);n&&(s=n,d=!0),r&&r.isBlock||(r={ctx:u,expression:s[1],find:s[0],isBlock:s[1].charAt(0)==="#",start:s.index,startInner:s.index+s[0].length,length:s[0].length});let h=s[1].split(" ")[0].replace("#","");E[h]&&(r.isBlock&&h===r.fn&&a++,r.fn||(r.fn=h));let c=s[1]==="else";if(r.isBlock&&r.fn&&(s[1]===`/${r.fn}`||c))if(a)!c&&a--;else{let L=r.startInner,z=o.substr(L,s.index-L);r.body===void 0?(r.body=z,r.startInner=s.index+s[0].length):r.elseBody=z,r.find+=z+s[0],c||(b.push(r),r=void 0)}else r.isBlock||b.push(r);if(n&&!(r!=null&&r.isBlock))break}return b.forEach(n=>{let h,c,{body:L,elseBody:z,expression:w,fn:R}=n;if(R){let V=[n],X=w.split(" ");for(c=E[R].length;c--;)V.unshift(l(X[c+1]));h=E[R].apply(u,V),n.isBlock&&typeof h=="boolean"&&(h=M(h?L:z,u,x))}else{let V=w.split(":");if(h=l(V.shift()||""),V.length&&typeof h=="number"){let X=V.join(":");if(I.test(X)){let J=parseInt((X.match(B)||["","-1"])[1],10);h!==null&&(h=S(h,J,A.decimalPoint,X.indexOf(",")>-1?A.thousandsSep:""))}else h=g.dateFormat(X,h)}}o=o.replace(n.find,W(h,""))}),d?M(o,u,x):o}function v(o,u,x,f){let p,b;o=+o||0,u=+u;let I=G.lang,B=(o.toString().split(".")[1]||"").split("e")[0].length,A=o.toString().split("e"),g=u;u===-1?u=Math.min(B,20):Y(u)?u&&A[1]&&A[1]<0&&((b=u+ +A[1])>=0?(A[0]=(+A[0]).toExponential(b).split("e")[0],u=b):(A[0]=A[0].split(".")[0]||0,o=u<20?(A[0]*Math.pow(10,A[1])).toFixed(u):0,A[1]=0)):u=2;let S=(Math.abs(A[1]?A[0]:o)+Math.pow(10,-Math.max(u,B)-1)).toFixed(u),l=String(k(S)),s=l.length>3?l.length%3:0;return x=W(x,I.decimalPoint),f=W(f,I.thousandsSep),p=(o<0?"-":"")+(s?l.substr(0,s)+f:""),0>+A[1]&&!g?p="0":p+=l.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+f),u?p+=x+S.slice(-u):+p==0&&(p="0"),A[1]&&+p!=0&&(p+="e"+A[1]),p}return{dateFormat:function(o,u,x){return $.dateFormat(o,u,x)},format:M,helpers:E,numberFormat:v}}),O(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(m){var T,G;let $;return(G=T||(T={})).rendererTypes={},G.getRendererType=function(q=$){return G.rendererTypes[q]||G.rendererTypes[$]},G.registerRendererType=function(q,Z,Q){G.rendererTypes[q]=Z,(!$||Q)&&($=q,m.Renderer=Z)},T}),O(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(m){var T;let{clamp:G,pick:$,pushUnique:q,stableSort:Z}=m;return(T||(T={})).distribute=function Q(Y,F,W){let k=Y,E=k.reducedLen||F,M=(l,s)=>l.target-s.target,v=[],o=Y.length,u=[],x=v.push,f,p,b,I=!0,B,A,g=0,S;for(f=o;f--;)g+=Y[f].size;if(g>E){for(Z(Y,(l,s)=>(s.rank||0)-(l.rank||0)),b=(S=Y[0].rank===Y[Y.length-1].rank)?o/2:-1,p=S?b:o-1;b&&g>E;)B=Y[f=Math.floor(p)],q(u,f)&&(g-=B.size),p+=b,S&&p>=Y.length&&(b/=2,p=b);u.sort((l,s)=>s-l).forEach(l=>x.apply(v,Y.splice(l,1)))}for(Z(Y,M),Y=Y.map(l=>({size:l.size,targets:[l.target],align:$(l.align,.5)}));I;){for(f=Y.length;f--;)B=Y[f],A=(Math.min.apply(0,B.targets)+Math.max.apply(0,B.targets))/2,B.pos=G(A-B.size*B.align,0,F-B.size);for(f=Y.length,I=!1;f--;)f>0&&Y[f-1].pos+Y[f-1].size>Y[f].pos&&(Y[f-1].size+=Y[f].size,Y[f-1].targets=Y[f-1].targets.concat(Y[f].targets),Y[f-1].align=.5,Y[f-1].pos+Y[f-1].size>F&&(Y[f-1].pos=F-Y[f-1].size),Y.splice(f,1),I=!0)}return x.apply(k,v),f=0,Y.some(l=>{let s=0;return(l.targets||[]).some(()=>(k[f].pos=l.pos+s,W!==void 0&&Math.abs(k[f].pos-k[f].target)>W?(k.slice(0,f+1).forEach(r=>delete r.pos),k.reducedLen=(k.reducedLen||F)-.1*F,k.reducedLen>.1*F&&Q(k,F,W),!0):(s+=k[f].size,f++,!1)))}),Z(k,M),k},T}),O(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{animate:q,animObject:Z,stop:Q}=m,{deg2rad:Y,doc:F,svg:W,SVG_NS:k,win:E}=G,{addEvent:M,attr:v,createElement:o,crisp:u,css:x,defined:f,erase:p,extend:b,fireEvent:I,isArray:B,isFunction:A,isObject:g,isString:S,merge:l,objectEach:s,pick:r,pInt:a,pushUnique:d,replaceNested:n,syncTimeout:h,uniqueKey:c}=$;class L{_defaultGetter(w){let R=r(this[w+"Value"],this[w],this.element?this.element.getAttribute(w):null,0);return/^-?[\d\.]+$/.test(R)&&(R=parseFloat(R)),R}_defaultSetter(w,R,V){V.setAttribute(R,w)}add(w){let R,V=this.renderer,X=this.element;return w&&(this.parentGroup=w),this.textStr!==void 0&&this.element.nodeName==="text"&&V.buildText(this),this.added=!0,(!w||w.handleZ||this.zIndex)&&(R=this.zIndexSetter()),R||(w?w.element:V.box).appendChild(X),this.onAdd&&this.onAdd(),this}addClass(w,R){let V=R?"":this.attr("class")||"";return(w=(w||"").split(/ /g).reduce(function(X,J){return V.indexOf(J)===-1&&X.push(J),X},V?[V]:[]).join(" "))!==V&&this.attr("class",w),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(w,R,V,X=!0){let J,P,C,N,_={},y=this.renderer,D=y.alignedObjects,j=!!w;w?(this.alignOptions=w,this.alignByTranslate=R,this.alignTo=V):(w=this.alignOptions||{},R=this.alignByTranslate,V=this.alignTo);let H=!V||S(V)?V||"renderer":void 0;H&&(j&&d(D,this),V=void 0);let U=r(V,y[H],y),K=w.align,et=w.verticalAlign;return J=(U.x||0)+(w.x||0),P=(U.y||0)+(w.y||0),K==="right"?C=1:K==="center"&&(C=2),C&&(J+=((U.width||0)-(w.width||0))/C),_[R?"translateX":"x"]=Math.round(J),et==="bottom"?N=1:et==="middle"&&(N=2),N&&(P+=((U.height||0)-(w.height||0))/N),_[R?"translateY":"y"]=Math.round(P),X&&(this[this.placed?"animate":"attr"](_),this.placed=!0),this.alignAttr=_,this}alignSetter(w){let R={left:"start",center:"middle",right:"end"};R[w]&&(this.alignValue=w,this.element.setAttribute("text-anchor",R[w]))}animate(w,R,V){let X=Z(r(R,this.renderer.globalAnimation,!0)),J=X.defer;return F.hidden&&(X.duration=0),X.duration!==0?(V&&(X.complete=V),h(()=>{this.element&&q(this,w,X)},J)):(this.attr(w,void 0,V||X.complete),s(w,function(P,C){X.step&&X.step.call(this,P,{prop:C,pos:1,elem:this})},this)),this}applyTextOutline(w){let R=this.element;w.indexOf("contrast")!==-1&&(w=w.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));let V=w.split(" "),X=V[V.length-1],J=V[0];if(J&&J!=="none"&&G.svg){this.fakeTS=!0,J=J.replace(/(^[\d\.]+)(.*?)$/g,function(y,D,j){return 2*Number(D)+j}),this.removeTextOutline();let P=F.createElementNS(k,"tspan");v(P,{class:"highcharts-text-outline",fill:X,stroke:X,"stroke-width":J,"stroke-linejoin":"round"});let C=R.querySelector("textPath")||R;[].forEach.call(C.childNodes,y=>{let D=y.cloneNode(!0);D.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(j=>D.removeAttribute(j)),P.appendChild(D)});let N=0;[].forEach.call(C.querySelectorAll("text tspan"),y=>{N+=Number(y.getAttribute("dy"))});let _=F.createElementNS(k,"tspan");_.textContent="​",v(_,{x:Number(R.getAttribute("x")),dy:-N}),P.appendChild(_),C.insertBefore(P,C.firstChild)}}attr(w,R,V,X){let{element:J}=this,P=L.symbolCustomAttribs,C,N,_=this,y;return typeof w=="string"&&R!==void 0&&(C=w,(w={})[C]=R),typeof w=="string"?_=(this[w+"Getter"]||this._defaultGetter).call(this,w,J):(s(w,function(D,j){y=!1,X||Q(this,j),this.symbolName&&P.indexOf(j)!==-1&&(N||(this.symbolAttr(w),N=!0),y=!0),this.rotation&&(j==="x"||j==="y")&&(this.doTransform=!0),y||(this[j+"Setter"]||this._defaultSetter).call(this,D,j,J)},this),this.afterSetters()),V&&V.call(this),_}clip(w){if(w&&!w.clipPath){let R=c()+"-",V=this.renderer.createElement("clipPath").attr({id:R}).add(this.renderer.defs);b(w,{clipPath:V,id:R,count:0}),w.add(V)}return this.attr("clip-path",w?`url(${this.renderer.url}#${w.id})`:"none")}crisp(w,R){R=Math.round(R||w.strokeWidth||0);let V=w.x||this.x||0,X=w.y||this.y||0,J=(w.width||this.width||0)+V,P=(w.height||this.height||0)+X,C=u(V,R),N=u(X,R);return b(w,{x:C,y:N,width:u(J,R)-C,height:u(P,R)-N}),f(w.strokeWidth)&&(w.strokeWidth=R),w}complexColor(w,R,V){let X=this.renderer,J,P,C,N,_,y,D,j,H,U,K=[],et;I(this.renderer,"complexColor",{args:arguments},function(){if(w.radialGradient?P="radialGradient":w.linearGradient&&(P="linearGradient"),P){if(C=w[P],_=X.gradients,y=w.stops,H=V.radialReference,B(C)&&(w[P]=C={x1:C[0],y1:C[1],x2:C[2],y2:C[3],gradientUnits:"userSpaceOnUse"}),P==="radialGradient"&&H&&!f(C.gradientUnits)&&(N=C,C=l(C,X.getRadialAttr(H,N),{gradientUnits:"userSpaceOnUse"})),s(C,function(rt,nt){nt!=="id"&&K.push(nt,rt)}),s(y,function(rt){K.push(rt)}),_[K=K.join(",")])U=_[K].attr("id");else{C.id=U=c();let rt=_[K]=X.createElement(P).attr(C).add(X.defs);rt.radAttr=N,rt.stops=[],y.forEach(function(nt){nt[1].indexOf("rgba")===0?(D=(J=T.parse(nt[1])).get("rgb"),j=J.get("a")):(D=nt[1],j=1);let lt=X.createElement("stop").attr({offset:nt[0],"stop-color":D,"stop-opacity":j}).add(rt);rt.stops.push(lt)})}et="url("+X.url+"#"+U+")",V.setAttribute(R,et),V.gradient=K,w.toString=function(){return et}}})}css(w){let R=this.styles,V={},X=this.element,J,P=!R;if(R&&s(w,function(C,N){R&&R[N]!==C&&(V[N]=C,P=!0)}),P){R&&(w=b(R,V)),w.width===null||w.width==="auto"?delete this.textWidth:X.nodeName.toLowerCase()==="text"&&w.width&&(J=this.textWidth=a(w.width)),b(this.styles,w),J&&!W&&this.renderer.forExport&&delete w.width;let C=l(w);X.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(N=>C&&delete C[N]),C.color&&(C.fill=C.color)),x(X,C)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),w.textOutline&&this.applyTextOutline(w.textOutline)),this}dashstyleSetter(w){let R,V=this["stroke-width"];if(V==="inherit"&&(V=1),w=w&&w.toLowerCase()){let X=w.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(R=X.length;R--;)X[R]=""+a(X[R])*r(V,NaN);w=X.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",w)}}destroy(){var N;let w=this,R=w.element||{},V=w.renderer,X=R.ownerSVGElement,J=R.nodeName==="SPAN"&&w.parentGroup||void 0,P,C;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,Q(w),w.clipPath&&X){let _=w.clipPath;[].forEach.call(X.querySelectorAll("[clip-path],[CLIP-PATH]"),function(y){y.getAttribute("clip-path").indexOf(_.element.id)>-1&&y.removeAttribute("clip-path")}),w.clipPath=_.destroy()}if(w.connector=(N=w.connector)==null?void 0:N.destroy(),w.stops){for(C=0;C<w.stops.length;C++)w.stops[C].destroy();w.stops.length=0,w.stops=void 0}for(w.safeRemoveChild(R);J&&J.div&&J.div.childNodes.length===0;)P=J.parentGroup,w.safeRemoveChild(J.div),delete J.div,J=P;w.alignOptions&&p(V.alignedObjects,w),s(w,function(_,y){w[y]&&w[y].parentGroup===w&&w[y].destroy&&w[y].destroy(),delete w[y]})}dSetter(w,R,V){B(w)&&(typeof w[0]=="string"&&(w=this.renderer.pathToSegments(w)),this.pathArray=w,w=w.reduce((X,J,P)=>J&&J.join?(P?X+" ":"")+J.join(" "):(J||"").toString(),"")),/(NaN| {2}|^$)/.test(w)&&(w="M 0 0"),this[R]!==w&&(V.setAttribute(R,w),this[R]=w)}fillSetter(w,R,V){typeof w=="string"?V.setAttribute(R,w):w&&this.complexColor(w,R,V)}hrefSetter(w,R,V){V.setAttributeNS("http://www.w3.org/1999/xlink",R,w)}getBBox(w,R){let V,X,J,P,{alignValue:C,element:N,renderer:_,styles:y,textStr:D}=this,{cache:j,cacheKeys:H}=_,U=N.namespaceURI===this.SVG_NS,K=r(R,this.rotation,0),et=_.styledMode?N&&L.prototype.getStyle.call(N,"font-size"):y.fontSize;if(f(D)&&((P=D.toString()).indexOf("<")===-1&&(P=P.replace(/\d/g,"0")),P+=["",_.rootFontSize,et,K,this.textWidth,C,y.textOverflow,y.fontWeight].join(",")),P&&!w&&(V=j[P]),!V||V.polygon){if(U||_.forExport){try{J=this.fakeTS&&function(nt){let lt=N.querySelector(".highcharts-text-outline");lt&&x(lt,{display:nt})},A(J)&&J("none"),V=N.getBBox?b({},N.getBBox()):{width:N.offsetWidth,height:N.offsetHeight,x:0,y:0},A(J)&&J("")}catch{}(!V||V.width<0)&&(V={x:0,y:0,width:0,height:0})}else V=this.htmlGetBBox();X=V.height,U&&(V.height=X={"11px,17":14,"13px,20":16}[`${et||""},${Math.round(X)}`]||X),K&&(V=this.getRotatedBox(V,K));let rt={bBox:V};I(this,"afterGetBBox",rt),V=rt.bBox}if(P&&(D===""||V.height>0)){for(;H.length>250;)delete j[H.shift()];j[P]||H.push(P),j[P]=V}return V}getRotatedBox(w,R){let{x:V,y:X,width:J,height:P}=w,{alignValue:C,translateY:N,rotationOriginX:_=0,rotationOriginY:y=0}=this,D={right:1,center:.5}[C||0]||0,j=Number(this.element.getAttribute("y")||0)-(N?0:X),H=R*Y,U=(R-90)*Y,K=Math.cos(H),et=Math.sin(H),rt=J*K,nt=J*et,lt=Math.cos(U),ht=Math.sin(U),[[it,tt],[st,ot]]=[_,y].map(Ct=>[Ct-Ct*K,Ct*et]),at=V+D*(J-rt)+it+ot+j*lt,ct=at+rt,dt=ct-P*lt,ut=dt-rt,pt=X+j-D*nt-tt+st+j*ht,gt=pt+nt,ft=gt-P*ht,mt=ft-nt,xt=Math.min(at,ct,dt,ut),vt=Math.min(pt,gt,ft,mt),bt=Math.max(at,ct,dt,ut)-xt,yt=Math.max(pt,gt,ft,mt)-vt;return{x:xt,y:vt,width:bt,height:yt,polygon:[[at,pt],[ct,gt],[dt,ft],[ut,mt]]}}getStyle(w){return E.getComputedStyle(this.element||this,"").getPropertyValue(w)}hasClass(w){return(""+this.attr("class")).split(" ").indexOf(w)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(w,R){this.onEvents={},this.opacity=1,this.SVG_NS=k,this.element=R==="span"||R==="body"?o(R):F.createElementNS(this.SVG_NS,R),this.renderer=w,this.styles={},I(this,"afterInit")}on(w,R){let{onEvents:V}=this;return V[w]&&V[w](),V[w]=M(this.element,w,R),this}opacitySetter(w,R,V){let X=Number(Number(w).toFixed(3));this.opacity=X,V.setAttribute(R,X)}reAlign(){var w;(w=this.alignOptions)!=null&&w.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(w){return this.attr("class",(""+this.attr("class")).replace(S(w)?RegExp(`(^| )${w}( |$)`):w," ").replace(/ +/g," ").trim())}removeTextOutline(){let w=this.element.querySelector("tspan.highcharts-text-outline");w&&this.safeRemoveChild(w)}safeRemoveChild(w){let R=w.parentNode;R&&R.removeChild(w)}setRadialReference(w){let R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=w,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(w,R.radAttr)),this}shadow(w){var J;let{renderer:R}=this,V=l(((J=this.parentGroup)==null?void 0:J.rotation)===90?{offsetX:-1,offsetY:-1}:{},g(w)?w:{}),X=R.shadowDefinition(V);return this.attr({filter:w?`url(${R.url}#${X})`:"none"})}show(w=!0){return this.attr({visibility:w?"inherit":"visible"})}"stroke-widthSetter"(w,R,V){this[R]=w,V.setAttribute(R,w)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let w=this.getStyle("stroke-width"),R=0,V;return/px$/.test(w)?R=a(w):w!==""&&(v(V=F.createElementNS(k,"rect"),{width:w,"stroke-width":0}),this.element.parentNode.appendChild(V),R=V.getBBox().width,V.parentNode.removeChild(V)),R}symbolAttr(w){let R=this;L.symbolCustomAttribs.forEach(function(V){R[V]=r(w[V],R[V])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})}textSetter(w){w!==this.textStr&&(delete this.textPxLength,this.textStr=w,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(w){let R=this.element,V=R.getElementsByTagName("title")[0]||F.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(V,R.firstChild):R.appendChild(V),V.textContent=n(r(w,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let w=this.element;return w.parentNode.appendChild(w),this}translate(w,R){return this.attr({translateX:w,translateY:R})}updateTransform(w="transform"){var j;let{element:R,matrix:V,rotation:X=0,rotationOriginX:J,rotationOriginY:P,scaleX:C,scaleY:N,translateX:_=0,translateY:y=0}=this,D=["translate("+_+","+y+")"];f(V)&&D.push("matrix("+V.join(",")+")"),X&&(D.push("rotate("+X+" "+r(J,R.getAttribute("x"),0)+" "+r(P,R.getAttribute("y")||0)+")"),((j=this.text)==null?void 0:j.element.tagName)==="SPAN"&&this.text.attr({rotation:X,rotationOriginX:(J||0)-this.padding,rotationOriginY:(P||0)-this.padding})),(f(C)||f(N))&&D.push("scale("+r(C,1)+" "+r(N,1)+")"),D.length&&!(this.text||this).textPath&&R.setAttribute(w,D.join(" "))}visibilitySetter(w,R,V){w==="inherit"?V.removeAttribute(R):this[R]!==w&&V.setAttribute(R,w),this[R]=w}xGetter(w){return this.element.nodeName==="circle"&&(w==="x"?w="cx":w==="y"&&(w="cy")),this._defaultGetter(w)}zIndexSetter(w,R){let V=this.renderer,X=this.parentGroup,J=(X||V).element||V.box,P=this.element,C=J===V.box,N,_,y,D=!1,j,H=this.added,U;if(f(w)?(P.setAttribute("data-z-index",w),w=+w,this[R]===w&&(H=!1)):f(this[R])&&P.removeAttribute("data-z-index"),this[R]=w,H){for((w=this.zIndex)&&X&&(X.handleZ=!0),U=(N=J.childNodes).length-1;U>=0&&!D;U--)j=!f(y=(_=N[U]).getAttribute("data-z-index")),_!==P&&(w<0&&j&&!C&&!U?(J.insertBefore(P,N[U]),D=!0):(a(y)<=w||j&&(!f(w)||w>=0))&&(J.insertBefore(P,N[U+1]),D=!0));D||(J.insertBefore(P,N[C?3:0]),D=!0)}return D}}return L.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],L.prototype.strokeSetter=L.prototype.fillSetter,L.prototype.yGetter=L.prototype.xGetter,L.prototype.matrixSetter=L.prototype.rotationOriginXSetter=L.prototype.rotationOriginYSetter=L.prototype.rotationSetter=L.prototype.scaleXSetter=L.prototype.scaleYSetter=L.prototype.translateXSetter=L.prototype.translateYSetter=L.prototype.verticalAlignSetter=function(z,w){this[w]=z,this.doTransform=!0},L}),O(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T){let{defined:G,extend:$,isNumber:q,merge:Z,pick:Q,removeEvent:Y}=T;class F extends m{constructor(k,E,M,v,o,u,x,f,p,b){let I;super(k,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=E,this.x=M,this.y=v,this.anchorX=u,this.anchorY=x,this.baseline=p,this.className=b,this.addClass(b==="button"?"highcharts-no-tooltip":"highcharts-label"),b&&this.addClass("highcharts-"+b),this.text=k.text(void 0,0,0,f).attr({zIndex:1}),typeof o=="string"&&((I=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=F.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=k.styledMode||I,this.deferredAttr={},this.alignFactor=0}alignSetter(k){let E={left:0,center:.5,right:1}[k];E!==this.alignFactor&&(this.alignFactor=E,this.bBox&&q(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(k,E){this.anchorX=k,this.boxAttr(E,Math.round(k)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(k,E){this.anchorY=k,this.boxAttr(E,k-this.ySetting)}boxAttr(k,E){this.box?this.box.attr(k,E):this.deferredAttr[k]=E}css(k){if(k){let E={};k=Z(k),F.textProps.forEach(M=>{k[M]!==void 0&&(E[M]=k[M],delete k[M])}),this.text.css(E),"fontSize"in E||"fontWeight"in E?this.updateTextPadding():("width"in E||"textOverflow"in E)&&this.updateBoxSize()}return m.prototype.css.call(this,k)}destroy(){Y(this.element,"mouseenter"),Y(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),m.prototype.destroy.call(this)}fillSetter(k,E){k&&(this.needsBox=!0),this.fill=k,this.boxAttr(E,k)}getBBox(k,E){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:M,height:v=0,translateX:o=0,translateY:u=0,width:x=0}=this,f=Q(this.paddingLeft,M),p=E??(this.rotation||0),b={width:x,height:v,x:o+this.bBox.x-f,y:u+this.bBox.y-M+this.baselineOffset};return p&&(b=this.getRotatedBox(b,p)),b}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(k){this.heightSetting=k,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:Q(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&G(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(k,E){q(k)?k!==this[E]&&(this[E]=k,this.updateTextPadding()):this[E]=void 0}rSetter(k,E){this.boxAttr(E,k)}strokeSetter(k,E){this.stroke=k,this.boxAttr(E,k)}"stroke-widthSetter"(k,E){k&&(this.needsBox=!0),this["stroke-width"]=k,this.boxAttr(E,k)}"text-alignSetter"(k){this.textAlign=k}textSetter(k){k!==void 0&&this.text.attr({text:k}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let k,E=this.text,M={},v=this.padding,o=this.bBox=(!q(this.widthSetting)||!q(this.heightSetting)||this.textAlign)&&G(E.textStr)?E.getBBox(void 0,0):F.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*v;let u=this.renderer.fontMetrics(E);if(this.baselineOffset=v+Math.min((this.text.firstLineMetrics||u).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-u.h)/2),this.needsBox&&!E.textPath){if(!this.box){let x=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();x.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),x.add(this)}k=this.getCrispAdjust(),M.x=k,M.y=(this.baseline?-this.baselineOffset:0)+k,M.width=Math.round(this.width),M.height=Math.round(this.height),this.box.attr($(M,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let k=this.text;if(!k.textPath){this.updateBoxSize();let E=this.baseline?0:this.baselineOffset,M=Q(this.paddingLeft,this.padding);G(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(M+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(M!==k.x||E!==k.y)&&(k.attr("x",M),k.hasBoxWidthChanged&&(this.bBox=k.getBBox(!0)),E!==void 0&&k.attr("y",E)),k.x=M,k.y=E}}widthSetter(k){this.widthSetting=q(k)?k:void 0,this.doUpdate=!0}getPaddedWidth(){let k=this.padding,E=Q(this.paddingLeft,k),M=Q(this.paddingRight,k);return(this.widthSetting||this.bBox.width||0)+E+M}xSetter(k){this.x=k,this.alignFactor&&(k-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(k),this.attr("translateX",this.xSetting)}ySetter(k){this.ySetting=this.y=Math.round(k),this.attr("translateY",this.ySetting)}}return F.emptyBBox={width:0,height:0,x:0,y:0},F.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],F}),O(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(m){let{defined:T,isNumber:G,pick:$}=m;function q(Y,F,W,k,E){let M=[];if(E){let v=E.start||0,o=$(E.r,W),u=$(E.r,k||W),x=2e-4/Math.max(o,1),f=Math.abs((E.end||0)-v-2*Math.PI)<x,p=(E.end||0)-x,b=E.innerR,I=$(E.open,f),B=Math.cos(v),A=Math.sin(v),g=Math.cos(p),S=Math.sin(p),l=$(E.longArc,p-v-Math.PI<x?0:1),s=["A",o,u,0,l,$(E.clockwise,1),Y+o*g,F+u*S];s.params={start:v,end:p,cx:Y,cy:F},M.push(["M",Y+o*B,F+u*A],s),T(b)&&((s=["A",b,b,0,l,T(E.clockwise)?1-E.clockwise:0,Y+b*B,F+b*A]).params={start:p,end:v,cx:Y,cy:F},M.push(I?["M",Y+b*g,F+b*S]:["L",Y+b*g,F+b*S],s)),I||M.push(["Z"])}return M}function Z(Y,F,W,k,E){return E&&E.r?Q(Y,F,W,k,E):[["M",Y,F],["L",Y+W,F],["L",Y+W,F+k],["L",Y,F+k],["Z"]]}function Q(Y,F,W,k,E){let M=(E==null?void 0:E.r)||0;return[["M",Y+M,F],["L",Y+W-M,F],["A",M,M,0,0,1,Y+W,F+M],["L",Y+W,F+k-M],["A",M,M,0,0,1,Y+W-M,F+k],["L",Y+M,F+k],["A",M,M,0,0,1,Y,F+k-M],["L",Y,F+M],["A",M,M,0,0,1,Y+M,F],["Z"]]}return{arc:q,callout:function(Y,F,W,k,E){let M=Math.min(E&&E.r||0,W,k),v=M+6,o=E&&E.anchorX,u=E&&E.anchorY||0,x=Q(Y,F,W,k,{r:M});if(!G(o)||o<W&&o>0&&u<k&&u>0)return x;if(Y+o>W-v)if(u>F+v&&u<F+k-v)x.splice(3,1,["L",Y+W,u-6],["L",Y+W+6,u],["L",Y+W,u+6],["L",Y+W,F+k-M]);else if(o<W){let f=u<F+v,p=f?F:F+k;x.splice(f?2:5,0,["L",o,u],["L",Y+W-M,p])}else x.splice(3,1,["L",Y+W,k/2],["L",o,u],["L",Y+W,k/2],["L",Y+W,F+k-M]);else if(Y+o<v)if(u>F+v&&u<F+k-v)x.splice(7,1,["L",Y,u+6],["L",Y-6,u],["L",Y,u-6],["L",Y,F+M]);else if(o>0){let f=u<F+v,p=f?F:F+k;x.splice(f?1:6,0,["L",o,u],["L",Y+M,p])}else x.splice(7,1,["L",Y,k/2],["L",o,u],["L",Y,k/2],["L",Y,F+M]);else u>k&&o<W-v?x.splice(5,1,["L",o+6,F+k],["L",o,F+k+6],["L",o-6,F+k],["L",Y+M,F+k]):u<0&&o>v&&x.splice(1,1,["L",o-6,F],["L",o,F-6],["L",o+6,F],["L",W-M,F]);return x},circle:function(Y,F,W,k){return q(Y+W/2,F+k/2,W/2,k/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(Y,F,W,k){return[["M",Y+W/2,F],["L",Y+W,F+k/2],["L",Y+W/2,F+k],["L",Y,F+k/2],["Z"]]},rect:Z,roundedRect:Q,square:Z,triangle:function(Y,F,W,k){return[["M",Y+W/2,F],["L",Y+W,F+k],["L",Y,F+k],["Z"]]},"triangle-down":function(Y,F,W,k){return[["M",Y,F],["L",Y+W,F],["L",Y+W/2,F+k],["Z"]]}}}),O(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{doc:$,SVG_NS:q,win:Z}=T,{attr:Q,extend:Y,fireEvent:F,isString:W,objectEach:k,pick:E}=G;return class{constructor(M){let v=M.styles;this.renderer=M.renderer,this.svgElement=M,this.width=M.textWidth,this.textLineHeight=v&&v.lineHeight,this.textOutline=v&&v.textOutline,this.ellipsis=!!(v&&v.textOverflow==="ellipsis"),this.noWrap=!!(v&&v.whiteSpace==="nowrap")}buildSVG(){let M=this.svgElement,v=M.element,o=M.renderer,u=E(M.textStr,"").toString(),x=u.indexOf("<")!==-1,f=v.childNodes,p=!M.added&&o.box,b=[u,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,M.getStyle("font-size"),this.width].join(",");if(b!==M.textCache){M.textCache=b,delete M.actualWidth;for(let I=f.length;I--;)v.removeChild(f[I]);if(x||this.ellipsis||this.width||M.textPath||u.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(u))){if(u!==""){p&&p.appendChild(v);let I=new m(u);this.modifyTree(I.nodes),I.addToDOM(v),this.modifyDOM(),this.ellipsis&&(v.textContent||"").indexOf("…")!==-1&&M.attr("title",this.unescapeEntities(M.textStr||"",["<",">"])),p&&p.removeChild(v)}}else v.appendChild($.createTextNode(this.unescapeEntities(u)));W(this.textOutline)&&M.applyTextOutline&&M.applyTextOutline(this.textOutline)}}modifyDOM(){let M,v=this.svgElement,o=Q(v.element,"x");for(v.firstLineMetrics=void 0;(M=v.element.firstChild)&&/^[\s\u200B]*$/.test(M.textContent||" ");)v.element.removeChild(M);[].forEach.call(v.element.querySelectorAll("tspan.highcharts-br"),(p,b)=>{p.nextSibling&&p.previousSibling&&(b===0&&p.previousSibling.nodeType===1&&(v.firstLineMetrics=v.renderer.fontMetrics(p.previousSibling)),Q(p,{dy:this.getLineHeight(p.nextSibling),x:o}))});let u=this.width||0;if(!u)return;let x=(p,b)=>{let I=p.textContent||"",B=I.replace(/([^\^])-/g,"$1- ").split(" "),A=!this.noWrap&&(B.length>1||v.element.childNodes.length>1),g=this.getLineHeight(b),S=0,l=v.actualWidth;if(this.ellipsis)I&&this.truncate(p,I,void 0,0,Math.max(0,u-.8*g),(s,r)=>s.substring(0,r)+"…");else if(A){let s=[],r=[];for(;b.firstChild&&b.firstChild!==p;)r.push(b.firstChild),b.removeChild(b.firstChild);for(;B.length;)B.length&&!this.noWrap&&S>0&&(s.push(p.textContent||""),p.textContent=B.join(" ").replace(/- /g,"-")),this.truncate(p,void 0,B,S===0&&l||0,u,(a,d)=>B.slice(0,d).join(" ").replace(/- /g,"-")),l=v.actualWidth,S++;r.forEach(a=>{b.insertBefore(a,p)}),s.forEach(a=>{b.insertBefore($.createTextNode(a),p);let d=$.createElementNS(q,"tspan");d.textContent="​",Q(d,{dy:g,x:o}),b.insertBefore(d,p)})}},f=p=>{[].slice.call(p.childNodes).forEach(b=>{b.nodeType===Z.Node.TEXT_NODE?x(b,p):(b.className.baseVal.indexOf("highcharts-br")!==-1&&(v.actualWidth=0),f(b))})};f(v.element)}getLineHeight(M){let v=M.nodeType===Z.Node.TEXT_NODE?M.parentElement:M;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(v||this.svgElement.element).h}modifyTree(M){let v=(o,u)=>{let{attributes:x={},children:f,style:p={},tagName:b}=o,I=this.renderer.styledMode;if(b==="b"||b==="strong"?I?x.class="highcharts-strong":p.fontWeight="bold":(b==="i"||b==="em")&&(I?x.class="highcharts-emphasized":p.fontStyle="italic"),p&&p.color&&(p.fill=p.color),b==="br"){x.class="highcharts-br",o.textContent="​";let B=M[u+1];B&&B.textContent&&(B.textContent=B.textContent.replace(/^ +/gm,""))}else b==="a"&&f&&f.some(B=>B.tagName==="#text")&&(o.children=[{children:f,tagName:"tspan"}]);b!=="#text"&&b!=="a"&&(o.tagName="tspan"),Y(o,{attributes:x,style:p}),f&&f.filter(B=>B.tagName!=="#text").forEach(v)};M.forEach(v),F(this.svgElement,"afterModifyTree",{nodes:M})}truncate(M,v,o,u,x,f){let p,b,I=this.svgElement,{rotation:B}=I,A=[],g=o?1:0,S=(v||o||"").length,l=S,s=function(r,a){let d=a||r,n=M.parentNode;if(n&&A[d]===void 0&&n.getSubStringLength)try{A[d]=u+n.getSubStringLength(0,o?d+1:d)}catch{}return A[d]};if(I.rotation=0,u+(b=s(M.textContent.length))>x){for(;g<=S;)l=Math.ceil((g+S)/2),o&&(p=f(o,l)),b=s(l,p&&p.length-1),g===S?g=S+1:b>x?S=l-1:g=l;S===0?M.textContent="":v&&S===v.length-1||(M.textContent=p||f(v||o,l))}o&&o.splice(0,l),I.actualWidth=b,I.rotation=B}unescapeEntities(M,v){return k(this.renderer.escapes,function(o,u){v&&v.indexOf(o)!==-1||(M=M.toString().replace(RegExp(o,"g"),u))}),M}}}),O(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F,W){let k,{defaultOptions:E}=T,{charts:M,deg2rad:v,doc:o,isFirefox:u,isMS:x,isWebKit:f,noop:p,SVG_NS:b,symbolSizes:I,win:B}=$,{addEvent:A,attr:g,createElement:S,crisp:l,css:s,defined:r,destroyObjectProperties:a,extend:d,isArray:n,isNumber:h,isObject:c,isString:L,merge:z,pick:w,pInt:R,replaceNested:V,uniqueKey:X}=W;class J{constructor(C,N,_,y,D,j,H){let U,K,et=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),rt=et.element;H||et.css(this.getStyle(y||{})),C.appendChild(rt),g(C,"dir","ltr"),C.innerHTML.indexOf("xmlns")===-1&&g(rt,"xmlns",this.SVG_NS),this.box=rt,this.boxWrapper=et,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(o.createTextNode("Created with Highcharts 11.4.6")),this.defs=this.createElement("defs").add(),this.allowHTML=j,this.forExport=D,this.styledMode=H,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=et.getStyle("font-size"),this.setSize(N,_,!1),u&&C.getBoundingClientRect&&((U=function(){s(C,{left:0,top:0}),K=C.getBoundingClientRect(),s(C,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=A(B,"resize",U))}definition(C){return new m([C]).addToDOM(this.defs.element)}getReferenceURL(){if((u||f)&&o.getElementsByTagName("base").length){if(!r(k)){let C=X(),N=new m([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:C},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${C})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(o.body);s(N,{position:"fixed",top:0,left:0,zIndex:9e5});let _=o.elementFromPoint(6,6);k=(_&&_.id)==="hitme",o.body.removeChild(N)}if(k)return V(B.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(C){return this.style=d({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},C),this.style}setStyle(C){this.boxWrapper.css(this.getStyle(C))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let C=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),a(this.gradients||{}),this.gradients=null,this.defs=C.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(C){return new this.Element(this,C)}getRadialAttr(C,N){return{cx:C[0]-C[2]/2+(N.cx||0)*C[2],cy:C[1]-C[2]/2+(N.cy||0)*C[2],r:(N.r||0)*C[2]}}shadowDefinition(C){let N=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(C).map(y=>`${y}-${C[y]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),_=z({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},C);return this.defs.element.querySelector(`#${N}`)||this.definition({tagName:"filter",attributes:{id:N,filterUnits:_.filterUnits},children:this.getShadowFilterContent(_)}),N}getShadowFilterContent(C){return[{tagName:"feDropShadow",attributes:{dx:C.offsetX,dy:C.offsetY,"flood-color":C.color,"flood-opacity":Math.min(5*C.opacity,1),stdDeviation:C.width/2}}]}buildText(C){new F(C).buildSVG()}getContrast(C){let N=G.parse(C).rgba.map(y=>{let D=y/255;return D<=.03928?D/12.92:Math.pow((D+.055)/1.055,2.4)}),_=.2126*N[0]+.7152*N[1]+.0722*N[2];return 1.05/(_+.05)>(_+.05)/.05?"#FFFFFF":"#000000"}button(C,N,_,y,D={},j,H,U,K,et){let rt=this.label(C,N,_,K,void 0,void 0,et,void 0,"button"),nt=this.styledMode,lt=arguments,ht=0;D=z(E.global.buttonTheme,D),nt&&(delete D.fill,delete D.stroke,delete D["stroke-width"]);let it=D.states||{},tt=D.style||{};delete D.states,delete D.style;let st=[m.filterUserAttributes(D)],ot=[tt];return nt||["hover","select","disabled"].forEach((at,ct)=>{st.push(z(st[0],m.filterUserAttributes(lt[ct+5]||it[at]||{}))),ot.push(st[ct+1].style),delete st[ct+1].style}),A(rt.element,x?"mouseover":"mouseenter",function(){ht!==3&&rt.setState(1)}),A(rt.element,x?"mouseout":"mouseleave",function(){ht!==3&&rt.setState(ht)}),rt.setState=(at=0)=>{if(at!==1&&(rt.state=ht=at),rt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][at]),!nt){rt.attr(st[at]);let ct=ot[at];c(ct)&&rt.css(ct)}},rt.attr(st[0]),!nt&&(rt.css(d({cursor:"default"},tt)),et&&rt.text.css({pointerEvents:"none"})),rt.on("touchstart",at=>at.stopPropagation()).on("click",function(at){ht!==3&&y.call(rt,at)})}crispLine(C,N){let[_,y]=C;return r(_[1])&&_[1]===y[1]&&(_[1]=y[1]=l(_[1],N)),r(_[2])&&_[2]===y[2]&&(_[2]=y[2]=l(_[2],N)),C}path(C){let N=this.styledMode?{}:{fill:"none"};return n(C)?N.d=C:c(C)&&d(N,C),this.createElement("path").attr(N)}circle(C,N,_){let y=c(C)?C:C===void 0?{}:{x:C,y:N,r:_},D=this.createElement("circle");return D.xSetter=D.ySetter=function(j,H,U){U.setAttribute("c"+H,j)},D.attr(y)}arc(C,N,_,y,D,j){let H;c(C)?(N=(H=C).y,_=H.r,y=H.innerR,D=H.start,j=H.end,C=H.x):H={innerR:y,start:D,end:j};let U=this.symbol("arc",C,N,_,_,H);return U.r=_,U}rect(C,N,_,y,D,j){let H=c(C)?C:C===void 0?{}:{x:C,y:N,r:D,width:Math.max(_||0,0),height:Math.max(y||0,0)},U=this.createElement("rect");return this.styledMode||(j!==void 0&&(H["stroke-width"]=j,d(H,U.crisp(H))),H.fill="none"),U.rSetter=function(K,et,rt){U.r=K,g(rt,{rx:K,ry:K})},U.rGetter=function(){return U.r||0},U.attr(H)}roundedRect(C){return this.symbol("roundedRect").attr(C)}setSize(C,N,_){this.width=C,this.height=N,this.boxWrapper.animate({width:C,height:N},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(_,!0)?void 0:0}),this.alignElements()}g(C){let N=this.createElement("g");return C?N.attr({class:"highcharts-"+C}):N}image(C,N,_,y,D,j){let H={preserveAspectRatio:"none"};h(N)&&(H.x=N),h(_)&&(H.y=_),h(y)&&(H.width=y),h(D)&&(H.height=D);let U=this.createElement("image").attr(H),K=function(et){U.attr({href:C}),j.call(U,et)};if(j){U.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let et=new B.Image;A(et,"load",K),et.src=C,et.complete&&K({})}else U.attr({href:C});return U}symbol(C,N,_,y,D,j){let H,U,K,et,rt=this,nt=/^url\((.*?)\)$/,lt=nt.test(C),ht=!lt&&(this.symbols[C]?C:"circle"),it=ht&&this.symbols[ht];if(it)typeof N=="number"&&(U=it.call(this.symbols,N||0,_||0,y||0,D||0,j)),H=this.path(U),rt.styledMode||H.attr("fill","none"),d(H,{symbolName:ht||void 0,x:N,y:_,width:y,height:D}),j&&d(H,j);else if(lt){K=C.match(nt)[1];let tt=H=this.image(K);tt.imgwidth=w(j&&j.width,I[K]&&I[K].width),tt.imgheight=w(j&&j.height,I[K]&&I[K].height),et=st=>st.attr({width:st.width,height:st.height}),["width","height"].forEach(st=>{tt[`${st}Setter`]=function(ot,at){this[at]=ot;let{alignByTranslate:ct,element:dt,width:ut,height:pt,imgwidth:gt,imgheight:ft}=this,mt=at==="width"?gt:ft,xt=1;j&&j.backgroundSize==="within"&&ut&&pt&>&&ft?(xt=Math.min(ut/gt,pt/ft),g(dt,{width:Math.round(gt*xt),height:Math.round(ft*xt)})):dt&&mt&&dt.setAttribute(at,mt),!ct&>&&ft&&this.translate(((ut||0)-gt*xt)/2,((pt||0)-ft*xt)/2)}}),r(N)&&tt.attr({x:N,y:_}),tt.isImg=!0,r(tt.imgwidth)&&r(tt.imgheight)?et(tt):(tt.attr({width:0,height:0}),S("img",{onload:function(){let st=M[rt.chartIndex];this.width===0&&(s(this,{position:"absolute",top:"-999em"}),o.body.appendChild(this)),I[K]={width:this.width,height:this.height},tt.imgwidth=this.width,tt.imgheight=this.height,tt.element&&et(tt),this.parentNode&&this.parentNode.removeChild(this),rt.imgCount--,rt.imgCount||!st||st.hasLoaded||st.onload()},src:K}),this.imgCount++)}return H}clipRect(C,N,_,y){return this.rect(C,N,_,y,0)}text(C,N,_,y){let D={};if(y&&(this.allowHTML||!this.forExport))return this.html(C,N,_);D.x=Math.round(N||0),_&&(D.y=Math.round(_)),r(C)&&(D.text=C);let j=this.createElement("text").attr(D);return y&&(!this.forExport||this.allowHTML)||(j.xSetter=function(H,U,K){let et=K.getElementsByTagName("tspan"),rt=K.getAttribute(U);for(let nt=0,lt;nt<et.length;nt++)(lt=et[nt]).getAttribute(U)===rt&<.setAttribute(U,H);K.setAttribute(U,H)}),j}fontMetrics(C){let N=R(Z.prototype.getStyle.call(C,"font-size")||0),_=N<24?N+3:Math.round(1.2*N),y=Math.round(.8*_);return{h:_,b:y,f:N}}rotCorr(C,N,_){let y=C;return N&&_&&(y=Math.max(y*Math.cos(N*v),4)),{x:-C/3*Math.sin(N*v),y}}pathToSegments(C){let N=[],_=[],y={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let D=0;D<C.length;D++)L(_[0])&&h(C[D])&&_.length===y[_[0].toUpperCase()]&&C.splice(D,0,_[0].replace("M","L").replace("m","l")),typeof C[D]=="string"&&(_.length&&N.push(_.slice(0)),_.length=0),_.push(C[D]);return N.push(_.slice(0)),N}label(C,N,_,y,D,j,H,U,K){return new Q(this,C,N,_,y,D,j,H,U,K)}alignElements(){this.alignedObjects.forEach(C=>C.align())}}return d(J.prototype,{Element:Z,SVG_NS:b,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:Y,draw:p}),q.registerRendererType("svg",J,!0),J}),O(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{composed:q}=T,{attr:Z,css:Q,createElement:Y,defined:F,extend:W,pInt:k,pushUnique:E}=$;function M(x,f,p){var I;let b=((I=this.div)==null?void 0:I.style)||p.style;G.prototype[`${f}Setter`].call(this,x,f,p),b&&(b[f]=x)}let v=(x,f)=>{var p;if(!x.div){let b=Z(x.element,"class"),I=x.css,B=Y("div",b?{className:b}:void 0,{position:"absolute",left:`${x.translateX||0}px`,top:`${x.translateY||0}px`,...x.styles,display:x.display,opacity:x.opacity,visibility:x.visibility},((p=x.parentGroup)==null?void 0:p.div)||f);x.classSetter=(A,g,S)=>{S.setAttribute("class",A),B.className=A},x.translateXSetter=x.translateYSetter=(A,g)=>{x[g]=A,B.style[g==="translateX"?"left":"top"]=`${A}px`,x.doTransform=!0},x.opacitySetter=x.visibilitySetter=M,x.css=A=>(I.call(x,A),A.cursor&&(B.style.cursor=A.cursor),A.pointerEvents&&(B.style.pointerEvents=A.pointerEvents),x),x.on=function(){return G.prototype.on.apply({element:B,onEvents:x.onEvents},arguments),x},x.div=B}return x.div};class o extends G{static compose(f){E(q,this.compose)&&(f.prototype.html=function(p,b,I){return new o(this,"span").attr({text:p,x:Math.round(b),y:Math.round(I)})})}constructor(f,p){super(f,p),this.css({position:"absolute",...f.styledMode?{}:{fontFamily:f.style.fontFamily,fontSize:f.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(f,p,b){this.xCorr=-f*b,this.yCorr=-p}css(f){let p,{element:b}=this,I=b.tagName==="SPAN"&&f&&"width"in f,B=I&&f.width;return I&&(delete f.width,this.textWidth=k(B)||void 0,p=!0),(f==null?void 0:f.textOverflow)==="ellipsis"&&(f.whiteSpace="nowrap",f.overflow="hidden"),W(this.styles,f),Q(b,f),p&&this.updateTransform(),this}htmlGetBBox(){let{element:f}=this;return{x:f.offsetLeft,y:f.offsetTop,width:f.offsetWidth,height:f.offsetHeight}}updateTransform(){var h;if(!this.added){this.alignOnAdd=!0;return}let{element:f,renderer:p,rotation:b,rotationOriginX:I,rotationOriginY:B,styles:A,textAlign:g="left",textWidth:S,translateX:l=0,translateY:s=0,x:r=0,y:a=0}=this,d={left:0,center:.5,right:1}[g],n=A.whiteSpace;if(Q(f,{marginLeft:`${l}px`,marginTop:`${s}px`}),f.tagName==="SPAN"){let c=[b,g,f.innerHTML,S,this.textAlign].join(","),L=-(((h=this.parentGroup)==null?void 0:h.padding)*1)||0,z,w=!1;if(S!==this.oldTextWidth){let P=this.textPxLength?this.textPxLength:(Q(f,{width:"",whiteSpace:n||"nowrap"}),f.offsetWidth),C=S||0;(C>this.oldTextWidth||P>C)&&(/[ \-]/.test(f.textContent||f.innerText)||f.style.textOverflow==="ellipsis")&&(Q(f,{width:P>C||b?S+"px":"auto",display:"block",whiteSpace:n||"normal"}),this.oldTextWidth=S,w=!0)}this.hasBoxWidthChanged=w,c!==this.cTT&&(z=p.fontMetrics(f).b,F(b)&&(b!==(this.oldRotation||0)||g!==this.oldAlign)&&this.setSpanRotation(b,L,L),this.getSpanCorrection(!F(b)&&this.textPxLength||f.offsetWidth,z,d));let{xCorr:R=0,yCorr:V=0}=this,X=(I??r)-R-r-L,J=(B??a)-V-a-L;Q(f,{left:`${r+R}px`,top:`${a+V}px`,transformOrigin:`${X}px ${J}px`}),this.cTT=c,this.oldRotation=b,this.oldAlign=g}}setSpanRotation(f,p,b){Q(this.element,{transform:`rotate(${f}deg)`,transformOrigin:`${p}% ${b}px`})}add(f){let p,b=this.renderer.box.parentNode,I=[];if(this.parentGroup=f,f&&!(p=f.div)){let B=f;for(;B;)I.push(B),B=B.parentGroup;for(let A of I.reverse())p=v(A,b)}return(p||b).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(f){f!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,m.setElementHTML(this.element,f??""),this.textStr=f,this.doTransform=!0)}alignSetter(f){this.alignValue=this.textAlign=f,this.doTransform=!0}xSetter(f,p){this[p]=f,this.doTransform=!0}}let u=o.prototype;return u.visibilitySetter=u.opacitySetter=M,u.ySetter=u.rotationSetter=u.rotationOriginXSetter=u.rotationOriginYSetter=u.xSetter,o}),O(e,"Core/Axis/AxisDefaults.js",[],function(){var m,T;return(T=m||(m={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},T.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:G}=this.axis.chart;return G(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},m}),O(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,isFunction:$,objectEach:q,removeEvent:Z}=m;return(T||(T={})).registerEventOptions=function(Q,Y){Q.eventOptions=Q.eventOptions||{},q(Y.events,function(F,W){Q.eventOptions[W]!==F&&(Q.eventOptions[W]&&(Z(Q,W,Q.eventOptions[W]),delete Q.eventOptions[W]),$(F)&&(Q.eventOptions[W]=F,G(Q,W,F,{order:0})))})},T}),O(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{deg2rad:$}=T,{clamp:q,correctFloat:Z,defined:Q,destroyObjectProperties:Y,extend:F,fireEvent:W,isNumber:k,merge:E,objectEach:M,pick:v}=G;return class{constructor(o,u,x,f,p){this.isNew=!0,this.isNewLabel=!0,this.axis=o,this.pos=u,this.type=x||"",this.parameters=p||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,W(this,"init"),x||f||this.addLabel()}addLabel(){let o=this,u=o.axis,x=u.options,f=u.chart,p=u.categories,b=u.logarithmic,I=u.names,B=o.pos,A=v(o.options&&o.options.labels,x.labels),g=u.tickPositions,S=B===g[0],l=B===g[g.length-1],s=(!A.step||A.step===1)&&u.tickInterval===1,r=g.info,a=o.label,d,n,h,c=this.parameters.category||(p?v(p[B],I[B],B):B);b&&k(c)&&(c=Z(b.lin2log(c))),u.dateTime&&(r?d=(n=f.time.resolveDTLFormat(x.dateTimeLabelFormats[!x.grid&&r.higherRanks[B]||r.unitName])).main:k(c)&&(d=u.dateTime.getXDateFormat(c,x.dateTimeLabelFormats||{}))),o.isFirst=S,o.isLast=l;let L={axis:u,chart:f,dateTimeLabelFormat:d,isFirst:S,isLast:l,pos:B,tick:o,tickPositionInfo:r,value:c};W(this,"labelFormat",L);let z=V=>A.formatter?A.formatter.call(V,V):A.format?(V.text=u.defaultLabelFormatter.call(V),m.format(A.format,V,f)):u.defaultLabelFormatter.call(V),w=z.call(L,L),R=n&&n.list;R?o.shortenLabel=function(){for(h=0;h<R.length;h++)if(F(L,{dateTimeLabelFormat:R[h]}),a.attr({text:z.call(L,L)}),a.getBBox().width<u.getSlotWidth(o)-2*(A.padding||0))return;a.attr({text:""})}:o.shortenLabel=void 0,s&&u._addedPlotLB&&o.moveLabel(w,A),Q(a)||o.movedLabel?a&&a.textStr!==w&&!s&&(!a.textWidth||A.style.width||a.styles.width||a.css({width:null}),a.attr({text:w}),a.textPxLength=a.getBBox().width):(o.label=a=o.createLabel(w,A),o.rotation=0)}createLabel(o,u,x){let f=this.axis,p=f.chart,b=Q(o)&&u.enabled?p.renderer.text(o,x==null?void 0:x.x,x==null?void 0:x.y,u.useHTML).add(f.labelGroup):void 0;return b&&(p.styledMode||b.css(E(u.style)),b.textPxLength=b.getBBox().width),b}destroy(){Y(this,this.axis)}getPosition(o,u,x,f){let p=this.axis,b=p.chart,I=f&&b.oldChartHeight||b.chartHeight,B={x:o?Z(p.translate(u+x,void 0,void 0,f)+p.transB):p.left+p.offset+(p.opposite?(f&&b.oldChartWidth||b.chartWidth)-p.right-p.left:0),y:o?I-p.bottom+p.offset-(p.opposite?p.height:0):Z(I-p.translate(u+x,void 0,void 0,f)-p.transB)};return B.y=q(B.y,-1e5,1e5),W(this,"afterGetPosition",{pos:B}),B}getLabelPosition(o,u,x,f,p,b,I,B){let A,g,S=this.axis,l=S.transA,s=S.isLinked&&S.linkedParent?S.linkedParent.reversed:S.reversed,r=S.staggerLines,a=S.tickRotCorr||{x:0,y:0},d=f||S.reserveSpaceDefault?0:-S.labelOffset*(S.labelAlign==="center"?.5:1),n=p.distance,h={};return A=S.side===0?x.rotation?-n:-x.getBBox().height:S.side===2?a.y+n:Math.cos(x.rotation*$)*(a.y-x.getBBox(!1,0).height/2),Q(p.y)&&(A=S.side===0&&S.horiz?p.y+A:p.y),o=o+v(p.x,[0,1,0,-1][S.side]*n)+d+a.x-(b&&f?b*l*(s?-1:1):0),u=u+A-(b&&!f?b*l*(s?1:-1):0),r&&(g=I/(B||1)%r,S.opposite&&(g=r-g-1),u+=g*(S.labelOffset/r)),h.x=o,h.y=Math.round(u),W(this,"afterGetLabelPosition",{pos:h,tickmarkOffset:b,index:I}),h}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(o,u,x,f,p=!1,b){return b.crispLine([["M",o,u],["L",o+(p?0:-x),u+(p?x:0)]],f)}handleOverflow(o){let u=this.axis,x=u.options.labels,f=o.x,p=u.chart.chartWidth,b=u.chart.spacing,I=v(u.labelLeft,Math.min(u.pos,b[3])),B=v(u.labelRight,Math.max(u.isRadial?0:u.pos+u.len,p-b[1])),A=this.label,g=this.rotation,S={left:0,center:.5,right:1}[u.labelAlign||A.attr("align")],l=A.getBBox().width,s=u.getSlotWidth(this),r={},a=s,d=1,n,h,c;g||x.overflow!=="justify"?g<0&&f-S*l<I?c=Math.round(f/Math.cos(g*$)-I):g>0&&f+S*l>B&&(c=Math.round((p-f)/Math.cos(g*$))):(n=f-S*l,h=f+(1-S)*l,n<I?a=o.x+a*(1-S)-I:h>B&&(a=B-o.x+a*S,d=-1),(a=Math.min(s,a))<s&&u.labelAlign==="center"&&(o.x+=d*(s-a-S*(s-Math.min(l,a)))),(l>a||u.autoRotation&&(A.styles||{}).width)&&(c=a)),c&&(this.shortenLabel?this.shortenLabel():(r.width=Math.floor(c)+"px",(x.style||{}).textOverflow||(r.textOverflow="ellipsis"),A.css(r)))}moveLabel(o,u){let x=this,f=x.label,p=x.axis,b=!1,I;f&&f.textStr===o?(x.movedLabel=f,b=!0,delete x.label):M(p.ticks,function(B){b||B.isNew||B===x||!B.label||B.label.textStr!==o||(x.movedLabel=B.label,b=!0,B.labelPos=x.movedLabel.xy,delete B.label)}),!b&&(x.labelPos||f)&&(I=x.labelPos||f.xy,x.movedLabel=x.createLabel(o,u,I),x.movedLabel&&x.movedLabel.attr({opacity:0}))}render(o,u,x){let f=this.axis,p=f.horiz,b=this.pos,I=v(this.tickmarkOffset,f.tickmarkOffset),B=this.getPosition(p,b,I,u),A=B.x,g=B.y,S=f.pos,l=S+f.len,s=p?A:g;!f.chart.polar&&this.isNew&&(Z(s)<S||s>l)&&(x=0);let r=v(x,this.label&&this.label.newOpacity,1);x=v(x,1),this.isActive=!0,this.renderGridLine(u,x),this.renderMark(B,x),this.renderLabel(B,u,r,o),this.isNew=!1,W(this,"afterRender")}renderGridLine(o,u){let x=this.axis,f=x.options,p={},b=this.pos,I=this.type,B=v(this.tickmarkOffset,x.tickmarkOffset),A=x.chart.renderer,g=this.gridLine,S,l=f.gridLineWidth,s=f.gridLineColor,r=f.gridLineDashStyle;this.type==="minor"&&(l=f.minorGridLineWidth,s=f.minorGridLineColor,r=f.minorGridLineDashStyle),g||(x.chart.styledMode||(p.stroke=s,p["stroke-width"]=l||0,p.dashstyle=r),I||(p.zIndex=1),o&&(u=0),this.gridLine=g=A.path().attr(p).addClass("highcharts-"+(I?I+"-":"")+"grid-line").add(x.gridGroup)),g&&(S=x.getPlotLinePath({value:b+B,lineWidth:g.strokeWidth(),force:"pass",old:o,acrossPanes:!1}))&&g[o||this.isNew?"attr":"animate"]({d:S,opacity:u})}renderMark(o,u){let x=this.axis,f=x.options,p=x.chart.renderer,b=this.type,I=x.tickSize(b?b+"Tick":"tick"),B=o.x,A=o.y,g=v(f[b!=="minor"?"tickWidth":"minorTickWidth"],!b&&x.isXAxis?1:0),S=f[b!=="minor"?"tickColor":"minorTickColor"],l=this.mark,s=!l;I&&(x.opposite&&(I[0]=-I[0]),l||(this.mark=l=p.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(x.axisGroup),x.chart.styledMode||l.attr({stroke:S,"stroke-width":g})),l[s?"attr":"animate"]({d:this.getMarkPath(B,A,I[0],l.strokeWidth(),x.horiz,p),opacity:u}))}renderLabel(o,u,x,f){let p=this.axis,b=p.horiz,I=p.options,B=this.label,A=I.labels,g=A.step,S=v(this.tickmarkOffset,p.tickmarkOffset),l=o.x,s=o.y,r=!0;B&&k(l)&&(B.xy=o=this.getLabelPosition(l,s,B,b,A,S,f,g),(!this.isFirst||this.isLast||I.showFirstLabel)&&(!this.isLast||this.isFirst||I.showLastLabel)?!b||A.step||A.rotation||u||x===0||this.handleOverflow(o):r=!1,g&&f%g&&(r=!1),r&&k(o.y)?(o.opacity=x,B[this.isNewLabel?"attr":"animate"](o).show(!0),this.isNewLabel=!1):(B.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let o=this.label,u=this.axis;o&&!this.isNew&&(o.animate({opacity:0},void 0,o.destroy),delete this.label),u.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),O(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y){let{animObject:F}=m,{xAxis:W,yAxis:k}=T,{defaultOptions:E}=$,{registerEventOptions:M}=q,{deg2rad:v}=Z,{arrayMax:o,arrayMin:u,clamp:x,correctFloat:f,defined:p,destroyObjectProperties:b,erase:I,error:B,extend:A,fireEvent:g,getClosestDistance:S,insertItem:l,isArray:s,isNumber:r,isString:a,merge:d,normalizeTickInterval:n,objectEach:h,pick:c,relativeLength:L,removeEvent:z,splat:w,syncTimeout:R}=Y,V=(J,P)=>n(P,void 0,void 0,c(J.options.allowDecimals,P<.5||J.tickAmount!==void 0),!!J.tickAmount);A(E,{xAxis:W,yAxis:d(W,k)});class X{constructor(P,C,N){this.init(P,C,N)}init(P,C,N=this.coll){let _=N==="xAxis",y=this.isZAxis||(P.inverted?!_:_);this.chart=P,this.horiz=y,this.isXAxis=_,this.coll=N,g(this,"init",{userOptions:C}),this.opposite=c(C.opposite,this.opposite),this.side=c(C.side,this.side,y?this.opposite?0:2:this.opposite?1:3),this.setOptions(C);let D=this.options,j=D.labels,H=D.type;this.userOptions=C,this.minPixelPadding=0,this.reversed=c(D.reversed,this.reversed),this.visible=D.visible,this.zoomEnabled=D.zoomEnabled,this.hasNames=H==="category"||D.categories===!0,this.categories=s(D.categories)&&D.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=p(D.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=D.minRange||D.maxZoom,this.range=D.range,this.offset=D.offset||0,this.max=void 0,this.min=void 0;let U=c(D.crosshair,w(P.options.tooltip.crosshairs)[_?0:1]);this.crosshair=U===!0?{}:U,P.axes.indexOf(this)===-1&&(_?P.axes.splice(P.xAxis.length,0,this):P.axes.push(this),l(this,P[this.coll])),P.orderItems(this.coll),this.series=this.series||[],P.inverted&&!this.isZAxis&&_&&!p(this.reversed)&&(this.reversed=!0),this.labelRotation=r(j.rotation)?j.rotation:void 0,M(this,D),g(this,"afterInit")}setOptions(P){let C=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=d(C,E[this.coll],P),g(this,"afterSetOptions",{userOptions:P})}defaultLabelFormatter(){let P=this.axis,{numberFormatter:C}=this.chart,N=r(this.value)?this.value:NaN,_=P.chart.time,y=P.categories,D=this.dateTimeLabelFormat,j=E.lang,H=j.numericSymbols,U=j.numericSymbolMagnitude||1e3,K=P.logarithmic?Math.abs(N):P.tickInterval,et=H&&H.length,rt,nt;if(y)nt=`${this.value}`;else if(D)nt=_.dateFormat(D,N);else if(et&&H&&K>=1e3)for(;et--&&nt===void 0;)K>=(rt=Math.pow(U,et+1))&&10*N%rt==0&&H[et]!==null&&N!==0&&(nt=C(N/rt,-1)+H[et]);return nt===void 0&&(nt=Math.abs(N)>=1e4?C(N,-1):C(N,-1,void 0,"")),nt}getSeriesExtremes(){let P,C=this;g(this,"getSeriesExtremes",null,function(){C.hasVisibleSeries=!1,C.dataMin=C.dataMax=C.threshold=void 0,C.softThreshold=!C.isXAxis,C.series.forEach(N=>{if(N.reserveSpace()){let _=N.options,y,D=_.threshold,j,H;if(C.hasVisibleSeries=!0,C.positiveValuesOnly&&0>=(D||0)&&(D=void 0),C.isXAxis)(y=N.xData)&&y.length&&(y=C.logarithmic?y.filter(U=>U>0):y,j=(P=N.getXExtremes(y)).min,H=P.max,r(j)||j instanceof Date||(y=y.filter(r),j=(P=N.getXExtremes(y)).min,H=P.max),y.length&&(C.dataMin=Math.min(c(C.dataMin,j),j),C.dataMax=Math.max(c(C.dataMax,H),H)));else{let U=N.applyExtremes();r(U.dataMin)&&(j=U.dataMin,C.dataMin=Math.min(c(C.dataMin,j),j)),r(U.dataMax)&&(H=U.dataMax,C.dataMax=Math.max(c(C.dataMax,H),H)),p(D)&&(C.threshold=D),(!_.softThreshold||C.positiveValuesOnly)&&(C.softThreshold=!1)}}})}),g(this,"afterGetSeriesExtremes")}translate(P,C,N,_,y,D){var ht;let j=this.linkedParent||this,H=_&&j.old?j.old.min:j.min;if(!r(H))return NaN;let U=j.minPixelPadding,K=(j.isOrdinal||((ht=j.brokenAxis)==null?void 0:ht.hasBreaks)||j.logarithmic&&y)&&j.lin2val,et=1,rt=0,nt=_&&j.old?j.old.transA:j.transA,lt=0;return nt||(nt=j.transA),N&&(et*=-1,rt=j.len),j.reversed&&(et*=-1,rt-=et*(j.sector||j.len)),C?(lt=(P=P*et+rt-U)/nt+H,K&&(lt=j.lin2val(lt))):(K&&(P=j.val2lin(P)),lt=et*(P-H)*nt+rt+et*U+(r(D)?nt*D:0),j.isRadial||(lt=f(lt))),lt}toPixels(P,C){return this.translate(P,!1,!this.horiz,void 0,!0)+(C?0:this.pos)}toValue(P,C){return this.translate(P-(C?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(P){let C=this,N=C.chart,_=C.left,y=C.top,D=P.old,j=P.value,H=P.lineWidth,U=D&&N.oldChartHeight||N.chartHeight,K=D&&N.oldChartWidth||N.chartWidth,et=C.transB,rt=P.translatedValue,nt=P.force,lt,ht,it,tt,st;function ot(ct,dt,ut){return nt!=="pass"&&(ct<dt||ct>ut)&&(nt?ct=x(ct,dt,ut):st=!0),ct}let at={value:j,lineWidth:H,old:D,force:nt,acrossPanes:P.acrossPanes,translatedValue:rt};return g(this,"getPlotLinePath",at,function(ct){lt=it=(rt=x(rt=c(rt,C.translate(j,void 0,void 0,D)),-1e5,1e5))+et,ht=tt=U-rt-et,r(rt)?C.horiz?(ht=y,tt=U-C.bottom+(C.options.isInternal?0:N.scrollablePixelsY||0),lt=it=ot(lt,_,_+C.width)):(lt=_,it=K-C.right+(N.scrollablePixelsX||0),ht=tt=ot(ht,y,y+C.height)):(st=!0,nt=!1),ct.path=st&&!nt?void 0:N.renderer.crispLine([["M",lt,ht],["L",it,tt]],H||1)}),at.path}getLinearTickPositions(P,C,N){let _,y,D,j=f(Math.floor(C/P)*P),H=f(Math.ceil(N/P)*P),U=[];if(f(j+P)===j&&(D=20),this.single)return[C];for(_=j;_<=H&&(U.push(_),(_=f(_+P,D))!==y);)y=_;return U}getMinorTickInterval(){let{minorTicks:P,minorTickInterval:C}=this.options;return P===!0?c(C,"auto"):P!==!1?C:void 0}getMinorTickPositions(){let P=this.options,C=this.tickPositions,N=this.minorTickInterval,_=this.pointRangePadding||0,y=(this.min||0)-_,D=(this.max||0)+_,j=D-y,H=[],U;if(j&&j/N<this.len/3){let K=this.logarithmic;if(K)this.paddedTicks.forEach(function(et,rt,nt){rt&&H.push.apply(H,K.getLogTickPositions(N,nt[rt-1],nt[rt],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")H=H.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(N),y,D,P.startOfWeek));else for(U=y+(C[0]-y)%N;U<=D&&U!==H[0];U+=N)H.push(U)}return H.length!==0&&this.trimTicks(H),H}adjustForMinRange(){let P=this.options,C=this.logarithmic,{max:N,min:_,minRange:y}=this,D,j,H,U;this.isXAxis&&y===void 0&&!C&&(y=p(P.min)||p(P.max)||p(P.floor)||p(P.ceiling)?null:Math.min(5*(S(this.series.map(K=>{var et;return(K.xIncrement?(et=K.xData)==null?void 0:et.slice(0,2):K.xData)||[]}))||0),this.dataMax-this.dataMin)),r(N)&&r(_)&&r(y)&&N-_<y&&(j=this.dataMax-this.dataMin>=y,D=(y-N+_)/2,H=[_-D,c(P.min,_-D)],j&&(H[2]=C?C.log2lin(this.dataMin):this.dataMin),U=[(_=o(H))+y,c(P.max,_+y)],j&&(U[2]=C?C.log2lin(this.dataMax):this.dataMax),(N=u(U))-_<y&&(H[0]=N-y,H[1]=c(P.min,N-y),_=o(H))),this.minRange=y,this.min=_,this.max=N}getClosest(){let P,C;if(this.categories)C=1;else{let N=[];this.series.forEach(function(_){var D;let y=_.closestPointRange;((D=_.xData)==null?void 0:D.length)===1?N.push(_.xData[0]):!_.noSharedTooltip&&p(y)&&_.reserveSpace()&&(C=p(C)?Math.min(C,y):y)}),N.length&&(N.sort((_,y)=>_-y),P=S([N]))}return P&&C?Math.min(P,C):P||C}nameToX(P){let C=s(this.options.categories),N=C?this.categories:this.names,_=P.options.x,y;return P.series.requireSorting=!1,p(_)||(_=this.options.uniqueNames&&N?C?N.indexOf(P.name):c(N.keys[P.name],-1):P.series.autoIncrement()),_===-1?!C&&N&&(y=N.length):y=_,y!==void 0?(this.names[y]=P.name,this.names.keys[P.name]=y):P.x&&(y=P.x),y}updateNames(){let P=this,C=this.names;C.length>0&&(Object.keys(C.keys).forEach(function(N){delete C.keys[N]}),C.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(N=>{N.xIncrement=null,(!N.points||N.isDirtyData)&&(P.max=Math.max(P.max,N.xData.length-1),N.processData(),N.generatePoints()),N.data.forEach(function(_,y){let D;_!=null&&_.options&&_.name!==void 0&&(D=P.nameToX(_))!==void 0&&D!==_.x&&(_.x=D,N.xData[y]=D)})}))}setAxisTranslation(){let P=this,C=P.max-P.min,N=P.linkedParent,_=!!P.categories,y=P.isXAxis,D=P.axisPointRange||0,j,H=0,U=0,K,et=P.transA;(y||_||D)&&(j=P.getClosest(),N?(H=N.minPointOffset,U=N.pointRangePadding):P.series.forEach(function(rt){let nt=_?1:y?c(rt.options.pointRange,j,0):P.axisPointRange||0,lt=rt.options.pointPlacement;if(D=Math.max(D,nt),!P.single||_){let ht=rt.is("xrange")?!y:y;H=Math.max(H,ht&&a(lt)?0:nt/2),U=Math.max(U,ht&<==="on"?0:nt)}}),K=P.ordinal&&P.ordinal.slope&&j?P.ordinal.slope/j:1,P.minPointOffset=H*=K,P.pointRangePadding=U*=K,P.pointRange=Math.min(D,P.single&&_?1:C),y&&j&&(P.closestPointRange=j)),P.translationSlope=P.transA=et=P.staticScale||P.len/(C+U||1),P.transB=P.horiz?P.left:P.bottom,P.minPixelPadding=et*H,g(this,"afterSetAxisTranslation")}minFromRange(){let{max:P,min:C}=this;return r(P)&&r(C)&&P-C||void 0}setTickInterval(P){var bt,yt,Ct,kt;let{categories:C,chart:N,dataMax:_,dataMin:y,dateTime:D,isXAxis:j,logarithmic:H,options:U,softThreshold:K}=this,et=r(this.threshold)?this.threshold:void 0,rt=this.minRange||0,{ceiling:nt,floor:lt,linkedTo:ht,softMax:it,softMin:tt}=U,st=r(ht)&&((bt=N[this.coll])==null?void 0:bt[ht]),ot=U.tickPixelInterval,at=U.maxPadding,ct=U.minPadding,dt=0,ut,pt=r(U.tickInterval)&&U.tickInterval>=0?U.tickInterval:void 0,gt,ft,mt,xt;if(D||C||st||this.getTickAmount(),mt=c(this.userMin,U.min),xt=c(this.userMax,U.max),st?(this.linkedParent=st,ut=st.getExtremes(),this.min=c(ut.min,ut.dataMin),this.max=c(ut.max,ut.dataMax),U.type!==st.options.type&&B(11,!0,N)):(K&&p(et)&&r(_)&&r(y)&&(y>=et?(gt=et,ct=0):_<=et&&(ft=et,at=0)),this.min=c(mt,gt,y),this.max=c(xt,ft,_)),r(this.max)&&r(this.min)&&(H&&(this.positiveValuesOnly&&!P&&0>=Math.min(this.min,c(y,this.min))&&B(10,!0,N),this.min=f(H.log2lin(this.min),16),this.max=f(H.log2lin(this.max),16)),this.range&&r(y)&&(this.userMin=this.min=mt=Math.max(y,this.minFromRange()||0),this.userMax=xt=this.max,this.range=void 0)),g(this,"foundExtremes"),this.adjustForMinRange(),r(this.min)&&r(this.max)){if(!r(this.userMin)&&r(tt)&&tt<this.min&&(this.min=mt=tt),!r(this.userMax)&&r(it)&&it>this.max&&(this.max=xt=it),C||this.axisPointRange||(yt=this.stacking)!=null&&yt.usePercentage||st||!(dt=this.max-this.min)||(!p(mt)&&ct&&(this.min-=dt*ct),p(xt)||!at||(this.max+=dt*at)),!r(this.userMin)&&r(lt)&&(this.min=Math.max(this.min,lt)),!r(this.userMax)&&r(nt)&&(this.max=Math.min(this.max,nt)),K&&r(y)&&r(_)){let Mt=et||0;!p(mt)&&this.min<Mt&&y>=Mt?this.min=U.minRange?Math.min(Mt,this.max-rt):Mt:!p(xt)&&this.max>Mt&&_<=Mt&&(this.max=U.minRange?Math.max(Mt,this.min+rt):Mt)}!N.polar&&this.min>this.max&&(p(U.min)?this.max=this.min:p(U.max)&&(this.min=this.max)),dt=this.max-this.min}if(this.min!==this.max&&r(this.min)&&r(this.max)?st&&!pt&&ot===st.options.tickPixelInterval?this.tickInterval=pt=st.tickInterval:this.tickInterval=c(pt,this.tickAmount?dt/Math.max(this.tickAmount-1,1):void 0,C?1:dt*ot/Math.max(this.len,ot)):this.tickInterval=1,j&&!P){let Mt=this.min!==((Ct=this.old)==null?void 0:Ct.min)||this.max!==((kt=this.old)==null?void 0:kt.max);this.series.forEach(function(Pt){var Tt;Pt.forceCrop=(Tt=Pt.forceCropping)==null?void 0:Tt.call(Pt),Pt.processData(Mt)}),g(this,"postProcessData",{hasExtremesChanged:Mt})}this.setAxisTranslation(),g(this,"initialAxisTranslation"),this.pointRange&&!pt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let vt=c(U.minTickInterval,D&&!this.series.some(Mt=>Mt.noSharedTooltip)?this.closestPointRange:0);!pt&&this.tickInterval<vt&&(this.tickInterval=vt),D||H||pt||(this.tickInterval=V(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var K,et;let P=this.options,C=P.tickPositions,N=P.tickPositioner,_=this.getMinorTickInterval(),y=!this.isPanning,D=y&&P.startOnTick,j=y&&P.endOnTick,H=[],U;if(this.tickmarkOffset=this.categories&&P.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.minorTickInterval=_==="auto"&&this.tickInterval?this.tickInterval/P.minorTicksPerMajor:_,this.single=this.min===this.max&&p(this.min)&&!this.tickAmount&&(this.min%1==0||P.allowDecimals!==!1),C)H=C.slice();else if(r(this.min)&&r(this.max)){if(!((K=this.ordinal)!=null&&K.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))H=[this.min,this.max],B(19,!1,this.chart);else if(this.dateTime)H=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,P.units),this.min,this.max,P.startOfWeek,(et=this.ordinal)==null?void 0:et.positions,this.closestPointRange,!0);else if(this.logarithmic)H=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let rt=this.tickInterval,nt=rt;for(;nt<=2*rt&&(H=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&H.length>this.tickAmount);)this.tickInterval=V(this,nt*=1.1)}H.length>this.len&&(H=[H[0],H[H.length-1]])[0]===H[1]&&(H.length=1),N&&(this.tickPositions=H,(U=N.apply(this,[this.min,this.max]))&&(H=U))}this.tickPositions=H,this.paddedTicks=H.slice(0),this.trimTicks(H,D,j),!this.isLinked&&r(this.min)&&r(this.max)&&(this.single&&H.length<2&&!this.categories&&!this.series.some(rt=>rt.is("heatmap")&&rt.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),C||U||this.adjustTickAmount()),g(this,"afterSetTickPositions")}trimTicks(P,C,N){let _=P[0],y=P[P.length-1],D=!this.isOrdinal&&this.minPointOffset||0;if(g(this,"trimTicks"),!this.isLinked){if(C&&_!==-1/0)this.min=_;else for(;this.min-D>P[0];)P.shift();if(N)this.max=y;else for(;this.max+D<P[P.length-1];)P.pop();P.length===0&&p(_)&&!this.options.tickPositions&&P.push((y+_)/2)}}alignToOthers(){let P,C=this,N=C.chart,_=[this],y=C.options,D=N.options.chart,j=this.coll==="yAxis"&&D.alignThresholds,H=[];if(C.thresholdAlignment=void 0,(D.alignTicks!==!1&&y.alignTicks||j)&&y.startOnTick!==!1&&y.endOnTick!==!1&&!C.logarithmic){let U=et=>{let{horiz:rt,options:nt}=et;return[rt?nt.left:nt.top,nt.width,nt.height,nt.pane].join(",")},K=U(this);N[this.coll].forEach(function(et){let{series:rt}=et;rt.length&&rt.some(nt=>nt.visible)&&et!==C&&U(et)===K&&(P=!0,_.push(et))})}if(P&&j){_.forEach(K=>{let et=K.getThresholdAlignment(C);r(et)&&H.push(et)});let U=H.length>1?H.reduce((K,et)=>K+=et,0)/H.length:void 0;_.forEach(K=>{K.thresholdAlignment=U})}return P}getThresholdAlignment(P){if((!r(this.dataMin)||this!==P&&this.series.some(C=>C.isDirty||C.isDirtyData))&&this.getSeriesExtremes(),r(this.threshold)){let C=x((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(C=1-C),C}}getTickAmount(){let P=this.options,C=P.tickPixelInterval,N=P.tickAmount;p(P.tickInterval)||N||!(this.len<C)||this.isRadial||this.logarithmic||!P.startOnTick||!P.endOnTick||(N=2),!N&&this.alignToOthers()&&(N=Math.ceil(this.len/C)+1),N<4&&(this.finalTickAmt=N,N=5),this.tickAmount=N}adjustTickAmount(){let P=this,{finalTickAmt:C,max:N,min:_,options:y,tickPositions:D,tickAmount:j,thresholdAlignment:H}=P,U=D==null?void 0:D.length,K=c(P.threshold,P.softThreshold?0:null),et,rt,nt=P.tickInterval,lt,ht=()=>D.push(f(D[D.length-1]+nt)),it=()=>D.unshift(f(D[0]-nt));if(r(H)&&(lt=H<.5?Math.ceil(H*(j-1)):Math.floor(H*(j-1)),y.reversed&&(lt=j-1-lt)),P.hasData()&&r(_)&&r(N)){let tt=()=>{P.transA*=(U-1)/(j-1),P.min=y.startOnTick?D[0]:Math.min(_,D[0]),P.max=y.endOnTick?D[D.length-1]:Math.max(N,D[D.length-1])};if(r(lt)&&r(P.threshold)){for(;D[lt]!==K||D.length!==j||D[0]>_||D[D.length-1]<N;){for(D.length=0,D.push(P.threshold);D.length<j;)D[lt]===void 0||D[lt]>P.threshold?it():ht();if(nt>8*P.tickInterval)break;nt*=2}tt()}else if(U<j){for(;D.length<j;)D.length%2||_===K?ht():it();tt()}if(p(C)){for(rt=et=D.length;rt--;)(C===3&&rt%2==1||C<=2&&rt>0&&rt<et-1)&&D.splice(rt,1);P.finalTickAmt=void 0}}}setScale(){var D,j;let{coll:P,stacking:C}=this,N=!1,_=!1;this.series.forEach(H=>{N=N||H.isDirtyData||H.isDirty,_=_||H.xAxis&&H.xAxis.isDirty||!1}),this.setAxisSize();let y=this.len!==(this.old&&this.old.len);y||N||_||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(C&&P==="yAxis"&&C.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),C&&P==="xAxis"&&C.buildStacks(),this.isDirty||(this.isDirty=y||this.min!==((D=this.old)==null?void 0:D.min)||this.max!==((j=this.old)==null?void 0:j.max))):C&&C.cleanStacks(),N&&delete this.allExtremes,g(this,"afterSetScale")}setExtremes(P,C,N=!0,_,y){this.series.forEach(D=>{delete D.kdTree}),g(this,"setExtremes",y=A(y,{min:P,max:C}),D=>{this.userMin=D.min,this.userMax=D.max,this.eventArgs=D,N&&this.chart.redraw(_)})}setAxisSize(){let P=this.chart,C=this.options,N=C.offsets||[0,0,0,0],_=this.horiz,y=this.width=Math.round(L(c(C.width,P.plotWidth-N[3]+N[1]),P.plotWidth)),D=this.height=Math.round(L(c(C.height,P.plotHeight-N[0]+N[2]),P.plotHeight)),j=this.top=Math.round(L(c(C.top,P.plotTop+N[0]),P.plotHeight,P.plotTop)),H=this.left=Math.round(L(c(C.left,P.plotLeft+N[3]),P.plotWidth,P.plotLeft));this.bottom=P.chartHeight-D-j,this.right=P.chartWidth-y-H,this.len=Math.max(_?y:D,0),this.pos=_?H:j}getExtremes(){let P=this.logarithmic;return{min:P?f(P.lin2log(this.min)):this.min,max:P?f(P.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(P){let C=this.logarithmic,N=C?C.lin2log(this.min):this.min,_=C?C.lin2log(this.max):this.max;return P===null||P===-1/0?P=N:P===1/0?P=_:N>P?P=N:_<P&&(P=_),this.translate(P,0,1,0,1)}autoLabelAlign(P){let C=(c(P,0)-90*this.side+720)%360,N={align:"center"};return g(this,"autoLabelAlign",N,function(_){C>15&&C<165?_.align="right":C>195&&C<345&&(_.align="left")}),N.align}tickSize(P){let C=this.options,N=c(C[P==="tick"?"tickWidth":"minorTickWidth"],P==="tick"&&this.isXAxis&&!this.categories?1:0),_=C[P==="tick"?"tickLength":"minorTickLength"],y;N&&_&&(C[P+"Position"]==="inside"&&(_=-_),y=[_,N]);let D={tickSize:y};return g(this,"afterTickSize",D),D.tickSize}labelMetrics(){let P=this.chart.renderer,C=this.ticks,N=C[Object.keys(C)[0]]||{};return this.chart.renderer.fontMetrics(N.label||N.movedLabel||P.box)}unsquish(){let P=this.options.labels,C=P.padding||0,N=this.horiz,_=this.tickInterval,y=this.len/(((this.categories?1:0)+this.max-this.min)/_),D=P.rotation,j=f(.8*this.labelMetrics().h),H=Math.max(this.max-this.min,0),U=function(lt){let ht=(lt+2*C)/(y||1);return(ht=ht>1?Math.ceil(ht):1)*_>H&<!==1/0&&y!==1/0&&H&&(ht=Math.ceil(H/_)),f(ht*_)},K=_,et,rt=Number.MAX_VALUE,nt;if(N){if(!P.staggerLines&&(r(D)?nt=[D]:y<P.autoRotationLimit&&(nt=P.autoRotation)),nt){let lt,ht;for(let it of nt)(it===D||it&&it>=-90&&it<=90)&&(ht=(lt=U(Math.abs(j/Math.sin(v*it))))+Math.abs(it/360))<rt&&(rt=ht,et=it,K=lt)}}else K=U(.75*j);return this.autoRotation=nt,this.labelRotation=c(et,r(D)?D:0),P.step?_:K}getSlotWidth(P){let C=this.chart,N=this.horiz,_=this.options.labels,y=Math.max(this.tickPositions.length-(this.categories?0:1),1),D=C.margin[3];if(P&&r(P.slotWidth))return P.slotWidth;if(N&&_.step<2)return _.rotation?0:(this.staggerLines||1)*this.len/y;if(!N){let j=_.style.width;if(j!==void 0)return parseInt(String(j),10);if(D)return D-C.spacing[3]}return .33*C.chartWidth}renderUnsquish(){let P=this.chart,C=P.renderer,N=this.tickPositions,_=this.ticks,y=this.options.labels,D=y.style,j=this.horiz,H=this.getSlotWidth(),U=Math.max(1,Math.round(H-(j?2*(y.padding||0):y.distance||0))),K={},et=this.labelMetrics(),rt=D.textOverflow,nt,lt,ht=0,it,tt;if(a(y.rotation)||(K.rotation=y.rotation||0),N.forEach(function(st){let ot=_[st];ot.movedLabel&&ot.replaceMovedLabel(),ot&&ot.label&&ot.label.textPxLength>ht&&(ht=ot.label.textPxLength)}),this.maxLabelLength=ht,this.autoRotation)ht>U&&ht>et.h?K.rotation=this.labelRotation:this.labelRotation=0;else if(H&&(nt=U,!rt))for(lt="clip",tt=N.length;!j&&tt--;)(it=_[N[tt]].label)&&(it.styles.textOverflow==="ellipsis"?it.css({textOverflow:"clip"}):it.textPxLength>H&&it.css({width:H+"px"}),it.getBBox().height>this.len/N.length-(et.h-et.f)&&(it.specificTextOverflow="ellipsis"));K.rotation&&(nt=ht>.5*P.chartHeight?.33*P.chartHeight:ht,rt||(lt="ellipsis")),this.labelAlign=y.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(K.align=this.labelAlign),N.forEach(function(st){let ot=_[st],at=ot&&ot.label,ct=D.width,dt={};at&&(at.attr(K),ot.shortenLabel?ot.shortenLabel():nt&&!ct&&D.whiteSpace!=="nowrap"&&(nt<at.textPxLength||at.element.tagName==="SPAN")?(dt.width=nt+"px",rt||(dt.textOverflow=at.specificTextOverflow||lt),at.css(dt)):!at.styles.width||dt.width||ct||at.css({width:null}),delete at.specificTextOverflow,ot.rotation=K.rotation)},this),this.tickRotCorr=C.rotCorr(et.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(P){return P.hasData()})||this.options.showEmpty&&p(this.min)&&p(this.max)}addTitle(P){let C,N=this.chart.renderer,_=this.horiz,y=this.opposite,D=this.options.title,j=this.chart.styledMode;this.axisTitle||((C=D.textAlign)||(C=(_?{low:"left",middle:"center",high:"right"}:{low:y?"right":"left",middle:"center",high:y?"left":"right"})[D.align]),this.axisTitle=N.text(D.text||"",0,0,D.useHTML).attr({zIndex:7,rotation:D.rotation||0,align:C}).addClass("highcharts-axis-title"),j||this.axisTitle.css(d(D.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),j||D.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[P?"show":"hide"](P)}generateTick(P){let C=this.ticks;C[P]?C[P].addLabel():C[P]=new Q(this,P)}createGroups(){let{axisParent:P,chart:C,coll:N,options:_}=this,y=C.renderer,D=(j,H,U)=>y.g(j).attr({zIndex:U}).addClass(`highcharts-${N.toLowerCase()}${H} `+(this.isRadial?`highcharts-radial-axis${H} `:"")+(_.className||"")).add(P);this.axisGroup||(this.gridGroup=D("grid","-grid",_.gridZIndex),this.axisGroup=D("axis","",_.zIndex),this.labelGroup=D("axis-labels","-labels",_.labels.zIndex))}getOffset(){let P=this,{chart:C,horiz:N,options:_,side:y,ticks:D,tickPositions:j,coll:H}=P,U=C.inverted&&!P.isZAxis?[1,0,3,2][y]:y,K=P.hasData(),et=_.title,rt=_.labels,nt=r(_.crossing),lt=C.axisOffset,ht=C.clipOffset,it=[-1,1,1,-1][y],tt,st=0,ot,at=0,ct=0,dt,ut;if(P.showAxis=tt=K||_.showEmpty,P.staggerLines=P.horiz&&rt.staggerLines||void 0,P.createGroups(),K||P.isLinked?(j.forEach(function(pt){P.generateTick(pt)}),P.renderUnsquish(),P.reserveSpaceDefault=y===0||y===2||{1:"left",3:"right"}[y]===P.labelAlign,c(rt.reserveSpace,!nt&&null,P.labelAlign==="center"||null,P.reserveSpaceDefault)&&j.forEach(function(pt){ct=Math.max(D[pt].getLabelSize(),ct)}),P.staggerLines&&(ct*=P.staggerLines),P.labelOffset=ct*(P.opposite?-1:1)):h(D,function(pt,gt){pt.destroy(),delete D[gt]}),et!=null&&et.text&&et.enabled!==!1&&(P.addTitle(tt),tt&&!nt&&et.reserveSpace!==!1&&(P.titleOffset=st=P.axisTitle.getBBox()[N?"height":"width"],at=p(ot=et.offset)?0:c(et.margin,N?5:10))),P.renderLine(),P.offset=it*c(_.offset,lt[y]?lt[y]+(_.margin||0):0),P.tickRotCorr=P.tickRotCorr||{x:0,y:0},ut=y===0?-P.labelMetrics().h:y===2?P.tickRotCorr.y:0,dt=Math.abs(ct)+at,ct&&(dt-=ut,dt+=it*(N?c(rt.y,P.tickRotCorr.y+it*rt.distance):c(rt.x,it*rt.distance))),P.axisTitleMargin=c(ot,dt),P.getMaxLabelDimensions&&(P.maxLabelDimensions=P.getMaxLabelDimensions(D,j)),H!=="colorAxis"&&ht){let pt=this.tickSize("tick");lt[y]=Math.max(lt[y],(P.axisTitleMargin||0)+st+it*P.offset,dt,j&&j.length&&pt?pt[0]+it*P.offset:0);let gt=!P.axisLine||_.offset?0:P.axisLine.strokeWidth()/2;ht[U]=Math.max(ht[U],gt)}g(this,"afterGetOffset")}getLinePath(P){let C=this.chart,N=this.opposite,_=this.offset,y=this.horiz,D=this.left+(N?this.width:0)+_,j=C.chartHeight-this.bottom-(N?this.height:0)+_;return N&&(P*=-1),C.renderer.crispLine([["M",y?this.left:D,y?j:this.top],["L",y?C.chartWidth-this.right:D,y?j:C.chartHeight-this.bottom]],P)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(P){let C=this.horiz,N=this.left,_=this.top,y=this.len,D=this.options.title,j=C?N:_,H=this.opposite,U=this.offset,K=D.x,et=D.y,rt=this.chart.renderer.fontMetrics(P),nt=P?Math.max(P.getBBox(!1,0).height-rt.h-1,0):0,lt={low:j+(C?0:y),middle:j+y/2,high:j+(C?y:0)}[D.align],ht=(C?_+this.height:N)+(C?1:-1)*(H?-1:1)*(this.axisTitleMargin||0)+[-nt,nt,rt.f,-nt][this.side],it={x:C?lt+K:ht+(H?this.width:0)+U+K,y:C?ht+et-(H?this.height:0)+U:lt+et};return g(this,"afterGetTitlePosition",{titlePosition:it}),it}renderMinorTick(P,C){let N=this.minorTicks;N[P]||(N[P]=new Q(this,P,"minor")),C&&N[P].isNew&&N[P].render(null,!0),N[P].render(null,!1,1)}renderTick(P,C,N){let _=this.isLinked,y=this.ticks;(!_||P>=this.min&&P<=this.max||this.grid&&this.grid.isColumn)&&(y[P]||(y[P]=new Q(this,P)),N&&y[P].isNew&&y[P].render(C,!0,-1),y[P].render(C))}render(){let P,C,N=this,_=N.chart,y=N.logarithmic,D=_.renderer,j=N.options,H=N.isLinked,U=N.tickPositions,K=N.axisTitle,et=N.ticks,rt=N.minorTicks,nt=N.alternateBands,lt=j.stackLabels,ht=j.alternateGridColor,it=j.crossing,tt=N.tickmarkOffset,st=N.axisLine,ot=N.showAxis,at=F(D.globalAnimation);if(N.labelEdge.length=0,N.overlap=!1,[et,rt,nt].forEach(function(ct){h(ct,function(dt){dt.isActive=!1})}),r(it)){let ct=this.isXAxis?_.yAxis[0]:_.xAxis[0],dt=[1,-1,-1,1][this.side];if(ct){let ut=ct.toPixels(it,!0);N.horiz&&(ut=ct.len-ut),N.offset=dt*ut}}if(N.hasData()||H){let ct=N.chart.hasRendered&&N.old&&r(N.old.min);N.minorTickInterval&&!N.categories&&N.getMinorTickPositions().forEach(function(dt){N.renderMinorTick(dt,ct)}),U.length&&(U.forEach(function(dt,ut){N.renderTick(dt,ut,ct)}),tt&&(N.min===0||N.single)&&(et[-1]||(et[-1]=new Q(N,-1,null,!0)),et[-1].render(-1))),ht&&U.forEach(function(dt,ut){C=U[ut+1]!==void 0?U[ut+1]+tt:N.max-tt,ut%2==0&&dt<N.max&&C<=N.max+(_.polar?-tt:tt)&&(nt[dt]||(nt[dt]=new Z.PlotLineOrBand(N,{})),P=dt+tt,nt[dt].options={from:y?y.lin2log(P):P,to:y?y.lin2log(C):C,color:ht,className:"highcharts-alternate-grid"},nt[dt].render(),nt[dt].isActive=!0)}),N._addedPlotLB||(N._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(dt){N.addPlotBandOrLine(dt)}))}[et,rt,nt].forEach(function(ct){let dt=[],ut=at.duration;h(ct,function(pt,gt){pt.isActive||(pt.render(gt,!1,0),pt.isActive=!1,dt.push(gt))}),R(function(){let pt=dt.length;for(;pt--;)ct[dt[pt]]&&!ct[dt[pt]].isActive&&(ct[dt[pt]].destroy(),delete ct[dt[pt]])},ct!==nt&&_.hasRendered&&ut?ut:0)}),st&&(st[st.isPlaced?"animate":"attr"]({d:this.getLinePath(st.strokeWidth())}),st.isPlaced=!0,st[ot?"show":"hide"](ot)),K&&ot&&(K[K.isNew?"attr":"animate"](N.getTitlePosition(K)),K.isNew=!1),lt&<.enabled&&N.stacking&&N.stacking.renderStackTotals(),N.old={len:N.len,max:N.max,min:N.min,transA:N.transA,userMax:N.userMax,userMin:N.userMin},N.isDirty=!1,g(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(P){P.render()})),this.series.forEach(function(P){P.isDirty=!0})}getKeepProps(){return this.keepProps||X.keepProps}destroy(P){let C=this,N=C.plotLinesAndBands,_=this.eventOptions;if(g(this,"destroy",{keepEvents:P}),P||z(C),[C.ticks,C.minorTicks,C.alternateBands].forEach(function(y){b(y)}),N){let y=N.length;for(;y--;)N[y].destroy()}for(let y in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(D){C[D]&&(C[D]=C[D].destroy())}),C.plotLinesAndBandsGroups)C.plotLinesAndBandsGroups[y]=C.plotLinesAndBandsGroups[y].destroy();h(C,function(y,D){C.getKeepProps().indexOf(D)===-1&&delete C[D]}),this.eventOptions=_}drawCrosshair(P,C){let N=this.crosshair,_=c(N&&N.snap,!0),y=this.chart,D,j,H,U=this.cross,K;if(g(this,"drawCrosshair",{e:P,point:C}),P||(P=this.cross&&this.cross.e),N&&(p(C)||!_)!==!1){if(_?p(C)&&(j=c(this.coll!=="colorAxis"?C.crosshairPos:null,this.isXAxis?C.plotX:this.len-C.plotY)):j=P&&(this.horiz?P.chartX-this.pos:this.len-P.chartY+this.pos),p(j)&&(K={value:C&&(this.isXAxis?C.x:c(C.stackY,C.y)),translatedValue:j},y.polar&&A(K,{isCrosshair:!0,chartX:P&&P.chartX,chartY:P&&P.chartY,point:C}),D=this.getPlotLinePath(K)||null),!p(D)){this.hideCrosshair();return}H=this.categories&&!this.isRadial,U||(this.cross=U=y.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(H?"category ":"thin ")+(N.className||"")).attr({zIndex:c(N.zIndex,2)}).add(),!y.styledMode&&(U.attr({stroke:N.color||(H?G.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":c(N.width,1)}).css({"pointer-events":"none"}),N.dashStyle&&U.attr({dashstyle:N.dashStyle}))),U.show().attr({d:D}),H&&!N.width&&U.attr({"stroke-width":this.transA}),this.cross.e=P}else this.hideCrosshair();g(this,"afterDrawCrosshair",{e:P,point:C})}hideCrosshair(){this.cross&&this.cross.hide(),g(this,"afterHideCrosshair")}update(P,C){let N=this.chart;P=d(this.userOptions,P),this.destroy(!0),this.init(N,P),N.isDirtyBox=!0,c(C,!0)&&N.redraw()}remove(P){let C=this.chart,N=this.coll,_=this.series,y=_.length;for(;y--;)_[y]&&_[y].remove(!1);I(C.axes,this),I(C[N]||[],this),C.orderItems(N),this.destroy(),C.isDirtyBox=!0,c(P,!0)&&C.redraw()}setTitle(P,C){this.update({title:P},C)}setCategories(P,C){this.update({categories:P},C)}}return X.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],X}),O(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,getMagnitude:$,normalizeTickInterval:q,timeUnits:Z}=m;return function(Q){function Y(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(){if(this.options.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new W(this))}Q.compose=function(k){return k.keepProps.includes("dateTime")||(k.keepProps.push("dateTime"),k.prototype.getTimeTicks=Y,G(k,"afterSetOptions",F)),k};class W{constructor(E){this.axis=E}normalizeTimeTickInterval(E,M){let v=M||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],o=v[v.length-1],u=Z[o[0]],x=o[1],f;for(f=0;f<v.length&&(u=Z[(o=v[f])[0]],x=o[1],!v[f+1]||!(E<=(u*x[x.length-1]+Z[v[f+1][0]])/2));f++);u===Z.year&&E<5*u&&(x=[1,2,5]);let p=q(E/u,x,o[0]==="year"?Math.max($(E/u),1):1);return{unitRange:u,count:p,unitName:o[0]}}getXDateFormat(E,M){let{axis:v}=this,o=v.chart.time;return v.closestPointRange?o.getDateFormat(v.closestPointRange,E,v.options.startOfWeek,M)||o.resolveDTLFormat(M.year).main:o.resolveDTLFormat(M.day).main}}Q.Additions=W}(T||(T={})),T}),O(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,normalizeTickInterval:$,pick:q}=m;return function(Z){function Q(W){let k=W.userOptions,E=this.logarithmic;k.type!=="logarithmic"?this.logarithmic=void 0:E||(E=this.logarithmic=new F(this))}function Y(){let W=this.logarithmic;W&&(this.lin2val=function(k){return W.lin2log(k)},this.val2lin=function(k){return W.log2lin(k)})}Z.compose=function(W){return W.keepProps.includes("logarithmic")||(W.keepProps.push("logarithmic"),G(W,"init",Q),G(W,"afterInit",Y)),W};class F{constructor(k){this.axis=k}getLogTickPositions(k,E,M,v){let o=this.axis,u=o.len,x=o.options,f=[];if(v||(this.minorAutoInterval=void 0),k>=.5)k=Math.round(k),f=o.getLinearTickPositions(k,E,M);else if(k>=.08){let p,b,I,B,A,g,S,l=Math.floor(E);for(p=k>.3?[1,2,4]:k>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],b=l;b<M+1&&!S;b++)for(I=0,B=p.length;I<B&&!S;I++)(A=this.log2lin(this.lin2log(b)*p[I]))>E&&(!v||g<=M)&&g!==void 0&&f.push(g),g>M&&(S=!0),g=A}else{let p=this.lin2log(E),b=this.lin2log(M),I=v?o.getMinorTickInterval():x.tickInterval,B=x.tickPixelInterval/(v?5:1),A=v?u/o.tickPositions.length:u;k=$(k=q(I==="auto"?null:I,this.minorAutoInterval,(b-p)*B/(A||1))),f=o.getLinearTickPositions(k,p,b).map(this.log2lin),v||(this.minorAutoInterval=k/5)}return v||(o.tickInterval=k),f}lin2log(k){return Math.pow(10,k)}log2lin(k){return Math.log(k)/Math.LN10}}Z.Additions=F}(T||(T={})),T}),O(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{erase:G,extend:$,isNumber:q}=m;return function(Z){let Q;function Y(o){return this.addPlotBandOrLine(o,"plotBands")}function F(o,u){let x=this.userOptions,f=new Q(this,o);if(this.visible&&(f=f.render()),f){if(this._addedPlotLB||(this._addedPlotLB=!0,(x.plotLines||[]).concat(x.plotBands||[]).forEach(p=>{this.addPlotBandOrLine(p)})),u){let p=x[u]||[];p.push(o),x[u]=p}this.plotLinesAndBands.push(f)}return f}function W(o){return this.addPlotBandOrLine(o,"plotLines")}function k(o,u,x){x=x||this.options;let f=this.getPlotLinePath({value:u,force:!0,acrossPanes:x.acrossPanes}),p=[],b=this.horiz,I=!q(this.min)||!q(this.max)||o<this.min&&u<this.min||o>this.max&&u>this.max,B=this.getPlotLinePath({value:o,force:!0,acrossPanes:x.acrossPanes}),A,g=1,S;if(B&&f)for(I&&(S=B.toString()===f.toString(),g=0),A=0;A<B.length;A+=2){let l=B[A],s=B[A+1],r=f[A],a=f[A+1];(l[0]==="M"||l[0]==="L")&&(s[0]==="M"||s[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(a[0]==="M"||a[0]==="L")&&(b&&r[1]===l[1]?(r[1]+=g,a[1]+=g):b||r[2]!==l[2]||(r[2]+=g,a[2]+=g),p.push(["M",l[1],l[2]],["L",s[1],s[2]],["L",a[1],a[2]],["L",r[1],r[2]],["Z"])),p.isFlat=S}return p}function E(o){this.removePlotBandOrLine(o)}function M(o){let u=this.plotLinesAndBands,x=this.options,f=this.userOptions;if(u){let p=u.length;for(;p--;)u[p].id===o&&u[p].destroy();[x.plotLines||[],f.plotLines||[],x.plotBands||[],f.plotBands||[]].forEach(function(b){for(p=b.length;p--;)(b[p]||{}).id===o&&G(b,b[p])})}}function v(o){this.removePlotBandOrLine(o)}Z.compose=function(o,u){let x=u.prototype;return x.addPlotBand||(Q=o,$(x,{addPlotBand:Y,addPlotLine:W,addPlotBandOrLine:F,getPlotBandPath:k,removePlotBand:E,removePlotLine:v,removePlotBandOrLine:M})),u}}(T||(T={})),T}),O(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(m,T){let{arrayMax:G,arrayMin:$,defined:q,destroyObjectProperties:Z,erase:Q,fireEvent:Y,merge:F,objectEach:W,pick:k}=T;class E{static compose(v){return m.compose(E,v)}constructor(v,o){this.axis=v,this.options=o,this.id=o.id}render(){Y(this,"render");let{axis:v,options:o}=this,{horiz:u,logarithmic:x}=v,{color:f,events:p,zIndex:b=0}=o,I={},B=v.chart.renderer,A=o.to,g=o.from,S=o.value,l=o.borderWidth,s=o.label,{label:r,svgElem:a}=this,d=[],n,h=q(g)&&q(A),c=q(S),L=!a,z={class:"highcharts-plot-"+(h?"band ":"line ")+(o.className||"")},w=h?"bands":"lines";if(!v.chart.styledMode&&(c?(z.stroke=f||"#999999",z["stroke-width"]=k(o.width,1),o.dashStyle&&(z.dashstyle=o.dashStyle)):h&&(z.fill=f||"#e6e9ff",l&&(z.stroke=o.borderColor,z["stroke-width"]=l))),I.zIndex=b,w+="-"+b,(n=v.plotLinesAndBandsGroups[w])||(v.plotLinesAndBandsGroups[w]=n=B.g("plot-"+w).attr(I).add()),a||(this.svgElem=a=B.path().attr(z).add(n)),q(S))d=v.getPlotLinePath({value:(x==null?void 0:x.log2lin(S))??S,lineWidth:a.strokeWidth(),acrossPanes:o.acrossPanes});else{if(!(q(g)&&q(A)))return;d=v.getPlotBandPath((x==null?void 0:x.log2lin(g))??g,(x==null?void 0:x.log2lin(A))??A,o)}return!this.eventsAdded&&p&&(W(p,(R,V)=>{a==null||a.on(V,X=>{p[V].apply(this,[X])})}),this.eventsAdded=!0),(L||!a.d)&&(d!=null&&d.length)?a.attr({d}):a&&(d?(a.show(),a.animate({d})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),s&&(q(s.text)||q(s.formatter))&&(d!=null&&d.length)&&v.width>0&&v.height>0&&!d.isFlat?(s=F({align:u&&h?"center":void 0,x:u?!h&&4:10,verticalAlign:!u&&h?"middle":void 0,y:u?h?16:10:h?6:-4,rotation:u&&!h?90:0},s),this.renderLabel(s,d,h,b)):r&&r.hide(),this}renderLabel(v,o,u,x){let f=this.axis,p=f.chart.renderer,b=this.label;b||(this.label=b=p.text(this.getLabelText(v),0,0,v.useHTML).attr({align:v.textAlign||v.align,rotation:v.rotation,class:"highcharts-plot-"+(u?"band":"line")+"-label "+(v.className||""),zIndex:x}),f.chart.styledMode||b.css(F({fontSize:"0.8em",textOverflow:"ellipsis"},v.style)),b.add());let I=o.xBounds||[o[0][1],o[1][1],u?o[2][1]:o[0][1]],B=o.yBounds||[o[0][2],o[1][2],u?o[2][2]:o[0][2]],A=$(I),g=$(B);if(b.align(v,!1,{x:A,y:g,width:G(I)-A,height:G(B)-g}),!b.alignValue||b.alignValue==="left"){let S=v.clip?f.width:f.chart.chartWidth;b.css({width:(b.rotation===90?f.height-(b.alignAttr.y-f.top):S-(b.alignAttr.x-f.left))+"px"})}b.show(!0)}getLabelText(v){return q(v.formatter)?v.formatter.call(this):v.text}destroy(){Q(this.axis.plotLinesAndBands,this),delete this.axis,Z(this)}}return E}),O(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z){var Q;let{animObject:Y}=m,{format:F}=T,{composed:W,doc:k,isSafari:E}=G,{distribute:M}=$,{addEvent:v,clamp:o,css:u,discardElement:x,extend:f,fireEvent:p,isArray:b,isNumber:I,isString:B,merge:A,pick:g,pushUnique:S,splat:l,syncTimeout:s}=Z;class r{constructor(d,n,h){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=d,this.init(d,n),this.pointer=h}bodyFormatter(d){return d.map(function(n){let h=n.series.tooltipOptions;return(h[(n.point.formatPrefix||"point")+"Formatter"]||n.point.tooltipFormatter).call(n.point,h[(n.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(d){this.chart.series.forEach(function(n){let h=n&&n.tt;h&&(!h.isActive||d?n.tt=h.destroy():h.isActive=!1)})}defaultFormatter(d){let n,h=this.points||l(this);return(n=(n=[d.tooltipFooterHeaderFormatter(h[0])]).concat(d.bodyFormatter(h))).push(d.tooltipFooterHeaderFormatter(h[0],!0)),n}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),x(this.container)),Z.clearTimeout(this.hideTimer)}getAnchor(d,n){let h,{chart:c,pointer:L}=this,z=c.inverted,w=c.plotTop,R=c.plotLeft;if((d=l(d))[0].series&&d[0].series.yAxis&&!d[0].series.yAxis.options.reversedStacks&&(d=d.slice().reverse()),this.followPointer&&n)n.chartX===void 0&&(n=L.normalize(n)),h=[n.chartX-R,n.chartY-w];else if(d[0].tooltipPos)h=d[0].tooltipPos;else{let V=0,X=0;d.forEach(function(J){let P=J.pos(!0);P&&(V+=P[0],X+=P[1])}),V/=d.length,X/=d.length,this.shared&&d.length>1&&n&&(z?V=n.chartX:X=n.chartY),h=[V-R,X-w]}return h.map(Math.round)}getClassName(d,n,h){let c=this.options,L=d.series,z=L.options;return[c.className,"highcharts-label",h&&"highcharts-tooltip-header",n?"highcharts-tooltip-box":"highcharts-tooltip",!h&&"highcharts-color-"+g(d.colorIndex,L.colorIndex),z&&z.className].filter(B).join(" ")}getLabel(){let d=this,n=this.chart.styledMode,h=this.options,c=this.split&&this.allowShared,L=this.container,z=this.chart.renderer;if(this.label){let w=!this.label.hasClass("highcharts-label");(!c&&w||c&&!w)&&this.destroy()}if(!this.label){if(this.outside){let w=this.chart.options.chart.style,R=q.getRendererType();this.container=L=G.doc.createElement("div"),L.className="highcharts-tooltip-container",u(L,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(w&&w.zIndex||0)+3)}),this.renderer=z=new R(L,0,0,w,void 0,void 0,z.styledMode)}if(c?this.label=z.g("tooltip"):(this.label=z.label("",0,0,h.shape,void 0,void 0,h.useHTML,void 0,"tooltip").attr({padding:h.padding,r:h.borderRadius}),n||this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth||0}).css(h.style).css({pointerEvents:h.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),d.outside){let w=this.label;[w.xSetter,w.ySetter].forEach((R,V)=>{w[V?"ySetter":"xSetter"]=X=>{R.call(w,d.distance),w[V?"y":"x"]=X,L&&(L.style[V?"top":"left"]=`${X}px`)}})}this.label.attr({zIndex:8}).shadow(h.shadow).add()}return L&&!L.parentElement&&G.doc.body.appendChild(L),this.label}getPlayingField(){let{body:d,documentElement:n}=k,{chart:h,distance:c,outside:L}=this;return{width:L?Math.max(d.scrollWidth,n.scrollWidth,d.offsetWidth,n.offsetWidth,n.clientWidth)-2*c:h.chartWidth,height:L?Math.max(d.scrollHeight,n.scrollHeight,d.offsetHeight,n.offsetHeight,n.clientHeight):h.chartHeight}}getPosition(d,n,h){var at,ct;let{distance:c,chart:L,outside:z,pointer:w}=this,{inverted:R,plotLeft:V,plotTop:X,polar:J}=L,{plotX:P=0,plotY:C=0}=h,N={},_=R&&h.h||0,{height:y,width:D}=this.getPlayingField(),j=w.getChartPosition(),H=dt=>dt*j.scaleX,U=dt=>dt*j.scaleY,K=dt=>{let ut=dt==="x";return[dt,ut?D:y,ut?d:n].concat(z?[ut?H(d):U(n),ut?j.left-c+H(P+V):j.top-c+U(C+X),0,ut?D:y]:[ut?d:n,ut?P+V:C+X,ut?V:X,ut?V+L.plotWidth:X+L.plotHeight])},et=K("y"),rt=K("x"),nt,lt=!!h.negative;!J&&((ct=(at=L.hoverSeries)==null?void 0:at.yAxis)!=null&&ct.reversed)&&(lt=!lt);let ht=!this.followPointer&&g(h.ttBelow,!J&&!R===lt),it=function(dt,ut,pt,gt,ft,mt,xt){let vt=z?dt==="y"?U(c):H(c):c,bt=(pt-gt)/2,yt=gt<ft-c,Ct=ft+c+gt<ut,kt=ft-vt-pt+bt,Mt=ft+vt-bt;if(ht&&Ct)N[dt]=Mt;else if(!ht&&yt)N[dt]=kt;else if(yt)N[dt]=Math.min(xt-gt,kt-_<0?kt:kt-_);else{if(!Ct)return!1;N[dt]=Math.max(mt,Mt+_+pt>ut?Mt:Mt+_)}},tt=function(dt,ut,pt,gt,ft){if(ft<c||ft>ut-c)return!1;ft<pt/2?N[dt]=1:ft>ut-gt/2?N[dt]=ut-gt-2:N[dt]=ft-pt/2},st=function(dt){[et,rt]=[rt,et],nt=dt},ot=()=>{it.apply(0,et)!==!1?tt.apply(0,rt)!==!1||nt||(st(!0),ot()):nt?N.x=N.y=0:(st(!0),ot())};return(R&&!J||this.len>1)&&st(),ot(),N}hide(d){let n=this;Z.clearTimeout(this.hideTimer),d=g(d,this.options.hideDelay),this.isHidden||(this.hideTimer=s(function(){let h=n.getLabel();n.getLabel().animate({opacity:0},{duration:d&&150,complete:()=>{h.hide(),n.container&&n.container.remove()}}),n.isHidden=!0},d))}init(d,n){this.chart=d,this.options=n,this.crosshairs=[],this.isHidden=!0,this.split=n.split&&!d.inverted&&!d.polar,this.shared=n.shared||this.split,this.outside=g(n.outside,!!(d.scrollablePixelsX||d.scrollablePixelsY))}shouldStickOnContact(d){return!!(!this.followPointer&&this.options.stickOnContact&&(!d||this.pointer.inClass(d.target,"highcharts-tooltip")))}move(d,n,h,c){let L=this,z=Y(!L.isHidden&&L.options.animation),w=L.followPointer||(L.len||0)>1,R={x:d,y:n};w||(R.anchorX=h,R.anchorY=c),z.step=()=>L.drawTracker(),L.getLabel().animate(R,z)}refresh(d,n){let{chart:h,options:c,pointer:L,shared:z}=this,w=l(d),R=w[0],V=[],X=c.format,J=c.formatter||this.defaultFormatter,P=h.styledMode,C={};if(!c.enabled||!R.series)return;Z.clearTimeout(this.hideTimer),this.allowShared=!(!b(d)&&d.series&&d.series.noSharedTooltip),this.followPointer=!this.split&&R.series.tooltipOptions.followPointer;let N=this.getAnchor(d,n),_=N[0],y=N[1];z&&this.allowShared?(L.applyInactiveState(w),w.forEach(function(H){H.setState("hover"),V.push(H.getLabelConfig())}),(C=R.getLabelConfig()).points=V):C=R.getLabelConfig(),this.len=V.length;let D=B(X)?F(X,C,h):J.call(C,this),j=R.series;if(this.distance=g(j.tooltipOptions.distance,16),D===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(D,w);else{let H=_,U=y;if(n&&L.isDirectTouch&&(H=n.chartX-h.plotLeft,U=n.chartY-h.plotTop),h.polar||j.options.clip===!1||w.some(K=>L.isDirectTouch||K.series.shouldShowTooltip(H,U))){let K=this.getLabel();(!c.style.width||P)&&K.css({width:(this.outside?this.getPlayingField():h.spacingBox).width+"px"}),K.attr({class:this.getClassName(R),text:D&&D.join?D.join(""):D}),P||K.attr({stroke:c.borderColor||R.color||j.color||"#666666"}),this.updatePosition({plotX:_,plotY:y,negative:R.negative,ttBelow:R.ttBelow,h:N[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}p(this,"refresh")}renderSplit(d,n){var ut;let h=this,{chart:c,chart:{chartWidth:L,chartHeight:z,plotHeight:w,plotLeft:R,plotTop:V,scrollablePixelsY:X=0,scrollablePixelsX:J,styledMode:P},distance:C,options:N,options:{positioner:_},pointer:y}=h,{scrollLeft:D=0,scrollTop:j=0}=((ut=c.scrollablePlotArea)==null?void 0:ut.scrollingContainer)||{},H=h.outside&&typeof J!="number"?k.documentElement.getBoundingClientRect():{left:D,right:D+L,top:j,bottom:j+z},U=h.getLabel(),K=this.renderer||c.renderer,et=!!(c.xAxis[0]&&c.xAxis[0].opposite),{left:rt,top:nt}=y.getChartPosition(),lt=V+j,ht=0,it=w-X;function tt(pt,gt,ft,mt,xt=!0){let vt,bt;return ft?(vt=et?0:it,bt=o(pt-mt/2,H.left,H.right-mt-(h.outside?rt:0))):(vt=gt-lt,bt=o(bt=xt?pt-mt-C:pt+C,xt?bt:H.left,H.right)),{x:bt,y:vt}}B(d)&&(d=[!1,d]);let st=d.slice(0,n.length+1).reduce(function(pt,gt,ft){if(gt!==!1&>!==""){let mt=n[ft-1]||{isHeader:!0,plotX:n[0].plotX,plotY:w,series:{}},xt=mt.isHeader,vt=xt?h:mt.series,bt=vt.tt=function(Pt,Tt,Ot){let Et=Pt,{isHeader:Nt,series:ee}=Tt;if(!Et){let Vt={padding:N.padding,r:N.borderRadius};P||(Vt.fill=N.backgroundColor,Vt["stroke-width"]=N.borderWidth??1),Et=K.label("",0,0,N[Nt?"headerShape":"shape"],void 0,void 0,N.useHTML).addClass(h.getClassName(Tt,!0,Nt)).attr(Vt).add(U)}return Et.isActive=!0,Et.attr({text:Ot}),P||Et.css(N.style).attr({stroke:N.borderColor||Tt.color||ee.color||"#333333"}),Et}(vt.tt,mt,gt.toString()),yt=bt.getBBox(),Ct=yt.width+bt.strokeWidth();xt&&(ht=yt.height,it+=ht,et&&(lt-=ht));let{anchorX:kt,anchorY:Mt}=function(Pt){let Tt,Ot,{isHeader:Et,plotX:Nt=0,plotY:ee=0,series:Vt}=Pt;if(Et)Tt=Math.max(R+Nt,R),Ot=V+w/2;else{let{xAxis:Oe,yAxis:Dt}=Vt;Tt=Oe.pos+o(Nt,-C,Oe.len+C),Vt.shouldShowTooltip(0,Dt.pos-V+ee,{ignoreX:!0})&&(Ot=Dt.pos+ee)}return{anchorX:Tt=o(Tt,H.left-C,H.right+C),anchorY:Ot}}(mt);if(typeof Mt=="number"){let Pt=yt.height+1,Tt=_?_.call(h,Ct,Pt,mt):tt(kt,Mt,xt,Ct);pt.push({align:_?0:void 0,anchorX:kt,anchorY:Mt,boxWidth:Ct,point:mt,rank:g(Tt.rank,xt?1:0),size:Pt,target:Tt.y,tt:bt,x:Tt.x})}else bt.isActive=!1}return pt},[]);!_&&st.some(pt=>{let{outside:gt}=h,ft=(gt?rt:0)+pt.anchorX;return ft<H.left&&ft+pt.boxWidth<H.right||ft<rt-H.left+pt.boxWidth&&H.right-ft>ft})&&(st=st.map(pt=>{let{x:gt,y:ft}=tt(pt.anchorX,pt.anchorY,pt.point.isHeader,pt.boxWidth,!1);return f(pt,{target:ft,x:gt})})),h.cleanSplit(),M(st,it);let ot={left:rt,right:rt};st.forEach(function(pt){let{x:gt,boxWidth:ft,isHeader:mt}=pt;!mt&&(h.outside&&rt+gt<ot.left&&(ot.left=rt+gt),!mt&&h.outside&&ot.left+ft>ot.right&&(ot.right=rt+gt))}),st.forEach(function(pt){let{x:gt,anchorX:ft,anchorY:mt,pos:xt,point:{isHeader:vt}}=pt,bt={visibility:xt===void 0?"hidden":"inherit",x:gt,y:(xt||0)+lt,anchorX:ft,anchorY:mt};if(h.outside&><ft){let yt=rt-ot.left;yt>0&&(vt||(bt.x=gt+yt,bt.anchorX=ft+yt),vt&&(bt.x=(ot.right-ot.left)/2,bt.anchorX=ft+yt))}pt.tt.attr(bt)});let{container:at,outside:ct,renderer:dt}=h;if(ct&&at&&dt){let{width:pt,height:gt,x:ft,y:mt}=U.getBBox();dt.setSize(pt+ft,gt+mt,!1),at.style.left=ot.left+"px",at.style.top=nt+"px"}E&&U.attr({opacity:U.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let d=this.chart,n=this.label,h=this.shared?d.hoverPoints:d.hoverPoint;if(!n||!h)return;let c={x:0,y:0,width:0,height:0},L=this.getAnchor(h),z=n.getBBox();L[0]+=d.plotLeft-(n.translateX||0),L[1]+=d.plotTop-(n.translateY||0),c.x=Math.min(0,L[0]),c.y=Math.min(0,L[1]),c.width=L[0]<0?Math.max(Math.abs(L[0]),z.width-L[0]):Math.max(Math.abs(L[0]),z.width),c.height=L[1]<0?Math.max(Math.abs(L[1]),z.height-Math.abs(L[1])):Math.max(Math.abs(L[1]),z.height),this.tracker?this.tracker.attr(c):(this.tracker=n.renderer.rect(c).addClass("highcharts-tracker").add(n),d.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(d){return d.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(d,n){let h=d.series,c=h.tooltipOptions,L=h.xAxis,z=L&&L.dateTime,w={isFooter:n,labelConfig:d},R=c.xDateFormat,V=c[n?"footerFormat":"headerFormat"];return p(this,"headerFormatter",w,function(X){z&&!R&&I(d.key)&&(R=z.getXDateFormat(d.key,c.dateTimeLabelFormats)),z&&R&&(d.point&&d.point.tooltipDateKeys||["key"]).forEach(function(J){V=V.replace("{point."+J+"}","{point."+J+":"+R+"}")}),h.chart.styledMode&&(V=this.styledModeFormat(V)),X.text=F(V,{point:d,series:h},this.chart)}),w.text}update(d){this.destroy(),this.init(this.chart,A(!0,this.options,d))}updatePosition(d){let{chart:n,container:h,distance:c,options:L,pointer:z,renderer:w}=this,{height:R=0,width:V=0}=this.getLabel(),{left:X,top:J,scaleX:P,scaleY:C}=z.getChartPosition(),N=(L.positioner||this.getPosition).call(this,V,R,d),_=(d.plotX||0)+n.plotLeft,y=(d.plotY||0)+n.plotTop,D;w&&h&&(L.positioner&&(N.x+=X-c,N.y+=J-c),D=(L.borderWidth||0)+2*c+2,w.setSize(V+D,R+D,!1),(P!==1||C!==1)&&(u(h,{transform:`scale(${P}, ${C})`}),_*=P,y*=C),_+=X-N.x,y+=J-N.y),this.move(Math.round(N.x),Math.round(N.y||0),_,y)}}return(Q=r||(r={})).compose=function(a){S(W,"Core.Tooltip")&&v(a,"afterInit",function(){let d=this.chart;d.options.tooltip&&(d.tooltip=new Q(d,d.options.tooltip,this))})},r}),O(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{animObject:Z}=T,{defaultOptions:Q}=G,{format:Y}=$,{addEvent:F,crisp:W,erase:k,extend:E,fireEvent:M,getNestedProperty:v,isArray:o,isFunction:u,isNumber:x,isObject:f,merge:p,pick:b,syncTimeout:I,removeEvent:B,uniqueKey:A}=q;class g{animateBeforeDestroy(){let l=this,s={x:l.startXPos,opacity:0},r=l.getGraphicalProps();r.singular.forEach(function(a){l[a]=l[a].animate(a==="dataLabel"?{x:l[a].startXPos,y:l[a].startYPos,opacity:0}:s)}),r.plural.forEach(function(a){l[a].forEach(function(d){d.element&&d.animate(E({x:l.startXPos},d.startYPos?{x:d.startXPos,y:d.startYPos}:{}))})})}applyOptions(l,s){let r=this.series,a=r.options.pointValKey||r.pointValKey;return E(this,l=g.prototype.optionsToObject.call(this,l)),this.options=this.options?E(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,a&&(this.y=g.prototype.getNestedProperty.call(this,a)),this.selected&&(this.state="select"),"name"in this&&s===void 0&&r.xAxis&&r.xAxis.hasNames&&(this.x=r.xAxis.nameToX(this)),this.x===void 0&&r?this.x=s??r.autoIncrement():x(l.x)&&r.options.relativeXValue&&(this.x=r.autoIncrement(l.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let l=this,s=l.series,r=s.chart,a=s.options.dataSorting,d=r.hoverPoints,n=Z(l.series.chart.renderer.globalAnimation),h=()=>{for(let c in(l.graphic||l.graphics||l.dataLabel||l.dataLabels)&&(B(l),l.destroyElements()),l)delete l[c]};l.legendItem&&r.legend.destroyItem(l),d&&(l.setState(),k(d,l),d.length||(r.hoverPoints=null)),l===r.hoverPoint&&l.onMouseOut(),a&&a.enabled?(this.animateBeforeDestroy(),I(h,n.duration)):h(),r.pointCount--}this.destroyed=!0}destroyElements(l){let s=this,r=s.getGraphicalProps(l);r.singular.forEach(function(a){s[a]=s[a].destroy()}),r.plural.forEach(function(a){s[a].forEach(function(d){d&&d.element&&d.destroy()}),delete s[a]})}firePointEvent(l,s,r){let a=this,d=this.series.options;a.manageEvent(l),l==="click"&&d.allowPointSelect&&(r=function(n){!a.destroyed&&a.select&&a.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),M(a,l,s,r)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(l){let s,r,a=this,d=[],n={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&d.push("graphic","connector"),l.dataLabel&&d.push("dataLabel","dataLabelPath","dataLabelUpper"),r=d.length;r--;)a[s=d[r]]&&n.singular.push(s);return["graphic","dataLabel"].forEach(function(h){let c=h+"s";l[h]&&a[c]&&n.plural.push(c)}),n}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(l){return l?l.indexOf("custom.")===0?v(l,this.options):this[l]:void 0}getZone(){let l=this.series,s=l.zones,r=l.zoneAxis||"y",a,d=0;for(a=s[0];this[r]>=a.value;)a=s[++d];return this.nonZonedColor||(this.nonZonedColor=this.color),a&&a.color&&!this.options.color?this.color=a.color:this.color=this.nonZonedColor,a}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(l,s,r){this.formatPrefix="point",this.visible=!0,this.series=l,this.applyOptions(s,r),this.id??(this.id=A()),this.resolveColor(),l.chart.pointCount++,M(this,"afterInit")}isValid(){return(x(this.x)||this.x instanceof Date)&&x(this.y)}optionsToObject(l){let s=this.series,r=s.options.keys,a=r||s.pointArrayMap||["y"],d=a.length,n={},h,c=0,L=0;if(x(l)||l===null)n[a[0]]=l;else if(o(l))for(!r&&l.length>d&&((h=typeof l[0])=="string"?n.name=l[0]:h==="number"&&(n.x=l[0]),c++);L<d;)r&&l[c]===void 0||(a[L].indexOf(".")>0?g.prototype.setNestedProperty(n,l[c],a[L]):n[a[L]]=l[c]),c++,L++;else typeof l=="object"&&(n=l,l.dataLabels&&(s.hasDataLabels=()=>!0),l.marker&&(s._hasPointMarkers=!0));return n}pos(l,s=this.plotY){if(!this.destroyed){let{plotX:r,series:a}=this,{chart:d,xAxis:n,yAxis:h}=a,c=0,L=0;if(x(r)&&x(s))return l&&(c=n?n.pos:d.plotLeft,L=h?h.pos:d.plotTop),d.inverted&&n&&h?[h.len-s+L,n.len-r+c]:[r+c,s+L]}}resolveColor(){let l=this.series,s=l.chart.options.chart,r=l.chart.styledMode,a,d,n=s.colorCount,h;delete this.nonZonedColor,l.options.colorByPoint?(r||(a=(d=l.options.colors||l.chart.options.colors)[l.colorCounter],n=d.length),h=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)):(r||(a=l.color),h=l.colorIndex),this.colorIndex=b(this.options.colorIndex,h),this.color=b(this.options.color,a)}setNestedProperty(l,s,r){return r.split(".").reduce(function(a,d,n,h){let c=h.length-1===n;return a[d]=c?s:f(a[d],!0)?a[d]:{},a[d]},l),l}shouldDraw(){return!this.isNull}tooltipFormatter(l){let s=this.series,r=s.tooltipOptions,a=b(r.valueDecimals,""),d=r.valuePrefix||"",n=r.valueSuffix||"";return s.chart.styledMode&&(l=s.chart.tooltip.styledModeFormat(l)),(s.pointArrayMap||["y"]).forEach(function(h){h="{point."+h,(d||n)&&(l=l.replace(RegExp(h+"}","g"),d+h+"}"+n)),l=l.replace(RegExp(h+"}","g"),h+":,."+a+"f}")}),Y(l,{point:this,series:this.series},s.chart)}update(l,s,r,a){let d,n=this,h=n.series,c=n.graphic,L=h.chart,z=h.options;function w(){n.applyOptions(l);let R=c&&n.hasMockGraphic,V=n.y===null?!R:R;c&&V&&(n.graphic=c.destroy(),delete n.hasMockGraphic),f(l,!0)&&(c&&c.element&&l&&l.marker&&l.marker.symbol!==void 0&&(n.graphic=c.destroy()),l!=null&&l.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy())),d=n.index,h.updateParallelArrays(n,d),z.data[d]=f(z.data[d],!0)||f(l,!0)?n.options:b(l,z.data[d]),h.isDirty=h.isDirtyData=!0,!h.fixedBox&&h.hasCartesianSeries&&(L.isDirtyBox=!0),z.legendType==="point"&&(L.isDirtyLegend=!0),s&&L.redraw(r)}s=b(s,!0),a===!1?w():n.firePointEvent("update",{options:l},w)}remove(l,s){this.series.removePoint(this.series.data.indexOf(this),l,s)}select(l,s){let r=this,a=r.series,d=a.chart;l=b(l,!r.selected),this.selectedStaging=l,r.firePointEvent(l?"select":"unselect",{accumulate:s},function(){r.selected=r.options.selected=l,a.options.data[a.data.indexOf(r)]=r.options,r.setState(l&&"select"),s||d.getSelectedPoints().forEach(function(n){let h=n.series;n.selected&&n!==r&&(n.selected=n.options.selected=!1,h.options.data[h.data.indexOf(n)]=n.options,n.setState(d.hoverPoints&&h.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(l){let{inverted:s,pointer:r}=this.series.chart;r&&(l=l?r.normalize(l):r.getChartCoordinatesFromPoint(this,s),r.runPointActions(l,this))}onMouseOut(){let l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(s){s.setState()}),l.hoverPoints=l.hoverPoint=null}manageEvent(l){var a,d,n,h,c,L;let s=p(this.series.options.point,this.options),r=(a=s.events)==null?void 0:a[l];u(r)&&(!((d=this.hcEvents)!=null&&d[l])||((h=(n=this.hcEvents)==null?void 0:n[l])==null?void 0:h.map(z=>z.fn).indexOf(r))===-1)?((c=this.importedUserEvent)==null||c.call(this),this.importedUserEvent=F(this,l,r)):this.importedUserEvent&&!r&&((L=this.hcEvents)!=null&&L[l])&&(B(this,l),delete this.hcEvents[l],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(l,s){var j;let r=this.series,a=this.state,d=r.options.states[l||"normal"]||{},n=Q.plotOptions[r.type].marker&&r.options.marker,h=n&&n.enabled===!1,c=n&&n.states&&n.states[l||"normal"]||{},L=c.enabled===!1,z=this.marker||{},w=r.chart,R=n&&r.markerAttribs,V=r.halo,X,J,P,C=r.stateMarkerGraphic,N;if((l=l||"")===this.state&&!s||this.selected&&l!=="select"||d.enabled===!1||l&&(L||h&&c.enabled===!1)||l&&z.states&&z.states[l]&&z.states[l].enabled===!1)return;if(this.state=l,R&&(X=r.markerAttribs(this,l)),this.graphic&&!this.hasMockGraphic){if(a&&this.graphic.removeClass("highcharts-point-"+a),l&&this.graphic.addClass("highcharts-point-"+l),!w.styledMode){J=r.pointAttribs(this,l),P=b(w.options.chart.animation,d.animation);let H=J.opacity;r.options.inactiveOtherPoints&&x(H)&&(this.dataLabels||[]).forEach(function(U){U&&!U.hasClass("highcharts-data-label-hidden")&&(U.animate({opacity:H},P),U.connector&&U.connector.animate({opacity:H},P))}),this.graphic.animate(J,P)}X&&this.graphic.animate(X,b(w.options.chart.animation,c.animation,n.animation)),C&&C.hide()}else l&&c&&(N=z.symbol||r.symbol,C&&C.currentSymbol!==N&&(C=C.destroy()),X&&(C?C[s?"animate":"attr"]({x:X.x,y:X.y}):N&&(r.stateMarkerGraphic=C=w.renderer.symbol(N,X.x,X.y,X.width,X.height).add(r.markerGroup),C.currentSymbol=N)),!w.styledMode&&C&&this.state!=="inactive"&&C.attr(r.pointAttribs(this,l))),C&&(C[l&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0));let _=d.halo,y=this.graphic||C,D=y&&y.visibility||"inherit";_&&_.size&&y&&D!=="hidden"&&!this.isCluster?(V||(r.halo=V=w.renderer.path().add(y.parentGroup)),V.show()[s?"animate":"attr"]({d:this.haloPath(_.size)}),V.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:D,zIndex:-1}),V.point=this,w.styledMode||V.attr(E({fill:this.color||r.color,"fill-opacity":_.opacity},m.filterUserAttributes(_.attributes||{})))):(j=V==null?void 0:V.point)!=null&&j.haloPath&&!V.point.destroyed&&V.animate({d:V.point.haloPath(0)},null,V.hide),M(this,"afterSetState",{state:l})}haloPath(l){let s=this.pos();return s?this.series.chart.renderer.symbols.circle(W(s[0],1)-l,s[1]-l,2*l,2*l):[]}}return g}),O(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){var $;let{parse:q}=m,{charts:Z,composed:Q,isTouchDevice:Y}=T,{addEvent:F,attr:W,css:k,extend:E,find:M,fireEvent:v,isNumber:o,isObject:u,objectEach:x,offset:f,pick:p,pushUnique:b,splat:I}=G;class B{applyInactiveState(g){let S=[],l;(g||[]).forEach(function(s){l=s.series,S.push(l),l.linkedParent&&S.push(l.linkedParent),l.linkedSeries&&(S=S.concat(l.linkedSeries)),l.navigatorSeries&&S.push(l.navigatorSeries)}),this.chart.series.forEach(function(s){S.indexOf(s)===-1?s.setState("inactive",!0):s.options.inactiveOtherPoints&&s.setAllPointsToState("inactive")})}destroy(){let g=this;this.eventsToUnbind.forEach(S=>S()),this.eventsToUnbind=[],!T.chartCount&&(B.unbindDocumentMouseUp&&(B.unbindDocumentMouseUp=B.unbindDocumentMouseUp()),B.unbindDocumentTouchEnd&&(B.unbindDocumentTouchEnd=B.unbindDocumentTouchEnd())),clearInterval(g.tooltipTimeout),x(g,function(S,l){g[l]=void 0})}getSelectionMarkerAttrs(g,S){let l={args:{chartX:g,chartY:S},attrs:{},shapeType:"rect"};return v(this,"getSelectionMarkerAttrs",l,s=>{let r,{chart:a,zoomHor:d,zoomVert:n}=this,{mouseDownX:h=0,mouseDownY:c=0}=a,L=s.attrs;L.x=a.plotLeft,L.y=a.plotTop,L.width=d?1:a.plotWidth,L.height=n?1:a.plotHeight,d&&(r=g-h,L.width=Math.max(1,Math.abs(r)),L.x=(r>0?0:r)+h),n&&(r=S-c,L.height=Math.max(1,Math.abs(r)),L.y=(r>0?0:r)+c)}),l}drag(g){let{chart:S}=this,{mouseDownX:l=0,mouseDownY:s=0}=S,{panning:r,panKey:a,selectionMarkerFill:d}=S.options.chart,n=S.plotLeft,h=S.plotTop,c=S.plotWidth,L=S.plotHeight,z=u(r)?r.enabled:r,w=a&&g[`${a}Key`],R=g.chartX,V=g.chartY,X,J=this.selectionMarker;if((!J||!J.touch)&&(R<n?R=n:R>n+c&&(R=n+c),V<h?V=h:V>h+L&&(V=h+L),this.hasDragged=Math.sqrt(Math.pow(l-R,2)+Math.pow(s-V,2)),this.hasDragged>10)){X=S.isInsidePlot(l-n,s-h,{visiblePlotOnly:!0});let{shapeType:P,attrs:C}=this.getSelectionMarkerAttrs(R,V);(S.hasCartesianSeries||S.mapView)&&this.hasZoom&&X&&!w&&!J&&(this.selectionMarker=J=S.renderer[P](),J.attr({class:"highcharts-selection-marker",zIndex:7}).add(),S.styledMode||J.attr({fill:d||q("#334eff").setOpacity(.25).get()})),J&&J.attr(C),X&&!J&&z&&S.pan(g,r)}}dragStart(g){let S=this.chart;S.mouseIsDown=g.type,S.cancelClick=!1,S.mouseDownX=g.chartX,S.mouseDownY=g.chartY}getSelectionBox(g){let S={args:{marker:g},result:g.getBBox()};return v(this,"getSelectionBox",S),S.result}drop(g){let S,{chart:l,selectionMarker:s}=this;for(let r of l.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some(a=>a.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),S=!0));if(S&&l.redraw(),s&&g){if(this.hasDragged){let r=this.getSelectionBox(s);l.transform({axes:l.axes.filter(a=>a.zoomEnabled&&(a.coll==="xAxis"&&this.zoomX||a.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:g,xAxis:[],yAxis:[],...r},from:r})}o(l.index)&&(this.selectionMarker=s.destroy())}l&&o(l.index)&&(k(l.container,{cursor:l._cursor}),l.cancelClick=this.hasDragged>10,l.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(g,S,l){let s;return g.forEach(function(r){let a=!(r.noSharedTooltip&&S)&&0>r.options.findNearestPointBy.indexOf("y"),d=r.searchPoint(l,a);u(d,!0)&&d.series&&(!u(s,!0)||function(n,h){var w,R;let c=n.distX-h.distX,L=n.dist-h.dist,z=((w=h.series.group)==null?void 0:w.zIndex)-((R=n.series.group)==null?void 0:R.zIndex);return c!==0&&S?c:L!==0?L:z!==0?z:n.series.index>h.series.index?-1:1}(s,d)>0)&&(s=d)}),s}getChartCoordinatesFromPoint(g,S){let{xAxis:l,yAxis:s}=g.series,r=g.shapeArgs;if(l&&s){let a=g.clientX??g.plotX??0,d=g.plotY||0;return g.isNode&&r&&o(r.x)&&o(r.y)&&(a=r.x,d=r.y),S?{chartX:s.len+s.pos-d,chartY:l.len+l.pos-a}:{chartX:a+l.pos,chartY:d+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:g}=this.chart,S=f(g);this.chartPosition={left:S.left,top:S.top,scaleX:1,scaleY:1};let{offsetHeight:l,offsetWidth:s}=g;return s>2&&l>2&&(this.chartPosition.scaleX=S.width/s,this.chartPosition.scaleY=S.height/l),this.chartPosition}getCoordinates(g){let S={xAxis:[],yAxis:[]};for(let l of this.chart.axes)S[l.isXAxis?"xAxis":"yAxis"].push({axis:l,value:l.toValue(g[l.horiz?"chartX":"chartY"])});return S}getHoverData(g,S,l,s,r,a){let d=[],n=function(w){return w.visible&&!(!r&&w.directTouch)&&p(w.options.enableMouseTracking,!0)},h=S,c,L={chartX:a?a.chartX:void 0,chartY:a?a.chartY:void 0,shared:r};v(this,"beforeGetHoverData",L),c=h&&!h.stickyTracking?[h]:l.filter(w=>w.stickyTracking&&(L.filter||n)(w));let z=s&&g||!a?g:this.findNearestKDPoint(c,r,a);return h=z&&z.series,z&&(r&&!h.noSharedTooltip?(c=l.filter(function(w){return L.filter?L.filter(w):n(w)&&!w.noSharedTooltip})).forEach(function(w){let R=M(w.points,function(V){return V.x===z.x&&!V.isNull});u(R)&&(w.boosted&&w.boost&&(R=w.boost.getPoint(R)),d.push(R))}):d.push(z)),v(this,"afterGetHoverData",L={hoverPoint:z}),{hoverPoint:L.hoverPoint,hoverSeries:h,hoverPoints:d}}getPointFromEvent(g){let S=g.target,l;for(;S&&!l;)l=S.point,S=S.parentNode;return l}onTrackerMouseOut(g){let S=this.chart,l=g.relatedTarget,s=S.hoverSeries;this.isDirectTouch=!1,!s||!l||s.stickyTracking||this.inClass(l,"highcharts-tooltip")||this.inClass(l,"highcharts-series-"+s.index)&&this.inClass(l,"highcharts-tracker")||s.onMouseOut()}inClass(g,S){let l=g,s;for(;l;){if(s=W(l,"class")){if(s.indexOf(S)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}l=l.parentElement}}constructor(g,S){var l;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=S,this.chart=g,this.runChartClick=!!((l=S.chart.events)!=null&&l.click),this.pinchDown=[],this.setDOMEvents(),v(this,"afterInit")}normalize(g,S){let l=g.touches,s=l?l.length?l.item(0):p(l.changedTouches,g.changedTouches)[0]:g;S||(S=this.getChartPosition());let r=s.pageX-S.left,a=s.pageY-S.top;return E(g,{chartX:Math.round(r/=S.scaleX),chartY:Math.round(a/=S.scaleY)})}onContainerClick(g){let S=this.chart,l=S.hoverPoint,s=this.normalize(g),r=S.plotLeft,a=S.plotTop;!S.cancelClick&&(l&&this.inClass(s.target,"highcharts-tracker")?(v(l.series,"click",E(s,{point:l})),S.hoverPoint&&l.firePointEvent("click",s)):(E(s,this.getCoordinates(s)),S.isInsidePlot(s.chartX-r,s.chartY-a,{visiblePlotOnly:!0})&&v(S,"click",s)))}onContainerMouseDown(g){var l;let S=(1&(g.buttons||g.button))==1;g=this.normalize(g),T.isFirefox&&g.button!==0&&this.onContainerMouseMove(g),(g.button===void 0||S)&&(this.zoomOption(g),S&&((l=g.preventDefault)==null||l.call(g)),this.dragStart(g))}onContainerMouseLeave(g){let{pointer:S}=Z[p(B.hoverChartIndex,-1)]||{};g=this.normalize(g),this.onContainerMouseMove(g),S&&!this.inClass(g.relatedTarget,"highcharts-tooltip")&&(S.reset(),S.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(g){let S=this.chart,l=S.tooltip,s=this.normalize(g);this.setHoverChartIndex(g),(S.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!S.openMenu&&(this.inClass(s.target,"highcharts-tracker")||S.isInsidePlot(s.chartX-S.plotLeft,s.chartY-S.plotTop,{visiblePlotOnly:!0}))&&!(l&&l.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(g){this.onDocumentMouseUp(g)}onContainerTouchMove(g){this.touchSelect(g)?this.onContainerMouseMove(g):this.touch(g)}onContainerTouchStart(g){this.touchSelect(g)?this.onContainerMouseDown(g):(this.zoomOption(g),this.touch(g,!0))}onDocumentMouseMove(g){let S=this.chart,l=S.tooltip,s=this.chartPosition,r=this.normalize(g,s);!s||S.isInsidePlot(r.chartX-S.plotLeft,r.chartY-S.plotTop,{visiblePlotOnly:!0})||l&&l.shouldStickOnContact(r)||r.target!==S.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(g){var S,l;(l=(S=Z[p(B.hoverChartIndex,-1)])==null?void 0:S.pointer)==null||l.drop(g)}pinch(g){let S=this,{chart:l,hasZoom:s,lastTouches:r}=S,a=[].map.call(g.touches||[],L=>S.normalize(L)),d=a.length,n=d===1&&(S.inClass(g.target,"highcharts-tracker")&&l.runTrackerClick||S.runChartClick),h=l.tooltip,c=d===1&&p(h==null?void 0:h.options.followTouchMove,!0);d>1?S.initiated=!0:c&&(S.initiated=!1),s&&S.initiated&&!n&&g.cancelable!==!1&&g.preventDefault(),g.type==="touchstart"?(S.pinchDown=a,S.res=!0,l.mouseDownX=g.chartX):c?this.runPointActions(S.normalize(g)):r&&(v(l,"touchpan",{originalEvent:g,touches:a},()=>{let L=z=>{let w=z[0],R=z[1]||w;return{x:w.chartX,y:w.chartY,width:R.chartX-w.chartX,height:R.chartY-w.chartY}};l.transform({axes:l.axes.filter(z=>z.zoomEnabled&&(this.zoomHor&&z.horiz||this.zoomVert&&!z.horiz)),to:L(a),from:L(r),trigger:g.type})}),S.res&&(S.res=!1,this.reset(!1,0))),S.lastTouches=a}reset(g,S){let l=this.chart,s=l.hoverSeries,r=l.hoverPoint,a=l.hoverPoints,d=l.tooltip,n=d&&d.shared?a:r;g&&n&&I(n).forEach(function(h){h.series.isCartesian&&h.plotX===void 0&&(g=!1)}),g?d&&n&&I(n).length&&(d.refresh(n),d.shared&&a?a.forEach(function(h){h.setState(h.state,!0),h.series.isCartesian&&(h.series.xAxis.crosshair&&h.series.xAxis.drawCrosshair(null,h),h.series.yAxis.crosshair&&h.series.yAxis.drawCrosshair(null,h))}):r&&(r.setState(r.state,!0),l.axes.forEach(function(h){h.crosshair&&r.series[h.coll]===h&&h.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),a&&a.forEach(function(h){h.setState()}),s&&s.onMouseOut(),d&&d.hide(S),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),l.axes.forEach(function(h){h.hideCrosshair()}),l.hoverPoints=l.hoverPoint=void 0)}runPointActions(g,S,l){let s=this.chart,r=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,d=!!a&&a.shared,n=S||s.hoverPoint,h=n&&n.series||s.hoverSeries,c=(!g||g.type!=="touchmove")&&(!!S||h&&h.directTouch&&this.isDirectTouch),L=this.getHoverData(n,h,r,c,d,g);n=L.hoverPoint,h=L.hoverSeries;let z=L.hoverPoints,w=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,R=d&&h&&!h.noSharedTooltip;if(n&&(l||n!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEach(function(V){z.indexOf(V)===-1&&V.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(z),(z||[]).forEach(function(V){V.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=z,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{a&&n&&a.refresh(R?z:n,g)})}else if(w&&a&&!a.isHidden){let V=a.getAnchor([{}],g);s.isInsidePlot(V[0],V[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:V[0],plotY:V[1]})}this.unDocMouseMove||(this.unDocMouseMove=F(s.container.ownerDocument,"mousemove",V=>{var X,J;return(J=(X=Z[B.hoverChartIndex??-1])==null?void 0:X.pointer)==null?void 0:J.onDocumentMouseMove(V)}),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(V){let X,J=p((V.crosshair||{}).snap,!0);!J||(X=s.hoverPoint)&&X.series[V.coll]===V||(X=M(z,P=>P.series&&P.series[V.coll]===V)),X||!J?V.drawCrosshair(g,X):V.hideCrosshair()})}setDOMEvents(){let g=this.chart.container,S=g.ownerDocument;g.onmousedown=this.onContainerMouseDown.bind(this),g.onmousemove=this.onContainerMouseMove.bind(this),g.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(F(g,"mouseenter",this.onContainerMouseEnter.bind(this)),F(g,"mouseleave",this.onContainerMouseLeave.bind(this))),B.unbindDocumentMouseUp||(B.unbindDocumentMouseUp=F(S,"mouseup",this.onDocumentMouseUp.bind(this)));let l=this.chart.renderTo.parentElement;for(;l&&l.tagName!=="BODY";)this.eventsToUnbind.push(F(l,"scroll",()=>{delete this.chartPosition})),l=l.parentElement;this.eventsToUnbind.push(F(g,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),F(g,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),B.unbindDocumentTouchEnd||(B.unbindDocumentTouchEnd=F(S,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),F(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var r,a;if(!Y)return;let g=this.pointerCaptureEventsToUnbind,S=this.chart,l=S.container,s=p((r=S.options.tooltip)==null?void 0:r.followTouchMove,!0)&&S.series.some(d=>d.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(g.push(F(l,"pointerdown",d=>{var n,h;(n=d.target)!=null&&n.hasPointerCapture(d.pointerId)&&((h=d.target)==null||h.releasePointerCapture(d.pointerId))}),F(l,"pointermove",d=>{var n,h;(h=(n=S.pointer)==null?void 0:n.getPointFromEvent(d))==null||h.onMouseOver(d)})),S.styledMode||k(l,{"touch-action":"none"}),l.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(g.forEach(d=>d()),g.length=0,S.styledMode||k(l,{"touch-action":p((a=S.options.chart.style)==null?void 0:a["touch-action"],"manipulation")}),l.className=l.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(g){var s;let S=this.chart,l=T.charts[p(B.hoverChartIndex,-1)];if(l&&l!==S){let r={relatedTarget:S.container};g&&!(g!=null&&g.relatedTarget)&&(g={...r,...g}),(s=l.pointer)==null||s.onContainerMouseLeave(g||r)}l&&l.mouseIsDown||(B.hoverChartIndex=S.index)}touch(g,S){let l,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),(g=this.normalize(g)).touches.length===1?s.isInsidePlot(g.chartX-s.plotLeft,g.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(S&&this.runPointActions(g),g.type==="touchmove"&&(l=!!r[0]&&Math.pow(r[0].chartX-g.chartX,2)+Math.pow(r[0].chartY-g.chartY,2)>=16),p(l,!0)&&this.pinch(g)):S&&this.reset():g.touches.length===2&&this.pinch(g)}touchSelect(g){return!!(this.chart.zooming.singleTouch&&g.touches&&g.touches.length===1)}zoomOption(g){let S=this.chart,l=S.inverted,s=S.zooming.type||"",r,a;/touch/.test(g.type)&&(s=p(S.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=a=/y/.test(s),this.zoomHor=r&&!l||a&&l,this.zoomVert=a&&!l||r&&l,this.hasZoom=r||a}}return($=B||(B={})).compose=function(A){b(Q,"Core.Pointer")&&F(A,"beforeRender",function(){this.pointer=new $(this,this.options)})},B}),O(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(m){var T;let{extend:G,merge:$,pick:q}=m;return function(Z){function Q(Y,F,W){var l;let k=this.legendItem=this.legendItem||{},{chart:E,options:M}=this,{baseline:v=0,symbolWidth:o,symbolHeight:u}=Y,x=this.symbol||"circle",f=u/2,p=E.renderer,b=k.group,I=v-Math.round(u*(W?.4:.3)),B={},A,g=M.marker,S=0;if(E.styledMode||(B["stroke-width"]=Math.min(M.lineWidth||0,24),M.dashStyle?B.dashstyle=M.dashStyle:M.linecap==="square"||(B["stroke-linecap"]="round")),k.line=p.path().addClass("highcharts-graph").attr(B).add(b),W&&(k.area=p.path().addClass("highcharts-area").add(b)),B["stroke-linecap"]&&(S=Math.min(k.line.strokeWidth(),o)/2),o){let s=[["M",S,I],["L",o-S,I]];k.line.attr({d:s}),(l=k.area)==null||l.attr({d:[...s,["L",o-S,v],["L",S,v]]})}if(g&&g.enabled!==!1&&o){let s=Math.min(q(g.radius,f),f);x.indexOf("url")===0&&(g=$(g,{width:u,height:u}),s=0),k.symbol=A=p.symbol(x,o/2-s,I-s,2*s,2*s,G({context:"legend"},g)).addClass("highcharts-point").add(b),A.isMarker=!0}}Z.areaMarker=function(Y,F){Q.call(this,Y,F,!0)},Z.lineMarker=Q,Z.rectangle=function(Y,F){let W=F.legendItem||{},k=Y.options,E=Y.symbolHeight,M=k.squareSymbol,v=M?E:Y.symbolWidth;W.symbol=this.chart.renderer.rect(M?(Y.symbolWidth-E)/2:0,Y.baseline-E+1,v,E,q(Y.options.symbolRadius,E/2)).addClass("highcharts-point").attr({zIndex:3}).add(W.group)}}(T||(T={})),T}),O(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:m}=this.series.chart;return typeof this.y!="number"?"":m(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),O(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{defaultOptions:Z}=T,{extend:Q,extendClass:Y,merge:F}=$;return function(W){function k(E,M){let v=Z.plotOptions||{},o=M.defaultOptions,u=M.prototype;return u.type=E,u.pointClass||(u.pointClass=G),!W.seriesTypes[E]&&(o&&(v[E]=o),W.seriesTypes[E]=M,!0)}W.seriesTypes=m.seriesTypes,W.registerSeriesType=k,W.seriesType=function(E,M,v,o,u){let x=Z.plotOptions||{};if(M=M||"",x[E]=F(x[M],v),delete W.seriesTypes[E],k(E,Y(W.seriesTypes[M]||function(){},o)),W.seriesTypes[E].prototype.type=E,u){class f extends G{}Q(f.prototype,u),W.seriesTypes[E].prototype.pointClass=f}return W.seriesTypes[E]}}(q||(q={})),q}),O(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F,W){let{animObject:k,setAnimation:E}=m,{defaultOptions:M}=T,{registerEventOptions:v}=G,{svg:o,win:u}=$,{seriesTypes:x}=Y,{arrayMax:f,arrayMin:p,clamp:b,correctFloat:I,crisp:B,defined:A,destroyObjectProperties:g,diffObjects:S,erase:l,error:s,extend:r,find:a,fireEvent:d,getClosestDistance:n,getNestedProperty:h,insertItem:c,isArray:L,isNumber:z,isString:w,merge:R,objectEach:V,pick:X,removeEvent:J,splat:P,syncTimeout:C}=W;class N{constructor(){this.zoneAxis="y"}init(y,D){let j;d(this,"init",{options:D});let H=this,U=y.series;this.eventsToUnbind=[],H.chart=y,H.options=H.setOptions(D);let K=H.options,et=K.visible!==!1;H.linkedSeries=[],H.bindAxes(),r(H,{name:K.name,state:"",visible:et,selected:K.selected===!0}),v(this,K);let rt=K.events;(rt&&rt.click||K.point&&K.point.events&&K.point.events.click||K.allowPointSelect)&&(y.runTrackerClick=!0),H.getColor(),H.getSymbol(),H.parallelArrays.forEach(function(nt){H[nt+"Data"]||(H[nt+"Data"]=[])}),H.isCartesian&&(y.hasCartesianSeries=!0),U.length&&(j=U[U.length-1]),H._i=X(j&&j._i,-1)+1,H.opacity=H.options.opacity,y.orderItems("series",c(this,U)),K.dataSorting&&K.dataSorting.enabled?H.setDataSortingOptions():H.points||H.data||H.setData(K.data,!1),d(this,"afterInit")}is(y){return x[y]&&this instanceof x[y]}bindAxes(){let y,D=this,j=D.options,H=D.chart;d(this,"bindAxes",null,function(){(D.axisTypes||[]).forEach(function(U){(H[U]||[]).forEach(function(K){y=K.options,(X(j[U],0)===K.index||j[U]!==void 0&&j[U]===y.id)&&(c(D,K.series),D[U]=K,K.isDirty=!0)}),D[U]||D.optionalAxis===U||s(18,!0,H)})}),d(this,"afterBindAxes")}updateParallelArrays(y,D,j){let H=y.series,U=z(D)?function(K){let et=K==="y"&&H.toYData?H.toYData(y):y[K];H[K+"Data"][D]=et}:function(K){Array.prototype[D].apply(H[K+"Data"],j)};H.parallelArrays.forEach(U)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(y,D){let j=y.marker,H=D.marker||{};return j&&(H.enabled&&!j.enabled||H.symbol!==j.symbol||H.height!==j.height||H.width!==j.width)}autoIncrement(y){let D=this.options,j=D.pointIntervalUnit,H=D.relativeXValue,U=this.chart.time,K=this.xIncrement,et,rt;return K=X(K,D.pointStart,0),this.pointInterval=rt=X(this.pointInterval,D.pointInterval,1),H&&z(y)&&(rt*=y),j&&(et=new U.Date(K),j==="day"?U.set("Date",et,U.get("Date",et)+rt):j==="month"?U.set("Month",et,U.get("Month",et)+rt):j==="year"&&U.set("FullYear",et,U.get("FullYear",et)+rt),rt=et.getTime()-K),H&&z(y)?K+rt:(this.xIncrement=K+rt,K)}setDataSortingOptions(){let y=this.options;r(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),A(y.pointRange)||(y.pointRange=1)}setOptions(y){var at,ct;let D,j=this.chart,H=j.options.plotOptions,U=j.userOptions||{},K=R(y),et=j.styledMode,rt={plotOptions:H,userOptions:K};d(this,"setOptions",rt);let nt=rt.plotOptions[this.type],lt=U.plotOptions||{},ht=lt.series||{},it=M.plotOptions[this.type]||{},tt=lt[this.type]||{};this.userOptions=rt.userOptions;let st=R(nt,H.series,tt,K);this.tooltipOptions=R(M.tooltip,(at=M.plotOptions.series)==null?void 0:at.tooltip,it==null?void 0:it.tooltip,j.userOptions.tooltip,(ct=lt.series)==null?void 0:ct.tooltip,tt.tooltip,K.tooltip),this.stickyTracking=X(K.stickyTracking,tt.stickyTracking,ht.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||st.stickyTracking),nt.marker===null&&delete st.marker,this.zoneAxis=st.zoneAxis||"y";let ot=this.zones=(st.zones||[]).map(dt=>({...dt}));return(st.negativeColor||st.negativeFillColor)&&!st.zones&&(D={value:st[this.zoneAxis+"Threshold"]||st.threshold||0,className:"highcharts-negative"},et||(D.color=st.negativeColor,D.fillColor=st.negativeFillColor),ot.push(D)),ot.length&&A(ot[ot.length-1].value)&&ot.push(et?{}:{color:this.color,fillColor:this.fillColor}),d(this,"afterSetOptions",{options:st}),st}getName(){return X(this.options.name,"Series "+(this.index+1))}getCyclic(y,D,j){let H,U,K=this.chart,et=`${y}Index`,rt=`${y}Counter`,nt=(j==null?void 0:j.length)||K.options.chart.colorCount;!D&&(A(U=X(y==="color"?this.options.colorIndex:void 0,this[et]))?H=U:(K.series.length||(K[rt]=0),H=K[rt]%nt,K[rt]+=1),j&&(D=j[H])),H!==void 0&&(this[et]=H),this[y]=D}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||M.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let y=this.options.marker;this.getCyclic("symbol",y.symbol,this.chart.options.symbols)}findPointIndex(y,D){let j,H,U,K=y.id,et=y.x,rt=this.points,nt=this.options.dataSorting;if(K){let lt=this.chart.get(K);lt instanceof Z&&(j=lt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let lt=ht=>!ht.touched&&ht.index===y.index;if(nt&&nt.matchByName?lt=ht=>!ht.touched&&ht.name===y.name:this.options.relativeXValue&&(lt=ht=>!ht.touched&&ht.options.x===y.x),!(j=a(rt,lt)))return}return j&&(U=j&&j.index)!==void 0&&(H=!0),U===void 0&&z(et)&&(U=this.xData.indexOf(et,D)),U!==-1&&U!==void 0&&this.cropped&&(U=U>=this.cropStart?U-this.cropStart:U),!H&&z(U)&&rt[U]&&rt[U].touched&&(U=void 0),U}updateData(y,D){let j=this.options,H=j.dataSorting,U=this.points,K=[],et=this.requireSorting,rt=y.length===U.length,nt,lt,ht,it,tt=!0;if(this.xIncrement=null,y.forEach(function(st,ot){let at,ct=A(st)&&this.pointClass.prototype.optionsToObject.call({series:this},st)||{},dt=ct.x;ct.id||z(dt)?((at=this.findPointIndex(ct,it))===-1||at===void 0?K.push(st):U[at]&&st!==j.data[at]?(U[at].update(st,!1,null,!1),U[at].touched=!0,et&&(it=at+1)):U[at]&&(U[at].touched=!0),(!rt||ot!==at||H&&H.enabled||this.hasDerivedData)&&(nt=!0)):K.push(st)},this),nt)for(lt=U.length;lt--;)(ht=U[lt])&&!ht.touched&&ht.remove&&ht.remove(!1,D);else!rt||H&&H.enabled?tt=!1:(y.forEach(function(st,ot){st===U[ot].y||U[ot].destroyed||U[ot].update(st,!1,null,!1)}),K.length=0);return U.forEach(function(st){st&&(st.touched=!1)}),!!tt&&(K.forEach(function(st){this.addPoint(st,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=f(this.xData),this.autoIncrement()),!0)}setData(y,D=!0,j,H){var vt;let U=this,K=U.points,et=K&&K.length||0,rt=U.options,nt=U.chart,lt=rt.dataSorting,ht=U.xAxis,it=rt.turboThreshold,tt=this.xData,st=this.yData,ot=U.pointArrayMap,at=ot&&ot.length,ct=rt.keys,dt,ut,pt,gt=0,ft=1,mt;nt.options.chart.allowMutatingData||(rt.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data,mt=R(!0,y));let xt=(y=mt||y||[]).length;if(lt&<.enabled&&(y=this.sortData(y)),nt.options.chart.allowMutatingData&&H!==!1&&xt&&et&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.boosted&&(pt=this.updateData(y,j)),!pt){U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(yt){U[yt+"Data"].length=0});let bt=it&&xt>it;if(bt){let yt=U.getFirstValidPoint(y),Ct=U.getFirstValidPoint(y,xt-1,-1),kt=Mt=>!!(L(Mt)&&(ct||z(Mt[0])));if(z(yt)&&z(Ct))for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt];else if(kt(yt)&&kt(Ct))if(at)if(yt.length===at)for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt];else for(dt=0;dt<xt;dt++)ut=y[dt],tt[dt]=ut[0],st[dt]=ut.slice(1,at+1);else if(ct&&(gt=ct.indexOf("x"),ft=ct.indexOf("y"),gt=gt>=0?gt:0,ft=ft>=0?ft:1),yt.length===1&&(ft=0),gt===ft)for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt][ft];else for(dt=0;dt<xt;dt++)ut=y[dt],tt[dt]=ut[gt],st[dt]=ut[ft];else bt=!1}if(!bt)for(dt=0;dt<xt;dt++)ut={series:U},U.pointClass.prototype.applyOptions.apply(ut,[y[dt]]),U.updateParallelArrays(ut,dt);for(st&&w(st[0])&&s(14,!0,nt),U.data=[],U.options.data=U.userOptions.data=y,dt=et;dt--;)(vt=K[dt])==null||vt.destroy();ht&&(ht.minRange=ht.userMinRange),U.isDirty=nt.isDirtyBox=!0,U.isDirtyData=!!K,j=!1}rt.legendType==="point"&&(this.processData(),this.generatePoints()),D&&nt.redraw(j)}sortData(y){let D=this,j=D.options.dataSorting.sortKey||"y",H=function(U,K){return A(K)&&U.pointClass.prototype.optionsToObject.call({series:U},K)||{}};return y.forEach(function(U,K){y[K]=H(D,U),y[K].index=K},this),y.concat().sort((U,K)=>{let et=h(j,U),rt=h(j,K);return rt<et?-1:rt>et?1:0}).forEach(function(U,K){U.x=K},this),D.linkedSeries&&D.linkedSeries.forEach(function(U){let K=U.options,et=K.data;K.dataSorting&&K.dataSorting.enabled||!et||(et.forEach(function(rt,nt){et[nt]=H(U,rt),y[nt]&&(et[nt].x=y[nt].x,et[nt].index=nt)}),U.setData(et,!1))}),y}getProcessedData(y){let D=this,j=D.xAxis,H=D.options.cropThreshold,U=j==null?void 0:j.logarithmic,K=D.isCartesian,et,rt,nt=0,lt,ht,it,tt=D.xData,st=D.yData,ot=!1,at=tt.length;j&&(ht=(lt=j.getExtremes()).min,it=lt.max,ot=!!(j.categories&&!j.names.length)),K&&D.sorted&&!y&&(!H||at>H||D.forceCrop)&&(tt[at-1]<ht||tt[0]>it?(tt=[],st=[]):D.yData&&(tt[0]<ht||tt[at-1]>it)&&(tt=(et=this.cropData(D.xData,D.yData,ht,it)).xData,st=et.yData,nt=et.start,rt=!0));let ct=n([U?tt.map(U.log2lin):tt],()=>D.requireSorting&&!ot&&s(15,!1,D.chart));return{xData:tt,yData:st,cropped:rt,cropStart:nt,closestPointRange:ct}}processData(y){let D=this.xAxis;if(this.isCartesian&&!this.isDirty&&!D.isDirty&&!this.yAxis.isDirty&&!y)return!1;let j=this.getProcessedData();this.cropped=j.cropped,this.cropStart=j.cropStart,this.processedXData=j.xData,this.processedYData=j.yData,this.closestPointRange=this.basePointRange=j.closestPointRange,d(this,"afterProcessData")}cropData(y,D,j,H){let U=y.length,K,et,rt=0,nt=U;for(K=0;K<U;K++)if(y[K]>=j){rt=Math.max(0,K-1);break}for(et=K;et<U;et++)if(y[et]>H){nt=et+1;break}return{xData:y.slice(rt,nt),yData:D.slice(rt,nt),start:rt,end:nt}}generatePoints(){let y=this.options,D=this.processedData||y.data,j=this.processedXData,H=this.processedYData,U=this.pointClass,K=j.length,et=this.cropStart||0,rt=this.hasGroupedData,nt=y.keys,lt=[],ht=y.dataGrouping&&y.dataGrouping.groupAll?et:0,it,tt,st,ot,at=this.data;if(!at&&!rt){let ct=[];ct.length=D.length,at=this.data=ct}for(nt&&rt&&(this.options.keys=!1),ot=0;ot<K;ot++)tt=et+ot,rt?((st=new U(this,[j[ot]].concat(P(H[ot])))).dataGroup=this.groupMap[ht+ot],st.dataGroup.options&&(st.options=st.dataGroup.options,r(st,st.dataGroup.options),delete st.dataLabels)):(st=at[tt])||D[tt]===void 0||(at[tt]=st=new U(this,D[tt],j[ot])),st&&(st.index=rt?ht+ot:tt,lt[ot]=st);if(this.options.keys=nt,at&&(K!==(it=at.length)||rt))for(ot=0;ot<it;ot++)ot!==et||rt||(ot+=K),at[ot]&&(at[ot].destroyElements(),at[ot].plotX=void 0);this.data=at,this.points=lt,d(this,"afterGeneratePoints")}getXExtremes(y){return{min:p(y),max:f(y)}}getExtremes(y,D){let j=this.xAxis,H=this.yAxis,U=[],K=this.requireSorting&&!this.is("column")?1:0,et=!!H&&H.positiveValuesOnly,rt=D||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:nt,processedYData:lt}=this,ht,it,tt,st,ot,at,ct,dt=0,ut=0,pt=0;if(this.cropped&&rt){let xt=this.getProcessedData(!0);nt=xt.xData,lt=xt.yData}let gt=(y=y||this.stackedYData||lt||[]).length,ft=nt||this.xData;for(j&&(dt=(ht=j.getExtremes()).min,ut=ht.max),at=0;at<gt;at++)if(st=ft[at],it=(z(ot=y[at])||L(ot))&&((z(ot)?ot>0:ot.length)||!et),tt=D||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!j||(ft[at+K]||st)>=dt&&(ft[at-K]||st)<=ut,it&&tt)if(ct=ot.length)for(;ct--;)z(ot[ct])&&(U[pt++]=ot[ct]);else U[pt++]=ot;let mt={activeYData:U,dataMin:p(U),dataMax:f(U)};return d(this,"afterGetExtremes",{dataExtremes:mt}),mt}applyExtremes(){let y=this.getExtremes();return this.dataMin=y.dataMin,this.dataMax=y.dataMax,y}getFirstValidPoint(y,D=0,j=1){let H=y.length,U=D;for(;U>=0&&U<H;){if(A(y[U]))return y[U];U+=j}}translate(){var ut;this.processedXData||this.processData(),this.generatePoints();let y=this.options,D=y.stacking,j=this.xAxis,H=j.categories,U=this.enabledDataSorting,K=this.yAxis,et=this.points,rt=et.length,nt=this.pointPlacementToXValue(),lt=!!nt,ht=y.threshold,it=y.startFromThreshold?ht:0,tt,st,ot,at,ct=Number.MAX_VALUE;function dt(pt){return b(pt,-1e5,1e5)}for(tt=0;tt<rt;tt++){let pt,gt=et[tt],ft=gt.x,mt,xt,vt=gt.y,bt=gt.low,yt=D&&((ut=K.stacking)==null?void 0:ut.stacks[(this.negStacks&&vt<(it?0:ht)?"-":"")+this.stackKey]);st=j.translate(ft,!1,!1,!1,!0,nt),gt.plotX=z(st)?I(dt(st)):void 0,D&&this.visible&&yt&&yt[ft]&&(at=this.getStackIndicator(at,ft,this.index),!gt.isNull&&at.key&&(xt=(mt=yt[ft]).points[at.key]),mt&&L(xt)&&(bt=xt[0],vt=xt[1],bt===it&&at.key===yt[ft].base&&(bt=X(z(ht)?ht:K.min)),K.positiveValuesOnly&&A(bt)&&bt<=0&&(bt=void 0),gt.total=gt.stackTotal=X(mt.total),gt.percentage=A(gt.y)&&mt.total?gt.y/mt.total*100:void 0,gt.stackY=vt,this.irregularWidths||mt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),gt.yBottom=A(bt)?dt(K.translate(bt,!1,!0,!1,!0)):void 0,this.dataModify&&(vt=this.dataModify.modifyValue(vt,tt)),z(vt)&>.plotX!==void 0&&(pt=z(pt=K.translate(vt,!1,!0,!1,!0))?dt(pt):void 0),gt.plotY=pt,gt.isInside=this.isPointInside(gt),gt.clientX=lt?I(j.translate(ft,!1,!1,!1,!0,nt)):st,gt.negative=(gt.y||0)<(ht||0),gt.category=X(H&&H[gt.x],gt.x),gt.isNull||gt.visible===!1||(ot!==void 0&&(ct=Math.min(ct,Math.abs(st-ot))),ot=st),gt.zone=this.zones.length?gt.getZone():void 0,!gt.graphic&&this.group&&U&&(gt.isNew=!0)}this.closestPointRangePx=ct,d(this,"afterTranslate")}getValidPoints(y,D,j){let H=this.chart;return(y||this.points||[]).filter(function(U){let{plotX:K,plotY:et}=U;return!!((j||!U.isNull&&z(et))&&(!D||H.isInsidePlot(K,et,{inverted:H.inverted})))&&U.visible!==!1})}getClipBox(){let{chart:y,xAxis:D,yAxis:j}=this,{x:H,y:U,width:K,height:et}=R(y.clipBox);return D&&D.len!==y.plotSizeX&&(K=D.len),j&&j.len!==y.plotSizeY&&(et=j.len),y.inverted&&!this.invertible&&([K,et]=[et,K]),{x:H,y:U,width:K,height:et}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:y,group:D,markerGroup:j}=this,H=y.sharedClips,U=y.renderer,K=this.getClipBox(),et=this.getSharedClipKey(),rt=H[et];rt?rt.animate(K):H[et]=rt=U.clipRect(K),D&&D.clip(this.options.clip===!1?void 0:rt),j&&j.clip()}animate(y){let{chart:D,group:j,markerGroup:H}=this,U=D.inverted,K=k(this.options.animation),et=[this.getSharedClipKey(),K.duration,K.easing,K.defer].join(","),rt=D.sharedClips[et],nt=D.sharedClips[et+"m"];if(y&&j){let lt=this.getClipBox();if(rt)rt.attr("height",lt.height);else{lt.width=0,U&&(lt.x=D.plotHeight),rt=D.renderer.clipRect(lt),D.sharedClips[et]=rt;let ht={x:-99,y:-99,width:U?D.plotWidth+199:99,height:U?99:D.plotHeight+199};nt=D.renderer.clipRect(ht),D.sharedClips[et+"m"]=nt}j.clip(rt),H==null||H.clip(nt)}else if(rt&&!rt.hasClass("highcharts-animating")){let lt=this.getClipBox(),ht=K.step;(H!=null&&H.element.childNodes.length||D.series.length>1)&&(K.step=function(it,tt){ht&&ht.apply(tt,arguments),tt.prop==="width"&&(nt!=null&&nt.element)&&nt.attr(U?"height":"width",it+99)}),rt.addClass("highcharts-animating").animate(lt,K)}}afterAnimate(){this.setClip(),V(this.chart.sharedClips,(y,D,j)=>{y&&!this.chart.container.querySelector(`[clip-path="url(#${y.id})"]`)&&(y.destroy(),delete j[D])}),this.finishedAnimating=!0,d(this,"afterAnimate")}drawPoints(y=this.points){let D,j,H,U,K,et,rt,nt=this.chart,lt=nt.styledMode,{colorAxis:ht,options:it}=this,tt=it.marker,st=this[this.specialGroup||"markerGroup"],ot=this.xAxis,at=X(tt.enabled,!ot||!!ot.isRadial||null,this.closestPointRangePx>=tt.enabledThreshold*tt.radius);if(tt.enabled!==!1||this._hasPointMarkers)for(D=0;D<y.length;D++)if(U=(H=(j=y[D]).graphic)?"animate":"attr",K=j.marker||{},et=!!j.marker,(at&&K.enabled===void 0||K.enabled)&&!j.isNull&&j.visible!==!1){let ct=X(K.symbol,this.symbol,"rect");rt=this.markerAttribs(j,j.selected&&"select"),this.enabledDataSorting&&(j.startXPos=ot.reversed?-(rt.width||0):ot.width);let dt=j.isInside!==!1;if(!H&&dt&&((rt.width||0)>0||j.hasImage)&&(j.graphic=H=nt.renderer.symbol(ct,rt.x,rt.y,rt.width,rt.height,et?K:tt).add(st),this.enabledDataSorting&&nt.hasRendered&&(H.attr({x:j.startXPos}),U="animate")),H&&U==="animate"&&H[dt?"show":"hide"](dt).animate(rt),H){let ut=this.pointAttribs(j,lt||!j.selected?void 0:"select");lt?ht&&H.css({fill:ut.fill}):H[U](ut)}H&&H.addClass(j.getClassName(),!0)}else H&&(j.graphic=H.destroy())}markerAttribs(y,D){let j=this.options,H=j.marker,U=y.marker||{},K=U.symbol||H.symbol,et={},rt,nt,lt=X(U.radius,H&&H.radius);D&&(rt=H.states[D],lt=X((nt=U.states&&U.states[D])&&nt.radius,rt&&rt.radius,lt&<+(rt&&rt.radiusPlus||0))),y.hasImage=K&&K.indexOf("url")===0,y.hasImage&&(lt=0);let ht=y.pos();return z(lt)&&ht&&(j.crisp&&(ht[0]=B(ht[0],y.hasImage?0:K==="rect"?(H==null?void 0:H.lineWidth)||0:1)),et.x=ht[0]-lt,et.y=ht[1]-lt),lt&&(et.width=et.height=2*lt),et}pointAttribs(y,D){let j=this.options.marker,H=y&&y.options,U=H&&H.marker||{},K=H&&H.color,et=y&&y.color,rt=y&&y.zone&&y.zone.color,nt,lt,ht=this.color,it,tt,st=X(U.lineWidth,j.lineWidth),ot=1;return ht=K||rt||et||ht,it=U.fillColor||j.fillColor||ht,tt=U.lineColor||j.lineColor||ht,D=D||"normal",nt=j.states[D]||{},st=X((lt=U.states&&U.states[D]||{}).lineWidth,nt.lineWidth,st+X(lt.lineWidthPlus,nt.lineWidthPlus,0)),it=lt.fillColor||nt.fillColor||it,{stroke:tt=lt.lineColor||nt.lineColor||tt,"stroke-width":st,fill:it,opacity:ot=X(lt.opacity,nt.opacity,ot)}}destroy(y){let D,j,H,U=this,K=U.chart,et=/AppleWebKit\/533/.test(u.navigator.userAgent),rt=U.data||[];for(d(U,"destroy",{keepEventsForUpdate:y}),this.removeEvents(y),(U.axisTypes||[]).forEach(function(nt){(H=U[nt])&&H.series&&(l(H.series,U),H.isDirty=H.forceRedraw=!0)}),U.legendItem&&U.chart.legend.destroyItem(U),D=rt.length;D--;)(j=rt[D])&&j.destroy&&j.destroy();for(let nt of U.zones)g(nt,void 0,!0);W.clearTimeout(U.animationTimeout),V(U,function(nt,lt){nt instanceof F&&!nt.survive&&nt[et&<==="group"?"hide":"destroy"]()}),K.hoverSeries===U&&(K.hoverSeries=void 0),l(K.series,U),K.orderItems("series"),V(U,function(nt,lt){y&<==="hcEvents"||delete U[lt]})}applyZones(){let{area:y,chart:D,graph:j,zones:H,points:U,xAxis:K,yAxis:et,zoneAxis:rt}=this,{inverted:nt,renderer:lt}=D,ht=this[`${rt}Axis`],{isXAxis:it,len:tt=0}=ht||{},st=((j==null?void 0:j.strokeWidth())||0)/2+1,ot=(at,ct=0,dt=0)=>{nt&&(dt=tt-dt);let{translated:ut=0,lineClip:pt}=at,gt=dt-ut;pt==null||pt.push(["L",ct,Math.abs(gt)<st?dt-st*(gt<=0?-1:1):ut])};if(H.length&&(j||y)&&ht&&z(ht.min)){let at=ht.getExtremes().max,ct=pt=>{pt.forEach((gt,ft)=>{(gt[0]==="M"||gt[0]==="L")&&(pt[ft]=[gt[0],it?tt-gt[1]:gt[1],it?gt[2]:tt-gt[2]])})};if(H.forEach(pt=>{pt.lineClip=[],pt.translated=b(ht.toPixels(X(pt.value,at),!0)||0,0,tt)}),j&&!this.showLine&&j.hide(),y&&y.hide(),rt==="y"&&U.length<K.len)for(let pt of U){let{plotX:gt,plotY:ft,zone:mt}=pt,xt=mt&&H[H.indexOf(mt)-1];mt&&ot(mt,gt,ft),xt&&ot(xt,gt,ft)}let dt=[],ut=ht.toPixels(ht.getExtremes().min,!0);H.forEach(pt=>{var Pt,Tt;let gt=pt.lineClip||[],ft=Math.round(pt.translated||0);K.reversed&>.reverse();let{clip:mt,simpleClip:xt}=pt,vt=0,bt=0,yt=K.len,Ct=et.len;it?(vt=ft,yt=ut):(bt=ft,Ct=ut);let kt=[["M",vt,bt],["L",yt,bt],["L",yt,Ct],["L",vt,Ct],["Z"]],Mt=[kt[0],...gt,kt[1],kt[2],...dt,kt[3],kt[4]];dt=gt.reverse(),ut=ft,nt&&(ct(Mt),y&&ct(kt)),mt?(mt.animate({d:Mt}),xt==null||xt.animate({d:kt})):(mt=pt.clip=lt.path(Mt),y&&(xt=pt.simpleClip=lt.path(kt))),j&&((Pt=pt.graph)==null||Pt.clip(mt)),y&&((Tt=pt.area)==null||Tt.clip(xt))})}else this.visible&&(j&&j.show(),y&&y.show())}plotGroup(y,D,j,H,U){let K=this[y],et=!K,rt={visibility:j,zIndex:H||.1};return A(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(rt.opacity=this.opacity),K||(this[y]=K=this.chart.renderer.g().add(U)),K.addClass("highcharts-"+D+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(A(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(K.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),K.attr(rt)[et?"attr":"animate"](this.getPlotBox(D)),K}getPlotBox(y){let D=this.xAxis,j=this.yAxis,H=this.chart,U=H.inverted&&!H.polar&&D&&this.invertible&&y==="series";return H.inverted&&(D=j,j=this.xAxis),{translateX:D?D.left:H.plotLeft,translateY:j?j.top:H.plotTop,rotation:U?90:0,rotationOriginX:U?(D.len-j.len)/2:0,rotationOriginY:U?(D.len+j.len)/2:0,scaleX:U?-1:1,scaleY:1}}removeEvents(y){let{eventsToUnbind:D}=this;y||J(this),D.length&&(D.forEach(j=>{j()}),D.length=0)}render(){var lt,ht,it,tt,st;let y=this,{chart:D,options:j,hasRendered:H}=y,U=k(j.animation),K=y.visible?"inherit":"hidden",et=j.zIndex,rt=D.seriesGroup,nt=y.finishedAnimating?0:U.duration;d(this,"render"),y.plotGroup("group","series",K,et,rt),y.markerGroup=y.plotGroup("markerGroup","markers",K,et,rt),j.clip!==!1&&y.setClip(),nt&&((lt=y.animate)==null||lt.call(y,!0)),y.drawGraph&&(y.drawGraph(),y.applyZones()),y.visible&&y.drawPoints(),(ht=y.drawDataLabels)==null||ht.call(y),(it=y.redrawPoints)==null||it.call(y),j.enableMouseTracking&&((tt=y.drawTracker)==null||tt.call(y)),nt&&((st=y.animate)==null||st.call(y)),H||(nt&&U.defer&&(nt+=U.defer),y.animationTimeout=C(()=>{y.afterAnimate()},nt||0)),y.isDirty=!1,y.hasRendered=!0,d(y,"afterRender")}redraw(){let y=this.isDirty||this.isDirtyData;this.translate(),this.render(),y&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(y,D){let{xAxis:j,yAxis:H}=this,U=this.chart.inverted;return this.searchKDTree({clientX:U?j.len-y.chartY+j.pos:y.chartX-j.pos,plotY:U?H.len-y.chartX+H.pos:y.chartY-H.pos},D,y)}buildKDTree(y){this.buildingKdTree=!0;let D=this,j=D.options.findNearestPointBy.indexOf("y")>-1?2:1;delete D.kdTree,C(function(){D.kdTree=function H(U,K,et){let rt,nt,lt=U==null?void 0:U.length;if(lt)return rt=D.kdAxisArray[K%et],U.sort((ht,it)=>(ht[rt]||0)-(it[rt]||0)),{point:U[nt=Math.floor(lt/2)],left:H(U.slice(0,nt),K+1,et),right:H(U.slice(nt+1),K+1,et)}}(D.getValidPoints(void 0,!D.directTouch),j,j),D.buildingKdTree=!1},D.options.kdNow||(y==null?void 0:y.type)==="touchstart"?0:1)}searchKDTree(y,D,j){let H=this,[U,K]=this.kdAxisArray,et=D?"distX":"dist",rt=(H.options.findNearestPointBy||"").indexOf("y")>-1?2:1,nt=!!H.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(j),this.kdTree)return function lt(ht,it,tt,st){var mt;let ot=it.point,at=H.kdAxisArray[tt%st],ct,dt,ut=ot;(function(xt,vt){var Ot;let bt=xt[U],yt=vt[U],Ct=A(bt)&&A(yt)?bt-yt:null,kt=xt[K],Mt=vt[K],Pt=A(kt)&&A(Mt)?kt-Mt:0,Tt=nt&&((Ot=vt.marker)==null?void 0:Ot.radius)||0;vt.dist=Math.sqrt((Ct&&Ct*Ct||0)+Pt*Pt)-Tt,vt.distX=A(Ct)?Math.abs(Ct)-Tt:Number.MAX_VALUE})(ht,ot);let pt=(ht[at]||0)-(ot[at]||0)+(nt&&((mt=ot.marker)==null?void 0:mt.radius)||0),gt=pt<0?"left":"right",ft=pt<0?"right":"left";return it[gt]&&(ut=(ct=lt(ht,it[gt],tt+1,st))[et]<ut[et]?ct:ot),it[ft]&&Math.sqrt(pt*pt)<ut[et]&&(ut=(dt=lt(ht,it[ft],tt+1,st))[et]<ut[et]?dt:ut),ut}(y,this.kdTree,rt,rt)}pointPlacementToXValue(){let{options:y,xAxis:D}=this,j=y.pointPlacement;return j==="between"&&(j=D.reversed?-.5:.5),z(j)?j*(y.pointRange||D.pointRange):0}isPointInside(y){let{chart:D,xAxis:j,yAxis:H}=this,{plotX:U=-1,plotY:K=-1}=y;return K>=0&&K<=(H?H.len:D.plotHeight)&&U>=0&&U<=(j?j.len:D.plotWidth)}drawTracker(){var it;let y=this,D=y.options,j=D.trackByArea,H=[].concat((j?y.areaPath:y.graphPath)||[]),U=y.chart,K=U.pointer,et=U.renderer,rt=((it=U.options.tooltip)==null?void 0:it.snap)||0,nt=()=>{D.enableMouseTracking&&U.hoverSeries!==y&&y.onMouseOver()},lt="rgba(192,192,192,"+(o?1e-4:.002)+")",ht=y.tracker;ht?ht.attr({d:H}):y.graph&&(y.tracker=ht=et.path(H).attr({visibility:y.visible?"inherit":"hidden",zIndex:2}).addClass(j?"highcharts-tracker-area":"highcharts-tracker-line").add(y.group),U.styledMode||ht.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:lt,fill:j?lt:"none","stroke-width":y.graph.strokeWidth()+(j?0:2*rt)}),[y.tracker,y.markerGroup,y.dataLabelsGroup].forEach(tt=>{tt&&(tt.addClass("highcharts-tracker").on("mouseover",nt).on("mouseout",st=>{K==null||K.onTrackerMouseOut(st)}),D.cursor&&!U.styledMode&&tt.css({cursor:D.cursor}),tt.on("touchstart",nt))})),d(this,"afterDrawTracker")}addPoint(y,D,j,H,U){let K,et,rt=this.options,nt=this.data,lt=this.chart,ht=this.xAxis,it=ht&&ht.hasNames&&ht.names,tt=rt.data,st=this.xData;D=X(D,!0);let ot={series:this};this.pointClass.prototype.applyOptions.apply(ot,[y]);let at=ot.x;if(et=st.length,this.requireSorting&&at<st[et-1])for(K=!0;et&&st[et-1]>at;)et--;this.updateParallelArrays(ot,"splice",[et,0,0]),this.updateParallelArrays(ot,et),it&&ot.name&&(it[at]=ot.name),tt.splice(et,0,y),(K||this.processedData)&&(this.data.splice(et,0,null),this.processData()),rt.legendType==="point"&&this.generatePoints(),j&&(nt[0]&&nt[0].remove?nt[0].remove(!1):(nt.shift(),this.updateParallelArrays(ot,"shift"),tt.shift())),U!==!1&&d(this,"addPoint",{point:ot}),this.isDirty=!0,this.isDirtyData=!0,D&<.redraw(H)}removePoint(y,D,j){let H=this,U=H.data,K=U[y],et=H.points,rt=H.chart,nt=function(){et&&et.length===U.length&&et.splice(y,1),U.splice(y,1),H.options.data.splice(y,1),H.updateParallelArrays(K||{series:H},"splice",[y,1]),K&&K.destroy(),H.isDirty=!0,H.isDirtyData=!0,D&&rt.redraw()};E(j,rt),D=X(D,!0),K?K.firePointEvent("remove",null,nt):nt()}remove(y,D,j,H){let U=this,K=U.chart;function et(){U.destroy(H),K.isDirtyLegend=K.isDirtyBox=!0,K.linkSeries(H),X(y,!0)&&K.redraw(D)}j!==!1?d(U,"remove",null,et):et()}update(y,D){var ct,dt,ut;d(this,"update",{options:y=S(y,this.userOptions)});let j=this,H=j.chart,U=j.userOptions,K=j.initialType||j.type,et=H.options.plotOptions,rt=x[K].prototype,nt=j.finishedAnimating&&{animation:!1},lt={},ht,it,tt=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],st=y.type||U.type||H.options.chart.type,ot=!(this.hasDerivedData||st&&st!==this.type||y.pointStart!==void 0||y.pointInterval!==void 0||y.relativeXValue!==void 0||y.joinBy||y.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(pt=>j.hasOptionChanged(pt)));st=st||K,ot&&(tt.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),y.visible!==!1&&tt.push("area","graph"),j.parallelArrays.forEach(function(pt){tt.push(pt+"Data")}),y.data&&(y.dataSorting&&r(j.options.dataSorting,y.dataSorting),this.setData(y.data,!1))),y=R(U,{index:U.index===void 0?j.index:U.index,pointStart:((ct=et==null?void 0:et.series)==null?void 0:ct.pointStart)??U.pointStart??((dt=j.xData)==null?void 0:dt[0])},!ot&&{data:j.options.data},y,nt),ot&&y.data&&(y.data=j.options.data),(tt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(tt)).forEach(function(pt){tt[pt]=j[pt],delete j[pt]});let at=!1;if(x[st]){if(at=st!==j.type,j.remove(!1,!1,!1,!0),at)if(H.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(j,x[st].prototype);else{let pt=Object.hasOwnProperty.call(j,"hcEvents")&&j.hcEvents;for(it in rt)j[it]=void 0;r(j,x[st].prototype),pt?j.hcEvents=pt:delete j.hcEvents}}else s(17,!0,H,{missingModuleFor:st});if(tt.forEach(function(pt){j[pt]=tt[pt]}),j.init(H,y),ot&&this.points)for(let pt of((ht=j.options).visible===!1?(lt.graphic=1,lt.dataLabel=1):(this.hasMarkerChanged(ht,U)&&(lt.graphic=1),(ut=j.hasDataLabels)!=null&&ut.call(j)||(lt.dataLabel=1)),this.points))pt&&pt.series&&(pt.resolveColor(),Object.keys(lt).length&&pt.destroyElements(lt),ht.showInLegend===!1&&pt.legendItem&&H.legend.destroyItem(pt));j.initialType=K,H.linkSeries(),H.setSortedData(),at&&j.linkedSeries.length&&(j.isDirtyData=!0),d(this,"afterUpdate"),X(D,!0)&&H.redraw(!!ot&&void 0)}setName(y){this.name=this.options.name=this.userOptions.name=y,this.chart.isDirtyLegend=!0}hasOptionChanged(y){var et,rt;let D=this.chart,j=this.options[y],H=D.options.plotOptions,U=this.userOptions[y],K=X((et=H==null?void 0:H[this.type])==null?void 0:et[y],(rt=H==null?void 0:H.series)==null?void 0:rt[y]);return U&&!A(K)?j!==U:j!==X(K,j)}onMouseOver(){let y=this.chart,D=y.hoverSeries,j=y.pointer;j==null||j.setHoverChartIndex(),D&&D!==this&&D.onMouseOut(),this.options.events.mouseOver&&d(this,"mouseOver"),this.setState("hover"),y.hoverSeries=this}onMouseOut(){let y=this.options,D=this.chart,j=D.tooltip,H=D.hoverPoint;D.hoverSeries=null,H&&H.onMouseOut(),this&&y.events.mouseOut&&d(this,"mouseOut"),j&&!this.stickyTracking&&(!j.shared||this.noSharedTooltip)&&j.hide(),D.series.forEach(function(U){U.setState("",!0)})}setState(y,D){let j=this,H=j.options,U=j.graph,K=H.inactiveOtherPoints,et=H.states,rt=X(et[y||"normal"]&&et[y||"normal"].animation,j.chart.options.chart.animation),nt=H.lineWidth,lt=H.opacity;if(y=y||"",j.state!==y&&([j.group,j.markerGroup,j.dataLabelsGroup].forEach(function(ht){ht&&(j.state&&ht.removeClass("highcharts-series-"+j.state),y&&ht.addClass("highcharts-series-"+y))}),j.state=y,!j.chart.styledMode)){if(et[y]&&et[y].enabled===!1)return;if(y&&(nt=et[y].lineWidth||nt+(et[y].lineWidthPlus||0),lt=X(et[y].opacity,lt)),U&&!U.dashstyle&&z(nt))for(let ht of[U,...this.zones.map(it=>it.graph)])ht==null||ht.animate({"stroke-width":nt},rt);K||[j.group,j.markerGroup,j.dataLabelsGroup,j.labelBySeries].forEach(function(ht){ht&&ht.animate({opacity:lt},rt)})}D&&K&&j.points&&j.setAllPointsToState(y||void 0)}setAllPointsToState(y){this.points.forEach(function(D){D.setState&&D.setState(y)})}setVisible(y,D){var rt;let j=this,H=j.chart,U=H.options.chart.ignoreHiddenSeries,K=j.visible;j.visible=y=j.options.visible=j.userOptions.visible=y===void 0?!K:y;let et=y?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(nt=>{var lt;(lt=j[nt])==null||lt[et]()}),(H.hoverSeries===j||((rt=H.hoverPoint)==null?void 0:rt.series)===j)&&j.onMouseOut(),j.legendItem&&H.legend.colorizeItem(j,y),j.isDirty=!0,j.options.stacking&&H.series.forEach(nt=>{nt.options.stacking&&nt.visible&&(nt.isDirty=!0)}),j.linkedSeries.forEach(nt=>{nt.setVisible(y,!1)}),U&&(H.isDirtyBox=!0),d(j,et),D!==!1&&H.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(y){this.selected=y=this.options.selected=y===void 0?!this.selected:y,this.checkbox&&(this.checkbox.checked=y),d(this,y?"select":"unselect")}shouldShowTooltip(y,D,j={}){return j.series=this,j.visiblePlotOnly=!0,this.chart.isInsidePlot(y,D,j)}drawLegendSymbol(y,D){var j;(j=q[this.options.legendSymbol||"rectangle"])==null||j.call(this,y,D)}}return N.defaultOptions=Q,N.types=Y.seriesTypes,N.registerType=Y.registerSeriesType,r(N.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Z,requireSorting:!0,sorted:!0}),Y.series=N,N}),O(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y){var F;let{animObject:W,setAnimation:k}=m,{registerEventOptions:E}=T,{composed:M,marginNames:v}=G,{distribute:o}=Z,{format:u}=Q,{addEvent:x,createElement:f,css:p,defined:b,discardElement:I,find:B,fireEvent:A,isNumber:g,merge:S,pick:l,pushUnique:s,relativeLength:r,stableSort:a,syncTimeout:d}=Y;class n{constructor(c,L){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=c,this.setOptions(L),L.enabled&&(this.render(),E(this,L),x(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),x(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(c){let L=l(c.padding,8);this.options=c,this.chart.styledMode||(this.itemStyle=c.itemStyle,this.itemHiddenStyle=S(this.itemStyle,c.itemHiddenStyle)),this.itemMarginTop=c.itemMarginTop,this.itemMarginBottom=c.itemMarginBottom,this.padding=L,this.initialItemY=L-5,this.symbolWidth=l(c.symbolWidth,16),this.pages=[],this.proximate=c.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(c,L){let z=this.chart;this.setOptions(S(!0,this.options,c)),"events"in this.options&&E(this,this.options),this.destroy(),z.isDirtyLegend=z.isDirtyBox=!0,l(L,!0)&&z.redraw(),A(this,"afterUpdate",{redraw:L})}colorizeItem(c,L){let{area:z,group:w,label:R,line:V,symbol:X}=c.legendItem||{};if(w==null||w[L?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:J={}}=this,P=J.color,{fillColor:C,fillOpacity:N,lineColor:_,marker:y}=c.options,D=j=>(!L&&(j.fill&&(j.fill=P),j.stroke&&(j.stroke=P)),j);R==null||R.css(S(L?this.itemStyle:J)),V==null||V.attr(D({stroke:_||c.color})),X&&X.attr(D(y&&X.isMarker?c.pointAttribs():{fill:c.color})),z==null||z.attr(D({fill:C||c.color,"fill-opacity":C?1:N??.75}))}A(this,"afterColorizeItem",{item:c,visible:L})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(c){let{group:L,x:z=0,y:w=0}=c.legendItem||{},R=this.options,V=R.symbolPadding,X=!R.rtl,J=c.checkbox;if(L&&L.element){let P={translateX:X?z:this.legendWidth-z-2*V-4,translateY:w};L[b(L.translateY)?"animate":"attr"](P,void 0,()=>{A(this,"afterPositionItem",{item:c})})}J&&(J.x=z,J.y=w)}destroyItem(c){let L=c.checkbox,z=c.legendItem||{};for(let w of["group","label","line","symbol"])z[w]&&(z[w]=z[w].destroy());L&&I(L),c.legendItem=void 0}destroy(){for(let c of this.getAllItems())this.destroyItem(c);for(let c of["clipRect","up","down","pager","nav","box","title","group"])this[c]&&(this[c]=this[c].destroy());this.display=null}positionCheckboxes(){let c,L=this.group&&this.group.alignAttr,z=this.clipHeight||this.legendHeight,w=this.titleHeight;L&&(c=L.translateY,this.allItems.forEach(function(R){let V,X=R.checkbox;X&&(V=c+w+X.y+(this.scrollOffset||0)+3,p(X,{left:L.translateX+R.checkboxOffset+X.x-20+"px",top:V+"px",display:this.proximate||V>c-6&&V<c+z-6?"":"none"}))},this))}renderTitle(){let c=this.options,L=this.padding,z=c.title,w,R=0;z.text&&(this.title||(this.title=this.chart.renderer.label(z.text,L-3,L-4,void 0,void 0,void 0,c.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(z.style),this.title.add(this.group)),z.width||this.title.css({width:this.maxLegendWidth+"px"}),R=(w=this.title.getBBox()).height,this.offsetWidth=w.width,this.contentGroup.attr({translateY:R})),this.titleHeight=R}setText(c){let L=this.options;c.legendItem.label.attr({text:L.labelFormat?u(L.labelFormat,c,this.chart):L.labelFormatter.call(c)})}renderItem(c){let L=c.legendItem=c.legendItem||{},z=this.chart,w=z.renderer,R=this.options,V=R.layout==="horizontal",X=this.symbolWidth,J=R.symbolPadding||0,P=this.itemStyle,C=this.itemHiddenStyle,N=V?l(R.itemDistance,20):0,_=!R.rtl,y=!c.series,D=!y&&c.series.drawLegendSymbol?c.series:c,j=D.options,H=!!this.createCheckboxForItem&&j&&j.showCheckbox,U=R.useHTML,K=c.options.className,et=L.label,rt=X+J+N+(H?20:0);!et&&(L.group=w.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+c.colorIndex+(K?" "+K:"")+(y?" highcharts-series-"+c.index:"")).attr({zIndex:1}).add(this.scrollGroup),L.label=et=w.text("",_?X+J:-J,this.baseline||0,U),z.styledMode||et.css(S(c.visible?P:C)),et.attr({align:_?"left":"right",zIndex:2}).add(L.group),!this.baseline&&(this.fontMetrics=w.fontMetrics(et),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,et.attr("y",this.baseline),this.symbolHeight=l(R.symbolHeight,this.fontMetrics.f),R.squareSymbol&&(this.symbolWidth=l(R.symbolWidth,Math.max(this.symbolHeight,16)),rt=this.symbolWidth+J+N+(H?20:0),_&&et.attr("x",this.symbolWidth+J))),D.drawLegendSymbol(this,c),this.setItemEvents&&this.setItemEvents(c,et,U)),H&&!c.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(c),this.colorizeItem(c,c.visible),(z.styledMode||!P.width)&&et.css({width:(R.itemWidth||this.widthOption||z.spacingBox.width)-rt+"px"}),this.setText(c);let nt=et.getBBox(),lt=this.fontMetrics&&this.fontMetrics.h||0;c.itemWidth=c.checkboxOffset=R.itemWidth||L.labelWidth||nt.width+rt,this.maxItemWidth=Math.max(this.maxItemWidth,c.itemWidth),this.totalItemWidth+=c.itemWidth,this.itemHeight=c.itemHeight=Math.round(L.labelHeight||(nt.height>1.5*lt?nt.height:lt))}layoutItem(c){let L=this.options,z=this.padding,w=L.layout==="horizontal",R=c.itemHeight,V=this.itemMarginBottom,X=this.itemMarginTop,J=w?l(L.itemDistance,20):0,P=this.maxLegendWidth,C=L.alignColumns&&this.totalItemWidth>P?this.maxItemWidth:c.itemWidth,N=c.legendItem||{};w&&this.itemX-z+C>P&&(this.itemX=z,this.lastLineHeight&&(this.itemY+=X+this.lastLineHeight+V),this.lastLineHeight=0),this.lastItemY=X+this.itemY+V,this.lastLineHeight=Math.max(R,this.lastLineHeight),N.x=this.itemX,N.y=this.itemY,w?this.itemX+=C:(this.itemY+=X+R+V,this.lastLineHeight=R),this.offsetWidth=this.widthOption||Math.max((w?this.itemX-z-(c.checkbox?0:J):C)+z,this.offsetWidth)}getAllItems(){let c=[];return this.chart.series.forEach(function(L){let z=L&&L.options;L&&l(z.showInLegend,!b(z.linkedTo)&&void 0,!0)&&(c=c.concat((L.legendItem||{}).labels||(z.legendType==="point"?L.data:L)))}),A(this,"afterGetAllItems",{allItems:c}),c}getAlignment(){let c=this.options;return this.proximate?c.align.charAt(0)+"tv":c.floating?"":c.align.charAt(0)+c.verticalAlign.charAt(0)+c.layout.charAt(0)}adjustMargins(c,L){let z=this.chart,w=this.options,R=this.getAlignment();R&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(V,X){V.test(R)&&!b(c[X])&&(z[v[X]]=Math.max(z[v[X]],z.legend[(X+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][X]*w[X%2?"x":"y"]+l(w.margin,12)+L[X]+(z.titleOffset[X]||0)))})}proximatePositions(){let c,L=this.chart,z=[],w=this.options.align==="left";for(let R of(this.allItems.forEach(function(V){let X,J,P=w,C,N;V.yAxis&&(V.xAxis.options.reversed&&(P=!P),V.points&&(X=B(P?V.points:V.points.slice(0).reverse(),function(_){return g(_.plotY)})),J=this.itemMarginTop+V.legendItem.label.getBBox().height+this.itemMarginBottom,N=V.yAxis.top-L.plotTop,C=V.visible?(X?X.plotY:V.yAxis.height)+(N-.3*J):N+V.yAxis.height,z.push({target:C,size:J,item:V}))},this),o(z,L.plotHeight)))c=R.item.legendItem||{},g(R.pos)&&(c.y=L.plotTop-L.spacing[0]+R.pos)}render(){let c=this.chart,L=c.renderer,z=this.options,w=this.padding,R=this.getAllItems(),V,X,J,P=this.group,C,N=this.box;this.itemX=w,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=r(z.width,c.spacingBox.width-w),C=c.spacingBox.width-2*w-z.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(C/=2),this.maxLegendWidth=this.widthOption||C,P||(this.group=P=L.g("legend").addClass(z.className||"").attr({zIndex:7}).add(),this.contentGroup=L.g().attr({zIndex:1}).add(P),this.scrollGroup=L.g().add(this.contentGroup)),this.renderTitle(),a(R,(_,y)=>(_.options&&_.options.legendIndex||0)-(y.options&&y.options.legendIndex||0)),z.reversed&&R.reverse(),this.allItems=R,this.display=V=!!R.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,R.forEach(this.renderItem,this),R.forEach(this.layoutItem,this),X=(this.widthOption||this.offsetWidth)+w,J=this.lastItemY+this.lastLineHeight+this.titleHeight,J=this.handleOverflow(J)+w,N||(this.box=N=L.rect().addClass("highcharts-legend-box").attr({r:z.borderRadius}).add(P)),c.styledMode||N.attr({stroke:z.borderColor,"stroke-width":z.borderWidth||0,fill:z.backgroundColor||"none"}).shadow(z.shadow),X>0&&J>0&&N[N.placed?"animate":"attr"](N.crisp.call({},{x:0,y:0,width:X,height:J},N.strokeWidth())),P[V?"show":"hide"](),c.styledMode&&P.getStyle("display")==="none"&&(X=J=0),this.legendWidth=X,this.legendHeight=J,V&&this.align(),this.proximate||this.positionItems(),A(this,"afterRender")}align(c=this.chart.spacingBox){let L=this.chart,z=this.options,w=c.y;/(lth|ct|rth)/.test(this.getAlignment())&&L.titleOffset[0]>0?w+=L.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&L.titleOffset[2]>0&&(w-=L.titleOffset[2]),w!==c.y&&(c=S(c,{y:w})),L.hasRendered||(this.group.placed=!1),this.group.align(S(z,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":z.verticalAlign}),!0,c)}handleOverflow(c){let L=this,z=this.chart,w=z.renderer,R=this.options,V=R.y,X=R.verticalAlign==="top",J=this.padding,P=R.maxHeight,C=R.navigation,N=l(C.animation,!0),_=C.arrowSize||12,y=this.pages,D=this.allItems,j=function(ht){typeof ht=="number"?lt.attr({height:ht}):lt&&(L.clipRect=lt.destroy(),L.contentGroup.clip()),L.contentGroup.div&&(L.contentGroup.div.style.clip=ht?"rect("+J+"px,9999px,"+(J+ht)+"px,0)":"auto")},H=function(ht){return L[ht]=w.circle(0,0,1.3*_).translate(_/2,_/2).add(nt),z.styledMode||L[ht].attr("fill","rgba(0,0,0,0.0001)"),L[ht]},U,K,et,rt=z.spacingBox.height+(X?-V:V)-J,nt=this.nav,lt=this.clipRect;return R.layout!=="horizontal"||R.verticalAlign==="middle"||R.floating||(rt/=2),P&&(rt=Math.min(rt,P)),y.length=0,c&&rt>0&&c>rt&&C.enabled!==!1?(this.clipHeight=U=Math.max(rt-20-this.titleHeight-J,0),this.currentPage=l(this.currentPage,1),this.fullHeight=c,D.forEach((ht,it)=>{let tt=(et=ht.legendItem||{}).y||0,st=Math.round(et.label.getBBox().height),ot=y.length;(!ot||tt-y[ot-1]>U&&(K||tt)!==y[ot-1])&&(y.push(K||tt),ot++),et.pageIx=ot-1,K&&((D[it-1].legendItem||{}).pageIx=ot-1),it===D.length-1&&tt+st-y[ot-1]>U&&tt>y[ot-1]&&(y.push(tt),et.pageIx=ot),tt!==K&&(K=tt)}),lt||(lt=L.clipRect=w.clipRect(0,J-2,9999,0),L.contentGroup.clip(lt)),j(U),nt||(this.nav=nt=w.g().attr({zIndex:1}).add(this.group),this.up=w.symbol("triangle",0,0,_,_).add(nt),H("upTracker").on("click",function(){L.scroll(-1,N)}),this.pager=w.text("",15,10).addClass("highcharts-legend-navigation"),!z.styledMode&&C.style&&this.pager.css(C.style),this.pager.add(nt),this.down=w.symbol("triangle-down",0,0,_,_).add(nt),H("downTracker").on("click",function(){L.scroll(1,N)})),L.scroll(0),c=rt):nt&&(j(),this.nav=nt.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),c}scroll(c,L){let z=this.chart,w=this.pages,R=w.length,V=this.clipHeight,X=this.options.navigation,J=this.pager,P=this.padding,C=this.currentPage+c;C>R&&(C=R),C>0&&(L!==void 0&&k(L,z),this.nav.attr({translateX:P,translateY:V+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(N){N.attr({class:C===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),J.attr({text:C+"/"+R}),[this.down,this.downTracker].forEach(function(N){N.attr({x:18+this.pager.getBBox().width,class:C===R?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),z.styledMode||(this.up.attr({fill:C===1?X.inactiveColor:X.activeColor}),this.upTracker.css({cursor:C===1?"default":"pointer"}),this.down.attr({fill:C===R?X.inactiveColor:X.activeColor}),this.downTracker.css({cursor:C===R?"default":"pointer"})),this.scrollOffset=-w[C-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=C,this.positionCheckboxes(),d(()=>{A(this,"afterScroll",{currentPage:C})},W(l(L,z.renderer.globalAnimation,!0)).duration))}setItemEvents(c,L,z){let w=this,R=c.legendItem||{},V=w.chart.renderer.boxWrapper,X=c instanceof q,J=c instanceof $,P="highcharts-legend-"+(X?"point":"series")+"-active",C=w.chart.styledMode,N=z?[L,R.symbol]:[R.group],_=y=>{w.allItems.forEach(D=>{c!==D&&[D].concat(D.linkedSeries||[]).forEach(j=>{j.setState(y,!X)})})};for(let y of N)y&&y.on("mouseover",function(){c.visible&&_("inactive"),c.setState("hover"),c.visible&&V.addClass(P),C||L.css(w.options.itemHoverStyle)}).on("mouseout",function(){w.chart.styledMode||L.css(S(c.visible?w.itemStyle:w.itemHiddenStyle)),_(""),V.removeClass(P),c.setState()}).on("click",function(D){let j=function(){c.setVisible&&c.setVisible(),_(c.visible?"inactive":"")};V.removeClass(P),A(w,"itemClick",{browserEvent:D,legendItem:c},j),X?c.firePointEvent("legendItemClick",{browserEvent:D}):J&&A(c,"legendItemClick",{browserEvent:D})})}createCheckboxForItem(c){c.checkbox=f("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:c.selected,defaultChecked:c.selected},this.options.itemCheckboxStyle,this.chart.container),x(c.checkbox,"click",function(L){let z=L.target;A(c.series||c,"checkboxClick",{checked:z.checked,item:c},function(){c.select()})})}}return(F=n||(n={})).compose=function(h){s(M,"Core.Legend")&&x(h,"beforeMargins",function(){this.legend=new F(this,this.options.legend)})},n}),O(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E,M,v){let{animate:o,animObject:u,setAnimation:x}=m,{defaultOptions:f,defaultTime:p}=G,{numberFormat:b}=$,{registerEventOptions:I}=q,{charts:B,doc:A,marginNames:g,svg:S,win:l}=Z,{seriesTypes:s}=F,{addEvent:r,attr:a,createElement:d,css:n,defined:h,diffObjects:c,discardElement:L,erase:z,error:w,extend:R,find:V,fireEvent:X,getStyle:J,isArray:P,isNumber:C,isObject:N,isString:_,merge:y,objectEach:D,pick:j,pInt:H,relativeLength:U,removeEvent:K,splat:et,syncTimeout:rt,uniqueKey:nt}=E;class lt{static chart(it,tt,st){return new lt(it,tt,st)}constructor(it,tt,st){this.sharedClips={};let ot=[...arguments];(_(it)||it.nodeName)&&(this.renderTo=ot.shift()),this.init(ot[0],ot[1])}setZoomOptions(){let it=this.options.chart,tt=it.zooming;this.zooming={...tt,type:j(it.zoomType,tt.type),key:j(it.zoomKey,tt.key),pinchType:j(it.pinchType,tt.pinchType),singleTouch:j(it.zoomBySingleTouch,tt.singleTouch,!1),resetButton:y(tt.resetButton,it.resetZoomButton)}}init(it,tt){X(this,"init",{args:arguments},function(){let st=y(f,it),ot=st.chart;this.userOptions=R({},it),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=tt,this.isResizing=0,this.options=st,this.axes=[],this.series=[],this.time=it.time&&Object.keys(it.time).length?new k(it.time):Z.time,this.numberFormatter=ot.numberFormatter||b,this.styledMode=ot.styledMode,this.hasCartesianSeries=ot.showAxes,this.index=B.length,B.push(this),Z.chartCount++,I(this,ot),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),X(this,"afterInit"),this.firstRender()})}initSeries(it){let tt=this.options.chart,st=it.type||tt.type,ot=s[st];ot||w(17,!0,this,{missingModuleFor:st});let at=new ot;return typeof at.init=="function"&&at.init(this,it),at}setSortedData(){this.getSeriesOrderByLinks().forEach(function(it){it.points||it.data||!it.enabledDataSorting||it.setData(it.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(it,tt){return it.linkedSeries.length||tt.linkedSeries.length?tt.linkedSeries.length-it.linkedSeries.length:0})}orderItems(it,tt=0){let st=this[it],ot=this.options[it]=et(this.options[it]).slice(),at=this.userOptions[it]=this.userOptions[it]?et(this.userOptions[it]).slice():[];if(this.hasRendered&&(ot.splice(tt),at.splice(tt)),st)for(let ct=tt,dt=st.length;ct<dt;++ct){let ut=st[ct];ut&&(ut.index=ct,ut instanceof Y&&(ut.name=ut.getName()),ut.options.isInternal||(ot[ct]=ut.options,at[ct]=ut.userOptions))}}isInsidePlot(it,tt,st={}){var yt;let{inverted:ot,plotBox:at,plotLeft:ct,plotTop:dt,scrollablePlotBox:ut}=this,{scrollLeft:pt=0,scrollTop:gt=0}=st.visiblePlotOnly&&((yt=this.scrollablePlotArea)==null?void 0:yt.scrollingContainer)||{},ft=st.series,mt=st.visiblePlotOnly&&ut||at,xt=st.inverted?tt:it,vt=st.inverted?it:tt,bt={x:xt,y:vt,isInsidePlot:!0,options:st};if(!st.ignoreX){let Ct=ft&&(ot&&!this.polar?ft.yAxis:ft.xAxis)||{pos:ct,len:1/0},kt=st.paneCoordinates?Ct.pos+xt:ct+xt;kt>=Math.max(pt+ct,Ct.pos)&&kt<=Math.min(pt+ct+mt.width,Ct.pos+Ct.len)||(bt.isInsidePlot=!1)}if(!st.ignoreY&&bt.isInsidePlot){let Ct=!ot&&st.axis&&!st.axis.isXAxis&&st.axis||ft&&(ot?ft.xAxis:ft.yAxis)||{pos:dt,len:1/0},kt=st.paneCoordinates?Ct.pos+vt:dt+vt;kt>=Math.max(gt+dt,Ct.pos)&&kt<=Math.min(gt+dt+mt.height,Ct.pos+Ct.len)||(bt.isInsidePlot=!1)}return X(this,"afterIsInsidePlot",bt),bt.isInsidePlot}redraw(it){X(this,"beforeRedraw");let tt=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ot=this.pointer,at=this.legend,ct=this.userOptions.legend,dt=this.renderer,ut=dt.isHidden(),pt=[],gt,ft,mt,xt=this.isDirtyBox,vt=this.isDirtyLegend,bt;for(dt.rootFontSize=dt.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),x(!!this.hasRendered&&it,this),ut&&this.temporaryDisplay(),this.layOutTitles(!1),mt=st.length;mt--;)if(((bt=st[mt]).options.stacking||bt.options.centerInCategory)&&(ft=!0,bt.isDirty)){gt=!0;break}if(gt)for(mt=st.length;mt--;)(bt=st[mt]).options.stacking&&(bt.isDirty=!0);st.forEach(function(yt){yt.isDirty&&(yt.options.legendType==="point"?(typeof yt.updateTotals=="function"&&yt.updateTotals(),vt=!0):ct&&(ct.labelFormatter||ct.labelFormat)&&(vt=!0)),yt.isDirtyData&&X(yt,"updatedData")}),vt&&at&&at.options.enabled&&(at.render(),this.isDirtyLegend=!1),ft&&this.getStacks(),tt.forEach(function(yt){yt.updateNames(),yt.setScale()}),this.getMargins(),tt.forEach(function(yt){yt.isDirty&&(xt=!0)}),tt.forEach(function(yt){let Ct=yt.min+","+yt.max;yt.extKey!==Ct&&(yt.extKey=Ct,pt.push(function(){X(yt,"afterSetExtremes",R(yt.eventArgs,yt.getExtremes())),delete yt.eventArgs})),(xt||ft)&&yt.redraw()}),xt&&this.drawChartBox(),X(this,"predraw"),st.forEach(function(yt){(xt||yt.isDirty)&&yt.visible&&yt.redraw(),yt.isDirtyData=!1}),ot&&ot.reset(!0),dt.draw(),X(this,"redraw"),X(this,"render"),ut&&this.temporaryDisplay(!0),pt.forEach(function(yt){yt.call()})}get(it){let tt=this.series;function st(at){return at.id===it||at.options&&at.options.id===it}let ot=V(this.axes,st)||V(this.series,st);for(let at=0;!ot&&at<tt.length;at++)ot=V(tt[at].points||[],st);return ot}getAxes(){let it=this.userOptions;for(let tt of(X(this,"getAxes"),["xAxis","yAxis"]))for(let st of it[tt]=et(it[tt]||{}))new T(this,st,tt);X(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((it,tt)=>(tt.getPointsCollection().forEach(st=>{j(st.selectedStaging,st.selected)&&it.push(st)}),it),[])}getSelectedSeries(){return this.series.filter(function(it){return it.selected})}setTitle(it,tt,st){this.applyDescription("title",it),this.applyDescription("subtitle",tt),this.applyDescription("caption",void 0),this.layOutTitles(st)}applyDescription(it,tt){let st=this,ot=this.options[it]=y(this.options[it],tt),at=this[it];at&&tt&&(this[it]=at=at.destroy()),ot&&!at&&((at=this.renderer.text(ot.text,0,0,ot.useHTML).attr({align:ot.align,class:"highcharts-"+it,zIndex:ot.zIndex||4}).add()).update=function(ct,dt){st.applyDescription(it,ct),st.layOutTitles(dt)},this.styledMode||at.css(R(it==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ot.style)),this[it]=at)}layOutTitles(it=!0){let tt=[0,0,0],st=this.renderer,ot=this.spacingBox;["title","subtitle","caption"].forEach(function(ct){let dt=this[ct],ut=this.options[ct],pt=ut.verticalAlign||"top",gt=ct==="title"?pt==="top"?-3:0:pt==="top"?tt[0]+2:0;if(dt){dt.css({width:(ut.width||ot.width+(ut.widthAdjust||0))+"px"});let ft=st.fontMetrics(dt).b,mt=Math.round(dt.getBBox(ut.useHTML).height);dt.align(R({y:pt==="bottom"?ft:gt+ft,height:mt},ut),!1,"spacingBox"),ut.floating||(pt==="top"?tt[0]=Math.ceil(tt[0]+mt):pt==="bottom"&&(tt[2]=Math.ceil(tt[2]+mt)))}},this),tt[0]&&(this.options.title.verticalAlign||"top")==="top"&&(tt[0]+=this.options.title.margin),tt[2]&&this.options.caption.verticalAlign==="bottom"&&(tt[2]+=this.options.caption.margin);let at=!this.titleOffset||this.titleOffset.join(",")!==tt.join(",");this.titleOffset=tt,X(this,"afterLayOutTitles"),!this.isDirtyBox&&at&&(this.isDirtyBox=this.isDirtyLegend=at,this.hasRendered&&it&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:J(this.renderTo,"width",!0)||0,height:J(this.renderTo,"height",!0)||0}}getChartSize(){let it=this.options.chart,tt=it.width,st=it.height,ot=this.getContainerBox();this.chartWidth=Math.max(0,tt||ot.width||600),this.chartHeight=Math.max(0,U(st,this.chartWidth)||(ot.height>1?ot.height:400)),this.containerBox=ot}temporaryDisplay(it){let tt=this.renderTo,st;if(it)for(;tt&&tt.style;)tt.hcOrigStyle&&(n(tt,tt.hcOrigStyle),delete tt.hcOrigStyle),tt.hcOrigDetached&&(A.body.removeChild(tt),tt.hcOrigDetached=!1),tt=tt.parentNode;else for(;tt&&tt.style&&(A.body.contains(tt)||tt.parentNode||(tt.hcOrigDetached=!0,A.body.appendChild(tt)),(J(tt,"display",!1)==="none"||tt.hcOricDetached)&&(tt.hcOrigStyle={display:tt.style.display,height:tt.style.height,overflow:tt.style.overflow},st={display:"block",overflow:"hidden"},tt!==this.renderTo&&(st.height=0),n(tt,st),tt.offsetWidth||tt.style.setProperty("display","block","important")),(tt=tt.parentNode)!==A.body););}setClassName(it){this.container.className="highcharts-container "+(it||"")}getContainer(){var mt;let it=this.options,tt=it.chart,st="data-highcharts-chart",ot=nt(),at,ct=this.renderTo;ct||(this.renderTo=ct=tt.renderTo),_(ct)&&(this.renderTo=ct=A.getElementById(ct)),ct||w(13,!0,this);let dt=H(a(ct,st));C(dt)&&B[dt]&&B[dt].hasRendered&&B[dt].destroy(),a(ct,st,this.index),ct.innerHTML=M.emptyHTML,tt.skipClone||ct.offsetWidth||this.temporaryDisplay(),this.getChartSize();let ut=this.chartHeight,pt=this.chartWidth;n(ct,{overflow:"hidden",pointerEvents:Z.isChrome?"fill":"auto"}),this.styledMode||(at=R({position:"relative",overflow:"hidden",width:pt+"px",height:ut+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},tt.style||{}));let gt=d("div",{id:ot},at,ct);this.container=gt,this.getChartSize(),pt===this.chartWidth||(pt=this.chartWidth,this.styledMode||n(gt,{width:j((mt=tt.style)==null?void 0:mt.width,pt+"px")})),this.containerBox=this.getContainerBox(),this._cursor=gt.style.cursor;let ft=tt.renderer||!S?Q.getRendererType(tt.renderer):W;if(this.renderer=new ft(gt,pt,ut,void 0,tt.forExport,it.exporting&&it.exporting.allowHTML,this.styledMode),x(void 0,this),this.setClassName(tt.className),this.styledMode)for(let xt in it.defs)this.renderer.definition(it.defs[xt]);else this.renderer.setStyle(tt.style);this.renderer.chartIndex=this.index,X(this,"afterGetContainer")}getMargins(it){let{spacing:tt,margin:st,titleOffset:ot}=this;this.resetMargins(),ot[0]&&!h(st[0])&&(this.plotTop=Math.max(this.plotTop,ot[0]+tt[0])),ot[2]&&!h(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ot[2]+tt[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,tt),X(this,"getMargins"),it||this.getAxisMargins()}getAxisMargins(){let it=this,tt=it.axisOffset=[0,0,0,0],st=it.colorAxis,ot=it.margin,at=function(ct){ct.forEach(function(dt){dt.visible&&dt.getOffset()})};it.hasCartesianSeries?at(it.axes):st&&st.length&&at(st),g.forEach(function(ct,dt){h(ot[dt])||(it[ct]+=tt[dt])}),it.setChartSize()}getOptions(){return c(this.userOptions,f)}reflow(it){var at;let tt=this,st=tt.containerBox,ot=tt.getContainerBox();(at=tt.pointer)==null||delete at.chartPosition,!tt.isPrinting&&!tt.isResizing&&st&&ot.width&&((ot.width!==st.width||ot.height!==st.height)&&(E.clearTimeout(tt.reflowTimeout),tt.reflowTimeout=rt(function(){tt.container&&tt.setSize(void 0,void 0,!1)},it?100:0)),tt.containerBox=ot)}setReflow(){let it=this,tt=st=>{var ot;(ot=it.options)!=null&&ot.chart.reflow&&it.hasLoaded&&it.reflow(st)};if(typeof ResizeObserver=="function")new ResizeObserver(tt).observe(it.renderTo);else{let st=r(l,"resize",tt);r(this,"destroy",st)}}setSize(it,tt,st){let ot=this,at=ot.renderer;ot.isResizing+=1,x(st,ot);let ct=at.globalAnimation;ot.oldChartHeight=ot.chartHeight,ot.oldChartWidth=ot.chartWidth,it!==void 0&&(ot.options.chart.width=it),tt!==void 0&&(ot.options.chart.height=tt),ot.getChartSize();let{chartWidth:dt,chartHeight:ut,scrollablePixelsX:pt=0,scrollablePixelsY:gt=0}=ot;(ot.isDirtyBox||dt!==ot.oldChartWidth||ut!==ot.oldChartHeight)&&(ot.styledMode||(ct?o:n)(ot.container,{width:`${dt+pt}px`,height:`${ut+gt}px`},ct),ot.setChartSize(!0),at.setSize(dt,ut,ct),ot.axes.forEach(function(ft){ft.isDirty=!0,ft.setScale()}),ot.isDirtyLegend=!0,ot.isDirtyBox=!0,ot.layOutTitles(),ot.getMargins(),ot.redraw(ct),ot.oldChartHeight=void 0,X(ot,"resize"),setTimeout(()=>{ot&&X(ot,"endResize")},u(ct).duration)),ot.isResizing-=1}setChartSize(it){let tt,st,ot,at,{chartHeight:ct,chartWidth:dt,inverted:ut,spacing:pt,renderer:gt}=this,ft=this.clipOffset,mt=Math[ut?"floor":"round"];this.plotLeft=tt=Math.round(this.plotLeft),this.plotTop=st=Math.round(this.plotTop),this.plotWidth=ot=Math.max(0,Math.round(dt-tt-this.marginRight)),this.plotHeight=at=Math.max(0,Math.round(ct-st-this.marginBottom)),this.plotSizeX=ut?at:ot,this.plotSizeY=ut?ot:at,this.spacingBox=gt.spacingBox={x:pt[3],y:pt[0],width:dt-pt[3]-pt[1],height:ct-pt[0]-pt[2]},this.plotBox=gt.plotBox={x:tt,y:st,width:ot,height:at},ft&&(this.clipBox={x:mt(ft[3]),y:mt(ft[0]),width:mt(this.plotSizeX-ft[1]-ft[3]),height:mt(this.plotSizeY-ft[0]-ft[2])}),it||(this.axes.forEach(function(xt){xt.setAxisSize(),xt.setAxisTranslation()}),gt.alignElements()),X(this,"afterSetChartSize",{skipAxes:it})}resetMargins(){X(this,"resetMargins");let it=this,tt=it.options.chart,st=tt.plotBorderWidth||0,ot=st/2;["margin","spacing"].forEach(function(at){let ct=tt[at],dt=N(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(ut,pt){it[at][pt]=j(tt[at+ut],dt[pt])})}),g.forEach(function(at,ct){it[at]=j(it.margin[ct],it.spacing[ct])}),it.axisOffset=[0,0,0,0],it.clipOffset=[ot,ot,ot,ot],it.plotBorderWidth=st}drawChartBox(){let it=this.options.chart,tt=this.renderer,st=this.chartWidth,ot=this.chartHeight,at=this.styledMode,ct=this.plotBGImage,dt=it.backgroundColor,ut=it.plotBackgroundColor,pt=it.plotBackgroundImage,gt=this.plotLeft,ft=this.plotTop,mt=this.plotWidth,xt=this.plotHeight,vt=this.plotBox,bt=this.clipRect,yt=this.clipBox,Ct=this.chartBackground,kt=this.plotBackground,Mt=this.plotBorder,Pt,Tt,Ot,Et="animate";Ct||(this.chartBackground=Ct=tt.rect().addClass("highcharts-background").add(),Et="attr"),at?Pt=Tt=Ct.strokeWidth():(Tt=(Pt=it.borderWidth||0)+(it.shadow?8:0),Ot={fill:dt||"none"},(Pt||Ct["stroke-width"])&&(Ot.stroke=it.borderColor,Ot["stroke-width"]=Pt),Ct.attr(Ot).shadow(it.shadow)),Ct[Et]({x:Tt/2,y:Tt/2,width:st-Tt-Pt%2,height:ot-Tt-Pt%2,r:it.borderRadius}),Et="animate",kt||(Et="attr",this.plotBackground=kt=tt.rect().addClass("highcharts-plot-background").add()),kt[Et](vt),!at&&(kt.attr({fill:ut||"none"}).shadow(it.plotShadow),pt&&(ct?(pt!==ct.attr("href")&&ct.attr("href",pt),ct.animate(vt)):this.plotBGImage=tt.image(pt,gt,ft,mt,xt).add())),bt?bt.animate({width:yt.width,height:yt.height}):this.clipRect=tt.clipRect(yt),Et="animate",Mt||(Et="attr",this.plotBorder=Mt=tt.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),at||Mt.attr({stroke:it.plotBorderColor,"stroke-width":it.plotBorderWidth||0,fill:"none"}),Mt[Et](Mt.crisp({x:gt,y:ft,width:mt,height:xt},-Mt.strokeWidth())),this.isDirtyBox=!1,X(this,"afterDrawChartBox")}propFromSeries(){let it,tt,st,ot=this,at=ot.options.chart,ct=ot.options.series;["inverted","angular","polar"].forEach(function(dt){for(tt=s[at.type],st=at[dt]||tt&&tt.prototype[dt],it=ct&&ct.length;!st&&it--;)(tt=s[ct[it].type])&&tt.prototype[dt]&&(st=!0);ot[dt]=st})}linkSeries(it){let tt=this,st=tt.series;st.forEach(function(ot){ot.linkedSeries.length=0}),st.forEach(function(ot){let{linkedTo:at}=ot.options;if(_(at)){let ct;(ct=at===":previous"?tt.series[ot.index-1]:tt.get(at))&&ct.linkedParent!==ot&&(ct.linkedSeries.push(ot),ot.linkedParent=ct,ct.enabledDataSorting&&ot.setDataSortingOptions(),ot.visible=j(ot.options.visible,ct.options.visible,ot.visible))}}),X(this,"afterLinkSeries",{isUpdating:it})}renderSeries(){this.series.forEach(function(it){it.translate(),it.render()})}render(){var gt;let it=this.axes,tt=this.colorAxis,st=this.renderer,ot=this.options.chart.axisLayoutRuns||2,at=ft=>{ft.forEach(mt=>{mt.visible&&mt.render()})},ct=0,dt=!0,ut,pt=0;for(let ft of(this.setTitle(),X(this,"beforeMargins"),(gt=this.getStacks)==null||gt.call(this),this.getMargins(!0),this.setChartSize(),it)){let{options:mt}=ft,{labels:xt}=mt;if(this.hasCartesianSeries&&ft.horiz&&ft.visible&&xt.enabled&&ft.series.length&&ft.coll!=="colorAxis"&&!this.polar){ct=mt.tickLength,ft.createGroups();let vt=new v(ft,0,"",!0),bt=vt.createLabel("x",xt);if(vt.destroy(),bt&&j(xt.reserveSpace,!C(mt.crossing))&&(ct=bt.getBBox().height+xt.distance+Math.max(mt.offset||0,0)),ct){bt==null||bt.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-ct,0);(dt||ut||ot>1)&&pt<ot;){let ft=this.plotWidth,mt=this.plotHeight;for(let xt of it)pt===0?xt.setScale():(xt.horiz&&dt||!xt.horiz&&ut)&&xt.setTickInterval(!0);pt===0?this.getAxisMargins():this.getMargins(),dt=ft/this.plotWidth>(pt?1:1.1),ut=mt/this.plotHeight>(pt?1:1.05),pt++}this.drawChartBox(),this.hasCartesianSeries?at(it):tt&&tt.length&&at(tt),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(it){let tt=this,st=y(!0,this.options.credits,it);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(l.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),tt.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ot){tt.credits=tt.credits.destroy(),tt.addCredits(ot)})}destroy(){let it,tt=this,st=tt.axes,ot=tt.series,at=tt.container,ct=at&&at.parentNode;for(X(tt,"destroy"),tt.renderer.forExport?z(B,tt):B[tt.index]=void 0,Z.chartCount--,tt.renderTo.removeAttribute("data-highcharts-chart"),K(tt),it=st.length;it--;)st[it]=st[it].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),it=ot.length;it--;)ot[it]=ot[it].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(dt){let ut=tt[dt];ut&&ut.destroy&&(tt[dt]=ut.destroy())}),at&&(at.innerHTML=M.emptyHTML,K(at),ct&&L(at)),D(tt,function(dt,ut){delete tt[ut]})}firstRender(){var ot;let it=this,tt=it.options;it.getContainer(),it.resetMargins(),it.setChartSize(),it.propFromSeries(),it.getAxes();let st=P(tt.series)?tt.series:[];tt.series=[],st.forEach(function(at){it.initSeries(at)}),it.linkSeries(),it.setSortedData(),X(it,"beforeRender"),it.render(),(ot=it.pointer)==null||ot.getChartPosition(),it.renderer.imgCount||it.hasLoaded||it.onload(),it.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(it){it&&this.index!==void 0&&it.apply(this,[this])},this),X(this,"load"),X(this,"render"),h(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:it,title:tt}=this;!it||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(tt&&tt.element.textContent||"").replace(/</g,"<")}),it.accessibility&&it.accessibility.enabled===!1||w('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(it,tt,st){let ot,at=this;return it&&(tt=j(tt,!0),X(at,"addSeries",{options:it},function(){ot=at.initSeries(it),at.isDirtyLegend=!0,at.linkSeries(),ot.enabledDataSorting&&ot.setData(it.data,!1),X(at,"afterAddSeries",{series:ot}),tt&&at.redraw(st)})),ot}addAxis(it,tt,st,ot){return this.createAxis(tt?"xAxis":"yAxis",{axis:it,redraw:st,animation:ot})}addColorAxis(it,tt,st){return this.createAxis("colorAxis",{axis:it,redraw:tt,animation:st})}createAxis(it,tt){let st=new T(this,tt.axis,it);return j(tt.redraw,!0)&&this.redraw(tt.animation),st}showLoading(it){let tt=this,st=tt.options,ot=st.loading,at=function(){ct&&n(ct,{left:tt.plotLeft+"px",top:tt.plotTop+"px",width:tt.plotWidth+"px",height:tt.plotHeight+"px"})},ct=tt.loadingDiv,dt=tt.loadingSpan;ct||(tt.loadingDiv=ct=d("div",{className:"highcharts-loading highcharts-loading-hidden"},null,tt.container)),dt||(tt.loadingSpan=dt=d("span",{className:"highcharts-loading-inner"},null,ct),r(tt,"redraw",at)),ct.className="highcharts-loading",M.setElementHTML(dt,j(it,st.lang.loading,"")),tt.styledMode||(n(ct,R(ot.style,{zIndex:10})),n(dt,ot.labelStyle),tt.loadingShown||(n(ct,{opacity:0,display:""}),o(ct,{opacity:ot.style.opacity||.5},{duration:ot.showDuration||0}))),tt.loadingShown=!0,at()}hideLoading(){let it=this.options,tt=this.loadingDiv;tt&&(tt.className="highcharts-loading highcharts-loading-hidden",this.styledMode||o(tt,{opacity:0},{duration:it.loading.hideDuration||100,complete:function(){n(tt,{display:"none"})}})),this.loadingShown=!1}update(it,tt,st,ot){let at,ct,dt,ut=this,pt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},gt=it.isResponsiveOptions,ft=[];X(ut,"update",{options:it}),gt||ut.setResponsive(!1,!0),it=c(it,ut.options),ut.userOptions=y(ut.userOptions,it);let mt=it.chart;mt&&(y(!0,ut.options.chart,mt),this.setZoomOptions(),"className"in mt&&ut.setClassName(mt.className),("inverted"in mt||"polar"in mt||"type"in mt)&&(ut.propFromSeries(),at=!0),"alignTicks"in mt&&(at=!0),"events"in mt&&I(this,mt),D(mt,function(bt,yt){ut.propsRequireUpdateSeries.indexOf("chart."+yt)!==-1&&(ct=!0),ut.propsRequireDirtyBox.indexOf(yt)!==-1&&(ut.isDirtyBox=!0),ut.propsRequireReflow.indexOf(yt)===-1||(ut.isDirtyBox=!0,gt||(dt=!0))}),!ut.styledMode&&mt.style&&ut.renderer.setStyle(ut.options.chart.style||{})),!ut.styledMode&&it.colors&&(this.options.colors=it.colors),it.time&&(this.time===p&&(this.time=new k(it.time)),y(!0,ut.options.time,it.time)),D(it,function(bt,yt){ut[yt]&&typeof ut[yt].update=="function"?ut[yt].update(bt,!1):typeof ut[pt[yt]]=="function"?ut[pt[yt]](bt):yt!=="colors"&&ut.collectionsWithUpdate.indexOf(yt)===-1&&y(!0,ut.options[yt],it[yt]),yt!=="chart"&&ut.propsRequireUpdateSeries.indexOf(yt)!==-1&&(ct=!0)}),this.collectionsWithUpdate.forEach(function(bt){it[bt]&&(et(it[bt]).forEach(function(yt,Ct){let kt,Mt=h(yt.id);Mt&&(kt=ut.get(yt.id)),!kt&&ut[bt]&&(kt=ut[bt][j(yt.index,Ct)])&&(Mt&&h(kt.options.id)||kt.options.isInternal)&&(kt=void 0),kt&&kt.coll===bt&&(kt.update(yt,!1),st&&(kt.touched=!0)),!kt&&st&&ut.collectionsWithInit[bt]&&(ut.collectionsWithInit[bt][0].apply(ut,[yt].concat(ut.collectionsWithInit[bt][1]||[]).concat([!1])).touched=!0)}),st&&ut[bt].forEach(function(yt){yt.touched||yt.options.isInternal?delete yt.touched:ft.push(yt)}))}),ft.forEach(function(bt){bt.chart&&bt.remove&&bt.remove(!1)}),at&&ut.axes.forEach(function(bt){bt.update({},!1)}),ct&&ut.getSeriesOrderByLinks().forEach(function(bt){bt.chart&&bt.update({},!1)},this);let xt=mt&&mt.width,vt=mt&&(_(mt.height)?U(mt.height,xt||ut.chartWidth):mt.height);dt||C(xt)&&xt!==ut.chartWidth||C(vt)&&vt!==ut.chartHeight?ut.setSize(xt,vt,ot):j(tt,!0)&&ut.redraw(ot),X(ut,"afterUpdate",{options:it,redraw:tt,animation:ot})}setSubtitle(it,tt){this.applyDescription("subtitle",it),this.layOutTitles(tt)}setCaption(it,tt){this.applyDescription("caption",it),this.layOutTitles(tt)}showResetZoom(){let it=this,tt=f.lang,st=it.zooming.resetButton,ot=st.theme,at=st.relativeTo==="chart"||st.relativeTo==="spacingBox"?null:"plotBox";function ct(){it.zoomOut()}X(this,"beforeShowResetZoom",null,function(){it.resetZoomButton=it.renderer.button(tt.resetZoom,null,null,ct,ot).attr({align:st.position.align,title:tt.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(st.position,!1,at)}),X(this,"afterShowResetZoom")}zoomOut(){X(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(it,tt){let st=this,ot=typeof tt=="object"?tt:{enabled:tt,type:"x"},at=ot.type,ct=at&&st[{x:"xAxis",xy:"axes",y:"yAxis"}[at]].filter(ut=>ut.options.panningEnabled&&!ut.options.isInternal),dt=st.options.chart;dt!=null&&dt.panning&&(dt.panning=ot),X(this,"pan",{originalEvent:it},()=>{st.transform({axes:ct,event:it,to:{x:it.chartX-(st.mouseDownX||0),y:it.chartY-(st.mouseDownY||0)},trigger:"pan"}),n(st.container,{cursor:"move"})})}transform(it){var xt;let{axes:tt=this.axes,event:st,from:ot={},reset:at,selection:ct,to:dt={},trigger:ut}=it,{inverted:pt}=this,gt=!1,ft,mt;for(let vt of((xt=this.hoverPoints)==null||xt.forEach(bt=>bt.setState()),tt)){let{horiz:bt,len:yt,minPointOffset:Ct=0,options:kt,reversed:Mt}=vt,Pt=bt?"width":"height",Tt=bt?"x":"y",Ot=j(dt[Pt],vt.len),Et=j(ot[Pt],vt.len),Nt=10>Math.abs(Ot)?1:Ot/Et,ee=(ot[Tt]||0)+Et/2-vt.pos,Vt=ee-((dt[Tt]??vt.pos)+Ot/2-vt.pos)/Nt,Oe=Mt&&!pt||!Mt&&pt?-1:1;if(!at&&(ee<0||ee>vt.len))continue;let Dt=vt.toValue(Vt,!0)+(ct?0:Ct*Oe),Rt=vt.toValue(Vt+yt/Nt,!0)-(ct?0:Ct*Oe||0),Kt=vt.allExtremes;if(Dt>Rt&&([Dt,Rt]=[Rt,Dt]),Nt===1&&!at&&vt.coll==="yAxis"&&!Kt){for(let As of vt.series){let Ve=As.getExtremes(As.getProcessedData(!0).yData,!0);Kt??(Kt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),C(Ve.dataMin)&&C(Ve.dataMax)&&(Kt.dataMin=Math.min(Ve.dataMin,Kt.dataMin),Kt.dataMax=Math.max(Ve.dataMax,Kt.dataMax))}vt.allExtremes=Kt}let{dataMin:zo,dataMax:Fo,min:vs,max:Ss}=R(vt.getExtremes(),Kt||{}),ks=zo??kt.min,Cs=Fo??kt.max,wi=Rt-Dt,ws=vt.categories?0:Math.min(wi,Cs-ks),Mi=ks-ws*(h(kt.min)?0:kt.minPadding),Ai=Cs+ws*(h(kt.max)?0:kt.maxPadding),Ms=vt.allowZoomOutside||Nt===1||ut!=="zoom"&&Nt>1,Ue=Math.min(kt.min??Mi,Mi,Ms?vs:Mi),Ye=Math.max(kt.max??Ai,Ai,Ms?Ss:Ai);(!vt.isOrdinal||Nt!==1||at)&&(Dt<Ue&&(Dt=Ue,Nt>=1&&(Rt=Dt+wi)),Rt>Ye&&(Rt=Ye,Nt>=1&&(Dt=Rt-wi)),(at||vt.series.length&&(Dt!==vs||Rt!==Ss)&&Dt>=Ue&&Rt<=Ye)&&(ct?ct[vt.coll].push({axis:vt,min:Dt,max:Rt}):(vt.isPanning=ut!=="zoom",vt.isPanning&&(mt=!0),vt.setExtremes(at?void 0:Dt,at?void 0:Rt,!1,!1,{move:Vt,trigger:ut,scale:Nt}),!at&&(Dt>Ue||Rt<Ye)&&ut!=="mousewheel"&&(ft=!0)),gt=!0),st&&(this[bt?"mouseDownX":"mouseDownY"]=st[bt?"chartX":"chartY"]))}return gt&&(ct?X(this,"selection",ct,()=>{delete it.selection,it.trigger="zoom",this.transform(it)}):(!ft||mt||this.resetZoomButton?!ft&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(ut==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),gt}}return R(lt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[lt.prototype.addAxis,[!0]],yAxis:[lt.prototype.addAxis,[!1]],series:[lt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),lt}),O(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{stop:q}=m,{composed:Z}=T,{addEvent:Q,createElement:Y,css:F,defined:W,merge:k,pushUnique:E}=$;function M(){let u=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!u&&(this.scrollablePlotArea=u=new o(this)),u==null||u.applyFixed()}function v(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class o{static compose(x,f,p){E(Z,this.compose)&&(Q(x,"afterInit",v),Q(f,"afterSetChartSize",b=>this.afterSetSize(b.target,b)),Q(f,"render",M),Q(p,"show",v))}static afterSetSize(x,f){let p,b,I,{minWidth:B,minHeight:A}=x.options.chart.scrollablePlotArea||{},{clipBox:g,plotBox:S,inverted:l,renderer:s}=x;if(!s.forExport&&(B?(x.scrollablePixelsX=p=Math.max(0,B-x.chartWidth),p&&(x.scrollablePlotBox=k(x.plotBox),S.width=x.plotWidth+=p,g[l?"height":"width"]+=p,I=!0)):A&&(x.scrollablePixelsY=b=Math.max(0,A-x.chartHeight),W(b)&&(x.scrollablePlotBox=k(x.plotBox),S.height=x.plotHeight+=b,g[l?"width":"height"]+=b,I=!1)),W(I)&&!f.skipAxes))for(let r of x.axes)r.horiz===I&&(r.setAxisSize(),r.setAxisTranslation())}constructor(x){var a;let f,p=x.options.chart,b=G.getRendererType(),I=p.scrollablePlotArea||{},B=this.moveFixedElements.bind(this),A={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};x.scrollablePixelsX&&(A.overflowX="auto"),x.scrollablePixelsY&&(A.overflowY="auto"),this.chart=x;let g=this.parentDiv=Y("div",{className:"highcharts-scrolling-parent"},{position:"relative"},x.renderTo),S=this.scrollingContainer=Y("div",{className:"highcharts-scrolling"},A,g),l=this.innerContainer=Y("div",{className:"highcharts-inner-container"},void 0,S),s=this.fixedDiv=Y("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((a=p.style)==null?void 0:a.zIndex)||0)+2,top:0},void 0,!0),r=this.fixedRenderer=new b(s,x.chartWidth,x.chartHeight,p.style);this.mask=r.path().attr({fill:p.backgroundColor||"#fff","fill-opacity":I.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),S.parentNode.insertBefore(s,S),F(x.renderTo,{overflow:"visible"}),Q(x,"afterShowResetZoom",B),Q(x,"afterApplyDrilldown",B),Q(x,"afterLayOutTitles",B),Q(S,"scroll",()=>{let{pointer:d,hoverPoint:n}=x;d&&(delete d.chartPosition,n&&(f=n),d.runPointActions(void 0,f,!0))}),l.appendChild(x.container)}applyFixed(){var C;let{chart:x,fixedRenderer:f,isDirty:p,scrollingContainer:b}=this,{axisOffset:I,chartWidth:B,chartHeight:A,container:g,plotHeight:S,plotLeft:l,plotTop:s,plotWidth:r,scrollablePixelsX:a=0,scrollablePixelsY:d=0}=x,{scrollPositionX:n=0,scrollPositionY:h=0}=x.options.chart.scrollablePlotArea||{},c=B+a,L=A+d;f.setSize(B,A),(p??!0)&&(this.isDirty=!1,this.moveFixedElements()),q(x.container),F(g,{width:`${c}px`,height:`${L}px`}),x.renderer.boxWrapper.attr({width:c,height:L,viewBox:[0,0,c,L].join(" ")}),(C=x.chartBackground)==null||C.attr({width:c,height:L}),F(b,{width:`${B}px`,height:`${A}px`}),W(p)||(b.scrollLeft=a*n,b.scrollTop=d*h);let z=s-I[0]-1,w=l-I[3]-1,R=s+S+I[2]+1,V=l+r+I[1]+1,X=l+r-a,J=s+S-d,P=[["M",0,0]];a?P=[["M",0,z],["L",l-1,z],["L",l-1,R],["L",0,R],["Z"],["M",X,z],["L",B,z],["L",B,R],["L",X,R],["Z"]]:d&&(P=[["M",w,0],["L",w,s-1],["L",V,s-1],["L",V,0],["Z"],["M",w,J],["L",w,A],["L",V,A],["L",V,J],["Z"]]),x.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:P})}moveFixedElements(){let x,{container:f,inverted:p,scrollablePixelsX:b,scrollablePixelsY:I}=this.chart,B=this.fixedRenderer,A=o.fixedSelectors;for(let g of(b&&!p?x=".highcharts-yaxis":b&&p||I&&!p?x=".highcharts-xaxis":I&&p&&(x=".highcharts-yaxis"),x&&A.push(`${x}:not(.highcharts-radial-axis)`,`${x}-labels:not(.highcharts-radial-axis-labels)`),A))[].forEach.call(f.querySelectorAll(g),S=>{(S.namespaceURI===B.SVG_NS?B.box:B.box.parentNode).appendChild(S),S.style.pointerEvents="auto"})}}return o.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],o}),O(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{format:$}=m,{series:q}=T,{destroyObjectProperties:Z,fireEvent:Q,isNumber:Y,pick:F}=G;return class{constructor(W,k,E,M,v){let o=W.chart.inverted,u=W.reversed;this.axis=W;let x=this.isNegative=!!E!=!!u;this.options=k=k||{},this.x=M,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=v,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:k.align||(o?x?"left":"right":"center"),verticalAlign:k.verticalAlign||(o?"middle":x?"bottom":"top"),y:k.y,x:k.x},this.textAlign=k.textAlign||(o?x?"right":"left":"center")}destroy(){Z(this,this.axis)}render(W){let k=this.axis.chart,E=this.options,M=E.format,v=M?$(M,this,k):E.formatter.call(this);if(this.label)this.label.attr({text:v,visibility:"hidden"});else{this.label=k.renderer.label(v,null,void 0,E.shape,void 0,void 0,E.useHTML,!1,"stack-labels");let o={r:E.borderRadius||0,text:v,padding:F(E.padding,5),visibility:"hidden"};k.styledMode||(o.fill=E.backgroundColor,o.stroke=E.borderColor,o["stroke-width"]=E.borderWidth,this.label.css(E.style||{})),this.label.attr(o),this.label.added||this.label.add(W)}this.label.labelrank=k.plotSizeY,Q(this,"afterRender")}setOffset(W,k,E,M,v,o){let{alignOptions:u,axis:x,label:f,options:p,textAlign:b}=this,I=x.chart,B=this.getStackBox({xOffset:W,width:k,boxBottom:E,boxTop:M,defaultX:v,xAxis:o}),{verticalAlign:A}=u;if(f&&B){let g=f.getBBox(void 0,0),S=f.padding,l=F(p.overflow,"justify")==="justify",s;u.x=p.x||0,u.y=p.y||0;let{x:r,y:a}=this.adjustStackPosition({labelBox:g,verticalAlign:A,textAlign:b});B.x-=r,B.y-=a,f.align(u,!1,B),(s=I.isInsidePlot(f.alignAttr.x+u.x+r,f.alignAttr.y+u.y+a))||(l=!1),l&&q.prototype.justifyDataLabel.call(x,f,u,f.alignAttr,g,B),f.attr({x:f.alignAttr.x,y:f.alignAttr.y,rotation:p.rotation,rotationOriginX:g.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:g.height/2}),F(!l&&p.crop,!0)&&(s=Y(f.x)&&Y(f.y)&&I.isInsidePlot(f.x-S+(f.width||0),f.y)&&I.isInsidePlot(f.x+S,f.y)),f[s?"show":"hide"]()}Q(this,"afterSetOffset",{xOffset:W,width:k})}adjustStackPosition({labelBox:W,verticalAlign:k,textAlign:E}){let M={bottom:0,middle:1,top:2,right:1,center:0,left:-1},v=M[k],o=M[E];return{x:W.width/2+W.width/2*o,y:W.height/2*v}}getStackBox(W){let k=this.axis,E=k.chart,{boxTop:M,defaultX:v,xOffset:o,width:u,boxBottom:x}=W,f=k.stacking.usePercentage?100:F(M,this.total,0),p=k.toPixels(f),b=W.xAxis||E.xAxis[0],I=F(v,b.translate(this.x))+o,B=Math.abs(p-k.toPixels(x||Y(k.min)&&k.logarithmic&&k.logarithmic.lin2log(k.min)||0)),A=E.inverted,g=this.isNegative;return A?{x:(g?p:p-B)-E.plotLeft,y:b.height-I-u+b.top-E.plotTop,width:B,height:u}:{x:I+b.transB-E.plotLeft,y:(g?p-B:p)-E.plotTop,width:u,height:B}}}}),O(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){var Z;let{getDeferredAnimation:Q}=m,{series:{prototype:Y}}=G,{addEvent:F,correctFloat:W,defined:k,destroyObjectProperties:E,fireEvent:M,isArray:v,isNumber:o,objectEach:u,pick:x}=q;function f(){let s=this.inverted;this.axes.forEach(r=>{r.stacking&&r.stacking.stacks&&r.hasVisibleSeries&&(r.stacking.oldStacks=r.stacking.stacks)}),this.series.forEach(r=>{let a=r.xAxis&&r.xAxis.options||{};r.options.stacking&&r.reserveSpace()&&(r.stackKey=[r.type,x(r.options.stack,""),s?a.top:a.left,s?a.height:a.width].join(","))})}function p(){var r;let s=this.stacking;if(s){let a=s.stacks;u(a,(d,n)=>{E(d),delete a[n]}),(r=s.stackTotalGroup)==null||r.destroy()}}function b(){this.stacking||(this.stacking=new l(this))}function I(s,r,a,d){return!k(s)||s.x!==r||d&&s.stackKey!==d?s={x:r,index:0,key:d,stackKey:d}:s.index++,s.key=[a,r,s.index].join(","),s}function B(){let s,r=this,a=r.yAxis,d=r.stackKey||"",n=a.stacking.stacks,h=r.processedXData,c=r.options.stacking,L=r[c+"Stacker"];L&&[d,"-"+d].forEach(z=>{var J;let w=h.length,R,V,X;for(;w--;)R=h[w],s=r.getStackIndicator(s,R,r.index,z),V=(J=n[z])==null?void 0:J[R],(X=V==null?void 0:V.points[s.key||""])&&L.call(r,X,V,w)})}function A(s,r,a){let d=r.total?100/r.total:0;s[0]=W(s[0]*d),s[1]=W(s[1]*d),this.stackedYData[a]=s[1]}function g(s){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?Y.setStackedPoints.call(this,s,"group"):s.stacking.resetStacks())}function S(s,r){var nt,lt;let a,d,n,h,c,L,z,w,R,V=r||this.options.stacking;if(!V||!this.reserveSpace()||({group:"xAxis"}[V]||"yAxis")!==s.coll)return;let X=this.processedXData,J=this.processedYData,P=[],C=J.length,N=this.options,_=N.threshold||0,y=N.startFromThreshold?_:0,D=N.stack,j=r?`${this.type},${V}`:this.stackKey||"",H="-"+j,U=this.negStacks,K=s.stacking,et=K.stacks,rt=K.oldStacks;for(K.stacksTouched+=1,z=0;z<C;z++){w=X[z],R=J[z],L=(a=this.getStackIndicator(a,w,this.index)).key||"",et[c=(d=U&&R<(y?0:_))?H:j]||(et[c]={}),et[c][w]||((nt=rt[c])!=null&&nt[w]?(et[c][w]=rt[c][w],et[c][w].total=null):et[c][w]=new $(s,s.options.stackLabels,!!d,w,D)),n=et[c][w],R!==null?(n.points[L]=n.points[this.index]=[x(n.cumulative,y)],k(n.cumulative)||(n.base=L),n.touched=K.stacksTouched,a.index>0&&this.singleStacks===!1&&(n.points[L][0]=n.points[this.index+","+w+",0"][0])):(delete n.points[L],delete n.points[this.index]);let ht=n.total||0;V==="percent"?(h=d?j:H,ht=U&&((lt=et[h])!=null&<[w])?(h=et[h][w]).total=Math.max(h.total||0,ht)+Math.abs(R)||0:W(ht+(Math.abs(R)||0))):V==="group"?(v(R)&&(R=R[0]),R!==null&&ht++):ht=W(ht+(R||0)),V==="group"?n.cumulative=(ht||1)-1:n.cumulative=W(x(n.cumulative,y)+(R||0)),n.total=ht,R!==null&&(n.points[L].push(n.cumulative),P[z]=n.cumulative,n.hasValidPoints=!0)}V==="percent"&&(K.usePercentage=!0),V!=="group"&&(this.stackedYData=P),K.oldStacks={}}class l{constructor(r){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=r}buildStacks(){let r,a,d=this.axis,n=d.series,h=d.coll==="xAxis",c=d.options.reversedStacks,L=n.length;for(this.resetStacks(),this.usePercentage=!1,a=L;a--;)r=n[c?a:L-a-1],h&&r.setGroupedPoints(d),r.setStackedPoints(d);if(!h)for(a=0;a<L;a++)n[a].modifyStacks();M(d,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,u(this.stacks,r=>{u(r,a=>{a.cumulative=a.total})}))}resetStacks(){u(this.stacks,r=>{u(r,(a,d)=>{o(a.touched)&&a.touched<this.stacksTouched?(a.destroy(),delete r[d]):(a.total=null,a.cumulative=null)})})}renderStackTotals(){var L;let r=this.axis,a=r.chart,d=a.renderer,n=this.stacks,h=Q(a,((L=r.options.stackLabels)==null?void 0:L.animation)||!1),c=this.stackTotalGroup=this.stackTotalGroup||d.g("stack-labels").attr({zIndex:6,opacity:0}).add();c.translate(a.plotLeft,a.plotTop),u(n,z=>{u(z,w=>{w.render(c)})}),c.animate({opacity:1},h)}}return(Z||(Z={})).compose=function(s,r,a){let d=r.prototype,n=a.prototype;d.getStacks||(F(s,"init",b),F(s,"destroy",p),d.getStacks=f,n.getStackIndicator=I,n.modifyStacks=B,n.percentStacker=A,n.setGroupedPoints=g,n.setStackedPoints=S)},Z}),O(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{defined:$,merge:q,isObject:Z}=G;class Q extends m{drawGraph(){let F=this.options,W=(this.gappedPath||this.getGraphPath).call(this),k=this.chart.styledMode;[this,...this.zones].forEach((E,M)=>{let v,o=E.graph,u=o?"animate":"attr",x=E.dashStyle||F.dashStyle;o?(o.endX=this.preventGraphAnimation?null:W.xMap,o.animate({d:W})):W.length&&(E.graph=o=this.chart.renderer.path(W).addClass("highcharts-graph"+(M?` highcharts-zone-graph-${M-1} `:" ")+(M&&E.className||"")).attr({zIndex:1}).add(this.group)),o&&!k&&(v={stroke:!M&&F.lineColor||E.color||this.color||"#cccccc","stroke-width":F.lineWidth||0,fill:this.fillGraph&&this.color||"none"},x?v.dashstyle=x:F.linecap!=="square"&&(v["stroke-linecap"]=v["stroke-linejoin"]="round"),o[u](v).shadow(M<2&&F.shadow&&q({filterUnits:"userSpaceOnUse"},Z(F.shadow)?F.shadow:{}))),o&&(o.startX=W.xMap,o.isArea=W.isArea)})}getGraphPath(F,W,k){let E=this,M=E.options,v=[],o=[],u,x=M.step,f=(F=F||E.points).reversed;return f&&F.reverse(),(x={right:1,center:2}[x]||x&&3)&&f&&(x=4-x),(F=this.getValidPoints(F,!1,!(M.connectNulls&&!W&&!k))).forEach(function(p,b){let I,B=p.plotX,A=p.plotY,g=F[b-1],S=p.isNull||typeof A!="number";(p.leftCliff||g&&g.rightCliff)&&!k&&(u=!0),S&&!$(W)&&b>0?u=!M.connectNulls:S&&!W?u=!0:(b===0||u?I=[["M",p.plotX,p.plotY]]:E.getPointSpline?I=[E.getPointSpline(F,p,b)]:x?(I=x===1?[["L",g.plotX,A]]:x===2?[["L",(g.plotX+B)/2,g.plotY],["L",(g.plotX+B)/2,A]]:[["L",B,g.plotY]]).push(["L",B,A]):I=[["L",B,A]],o.push(p.x),x&&(o.push(p.x),x===2&&o.push(p.x)),v.push.apply(v,I),u=!1)}),v.xMap=o,E.graphPath=v,v}}return Q.defaultOptions=q(m.defaultOptions,{legendSymbol:"lineMarker"}),T.registerSeriesType("line",Q),Q}),O(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),O(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{seriesTypes:{line:$}}=T,{extend:q,merge:Z,objectEach:Q,pick:Y}=G;class F extends ${drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:k,options:E}=this;[this,...this.zones].forEach((M,v)=>{let o={},u=M.fillColor||E.fillColor,x=M.area,f=x?"animate":"attr";x?(x.endX=this.preventGraphAnimation?null:k.xMap,x.animate({d:k})):(o.zIndex=0,(x=M.area=this.chart.renderer.path(k).addClass("highcharts-area"+(v?` highcharts-zone-area-${v-1} `:" ")+(v&&M.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=u||M.color||this.color,o["fill-opacity"]=u?1:E.fillOpacity??.75,x.css({pointerEvents:this.stickyTracking?"none":"auto"})),x[f](o),x.startX=k.xMap,x.shiftUnit=E.step?2:1})}getGraphPath(k){let E,M,v,o=$.prototype.getGraphPath,u=this.options,x=u.stacking,f=this.yAxis,p=[],b=[],I=this.index,B=f.stacking.stacks[this.stackKey],A=u.threshold,g=Math.round(f.getThreshold(u.threshold)),S=Y(u.connectNulls,x==="percent"),l=function(h,c,L){let z=k[h],w=x&&B[z.x].points[I],R=z[L+"Null"]||0,V=z[L+"Cliff"]||0,X,J,P=!0;V||R?(X=(R?w[0]:w[1])+V,J=w[0]+V,P=!!R):!x&&k[c]&&k[c].isNull&&(X=J=A),X!==void 0&&(b.push({plotX:E,plotY:X===null?g:f.getThreshold(X),isNull:P,isCliff:!0}),p.push({plotX:E,plotY:J===null?g:f.getThreshold(J),doCurve:!1}))};k=k||this.points,x&&(k=this.getStackPoints(k));for(let h=0,c=k.length;h<c;++h)x||(k[h].leftCliff=k[h].rightCliff=k[h].leftNull=k[h].rightNull=void 0),M=k[h].isNull,E=Y(k[h].rectPlotX,k[h].plotX),v=x?Y(k[h].yBottom,g):g,M&&!S||(S||l(h,h-1,"left"),M&&!x&&S||(b.push(k[h]),p.push({x:h,plotX:E,plotY:v})),S||l(h,h+1,"right"));let s=o.call(this,b,!0,!0);p.reversed=!0;let r=o.call(this,p,!0,!0),a=r[0];a&&a[0]==="M"&&(r[0]=["L",a[1],a[2]]);let d=s.concat(r);d.length&&d.push(["Z"]);let n=o.call(this,b,!1,S);return this.chart.series.length>1&&x&&b.some(h=>h.isCliff)&&(d.hasStackedCliffs=n.hasStackedCliffs=!0),d.xMap=s.xMap,this.areaPath=d,n}getStackPoints(k){let E=this,M=[],v=[],o=this.xAxis,u=this.yAxis,x=u.stacking.stacks[this.stackKey],f={},p=u.series,b=p.length,I=u.options.reversedStacks?1:-1,B=p.indexOf(E);if(k=k||this.points,this.options.stacking){for(let g=0;g<k.length;g++)k[g].leftNull=k[g].rightNull=void 0,f[k[g].x]=k[g];Q(x,function(g,S){g.total!==null&&v.push(S)}),v.sort(function(g,S){return g-S});let A=p.map(g=>g.visible);v.forEach(function(g,S){let l=0,s,r;if(f[g]&&!f[g].isNull)M.push(f[g]),[-1,1].forEach(function(a){let d=a===1?"rightNull":"leftNull",n=x[v[S+a]],h=0;if(n){let c=B;for(;c>=0&&c<b;){let L=p[c].index;!(s=n.points[L])&&(L===E.index?f[g][d]=!0:A[c]&&(r=x[g].points[L])&&(h-=r[1]-r[0])),c+=I}}f[g][a===1?"rightCliff":"leftCliff"]=h});else{let a=B;for(;a>=0&&a<b;){let d=p[a].index;if(s=x[g].points[d]){l=s[1];break}a+=I}l=Y(l,0),l=u.translate(l,0,1,0,1),M.push({isNull:!0,plotX:o.translate(g,0,0,0,1),x:g,plotY:l,yBottom:l})}})}return M}}return F.defaultOptions=Z($.defaultOptions,m),q(F.prototype,{singleStacks:!1}),T.registerSeriesType("area",F),F}),O(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{line:G}=m.seriesTypes,{merge:$,pick:q}=T;class Z extends G{getPointSpline(Y,F,W){let k,E,M,v,o=F.plotX||0,u=F.plotY||0,x=Y[W-1],f=Y[W+1];function p(I){return I&&!I.isNull&&I.doCurve!==!1&&!F.isCliff}if(p(x)&&p(f)){let I=x.plotX||0,B=x.plotY||0,A=f.plotX||0,g=f.plotY||0,S=0;k=(1.5*o+I)/2.5,E=(1.5*u+B)/2.5,M=(1.5*o+A)/2.5,v=(1.5*u+g)/2.5,M!==k&&(S=(v-E)*(M-o)/(M-k)+u-v),E+=S,v+=S,E>B&&E>u?(E=Math.max(B,u),v=2*u-E):E<B&&E<u&&(E=Math.min(B,u),v=2*u-E),v>g&&v>u?(v=Math.max(g,u),E=2*u-v):v<g&&v<u&&(v=Math.min(g,u),E=2*u-v),F.rightContX=M,F.rightContY=v,F.controlPoints={low:[k,E],high:[M,v]}}let b=["C",q(x.rightContX,x.plotX,0),q(x.rightContY,x.plotY,0),q(k,o,0),q(E,u,0),o,u];return x.rightContX=x.rightContY=void 0,b}}return Z.defaultOptions=$(G.defaultOptions),m.registerSeriesType("spline",Z),Z}),O(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{area:$,area:{prototype:q}}=T.seriesTypes,{extend:Z,merge:Q}=G;class Y extends m{}return Y.defaultOptions=Q(m.defaultOptions,$.defaultOptions),Z(Y.prototype,{getGraphPath:q.getGraphPath,getStackPoints:q.getStackPoints,drawGraph:q.drawGraph}),T.registerSeriesType("areaspline",Y),Y}),O(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),O(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q){let{animObject:Y}=m,{parse:F}=T,{noop:W}=$,{clamp:k,crisp:E,defined:M,extend:v,fireEvent:o,isArray:u,isNumber:x,merge:f,pick:p,objectEach:b}=Q;class I extends q{animate(A){let g,S,l=this,s=this.yAxis,r=s.pos,a=s.reversed,d=l.options,{clipOffset:n,inverted:h}=this.chart,c={},L=h?"translateX":"translateY";A&&n?(c.scaleY=.001,S=k(s.toPixels(d.threshold),r,r+s.len),h?(S+=a?-Math.floor(n[0]):Math.ceil(n[2]),c.translateX=S-s.len):(S+=a?Math.ceil(n[0]):-Math.floor(n[2]),c.translateY=S),l.clipBox&&l.setClip(),l.group.attr(c)):(g=Number(l.group.attr(L)),l.group.animate({scaleY:1},v(Y(l.options.animation),{step:function(z,w){l.group&&(c[L]=g+w.pos*(r-g),l.group.attr(c))}})))}init(A,g){super.init.apply(this,arguments);let S=this;(A=S.chart).hasRendered&&A.series.forEach(function(l){l.type===S.type&&(l.isDirty=!0)})}getColumnMetrics(){var R,V;let A=this,g=A.options,S=A.xAxis,l=A.yAxis,s=S.options.reversedStacks,r=S.reversed&&!s||!S.reversed&&s,a={},d,n=0;g.grouping===!1?n=1:A.chart.series.forEach(function(X){let J,P=X.yAxis,C=X.options;X.type===A.type&&X.reserveSpace()&&l.len===P.len&&l.pos===P.pos&&(C.stacking&&C.stacking!=="group"?(a[d=X.stackKey]===void 0&&(a[d]=n++),J=a[d]):C.grouping!==!1&&(J=n++),X.columnIndex=J)});let h=Math.min(Math.abs(S.transA)*(!((R=S.brokenAxis)!=null&&R.hasBreaks)&&((V=S.ordinal)==null?void 0:V.slope)||g.pointRange||S.closestPointRange||S.tickInterval||1),S.len),c=h*g.groupPadding,L=(h-2*c)/(n||1),z=Math.min(g.maxPointWidth||S.len,p(g.pointWidth,L*(1-2*g.pointPadding))),w=(A.columnIndex||0)+(r?1:0);return A.columnMetrics={width:z,offset:(L-z)/2+(c+w*L-h/2)*(r?-1:1),paddedWidth:L,columnCount:n},A.columnMetrics}crispCol(A,g,S,l){let s=this.borderWidth,r=this.chart.inverted;return l=E(g+l,s,r)-(g=E(g,s,r)),this.options.crisp&&(S=E(A+S,s)-(A=E(A,s))),{x:A,y:g,width:S,height:l}}adjustForMissingColumns(A,g,S,l){var s;if(!S.isNull&&l.columnCount>1){let r=this.xAxis.series.filter(h=>h.visible).map(h=>h.index),a=0,d=0;b((s=this.xAxis.stacking)==null?void 0:s.stacks,h=>{if(typeof S.x=="number"){let c=h[S.x.toString()];if(c&&u(c.points[this.index])){let L=Object.keys(c.points).filter(z=>!z.match(",")&&c.points[z]&&c.points[z].length>1).map(parseFloat).filter(z=>r.indexOf(z)!==-1).sort((z,w)=>w-z);a=L.indexOf(this.index),d=L.length}}}),a=this.xAxis.reversed?d-1-a:a;let n=(d-1)*l.paddedWidth+g;A=(S.plotX||0)+n/2-g-a*l.paddedWidth}return A}translate(){let A=this,g=A.chart,S=A.options,l=A.dense=A.closestPointRange*A.xAxis.transA<2,s=A.borderWidth=p(S.borderWidth,l?0:1),r=A.xAxis,a=A.yAxis,d=S.threshold,n=p(S.minPointLength,5),h=A.getColumnMetrics(),c=h.width,L=A.pointXOffset=h.offset,z=A.dataMin,w=A.dataMax,R=A.translatedThreshold=a.getThreshold(d),V=A.barW=Math.max(c,1+2*s);S.pointPadding&&(V=Math.ceil(V)),q.prototype.translate.apply(A),A.points.forEach(function(X){let J=p(X.yBottom,R),P=999+Math.abs(J),C=X.plotX||0,N=k(X.plotY,-P,a.len+P),_,y=Math.min(N,J),D=Math.max(N,J)-y,j=c,H=C+L,U=V;n&&Math.abs(D)<n&&(D=n,_=!a.reversed&&!X.negative||a.reversed&&X.negative,x(d)&&x(w)&&X.y===d&&w<=d&&(a.min||0)<d&&(z!==w||(a.max||0)<=d)&&(_=!_,X.negative=!X.negative),y=Math.abs(y-R)>n?J-n:R-(_?n:0)),M(X.options.pointWidth)&&(H-=Math.round(((j=U=Math.ceil(X.options.pointWidth))-c)/2)),S.centerInCategory&&!S.stacking&&(H=A.adjustForMissingColumns(H,j,X,h)),X.barX=H,X.pointWidth=j,X.tooltipPos=g.inverted?[k(a.len+a.pos-g.plotLeft-N,a.pos-g.plotLeft,a.len+a.pos-g.plotLeft),r.len+r.pos-g.plotTop-H-U/2,D]:[r.left-g.plotLeft+H+U/2,k(N+a.pos-g.plotTop,a.pos-g.plotTop,a.len+a.pos-g.plotTop),D],X.shapeType=A.pointClass.prototype.shapeType||"roundedRect",X.shapeArgs=A.crispCol(H,X.isNull?R:y,U,X.isNull?0:D)}),o(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(A,g){let S=this.options,l=this.pointAttrToOptions||{},s=l.stroke||"borderColor",r=l["stroke-width"]||"borderWidth",a,d,n,h=A&&A.color||this.color,c=A&&A[s]||S[s]||h,L=A&&A.options.dashStyle||S.dashStyle,z=A&&A[r]||S[r]||this[r]||0,w=p(A&&A.opacity,S.opacity,1);A&&this.zones.length&&(d=A.getZone(),h=A.options.color||d&&(d.color||A.nonZonedColor)||this.color,d&&(c=d.borderColor||c,L=d.dashStyle||L,z=d.borderWidth||z)),g&&A&&(n=(a=f(S.states[g],A.options.states&&A.options.states[g]||{})).brightness,h=a.color||n!==void 0&&F(h).brighten(a.brightness).get()||h,c=a[s]||c,z=a[r]||z,L=a.dashStyle||L,w=p(a.opacity,w));let R={fill:h,stroke:c,"stroke-width":z,opacity:w};return L&&(R.dashstyle=L),R}drawPoints(A=this.points){let g,S=this,l=this.chart,s=S.options,r=l.renderer,a=s.animationLimit||250;A.forEach(function(d){let n=d.plotY,h=d.graphic,c=!!h,L=h&&l.pointCount<a?"animate":"attr";x(n)&&d.y!==null?(g=d.shapeArgs,h&&d.hasNewShapeType()&&(h=h.destroy()),S.enabledDataSorting&&(d.startXPos=S.xAxis.reversed?-(g&&g.width||0):S.xAxis.width),!h&&(d.graphic=h=r[d.shapeType](g).add(d.group||S.group),h&&S.enabledDataSorting&&l.hasRendered&&l.pointCount<a&&(h.attr({x:d.startXPos}),c=!0,L="animate")),h&&c&&h[L](f(g)),l.styledMode||h[L](S.pointAttribs(d,d.selected&&"select")).shadow(d.allowShadow!==!1&&s.shadow),h&&(h.addClass(d.getClassName(),!0),h.attr({visibility:d.visible?"inherit":"hidden"}))):h&&(d.graphic=h.destroy())})}drawTracker(A=this.points){let g,S=this,l=S.chart,s=l.pointer,r=function(a){let d=s==null?void 0:s.getPointFromEvent(a);s&&d&&S.options.enableMouseTracking&&(s.isDirectTouch=!0,d.onMouseOver(a))};A.forEach(function(a){g=u(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[],a.graphic&&(a.graphic.element.point=a),g.forEach(function(d){(d.div||d.element).point=a})}),S._hasTracking||(S.trackerGroups.forEach(function(a){S[a]&&(S[a].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(d){s==null||s.onTrackerMouseOut(d)}).on("touchstart",r),!l.styledMode&&S.options.cursor&&S[a].css({cursor:S.options.cursor}))}),S._hasTracking=!0),o(this,"afterDrawTracker")}remove(){let A=this,g=A.chart;g.hasRendered&&g.series.forEach(function(S){S.type===A.type&&(S.isDirty=!0)}),q.prototype.remove.apply(A,arguments)}}return I.defaultOptions=f(q.defaultOptions,G),v(I.prototype,{directTouch:!0,getSymbol:W,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),Z.registerSeriesType("column",I),I}),O(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G){var $;let{getDeferredAnimation:q}=m,{format:Z}=T,{defined:Q,extend:Y,fireEvent:F,isArray:W,isString:k,merge:E,objectEach:M,pick:v,pInt:o,splat:u}=G;return function(x){function f(){return S(this).some(s=>s==null?void 0:s.enabled)}function p(s,r,a,d,n){var N;let{chart:h,enabledDataSorting:c}=this,L=this.isCartesian&&h.inverted,z=s.plotX,w=s.plotY,R=a.rotation||0,V=Q(z)&&Q(w)&&h.isInsidePlot(z,Math.round(w),{inverted:L,paneCoordinates:!0,series:this}),X=R===0&&v(a.overflow,c?"none":"justify")==="justify",J=this.visible&&s.visible!==!1&&Q(z)&&(s.series.forceDL||c&&!X||V||v(a.inside,!!this.options.stacking)&&d&&h.isInsidePlot(z,L?d.x+1:d.y+d.height-1,{inverted:L,paneCoordinates:!0,series:this})),P=s.pos();if(J&&P){var C;let _=r.getBBox(),y=r.getBBox(void 0,0),D={right:1,center:.5}[a.align||0]||0,j={bottom:1,middle:.5}[a.verticalAlign||0]||0;if(d=Y({x:P[0],y:Math.round(P[1]),width:0,height:0},d||{}),a.alignTo==="plotEdges"&&this.isCartesian&&(d[L?"x":"y"]=0,d[L?"width":"height"]=((N=this.yAxis)==null?void 0:N.len)||0),Y(a,{width:_.width,height:_.height}),C=d,c&&this.xAxis&&!X&&this.setDataLabelStartPos(s,r,n,V,C),r.align(E(a,{width:y.width,height:y.height}),!1,d,!1),r.alignAttr.x+=D*(y.width-_.width),r.alignAttr.y+=j*(y.height-_.height),r[r.placed?"animate":"attr"]({x:r.alignAttr.x+(_.width-y.width)/2,y:r.alignAttr.y+(_.height-y.height)/2,rotationOriginX:(r.width||0)/2,rotationOriginY:(r.height||0)/2}),X&&d.height>=0)this.justifyDataLabel(r,a,r.alignAttr,_,d,n);else if(v(a.crop,!0)){let{x:H,y:U}=r.alignAttr;J=h.isInsidePlot(H,U,{paneCoordinates:!0,series:this})&&h.isInsidePlot(H+_.width-1,U+_.height-1,{paneCoordinates:!0,series:this})}a.shape&&!R&&r[n?"attr":"animate"]({anchorX:P[0],anchorY:P[1]})}n&&c&&(r.placed=!1),J||c&&!X?(r.show(),r.placed=!0):(r.hide(),r.placed=!1)}function b(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function I(s){let r=this.hasRendered||0,a=this.initDataLabelsGroup().attr({opacity:+r});return!r&&a&&(this.visible&&a.show(),this.options.animation?a.animate({opacity:1},s):a.attr({opacity:1})),a}function B(s){var J;let r;s=s||this.points;let a=this,d=a.chart,n=a.options,h=d.renderer,{backgroundColor:c,plotBackgroundColor:L}=d.options.chart,z=h.getContrast(k(L)&&L||k(c)&&c||"#000000"),w=S(a),{animation:R,defer:V}=w[0],X=V?q(d,R,a):{defer:0,duration:0};F(this,"drawDataLabels"),(J=a.hasDataLabels)!=null&&J.call(a)&&(r=this.initDataLabels(X),s.forEach(P=>{var _,y;let C=P.dataLabels||[];u(g(w,P.dlOptions||((_=P.options)==null?void 0:_.dataLabels))).forEach((D,j)=>{let H=D.enabled&&(P.visible||P.dataLabelOnHidden)&&(!P.isNull||P.dataLabelOnNull)&&function(ct,dt){let ut=dt.filter;if(ut){let pt=ut.operator,gt=ct[ut.property],ft=ut.value;return pt===">"&>>ft||pt==="<"&><ft||pt===">="&>>=ft||pt==="<="&><=ft||pt==="=="&>==ft||pt==="==="&>===ft||pt==="!="&>!=ft||pt==="!=="&>!==ft}return!0}(P,D),{backgroundColor:U,borderColor:K,distance:et,style:rt={}}=D,nt,lt,ht,it,tt={},st=C[j],ot=!st,at;H&&(lt=v(D[P.formatPrefix+"Format"],D.format),nt=P.getLabelConfig(),ht=Q(lt)?Z(lt,nt,d):(D[P.formatPrefix+"Formatter"]||D.formatter).call(nt,D),it=D.rotation,!d.styledMode&&(rt.color=v(D.color,rt.color,k(a.color)?a.color:void 0,"#000000"),rt.color==="contrast"?(U!=="none"&&(at=U),P.contrastColor=h.getContrast(at!=="auto"&&at||P.color||a.color),rt.color=at||!Q(et)&&D.inside||0>o(et||0)||n.stacking?P.contrastColor:z):delete P.contrastColor,n.cursor&&(rt.cursor=n.cursor)),tt={r:D.borderRadius||0,rotation:it,padding:D.padding,zIndex:1},d.styledMode||(tt.fill=U==="auto"?P.color:U,tt.stroke=K==="auto"?P.color:K,tt["stroke-width"]=D.borderWidth),M(tt,(ct,dt)=>{ct===void 0&&delete tt[dt]})),!st||H&&Q(ht)&&!!st.div==!!D.useHTML&&(st.rotation&&D.rotation||st.rotation===D.rotation)||(st=void 0,ot=!0),H&&Q(ht)&&(st?tt.text=ht:(st=h.label(ht,0,0,D.shape,void 0,void 0,D.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+P.colorIndex+" "+(D.className||"")+(D.useHTML?" highcharts-tracker":"")),st&&(st.options=D,st.attr(tt),d.styledMode||st.css(rt).shadow(D.shadow),F(st,"beforeAddingDataLabel",{labelOptions:D,point:P}),st.added||st.add(r),a.alignDataLabel(P,st,D,void 0,ot),st.isActive=!0,C[j]&&C[j]!==st&&C[j].destroy(),C[j]=st))});let N=C.length;for(;N--;)C[N]&&C[N].isActive?C[N].isActive=!1:((y=C[N])==null||y.destroy(),C.splice(N,1));P.dataLabel=C[0],P.dataLabels=C})),F(this,"afterDrawDataLabels")}function A(s,r,a,d,n,h){let c=this.chart,L=r.align,z=r.verticalAlign,w=s.box?0:s.padding||0,R=c.inverted?this.yAxis:this.xAxis,V=R?R.left-c.plotLeft:0,X=c.inverted?this.xAxis:this.yAxis,J=X?X.top-c.plotTop:0,{x:P=0,y:C=0}=r,N,_;return(N=(a.x||0)+w+V)<0&&(L==="right"&&P>=0?(r.align="left",r.inside=!0):P-=N,_=!0),(N=(a.x||0)+d.width-w+V)>c.plotWidth&&(L==="left"&&P<=0?(r.align="right",r.inside=!0):P+=c.plotWidth-N,_=!0),(N=a.y+w+J)<0&&(z==="bottom"&&C>=0?(r.verticalAlign="top",r.inside=!0):C-=N,_=!0),(N=(a.y||0)+d.height-w+J)>c.plotHeight&&(z==="top"&&C<=0?(r.verticalAlign="bottom",r.inside=!0):C+=c.plotHeight-N,_=!0),_&&(r.x=P,r.y=C,s.placed=!h,s.align(r,void 0,n)),_}function g(s,r){let a=[],d;if(W(s)&&!W(r))a=s.map(function(n){return E(n,r)});else if(W(r)&&!W(s))a=r.map(function(n){return E(s,n)});else if(W(s)||W(r)){if(W(s)&&W(r))for(d=Math.max(s.length,r.length);d--;)a[d]=E(s[d],r[d])}else a=E(s,r);return a}function S(s){var a,d;let r=s.chart.options.plotOptions;return u(g(g((a=r==null?void 0:r.series)==null?void 0:a.dataLabels,(d=r==null?void 0:r[s.type])==null?void 0:d.dataLabels),s.options.dataLabels))}function l(s,r,a,d,n){let h=this.chart,c=h.inverted,L=this.xAxis,z=L.reversed,w=((c?r.height:r.width)||0)/2,R=s.pointWidth,V=R?R/2:0;r.startXPos=c?n.x:z?-w-V:L.width-w+V,r.startYPos=c?z?this.yAxis.height-w+V:-w-V:n.y,d?r.visibility==="hidden"&&(r.show(),r.attr({opacity:0}).animate({opacity:1})):r.attr({opacity:1}).animate({opacity:0},void 0,r.hide),h.hasRendered&&(a&&r.attr({x:r.startXPos,y:r.startYPos}),r.placed=!0)}x.compose=function(s){let r=s.prototype;r.initDataLabels||(r.initDataLabels=I,r.initDataLabelsGroup=b,r.alignDataLabel=p,r.drawDataLabels=B,r.justifyDataLabel=A,r.setDataLabelStartPos=l,r.hasDataLabels=f)}}($||($={})),$}),O(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{composed:Z}=T,{series:Q}=G,{merge:Y,pick:F,pushUnique:W}=$;return function(k){function E(M,v,o,u,x){let f=this.chart.inverted,p=M.series,b=(p.xAxis?p.xAxis.len:this.chart.plotSizeX)||0,I=(p.yAxis?p.yAxis.len:this.chart.plotSizeY)||0,B=M.dlBox||M.shapeArgs,A=F(M.below,M.plotY>F(this.translatedThreshold,I)),g=F(o.inside,!!this.options.stacking);if(B){if(u=Y(B),!(o.overflow==="allow"&&o.crop===!1)){u.y<0&&(u.height+=u.y,u.y=0);let S=u.y+u.height-I;S>0&&S<u.height-1&&(u.height-=S)}f&&(u={x:I-u.y-u.height,y:b-u.x-u.width,width:u.height,height:u.width}),g||(f?(u.x+=A?0:u.width,u.width=0):(u.y+=A?u.height:0,u.height=0))}o.align=F(o.align,!f||g?"center":A?"right":"left"),o.verticalAlign=F(o.verticalAlign,f||g?"middle":A?"top":"bottom"),Q.prototype.alignDataLabel.call(this,M,v,o,u,x),o.inside&&M.contrastColor&&v.css({color:M.contrastColor})}k.compose=function(M){m.compose(Q),W(Z,"ColumnDataLabel")&&(M.prototype.alignDataLabel=E)}}(q||(q={})),q}),O(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{extend:$,merge:q}=G;class Z extends m{}return Z.defaultOptions=q(m.defaultOptions,{}),$(Z.prototype,{inverted:!0}),T.registerSeriesType("bar",Z),Z}),O(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">â—</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),O(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{column:$,line:q}=T.seriesTypes,{addEvent:Z,extend:Q,merge:Y}=G;class F extends q{applyJitter(){let k=this,E=this.options.jitter,M=this.points.length;E&&this.points.forEach(function(v,o){["x","y"].forEach(function(u,x){if(E[u]&&!v.isNull){let f=`plot${u.toUpperCase()}`,p=k[`${u}Axis`],b=E[u]*p.transA;if(p&&!p.logarithmic){let I=Math.max(0,(v[f]||0)-b),B=Math.min(p.len,(v[f]||0)+b);v[f]=I+(B-I)*function(A){let g=1e4*Math.sin(A);return g-Math.floor(g)}(o+x*M),u==="x"&&(v.clientX=v.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return F.defaultOptions=Y(q.defaultOptions,m),Q(F.prototype,{drawTracker:$.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),Z(F,"afterTranslate",function(){this.applyJitter()}),T.registerSeriesType("scatter",F),F}),O(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(m,T,G){var $,q;let{deg2rad:Z}=m,{fireEvent:Q,isNumber:Y,pick:F,relativeLength:W}=G;return(q=$||($={})).getCenter=function(){let k=this.options,E=this.chart,M=2*(k.slicedOffset||0),v=E.plotWidth-2*M,o=E.plotHeight-2*M,u=k.center,x=Math.min(v,o),f=k.thickness,p,b=k.size,I=k.innerSize||0,B,A;typeof b=="string"&&(b=parseFloat(b)),typeof I=="string"&&(I=parseFloat(I));let g=[F(u[0],"50%"),F(u[1],"50%"),F(b&&b<0?void 0:k.size,"100%"),F(I&&I<0?void 0:k.innerSize||0,"0%")];for(!E.angular||this instanceof T||(g[3]=0),B=0;B<4;++B)A=g[B],p=B<2||B===2&&/%$/.test(A),g[B]=W(A,[v,o,x,g[2]][B])+(p?M:0);return g[3]>g[2]&&(g[3]=g[2]),Y(f)&&2*f<g[2]&&f>0&&(g[3]=g[2]-2*f),Q(this,"afterGetCenter",{positions:g}),g},q.getStartAndEndRadians=function(k,E){let M=Y(k)?k:0,v=Y(E)&&E>M&&E-M<360?E:M+360;return{start:Z*(M+-90),end:Z*(v+-90)}},$}),O(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(m,T,G){let{setAnimation:$}=m,{addEvent:q,defined:Z,extend:Q,isNumber:Y,pick:F,relativeLength:W}=G;class k extends T{getConnectorPath(M){let v=M.dataLabelPosition,o=M.options||{},u=o.connectorShape,x=this.connectorShapes[u]||u;return v&&x.call(this,{...v.computed,alignment:v.alignment},v.connectorPosition,o)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(M){let v=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(v.x,v.y,v.r+M,v.r+M,{innerR:v.r-1,start:v.start,end:v.end,borderRadius:v.borderRadius})}constructor(M,v,o){super(M,v,o),this.half=0,this.name??(this.name="Slice");let u=x=>{this.slice(x.type==="select")};q(this,"select",u),q(this,"unselect",u)}isValid(){return Y(this.y)&&this.y>=0}setVisible(M,v=!0){M!==this.visible&&this.update({visible:M??!this.visible},v,void 0,!1)}slice(M,v,o){let u=this.series;$(o,u.chart),v=F(v,!0),this.sliced=this.options.sliced=M=Z(M)?M:!this.sliced,u.options.data[u.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return Q(k.prototype,{connectorShapes:{fixedOffset:function(E,M,v){let o=M.breakAt,u=M.touchingSliceAt,x=v.softConnector?["C",E.x+(E.alignment==="left"?-5:5),E.y,2*o.x-u.x,2*o.y-u.y,o.x,o.y]:["L",o.x,o.y];return[["M",E.x,E.y],x,["L",u.x,u.y]]},straight:function(E,M){let v=M.touchingSliceAt;return[["M",E.x,E.y],["L",v.x,v.y]]},crookedLine:function(E,M,v){let{breakAt:o,touchingSliceAt:u}=M,{series:x}=this,[f,p,b]=x.center,I=b/2,{plotLeft:B,plotWidth:A}=x.chart,g=E.alignment==="left",{x:S,y:l}=E,s=o.x;if(v.crookDistance){let a=W(v.crookDistance,1);s=g?f+I+(A+B-f-I)*(1-a):B+(f-I)*a}else s=f+(p-l)*Math.tan((this.angle||0)-Math.PI/2);let r=[["M",S,l]];return(g?s<=S&&s>=o.x:s>=S&&s<=o.x)&&r.push(["L",s,l]),r.push(["L",o.x,o.y],["L",u.x,u.y]),r}}}),k}),O(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),O(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F){let{getStartAndEndRadians:W}=m,{noop:k}=G,{clamp:E,extend:M,fireEvent:v,merge:o,pick:u}=F;class x extends Z{animate(p){let b=this,I=b.points,B=b.startAngleRad;p||I.forEach(function(A){let g=A.graphic,S=A.shapeArgs;g&&S&&(g.attr({r:u(A.startR,b.center&&b.center[3]/2),start:B,end:B}),g.animate({r:S.r,start:S.start,end:S.end},b.options.animation))})}drawEmpty(){let p,b,I=this.startAngleRad,B=this.endAngleRad,A=this.options;this.total===0&&this.center?(p=this.center[0],b=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(p,b,this.center[1]/2,0,I,B).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:Y.arc(p,b,this.center[2]/2,0,{start:I,end:B,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":A.borderWidth,fill:A.fillColor||"none",stroke:A.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let p=this.chart.renderer;this.points.forEach(function(b){b.graphic&&b.hasNewShapeType()&&(b.graphic=b.graphic.destroy()),b.graphic||(b.graphic=p[b.shapeType](b.shapeArgs).add(b.series.group),b.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(p,b,I,B){let A=this.center,g=this.radii?this.radii[I.index]||0:A[2]/2,S=B.dataLabelPosition,l=(S==null?void 0:S.distance)||0,s=Math.asin(E((p-A[1])/(g+l),-1,1));return A[0]+Math.cos(s)*(g+l)*(b?-1:1)+(l>0?(b?-1:1)*(B.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let p,b,I,B,A=this,g=A.chart;this.drawEmpty(),A.group&&!g.styledMode&&A.group.shadow(A.options.shadow),A.points.forEach(function(S){let l={};b=S.graphic,!S.isNull&&b?(B=S.shapeArgs,p=S.getTranslate(),g.styledMode||(I=A.pointAttribs(S,S.selected&&"select")),S.delayedRendering?(b.setRadialReference(A.center).attr(B).attr(p),g.styledMode||b.attr(I).attr({"stroke-linejoin":"round"}),S.delayedRendering=!1):(b.setRadialReference(A.center),g.styledMode||o(!0,l,I),o(!0,l,B,p),b.animate(l)),b.attr({visibility:S.visible?"inherit":"hidden"}),b.addClass(S.getClassName(),!0)):b&&(S.graphic=b.destroy())})}sortByAngle(p,b){p.sort(function(I,B){return I.angle!==void 0&&(B.angle-I.angle)*b})}translate(p){v(this,"translate"),this.generatePoints();let b=this.options,I=b.slicedOffset,B=W(b.startAngle,b.endAngle),A=this.startAngleRad=B.start,g=(this.endAngleRad=B.end)-A,S=this.points,l=b.ignoreHiddenPoint,s=S.length,r,a,d,n,h,c,L,z=0;for(p||(this.center=p=this.getCenter()),c=0;c<s;c++){L=S[c],r=A+z*g,L.isValid()&&(!l||L.visible)&&(z+=L.percentage/100),a=A+z*g;let w={x:p[0],y:p[1],r:p[2]/2,innerR:p[3]/2,start:Math.round(1e3*r)/1e3,end:Math.round(1e3*a)/1e3};L.shapeType="arc",L.shapeArgs=w,(d=(a+r)/2)>1.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI),L.slicedTranslation={translateX:Math.round(Math.cos(d)*I),translateY:Math.round(Math.sin(d)*I)},n=Math.cos(d)*p[2]/2,h=Math.sin(d)*p[2]/2,L.tooltipPos=[p[0]+.7*n,p[1]+.7*h],L.half=d<-Math.PI/2||d>Math.PI/2?1:0,L.angle=d}v(this,"afterTranslate")}updateTotals(){let p=this.points,b=p.length,I=this.options.ignoreHiddenPoint,B,A,g=0;for(B=0;B<b;B++)(A=p[B]).isValid()&&(!I||A.visible)&&(g+=A.y);for(B=0,this.total=g;B<b;B++)(A=p[B]).percentage=g>0&&(A.visible||!I)?A.y/g*100:0,A.total=g}}return x.defaultOptions=o(Z.defaultOptions,q),M(x.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:T.prototype.drawTracker,getCenter:m.getCenter,getSymbol:k,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:T.prototype.pointAttribs,pointClass:$,requireSorting:!1,searchPoint:k,trackerGroups:["group","dataLabelsGroup"]}),Q.registerSeriesType("pie",x),x}),O(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){var Z;let{composed:Q,noop:Y}=T,{distribute:F}=G,{series:W}=$,{arrayMax:k,clamp:E,defined:M,pick:v,pushUnique:o,relativeLength:u}=q;return function(x){let f={radialDistributionY:function(A,g){var S;return(((S=g.dataLabelPosition)==null?void 0:S.top)||0)+A.distributeBox.pos},radialDistributionX:function(A,g,S,l,s){let r=s.dataLabelPosition;return A.getX(S<((r==null?void 0:r.top)||0)+2||S>((r==null?void 0:r.bottom)||0)-2?l:S,g.half,g,s)},justify:function(A,g,S,l){var s;return l[0]+(A.half?-1:1)*(S+(((s=g.dataLabelPosition)==null?void 0:s.distance)||0))},alignToPlotEdges:function(A,g,S,l){let s=A.getBBox().width;return g?s+l:S-s-l},alignToConnectors:function(A,g,S,l){let s=0,r;return A.forEach(function(a){(r=a.dataLabel.getBBox().width)>s&&(s=r)}),g?s+l:S-s-l}};function p(A,g){let{center:S,options:l}=this,s=S[2]/2,r=A.angle||0,a=Math.cos(r),d=Math.sin(r),n=S[0]+a*s,h=S[1]+d*s,c=Math.min((l.slicedOffset||0)+(l.borderWidth||0),g/5);return{natural:{x:n+a*g,y:h+d*g},computed:{},alignment:g<0?"center":A.half?"right":"left",connectorPosition:{breakAt:{x:n+a*c,y:h+d*c},touchingSliceAt:{x:n,y:h}},distance:g}}function b(){var J;let A=this,g=A.points,S=A.chart,l=S.plotWidth,s=S.plotHeight,r=S.plotLeft,a=Math.round(S.chartWidth/3),d=A.center,n=d[2]/2,h=d[1],c=[[],[]],L=[0,0,0,0],z=A.dataLabelPositioners,w,R,V,X=0;A.visible&&((J=A.hasDataLabels)!=null&&J.call(A))&&(g.forEach(P=>{(P.dataLabels||[]).forEach(C=>{C.shortened&&(C.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),C.shortened=!1)})}),W.prototype.drawDataLabels.apply(A),g.forEach(P=>{(P.dataLabels||[]).forEach((C,N)=>{var j;let _=d[2]/2,y=C.options,D=u((y==null?void 0:y.distance)||0,_);N===0&&c[P.half].push(P),!M((j=y==null?void 0:y.style)==null?void 0:j.width)&&C.getBBox().width>a&&(C.css({width:Math.round(.7*a)+"px"}),C.shortened=!0),C.dataLabelPosition=this.getDataLabelPosition(P,D),X=Math.max(X,D)})}),c.forEach((P,C)=>{let N=P.length,_=[],y,D,j=0,H;N&&(A.sortByAngle(P,C-.5),X>0&&(y=Math.max(0,h-n-X),D=Math.min(h+n+X,S.plotHeight),P.forEach(U=>{(U.dataLabels||[]).forEach(K=>{var rt;let et=K.dataLabelPosition;et&&et.distance>0&&(et.top=Math.max(0,h-n-et.distance),et.bottom=Math.min(h+n+et.distance,S.plotHeight),j=K.getBBox().height||21,K.lineHeight=S.renderer.fontMetrics(K.text||K).h+2*K.padding,U.distributeBox={target:(((rt=K.dataLabelPosition)==null?void 0:rt.natural.y)||0)-et.top+K.lineHeight/2,size:j,rank:U.y},_.push(U.distributeBox))})}),F(_,H=D+j-y,H/5)),P.forEach(U=>{(U.dataLabels||[]).forEach(K=>{let et=K.options||{},rt=U.distributeBox,nt=K.dataLabelPosition,lt=(nt==null?void 0:nt.natural.y)||0,ht=et.connectorPadding||0,it=K.lineHeight||21,tt=(it-K.getBBox().height)/2,st=0,ot=lt,at="inherit";if(nt){if(_&&M(rt)&&nt.distance>0&&(rt.pos===void 0?at="hidden":(V=rt.size,ot=z.radialDistributionY(U,K))),et.justify)st=z.justify(U,K,n,d);else switch(et.alignTo){case"connectors":st=z.alignToConnectors(P,C,l,r);break;case"plotEdges":st=z.alignToPlotEdges(K,C,l,r);break;default:st=z.radialDistributionX(A,U,ot-tt,lt,K)}if(nt.attribs={visibility:at,align:nt.alignment},nt.posAttribs={x:st+(et.x||0)+({left:ht,right:-ht}[nt.alignment]||0),y:ot+(et.y||0)-it/2},nt.computed.x=st,nt.computed.y=ot-tt,v(et.crop,!0)){let ct;st-(R=K.getBBox().width)<ht&&C===1?(ct=Math.round(R-st+ht),L[3]=Math.max(ct,L[3])):st+R>l-ht&&C===0&&(ct=Math.round(st+R-l+ht),L[1]=Math.max(ct,L[1])),ot-V/2<0?L[0]=Math.max(Math.round(-ot+V/2),L[0]):ot+V/2>s&&(L[2]=Math.max(Math.round(ot+V/2-s),L[2])),nt.sideOverflow=ct}}})}))}),(k(L)===0||this.verifyDataLabelOverflow(L))&&(this.placeDataLabels(),this.points.forEach(P=>{(P.dataLabels||[]).forEach(C=>{var D;let{connectorColor:N,connectorWidth:_=1}=C.options||{},y=C.dataLabelPosition;if(_){let j;w=C.connector,y&&y.distance>0?(j=!w,w||(C.connector=w=S.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+P.colorIndex+(P.className?" "+P.className:"")).add(A.dataLabelsGroup)),S.styledMode||w.attr({"stroke-width":_,stroke:N||P.color||"#666666"}),w[j?"attr":"animate"]({d:P.getConnectorPath(C)}),w.attr({visibility:(D=y.attribs)==null?void 0:D.visibility})):w&&(C.connector=w.destroy())}})})))}function I(){this.points.forEach(A=>{(A.dataLabels||[]).forEach(g=>{var l;let S=g.dataLabelPosition;S?(S.sideOverflow&&(g.css({width:Math.max(g.getBBox().width-S.sideOverflow,0)+"px",textOverflow:(((l=g.options)==null?void 0:l.style)||{}).textOverflow||"ellipsis"}),g.shortened=!0),g.attr(S.attribs),g[g.moved?"animate":"attr"](S.posAttribs),g.moved=!0):g&&g.attr({y:-9999})}),delete A.distributeBox},this)}function B(A){let g=this.center,S=this.options,l=S.center,s=S.minSize||80,r=s,a=S.size!==null;return!a&&(l[0]!==null?r=Math.max(g[2]-Math.max(A[1],A[3]),s):(r=Math.max(g[2]-A[1]-A[3],s),g[0]+=(A[3]-A[1])/2),l[1]!==null?r=E(r,s,g[2]-Math.max(A[0],A[2])):(r=E(r,s,g[2]-A[0]-A[2]),g[1]+=(A[0]-A[2])/2),r<g[2]?(g[2]=r,g[3]=Math.min(S.thickness?Math.max(0,r-2*S.thickness):Math.max(0,u(S.innerSize||0,r)),r),this.translate(g),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}x.compose=function(A){if(m.compose(W),o(Q,"PieDataLabel")){let g=A.prototype;g.dataLabelPositioners=f,g.alignDataLabel=Y,g.drawDataLabels=b,g.getDataLabelPosition=p,g.placeDataLabels=I,g.verifyDataLabelOverflow=B}}}(Z||(Z={})),Z}),O(e,"Core/Geometry/GeometryUtilities.js",[],function(){var m,T;return(T=m||(m={})).getCenterOfPoints=function(G){let $=G.reduce((q,Z)=>(q.x+=Z.x,q.y+=Z.y,q),{x:0,y:0});return{x:$.x/G.length,y:$.y/G.length}},T.getDistanceBetweenPoints=function(G,$){return Math.sqrt(Math.pow($.x-G.x,2)+Math.pow($.y-G.y,2))},T.getAngleBetweenPoints=function(G,$){return Math.atan2($.x-G.x,$.y-G.y)},T.pointInPolygon=function({x:G,y:$},q){let Z=q.length,Q,Y,F=!1;for(Q=0,Y=Z-1;Q<Z;Y=Q++){let[W,k]=q[Q],[E,M]=q[Y];k>$!=M>$&&G<(E-W)*($-k)/(M-k)+W&&(F=!F)}return F},m}),O(e,"Extensions/OverlappingDataLabels.js",[e["Core/Geometry/GeometryUtilities.js"],e["Core/Utilities.js"]],function(m,T){let{pointInPolygon:G}=m,{addEvent:$,fireEvent:q,objectEach:Z,pick:Q}=T;function Y(k){let E=k.length,M=(I,B)=>!(B.x>=I.x+I.width||B.x+B.width<=I.x||B.y>=I.y+I.height||B.y+B.height<=I.y),v=(I,B)=>{for(let A of I)if(G({x:A[0],y:A[1]},B))return!0;return!1},o,u,x,f,p,b=!1;for(let I=0;I<E;I++)(o=k[I])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(B){var A,g;if(B&&(!B.alignAttr||B.placed)){let S=B.box?0:B.padding||0,l=B.alignAttr||{x:B.attr("x"),y:B.attr("y")},s=B.getBBox();return B.width=s.width,B.height=s.height,{x:l.x+(((A=B.parentGroup)==null?void 0:A.translateX)||0)+S,y:l.y+(((g=B.parentGroup)==null?void 0:g.translateY)||0)+S,width:(B.width||0)-2*S,height:(B.height||0)-2*S,polygon:s==null?void 0:s.polygon}}}(o));k.sort((I,B)=>(B.labelrank||0)-(I.labelrank||0));for(let I=0;I<E;++I){f=(u=k[I])&&u.absoluteBox;let B=f==null?void 0:f.polygon;for(let A=I+1;A<E;++A){p=(x=k[A])&&x.absoluteBox;let g=!1;if(f&&p&&u!==x&&u.newOpacity!==0&&x.newOpacity!==0&&u.visibility!=="hidden"&&x.visibility!=="hidden"){let S=p.polygon;if(B&&S&&B!==S?v(B,S)&&(g=!0):M(f,p)&&(g=!0),g){let l=u.labelrank<x.labelrank?u:x,s=l.text;l.newOpacity=0,s!=null&&s.element.querySelector("textPath")&&s.hide()}}}}for(let I of k)F(I,this)&&(b=!0);b&&q(this,"afterHideAllOverlappingLabels")}function F(k,E){let M,v,o=!1;return k&&(v=k.newOpacity,k.oldOpacity!==v&&(k.hasClass("highcharts-data-label")?(k[v?"removeClass":"addClass"]("highcharts-data-label-hidden"),M=function(){E.styledMode||k.css({pointerEvents:v?"auto":"none"})},o=!0,k[k.isOld?"animate":"attr"]({opacity:v},void 0,M),q(E,"afterHideOverlappingLabel")):k.attr({opacity:v})),k.isOld=!0),o}function W(){var M;let k=this,E=[];for(let v of k.labelCollectors||[])E=E.concat(v());for(let v of k.yAxis||[])v.stacking&&v.options.stackLabels&&!v.options.stackLabels.allowOverlap&&Z(v.stacking.stacks,o=>{Z(o,u=>{u.label&&E.push(u.label)})});for(let v of k.series||[])if(v.visible&&((M=v.hasDataLabels)!=null&&M.call(v))){let o=u=>{for(let x of u)x.visible&&(x.dataLabels||[]).forEach(f=>{var b;let p=f.options||{};f.labelrank=Q(p.labelrank,x.labelrank,(b=x.shapeArgs)==null?void 0:b.height),p.allowOverlap??Number(p.distance)>0?(f.oldOpacity=f.opacity,f.newOpacity=1,F(f,k)):E.push(f)})};o(v.nodes||[]),o(v.points)}this.hideOverlappingLabels(E)}return{compose:function(k){let E=k.prototype;E.hideOverlappingLabels||(E.hideOverlappingLabels=Y,$(k,"render",W))}}}),O(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{defaultOptions:$}=m,{noop:q}=T,{addEvent:Z,extend:Q,isObject:Y,merge:F,relativeLength:W}=G,k={radius:0,scope:"stack",where:void 0},E=q,M=q;function v(p,b,I,B,A={}){let g=E(p,b,I,B,A),{innerR:S=0,r:l=I,start:s=0,end:r=0}=A;if(A.open||!A.borderRadius)return g;let a=r-s,d=Math.sin(a/2),n=Math.max(Math.min(W(A.borderRadius||0,l-S),(l-S)/2,l*d/(1+d)),0),h=Math.min(n,a/Math.PI*2*S),c=g.length-1;for(;c--;)(function(L,z,w){let R,V,X,J=L[z],P=L[z+1];if(P[0]==="Z"&&(P=L[0]),(J[0]==="M"||J[0]==="L")&&P[0]==="A"?(R=J,V=P,X=!0):J[0]==="A"&&(P[0]==="M"||P[0]==="L")&&(R=P,V=J),R&&V&&V.params){let C=V[1],N=V[5],_=V.params,{start:y,end:D,cx:j,cy:H}=_,U=N?C-w:C+w,K=U?Math.asin(w/U):0,et=N?K:-K,rt=Math.cos(K)*U;X?(_.start=y+et,R[1]=j+rt*Math.cos(y),R[2]=H+rt*Math.sin(y),L.splice(z+1,0,["A",w,w,0,0,1,j+C*Math.cos(_.start),H+C*Math.sin(_.start)])):(_.end=D-et,V[6]=j+C*Math.cos(_.end),V[7]=H+C*Math.sin(_.end),L.splice(z+1,0,["A",w,w,0,0,1,j+rt*Math.cos(D),H+rt*Math.sin(D)])),V[4]=Math.abs(_.end-_.start)<Math.PI?0:1}})(g,c,c>1?h:n);return g}function o(){var p,b;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:I,yAxis:B}=this,A=I.stacking==="percent",g=(b=(p=$.plotOptions)==null?void 0:p[this.type])==null?void 0:b.borderRadius,S=u(I.borderRadius,Y(g)?g:{}),l=B.options.reversed;for(let s of this.points){let{shapeArgs:r}=s;if(s.shapeType==="roundedRect"&&r){let{width:a=0,height:d=0,y:n=0}=r,h=n,c=d;if(S.scope==="stack"&&s.stackTotal){let R=B.translate(A?100:s.stackTotal,!1,!0,!1,!0),V=B.translate(I.threshold||0,!1,!0,!1,!0),X=this.crispCol(0,Math.min(R,V),0,Math.abs(R-V));h=X.y,c=X.height}let L=(s.negative?-1:1)*(l?-1:1)==-1,z=S.where;!z&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(z="all"),z||(z="end");let w=Math.min(W(S.radius,a),a/2,z==="all"?d/2:1/0)||0;z==="end"&&(L&&(h-=w),c+=w),Q(r,{brBoxHeight:c,brBoxY:h,r:w})}}}}function u(p,b){return Y(p)||(p={radius:p||0}),F(k,b,p)}function x(){let p=u(this.options.borderRadius);for(let b of this.points){let I=b.shapeArgs;I&&(I.borderRadius=W(p.radius,(I.r||0)-(I.innerR||0)))}}function f(p,b,I,B,A={}){let g=M(p,b,I,B,A),{r:S=0,brBoxHeight:l=B,brBoxY:s=b}=A,r=b-s,a=s+l-(b+B),d=r-S>-.1?0:S,n=a-S>-.1?0:S,h=Math.max(d&&r,0),c=Math.max(n&&a,0),L=[p+d,b],z=[p+I-d,b],w=[p+I,b+d],R=[p+I,b+B-n],V=[p+I-n,b+B],X=[p+n,b+B],J=[p,b+B-n],P=[p,b+d],C=(N,_)=>Math.sqrt(Math.pow(N,2)-Math.pow(_,2));if(h){let N=C(d,d-h);L[0]-=N,z[0]+=N,w[1]=P[1]=b+d-h}if(B<d-h){let N=C(d,d-h-B);w[0]=R[0]=p+I-d+N,V[0]=Math.min(w[0],V[0]),X[0]=Math.max(R[0],X[0]),J[0]=P[0]=p+d-N,w[1]=P[1]=b+B}if(c){let N=C(n,n-c);V[0]+=N,X[0]-=N,R[1]=J[1]=b+B-n+c}if(B<n-c){let N=C(n,n-c-B);w[0]=R[0]=p+I-n+N,z[0]=Math.min(w[0],z[0]),L[0]=Math.max(R[0],L[0]),J[0]=P[0]=p+n-N,R[1]=J[1]=b}return g.length=0,g.push(["M",...L],["L",...z],["A",d,d,0,0,1,...w],["L",...R],["A",n,n,0,0,1,...V],["L",...X],["A",n,n,0,0,1,...J],["L",...P],["A",d,d,0,0,1,...L],["Z"]),g}return{compose:function(p,b,I){let B=p.types.pie;if(!b.symbolCustomAttribs.includes("borderRadius")){let A=I.prototype.symbols;Z(p,"afterColumnTranslate",o,{order:9}),Z(B,"afterTranslate",x),b.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),E=A.arc,M=A.roundedRect,A.arc=v,A.roundedRect=f}},optionsToObject:u}}),O(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(m){var T;let{diffObjects:G,extend:$,find:q,merge:Z,pick:Q,uniqueKey:Y}=m;return function(F){function W(E,M){let v=E.condition;(v.callback||function(){return this.chartWidth<=Q(v.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Q(v.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Q(v.minWidth,0)&&this.chartHeight>=Q(v.minHeight,0)}).call(this)&&M.push(E._id)}function k(E,M){let v=this.options.responsive,o=this.currentResponsive,u=[],x;!M&&v&&v.rules&&v.rules.forEach(b=>{b._id===void 0&&(b._id=Y()),this.matchResponsiveRule(b,u)},this);let f=Z(...u.map(b=>q((v||{}).rules||[],I=>I._id===b)).map(b=>b&&b.chartOptions));f.isResponsiveOptions=!0,u=u.toString()||void 0;let p=o&&o.ruleIds;u===p||(o&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(o.undoOptions,E,!0),this.updatingResponsive=!1),u?((x=G(f,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:u,mergedOptions:f,undoOptions:x},this.updatingResponsive||this.update(f,E,!0)):this.currentResponsive=void 0)}F.compose=function(E){let M=E.prototype;return M.matchResponsiveRule||$(M,{matchResponsiveRule:W,setResponsive:k}),E}}(T||(T={})),T}),O(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E,M,v,o,u,x,f,p,b,I,B,A,g,S,l,s,r,a,d,n,h,c,L,z,w){return m.AST=Z,m.Axis=M,m.Chart=A,m.Color=z,m.DataLabel=n,m.Fx=$,m.HTMLElement=E,m.Legend=I,m.LegendSymbol=B,m.OverlappingDataLabels=m.OverlappingDataLabels||h,m.PlotLineOrBand=u,m.Point=p,m.Pointer=b,m.RendererRegistry=Y,m.Series=s,m.SeriesRegistry=r,m.StackItem=l,m.SVGElement=W,m.SVGRenderer=k,m.Templating=Q,m.Tick=x,m.Time=w,m.Tooltip=f,m.animate=q.animate,m.animObject=q.animObject,m.chart=A.chart,m.color=z.parse,m.dateFormat=Q.dateFormat,m.defaultOptions=G.defaultOptions,m.distribute=F.distribute,m.format=Q.format,m.getDeferredAnimation=q.getDeferredAnimation,m.getOptions=G.getOptions,m.numberFormat=Q.numberFormat,m.seriesType=r.seriesType,m.setAnimation=q.setAnimation,m.setOptions=G.setOptions,m.stop=q.stop,m.time=G.defaultTime,m.timers=$.timers,c.compose(m.Series,m.SVGElement,m.SVGRenderer),a.compose(m.Series.types.column),n.compose(m.Series),v.compose(m.Axis),E.compose(m.SVGRenderer),I.compose(m.Chart),o.compose(m.Axis),h.compose(m.Chart),d.compose(m.Series.types.pie),u.compose(m.Axis),b.compose(m.Chart),L.compose(m.Chart),g.compose(m.Axis,m.Chart,m.Series),S.compose(m.Axis,m.Chart,m.Series),f.compose(m.Pointer),T.extend(m,T),m}),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]})})(Ec);var tl=Ec.exports;const vg=gs(tl),el=fh({__proto__:null,default:vg},[tl]);var Lc={exports:{}};(function(t,i){(function(e,O){t.exports=O(Ft)})(typeof self<"u"?self:oa,function(e){return function(O){function m(G){if(T[G])return T[G].exports;var $=T[G]={i:G,l:!1,exports:{}};return O[G].call($.exports,$,$.exports,m),$.l=!0,$.exports}var T={};return m.m=O,m.c=T,m.d=function(G,$,q){m.o(G,$)||Object.defineProperty(G,$,{configurable:!1,enumerable:!0,get:q})},m.n=function(G){var $=G&&G.__esModule?function(){return G.default}:function(){return G};return m.d($,"a",$),$},m.o=function(G,$){return Object.prototype.hasOwnProperty.call(G,$)},m.p="",m(m.s=0)}([function(O,m,T){function G(){return G=Object.assign?Object.assign.bind():function(o){for(var u=1;u<arguments.length;u++){var x=arguments[u];for(var f in x)Object.prototype.hasOwnProperty.call(x,f)&&(o[f]=x[f])}return o},G.apply(this,arguments)}function $(o){return Y(o)||Q(o)||Z(o)||q()}function q(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Z(o,u){if(o){if(typeof o=="string")return F(o,u);var x=Object.prototype.toString.call(o).slice(8,-1);return x==="Object"&&o.constructor&&(x=o.constructor.name),x==="Map"||x==="Set"?Array.from(o):x==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x)?F(o,u):void 0}}function Q(o){if(typeof Symbol<"u"&&o[Symbol.iterator]!=null||o["@@iterator"]!=null)return Array.from(o)}function Y(o){if(Array.isArray(o))return F(o)}function F(o,u){(u==null||u>o.length)&&(u=o.length);for(var x=0,f=new Array(u);x<u;x++)f[x]=o[x];return f}function W(o){"@babel/helpers - typeof";return(W=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(u){return typeof u}:function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u})(o)}Object.defineProperty(m,"__esModule",{value:!0}),T.d(m,"HighchartsReact",function(){return v});var k=T(1),E=T.n(k),M=typeof window<"u"?k.useLayoutEffect:k.useEffect,v=Object(k.memo)(Object(k.forwardRef)(function(o,u){var x=Object(k.useRef)(),f=Object(k.useRef)(),p=Object(k.useRef)(o.constructorType),b=Object(k.useRef)(o.highcharts);return M(function(){function I(){var A=o.highcharts||(typeof window>"u"?"undefined":W(window))==="object"&&window.Highcharts,g=o.constructorType||"chart";A?A[g]?o.options?f.current=A[g](x.current,o.options,o.callback):console.warn('The "options" property was not passed.'):console.warn('The "constructorType" property is incorrect or some required module is not imported.'):console.warn('The "highcharts" property was not passed.')}if(f.current){if(o.allowChartUpdate!==!1)if(o.constructorType!==p.current||o.highcharts!==b.current)p.current=o.constructorType,b.current=o.highcharts,I();else if(!o.immutable&&f.current){var B;(B=f.current).update.apply(B,[o.options].concat($(o.updateArgs||[!0,!0])))}else I()}else I()},[o.options,o.allowChartUpdate,o.updateArgs,o.containerProps,o.highcharts,o.constructorType]),M(function(){return function(){f.current&&(f.current.destroy(),f.current=null)}},[]),Object(k.useImperativeHandle)(u,function(){return{get chart(){return f.current},container:x}},[]),E.a.createElement("div",G({},o.containerProps,{ref:x}))}));m.default=v},function(O,m){O.exports=e}])})})(Lc);var Sg=Lc.exports;const Oc=gs(Sg);var Dc={exports:{}};(function(t){(function(i){t.exports?(i.default=i,t.exports=i):i(typeof Highcharts<"u"?Highcharts:void 0)})(function(i){var e=i?i._modules:{};function O(m,T,G,$){m.hasOwnProperty(T)||(m[T]=$.apply(null,G),typeof CustomEvent=="function"&&i.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:T,module:m[T]}})))}O(e,"Extensions/Pane/PaneComposition.js",[e["Core/Utilities.js"]],function(m){let{addEvent:T,correctFloat:G,defined:$,pick:q}=m;function Z(k){let E,M=this;return k&&M.pane.forEach(v=>{Q(k.chartX-M.plotLeft,k.chartY-M.plotTop,v.center)&&(E=v)}),E}function Q(k,E,M,v,o){let u=!0,x=M[0],f=M[1],p=Math.sqrt(Math.pow(k-x,2)+Math.pow(E-f,2));if($(v)&&$(o)){let b=Math.atan2(G(E-f,8),G(k-x,8));o!==v&&(u=v>o?b>=v&&b<=Math.PI||b<=o&&b>=-Math.PI:b>=v&&b<=G(o,8))}return p<=Math.ceil(M[2]/2)&&u}function Y(k){this.polar&&(k.options.inverted&&([k.x,k.y]=[k.y,k.x]),k.isInsidePlot=this.pane.some(E=>Q(k.x,k.y,E.center,E.axis&&E.axis.normalizedStartAngleRad,E.axis&&E.axis.normalizedEndAngleRad)))}function F(k){let E=this.chart;k.hoverPoint&&k.hoverPoint.plotX&&k.hoverPoint.plotY&&E.hoverPane&&!Q(k.hoverPoint.plotX,k.hoverPoint.plotY,E.hoverPane.center)&&(k.hoverPoint=void 0)}function W(k){let E=this.chart;E.polar?(E.hoverPane=E.getHoverPane(k),k.filter=function(M){return M.visible&&!(!k.shared&&M.directTouch)&&q(M.options.enableMouseTracking,!0)&&(!E.hoverPane||M.xAxis.pane===E.hoverPane)}):E.hoverPane=void 0}return{compose:function(k,E){let M=k.prototype;M.getHoverPane||(M.collectionsWithUpdate.push("pane"),M.getHoverPane=Z,T(k,"afterIsInsidePlot",Y),T(E,"afterGetHoverData",F),T(E,"beforeGetHoverData",W))}}}),O(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%"}}}),O(e,"Extensions/Pane/Pane.js",[e["Series/CenteredUtilities.js"],e["Extensions/Pane/PaneComposition.js"],e["Extensions/Pane/PaneDefaults.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{extend:q,merge:Z,splat:Q}=$;class Y{constructor(W,k){this.coll="pane",this.init(W,k)}init(W,k){this.chart=k,this.background=[],k.pane.push(this),this.setOptions(W)}setOptions(W){this.options=W=Z(G.pane,this.chart.angular?{background:{}}:void 0,W)}render(){let W=this.options,k=this.chart.renderer;this.group||(this.group=k.g("pane-group").attr({zIndex:W.zIndex||0}).add()),this.updateCenter();let E=this.options.background;if(E){let M=Math.max((E=Q(E)).length,this.background.length||0);for(let v=0;v<M;v++)E[v]&&this.axis?this.renderBackground(Z(G.background,E[v]),v):this.background[v]&&(this.background[v]=this.background[v].destroy(),this.background.splice(v,1))}}renderBackground(W,k){let E={class:"highcharts-pane "+(W.className||"")},M="animate";this.chart.styledMode||q(E,{fill:W.backgroundColor,stroke:W.borderColor,"stroke-width":W.borderWidth}),this.background[k]||(this.background[k]=this.chart.renderer.path().add(this.group),M="attr"),this.background[k][M]({d:this.axis.getPlotBandPath(W.from,W.to,W)}).attr(E)}updateCenter(W){this.center=(W||this.axis||{}).center=m.getCenter.call(this)}update(W,k){Z(!0,this.options,W),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(E){E.pane===this&&(E.pane=null,E.update({},k))},this)}}return Y.compose=T.compose,Y}),O(e,"Series/AreaRange/AreaRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{area:{prototype:{pointClass:G,pointClass:{prototype:$}}}}=m.seriesTypes,{defined:q,isNumber:Z}=T;return class extends G{setState(){let Q=this.state,Y=this.series,F=Y.chart.polar;q(this.plotHigh)||(this.plotHigh=Y.yAxis.toPixels(this.high,!0)),q(this.plotLow)||(this.plotLow=this.plotY=Y.yAxis.toPixels(this.low,!0)),Y.lowerStateMarkerGraphic=Y.stateMarkerGraphic,Y.stateMarkerGraphic=Y.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,F&&Z(this.plotHighX)&&(this.plotX=this.plotHighX),$.setState.apply(this,arguments),this.state=Q,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],F&&Z(this.plotLowX)&&(this.plotX=this.plotLowX),Y.upperStateMarkerGraphic=Y.stateMarkerGraphic,Y.stateMarkerGraphic=Y.lowerStateMarkerGraphic,Y.lowerStateMarkerGraphic=void 0;let W=Y.modifyMarkerSettings();$.setState.apply(this,arguments),Y.restoreMarkerSettings(W)}haloPath(){let Q=this.series.chart.polar,Y=[];return this.plotY=this.plotLow,Q&&Z(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(Y=$.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,Q&&Z(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(Y=Y.concat($.haloPath.apply(this,arguments))),Y}isValid(){return Z(this.low)&&Z(this.high)}}}),O(e,"Series/AreaRange/AreaRangeSeries.js",[e["Series/AreaRange/AreaRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{noop:q}=T,{area:Z,area:{prototype:Q},column:{prototype:Y}}=G.seriesTypes,{addEvent:F,defined:W,extend:k,isArray:E,isNumber:M,pick:v,merge:o}=$;class u extends Z{toYData(f){return[f.low,f.high]}highToXY(f){let p=this.chart,b=this.xAxis.postTranslate(f.rectPlotX||0,this.yAxis.len-(f.plotHigh||0));f.plotHighX=b.x-p.plotLeft,f.plotHigh=b.y-p.plotTop,f.plotLowX=f.plotX}getGraphPath(f){let p=[],b=[],I=Q.getGraphPath,B=this.options,A=this.chart.polar,g=A&&B.connectEnds!==!1,S=B.connectNulls,l,s,r,a=B.step;for(l=(f=f||this.points).length;l--;){s=f[l];let L=A?{plotX:s.rectPlotX,plotY:s.yBottom,doCurve:!1}:{plotX:s.plotX,plotY:s.plotY,doCurve:!1};s.isNull||g||S||f[l+1]&&!f[l+1].isNull||b.push(L),r={polarPlotY:s.polarPlotY,rectPlotX:s.rectPlotX,yBottom:s.yBottom,plotX:v(s.plotHighX,s.plotX),plotY:s.plotHigh,isNull:s.isNull},b.push(r),p.push(r),s.isNull||g||S||f[l-1]&&!f[l-1].isNull||b.push(L)}let d=I.call(this,f);a&&(a===!0&&(a="left"),B.step={left:"right",center:"center",right:"left"}[a]);let n=I.call(this,p),h=I.call(this,b);B.step=a;let c=[].concat(d,n);return!this.chart.polar&&h[0]&&h[0][0]==="M"&&(h[0]=["L",h[0][1],h[0][2]]),this.graphPath=c,this.areaPath=d.concat(h),c.isArea=!0,c.xMap=d.xMap,this.areaPath.xMap=d.xMap,c}drawDataLabels(){var r,a;let f,p,b,I,B,A=this.points,g=A.length,S=[],l=this.options.dataLabels,s=this.chart.inverted;if(l){if(E(l)?(I=l[0]||{enabled:!1},B=l[1]||{enabled:!1}):((I=k({},l)).x=l.xHigh,I.y=l.yHigh,(B=k({},l)).x=l.xLow,B.y=l.yLow),I.enabled||((r=this.hasDataLabels)==null?void 0:r.call(this))){for(f=g;f--;)if(p=A[f]){let{plotHigh:d=0,plotLow:n=0}=p;b=I.inside?d<n:d>n,p.y=p.high,p._plotY=p.plotY,p.plotY=d,S[f]=p.dataLabel,p.dataLabel=p.dataLabelUpper,p.below=b,s?I.align||(I.align=b?"right":"left"):I.verticalAlign||(I.verticalAlign=b?"top":"bottom")}for(this.options.dataLabels=I,Q.drawDataLabels&&Q.drawDataLabels.apply(this,arguments),f=g;f--;)(p=A[f])&&(p.dataLabelUpper=p.dataLabel,p.dataLabel=S[f],delete p.dataLabels,p.y=p.low,p.plotY=p._plotY)}if(B.enabled||(a=this.hasDataLabels)!=null&&a.call(this)){for(f=g;f--;)if(p=A[f]){let{plotHigh:d=0,plotLow:n=0}=p;b=B.inside?d<n:d>n,p.below=!b,s?B.align||(B.align=b?"left":"right"):B.verticalAlign||(B.verticalAlign=b?"bottom":"top")}this.options.dataLabels=B,Q.drawDataLabels&&Q.drawDataLabels.apply(this,arguments)}if(I.enabled)for(f=g;f--;)(p=A[f])&&(p.dataLabels=[p.dataLabelUpper,p.dataLabel].filter(function(d){return!!d}));this.options.dataLabels=l}}alignDataLabel(){Y.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let f={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:p,lowMarker:b}}=this;this.options.marker=o(p,b),b.symbol&&(this.symbol=b.symbol)}return f}restoreMarkerSettings(f){this.options.marker=f.marker,this.symbol=f.symbol}drawPoints(){let f,p,b=this.points.length,I=this.modifyMarkerSettings();for(Q.drawPoints.apply(this,arguments),this.restoreMarkerSettings(I),f=0;f<b;)(p=this.points[f]).graphics=p.graphics||[],p.origProps={plotY:p.plotY,plotX:p.plotX,isInside:p.isInside,negative:p.negative,zone:p.zone,y:p.y},(p.graphic||p.graphics[0])&&(p.graphics[0]=p.graphic),p.graphic=p.graphics[1],p.plotY=p.plotHigh,W(p.plotHighX)&&(p.plotX=p.plotHighX),p.y=v(p.high,p.origProps.y),p.negative=p.y<(this.options.threshold||0),this.zones.length&&(p.zone=p.getZone()),this.chart.polar||(p.isInside=p.isTopInside=p.plotY!==void 0&&p.plotY>=0&&p.plotY<=this.yAxis.len&&p.plotX>=0&&p.plotX<=this.xAxis.len),f++;for(Q.drawPoints.apply(this,arguments),f=0;f<b;)(p=this.points[f]).graphics=p.graphics||[],(p.graphic||p.graphics[1])&&(p.graphics[1]=p.graphic),p.graphic=p.graphics[0],p.origProps&&(k(p,p.origProps),delete p.origProps),f++}hasMarkerChanged(f,p){let b=f.lowMarker,I=p.lowMarker||{};return b&&(b.enabled===!1||I.symbol!==b.symbol||I.height!==b.height||I.width!==b.width)||super.hasMarkerChanged(f,p)}}return u.defaultOptions=o(Z.defaultOptions,{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">â—</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),F(u,"afterTranslate",function(){this.pointArrayMap.join(",")==="low,high"&&this.points.forEach(x=>{let f=x.high,p=x.plotY;x.isNull?x.plotY=void 0:(x.plotLow=p,x.plotHigh=M(f)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(f):f,!1,!0,void 0,!0):void 0,this.dataModify&&(x.yBottom=x.plotHigh))})},{order:0}),F(u,"afterTranslate",function(){this.points.forEach(x=>{if(this.chart.polar)this.highToXY(x),x.plotLow=x.plotY,x.tooltipPos=[((x.plotHighX||0)+(x.plotLowX||0))/2,((x.plotHigh||0)+(x.plotLow||0))/2];else{let f=x.pos(!1,x.plotLow),p=x.pos(!1,x.plotHigh);f&&p&&(f[0]=(f[0]+p[0])/2,f[1]=(f[1]+p[1])/2),x.tooltipPos=f}})},{order:3}),k(u.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:m,pointValKey:"low",setStackedPoints:q}),G.registerSeriesType("arearange",u),u}),O(e,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[e["Series/AreaRange/AreaRangeSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{spline:{prototype:$}}=T.seriesTypes,{merge:q,extend:Z}=G;class Q extends m{}return Q.defaultOptions=q(m.defaultOptions),Z(Q.prototype,{getPointSpline:$.getPointSpline}),T.registerSeriesType("areasplinerange",Q),Q}),O(e,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">â—</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),O(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(m,T,G,$,q){let{noop:Z}=G,{crisp:Q,extend:Y,merge:F,pick:W}=q;class k extends T{pointAttribs(){return{}}translate(){let M=this.yAxis,v=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(o){v.forEach(function(u){o[u]!==null&&(o[u+"Plot"]=M.translate(o[u],0,1,0,1))}),o.plotHigh=o.highPlot})}drawPoints(){let M,v,o,u,x,f,p,b,I,B,A,g,S,l=this.points,s=this.options,r=this.chart,a=r.renderer,d=this.doQuartiles!==!1,n=this.options.whiskerLength;for(let h of l){let c=(b=h.graphic)?"animate":"attr",L=h.shapeArgs,z={},w={},R={},V={},X=h.color||this.color;if(h.plotY!==void 0){let J;I=L.width,A=(B=L.x)+I,g=I/2,M=d?h.q1Plot:h.lowPlot,v=d?h.q3Plot:h.lowPlot,o=h.highPlot,u=h.lowPlot,b||(h.graphic=b=a.g("point").add(this.group),h.stem=a.path().addClass("highcharts-boxplot-stem").add(b),n&&(h.whiskers=a.path().addClass("highcharts-boxplot-whisker").add(b)),d&&(h.box=a.path(p).addClass("highcharts-boxplot-box").add(b)),h.medianShape=a.path(f).addClass("highcharts-boxplot-median").add(b)),r.styledMode||(w.stroke=h.stemColor||s.stemColor||X,w["stroke-width"]=W(h.stemWidth,s.stemWidth,s.lineWidth),w.dashstyle=h.stemDashStyle||s.stemDashStyle||s.dashStyle,h.stem.attr(w),n&&(R.stroke=h.whiskerColor||s.whiskerColor||X,R["stroke-width"]=W(h.whiskerWidth,s.whiskerWidth,s.lineWidth),R.dashstyle=h.whiskerDashStyle||s.whiskerDashStyle||s.dashStyle,h.whiskers.attr(R)),d&&(z.fill=h.fillColor||s.fillColor||X,z.stroke=s.lineColor||X,z["stroke-width"]=s.lineWidth||0,z.dashstyle=h.boxDashStyle||s.boxDashStyle||s.dashStyle,h.box.attr(z)),V.stroke=h.medianColor||s.medianColor||X,V["stroke-width"]=W(h.medianWidth,s.medianWidth,s.lineWidth),V.dashstyle=h.medianDashStyle||s.medianDashStyle||s.dashStyle,h.medianShape.attr(V));let P=Q((h.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,h.stem.strokeWidth());if(J=[["M",P,v],["L",P,o],["M",P,M],["L",P,u]],h.stem[c]({d:J}),d){let C=h.box.strokeWidth();M=Q(M,C),v=Q(v,C),J=[["M",B=Q(B,C),v],["L",B,M],["L",A=Q(A,C),M],["L",A,v],["L",B,v],["Z"]],h.box[c]({d:J})}if(n){let C=h.whiskers.strokeWidth();o=Q(h.highPlot,C),u=Q(h.lowPlot,C),J=[["M",Q(P-(S=typeof n=="string"&&/%$/.test(n)?g*parseFloat(n)/100:Number(n)/2)),o],["L",Q(P+S),o],["M",Q(P-S),u],["L",Q(P+S),u]],h.whiskers[c]({d:J})}J=[["M",B,x=Q(h.medianPlot,h.medianShape.strokeWidth())],["L",A,x]],h.medianShape[c]({d:J})}}}toYData(M){return[M.low,M.q1,M.median,M.q3,M.high]}}return k.defaultOptions=F(T.defaultOptions,m),Y(k.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:Z,setStackedPoints:Z}),$.registerSeriesType("boxplot",k),k}),O(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}}),O(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{parse:q}=m,{noop:Z}=G,{arrayMax:Q,arrayMin:Y,isNumber:F,merge:W,pick:k,stableSort:E}=$;return class{constructor(M,v){this.setState=Z,this.init(M,v)}init(M,v){this.options=M,this.visible=!0,this.chart=v.chart,this.legend=v}addToLegend(M){M.splice(this.options.legendIndex,0,this)}drawLegendSymbol(M){let v,o=k(M.options.itemDistance,20),u=this.legendItem||{},x=this.options,f=x.ranges,p=x.connectorDistance;if(!f||!f.length||!F(f[0].value)){M.options.bubbleLegend.autoRanges=!0;return}E(f,function(A,g){return g.value-A.value}),this.ranges=f,this.setOptions(),this.render();let b=this.getMaxLabelSize(),I=this.ranges[0].radius,B=2*I;v=(v=p-I+b.width)>0?v:0,this.maxLabel=b,this.movementX=x.labels.align==="left"?v:0,u.labelWidth=B+v+o,u.labelHeight=B+b.height/2}setOptions(){let M=this.ranges,v=this.options,o=this.chart.series[v.seriesIndex],u=this.legend.baseline,x={zIndex:v.zIndex,"stroke-width":v.borderWidth},f={zIndex:v.zIndex,"stroke-width":v.connectorWidth},p={align:this.legend.options.rtl||v.labels.align==="left"?"right":"left",zIndex:v.zIndex},b=o.options.marker.fillOpacity,I=this.chart.styledMode;M.forEach(function(B,A){I||(x.stroke=k(B.borderColor,v.borderColor,o.color),x.fill=k(B.color,v.color,b!==1?q(o.color).setOpacity(b).get("rgba"):o.color),f.stroke=k(B.connectorColor,v.connectorColor,o.color)),M[A].radius=this.getRangeRadius(B.value),M[A]=W(M[A],{center:M[0].radius-M[A].radius+u}),I||W(!0,M[A],{bubbleAttribs:W(x),connectorAttribs:W(f),labelAttribs:p})},this)}getRangeRadius(M){let v=this.options,o=this.options.seriesIndex,u=this.chart.series[o],x=v.ranges[0].value,f=v.ranges[v.ranges.length-1].value,p=v.minSize,b=v.maxSize;return u.getRadius.call(this,f,x,p,b,M)}render(){let M=this.legendItem||{},v=this.chart.renderer,o=this.options.zThreshold;for(let u of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),M.symbol=v.g("bubble-legend"),M.label=v.g("bubble-legend-item").css(this.legend.itemStyle||{}),M.symbol.translateX=0,M.symbol.translateY=0,M.symbol.add(M.label),M.label.add(M.group),this.ranges))u.value>=o&&this.renderRange(u);this.hideOverlappingLabels()}renderRange(M){let v=this.ranges[0],o=this.legend,u=this.options,x=u.labels,f=this.chart,p=f.series[u.seriesIndex],b=f.renderer,I=this.symbols,B=I.labels,A=M.center,g=Math.abs(M.radius),S=u.connectorDistance||0,l=x.align,s=o.options.rtl,r=u.borderWidth,a=u.connectorWidth,d=v.radius||0,n=A-g-r/2+a/2,h=(n%1?1:.5)-(a%2?0:.5),c=b.styledMode,L=s||l==="left"?-S:S;l==="center"&&(L=0,u.connectorDistance=0,M.labelAttribs.align="center"),I.bubbleItems.push(b.circle(d,A+h,g).attr(c?{}:M.bubbleAttribs).addClass((c?"highcharts-color-"+p.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(u.className||"")).add(this.legendItem.symbol)),I.connectors.push(b.path(b.crispLine([["M",d,n],["L",d+L,n]],u.connectorWidth)).attr(c?{}:M.connectorAttribs).addClass((c?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(u.connectorClassName||"")).add(this.legendItem.symbol));let z=b.text(this.formatLabel(M)).attr(c?{}:M.labelAttribs).css(c?{}:x.style).addClass("highcharts-bubble-legend-labels "+(u.labels.className||"")).add(this.legendItem.symbol),w={x:d+L+u.labels.x,y:n+u.labels.y+.4*z.getBBox().height};z.attr(w),B.push(z),z.placed=!0,z.alignAttr=w}getMaxLabelSize(){let M,v;return this.symbols.labels.forEach(function(o){v=o.getBBox(!0),M=M?v.width>M.width?v:M:v}),M||{}}formatLabel(M){let v=this.options,o=v.labels.formatter,u=v.labels.format,{numberFormatter:x}=this.chart;return u?T.format(u,M):o?o.call(M):x(M.value,1)}hideOverlappingLabels(){let M=this.chart,v=this.options.labels.allowOverlap,o=this.symbols;!v&&o&&(M.hideOverlappingLabels(o.labels),o.labels.forEach(function(u,x){u.newOpacity?u.newOpacity!==u.oldOpacity&&o.connectors[x].show():o.connectors[x].hide()}))}getRanges(){let M=this.legend.bubbleLegend,v=M.chart.series,o=M.options.ranges,u,x,f=Number.MAX_VALUE,p=-Number.MAX_VALUE;return v.forEach(function(b){b.isBubble&&!b.ignoreSeries&&(x=b.zData.filter(F)).length&&(f=k(b.options.zMin,Math.min(f,Math.max(Y(x),b.options.displayNegative===!1?b.options.zThreshold:-Number.MAX_VALUE))),p=k(b.options.zMax,Math.max(p,Q(x))))}),u=f===p?[{value:p}]:[{value:f},{value:(f+p)/2},{value:p,autoRanges:!0}],o.length&&o[0].radius&&u.reverse(),u.forEach(function(b,I){o&&o[I]&&(u[I]=W(o[I],b))}),u}predictBubbleSizes(){let M=this.chart,v=M.legend.options,o=v.floating,u=v.layout==="horizontal",x=u?M.legend.lastLineHeight:0,f=M.plotSizeX,p=M.plotSizeY,b=M.series[this.options.seriesIndex],I=b.getPxExtremes(),B=Math.ceil(I.minPxSize),A=Math.ceil(I.maxPxSize),g=Math.min(p,f),S,l=b.options.maxSize;return o||!/%$/.test(l)?S=A:(S=(g+x)*(l=parseFloat(l))/100/(l/100+1),(u&&p-S>=f||!u&&f-S>=p)&&(S=A)),[B,Math.ceil(S)]}updateRanges(M,v){let o=this.legend.options.bubbleLegend;o.minSize=M,o.maxSize=v,o.ranges=this.getRanges()}correctSizes(){let M=this.legend,v=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(v.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,v.maxPxSize),M.render())}}}),O(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(m,T,G,$,q){let{setOptions:Z}=G,{composed:Q}=$,{addEvent:Y,objectEach:F,pushUnique:W,wrap:k}=q;function E(f,p,b){let I,B,A,g=this.legend,S=M(this)>=0;g&&g.options.enabled&&g.bubbleLegend&&g.options.bubbleLegend.autoRanges&&S?(I=g.bubbleLegend.options,B=g.bubbleLegend.predictBubbleSizes(),g.bubbleLegend.updateRanges(B[0],B[1]),I.placed||(g.group.placed=!1,g.allItems.forEach(l=>{(A=l.legendItem||{}).group&&(A.group.translateY=void 0)})),g.render(),I.placed||(this.getMargins(),this.axes.forEach(function(l){l.visible&&l.render(),I.placed||(l.setScale(),l.updateNames(),F(l.ticks,function(s){s.isNew=!0,s.isNewLabel=!0}))}),this.getMargins()),I.placed=!0,f.call(this,p,b),g.bubbleLegend.correctSizes(),x(g,v(g))):(f.call(this,p,b),g&&g.options.enabled&&g.bubbleLegend&&(g.render(),x(g,v(g))))}function M(f){let p=f.series,b=0;for(;b<p.length;){if(p[b]&&p[b].isBubble&&p[b].visible&&p[b].zData.length)return b;b++}return-1}function v(f){let p=f.allItems,b=[],I=p.length,B,A,g,S=0,l=0;for(S=0;S<I;S++)if(A=p[S].legendItem||{},g=(p[S+1]||{}).legendItem||{},A.labelHeight&&(p[S].itemHeight=A.labelHeight),p[S]===p[I-1]||A.y!==g.y){for(b.push({height:0}),B=b[b.length-1];l<=S;l++)p[l].itemHeight>B.height&&(B.height=p[l].itemHeight);B.step=S}return b}function o(f){let p=this.bubbleLegend,b=this.options,I=b.bubbleLegend,B=M(this.chart);p&&p.ranges&&p.ranges.length&&(I.ranges.length&&(I.autoRanges=!!I.ranges[0].autoRanges),this.destroyItem(p)),B>=0&&b.enabled&&I.enabled&&(I.seriesIndex=B,this.bubbleLegend=new T(I,this),this.bubbleLegend.addToLegend(f.allItems))}function u(f){let p;if(f.defaultPrevented)return!1;let b=f.legendItem,I=this.chart,B=b.visible;this&&this.bubbleLegend&&(b.visible=!B,b.ignoreSeries=B,p=M(I)>=0,this.bubbleLegend.visible!==p&&(this.update({bubbleLegend:{enabled:p}}),this.bubbleLegend.visible=p),b.visible=B)}function x(f,p){let b=f.allItems,I=f.options.rtl,B,A,g,S,l=0;b.forEach((s,r)=>{(S=s.legendItem||{}).group&&(B=S.group.translateX||0,A=S.y||0,((g=s.movementX)||I&&s.ranges)&&(g=I?B-s.options.maxSize/2:B+g,S.group.attr({translateX:g})),r>p[l].step&&l++,S.group.attr({translateY:Math.round(A+p[l].height/2)}),S.y=A+p[l].height/2)})}return{compose:function(f,p){W(Q,"Series.BubbleLegend")&&(Z({legend:{bubbleLegend:m}}),k(f.prototype,"drawChartBox",E),Y(p,"afterGetAllItems",o),Y(p,"itemClick",u))}}}),O(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{seriesTypes:{scatter:{prototype:{pointClass:$}}}}=T,{extend:q}=G;class Z extends ${haloPath(Y){return m.prototype.haloPath.call(this,Y===0?0:(this.marker&&this.marker.radius||0)+Y)}}return q(Z.prototype,{ttBelow:!1}),Z}),O(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(m,T,G,$,q,Z){let{parse:Q}=G,{composed:Y,noop:F}=$,{series:W,seriesTypes:{column:{prototype:k},scatter:E}}=q,{addEvent:M,arrayMax:v,arrayMin:o,clamp:u,extend:x,isNumber:f,merge:p,pick:b,pushUnique:I}=Z;function B(){let g=this.len,{coll:S,isXAxis:l,min:s}=this,r=l?"xData":"yData",a=(this.max||0)-(s||0),d=0,n=g,h=g/a,c;(S==="xAxis"||S==="yAxis")&&(this.series.forEach(L=>{if(L.bubblePadding&&L.reserveSpace()){this.allowZoomOutside=!0,c=!0;let z=L[r];if(l&&((L.onPoint||L).getRadii(0,0,L),L.onPoint&&(L.radii=L.onPoint.radii)),a>0){let w=z.length;for(;w--;)if(f(z[w])&&this.dataMin<=z[w]&&z[w]<=this.max){let R=L.radii&&L.radii[w]||0;d=Math.min((z[w]-s)*h-R,d),n=Math.max((z[w]-s)*h+R,n)}}}}),c&&a>0&&!this.logarithmic&&(n-=g,h*=(g+Math.max(0,d)-Math.min(n,g))/g,[["min","userMin",d],["max","userMax",n]].forEach(L=>{b(this.options[L[0]],this[L[1]])===void 0&&(this[L[0]]+=L[2]/h)})))}class A extends E{static compose(S,l,s){m.compose(l,s),I(Y,"Series.Bubble")&&M(S,"foundExtremes",B)}animate(S){!S&&this.points.length<this.options.animationLimit&&this.points.forEach(function(l){let{graphic:s,plotX:r=0,plotY:a=0}=l;s&&s.width&&(this.hasRendered||s.attr({x:r,y:a,width:1,height:1}),s.animate(this.markerAttribs(l),this.options.animation))},this)}getRadii(){let S=this.zData,l=this.yData,s=[],r,a,d,n=this.chart.bubbleZExtremes,{minPxSize:h,maxPxSize:c}=this.getPxExtremes();if(!n){let L,z=Number.MAX_VALUE,w=-Number.MAX_VALUE;this.chart.series.forEach(R=>{if(R.bubblePadding&&R.reserveSpace()){let V=(R.onPoint||R).getZExtremes();V&&(z=Math.min(b(z,V.zMin),V.zMin),w=Math.max(b(w,V.zMax),V.zMax),L=!0)}}),L?(n={zMin:z,zMax:w},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(a=0,r=S.length;a<r;a++)d=S[a],s.push(this.getRadius(n.zMin,n.zMax,h,c,d,l&&l[a]));this.radii=s}getRadius(S,l,s,r,a,d){let n=this.options,h=n.sizeBy!=="width",c=n.zThreshold,L=l-S,z=.5;if(d===null||a===null)return null;if(f(a)){if(n.sizeByAbsoluteValue&&(a=Math.abs(a-c),l=L=Math.max(l-c,Math.abs(S-c)),S=0),a<S)return s/2-1;L>0&&(z=(a-S)/L)}return h&&z>=0&&(z=Math.sqrt(z)),Math.ceil(s+z*(r-s))/2}hasData(){return!!this.processedXData.length}markerAttribs(S,l){let s=super.markerAttribs(S,l),{height:r=0,width:a=0}=s;return this.chart.inverted?x(s,{x:(S.plotX||0)-a/2,y:(S.plotY||0)-r/2}):s}pointAttribs(S,l){let s=this.options.marker.fillOpacity,r=W.prototype.pointAttribs.call(this,S,l);return s!==1&&(r.fill=Q(r.fill).setOpacity(s).get("rgba")),r}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:S,options:l,radii:s}=this,{minPxSize:r}=this.getPxExtremes(),a=S.length;for(;a--;){let d=S[a],n=s?s[a]:0;this.zoneAxis==="z"&&(d.negative=(d.z||0)<(l.zThreshold||0)),f(n)&&n>=r/2?(d.marker=x(d.marker,{radius:n,width:2*n,height:2*n}),d.dlBox={x:d.plotX-n,y:d.plotY-n,width:2*n,height:2*n}):(d.shapeArgs=d.plotY=d.dlBox=void 0,d.isInside=!1)}}getPxExtremes(){let S=Math.min(this.chart.plotWidth,this.chart.plotHeight),l=a=>{let d;return typeof a=="string"&&(d=/%$/.test(a),a=parseInt(a,10)),d?S*a/100:a},s=l(b(this.options.minSize,8)),r=Math.max(l(b(this.options.maxSize,"20%")),s);return{minPxSize:s,maxPxSize:r}}getZExtremes(){let S=this.options,l=(this.zData||[]).filter(f);if(l.length){let s=b(S.zMin,u(o(l),S.displayNegative===!1?S.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),r=b(S.zMax,v(l));if(f(s)&&f(r))return{zMin:s,zMax:r}}}}return A.defaultOptions=p(E.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:g}=this.series.chart,{z:S}=this.point;return f(S)?g(S,-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"}),x(A.prototype,{alignDataLabel:k.alignDataLabel,applyZones:F,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:T,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),M(A,"updatedData",g=>{delete g.target.chart.bubbleZExtremes}),M(A,"remove",g=>{delete g.target.chart.bubbleZExtremes}),q.registerSeriesType("bubble",A),A}),O(e,"Series/ColumnRange/ColumnRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{seriesTypes:{column:{prototype:{pointClass:{prototype:G}}},arearange:{prototype:{pointClass:$}}}}=m,{extend:q,isNumber:Z}=T;class Q extends ${isValid(){return Z(this.low)}}return q(Q.prototype,{setState:G.setState}),Q}),O(e,"Series/ColumnRange/ColumnRangeSeries.js",[e["Series/ColumnRange/ColumnRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{noop:q}=T,{seriesTypes:{arearange:Z,column:Q,column:{prototype:Y}}}=G,{addEvent:F,clamp:W,extend:k,isNumber:E,merge:M,pick:v}=$;class o extends Z{setOptions(){return M(!0,arguments[0],{stacking:void 0}),Z.prototype.setOptions.apply(this,arguments)}translate(){return Y.translate.apply(this)}pointAttribs(){return Y.pointAttribs.apply(this,arguments)}translate3dPoints(){return Y.translate3dPoints.apply(this,arguments)}translate3dShapes(){return Y.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let x,f,p,b,I=this.yAxis,B=this.xAxis,A=B.startAngleRad,g=this.chart,S=this.xAxis.isRadial,l=Math.max(g.chartWidth,g.chartHeight)+999;this.points.forEach(s=>{let r=s.shapeArgs||{},a=this.options.minPointLength,d=s.plotY,n=I.translate(s.high,0,1,0,1);if(E(n)&&E(d))if(s.plotHigh=W(n,-l,l),s.plotLow=W(d,-l,l),b=s.plotHigh,Math.abs(x=v(s.rectPlotY,s.plotY)-s.plotHigh)<a?(f=a-x,x+=f,b-=f/2):x<0&&(x*=-1,b-=x),S&&this.polar)p=s.barX+A,s.shapeType="arc",s.shapeArgs=this.polar.arc(b+x,b,p,p+s.pointWidth);else{r.height=x,r.y=b;let{x:h=0,width:c=0}=r;s.shapeArgs=M(s.shapeArgs,this.crispCol(h,b,c,x)),s.tooltipPos=g.inverted?[I.len+I.pos-g.plotLeft-b-x/2,B.len+B.pos-g.plotTop-h-c/2,x]:[B.left-g.plotLeft+h+c/2,I.pos-g.plotTop+b+x/2,x]}})}}return o.defaultOptions=M(Q.defaultOptions,Z.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),F(o,"afterColumnTranslate",function(){o.prototype.afterColumnTranslate.apply(this)},{order:5}),k(o.prototype,{directTouch:!0,pointClass:m,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:Y.adjustForMissingColumns,animate:Y.animate,crispCol:Y.crispCol,drawGraph:q,drawPoints:Y.drawPoints,getSymbol:q,drawTracker:Y.drawTracker,getColumnMetrics:Y.getColumnMetrics}),G.registerSeriesType("columnrange",o),o}),O(e,"Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js",[],function(){return{}}),O(e,"Series/ColumnPyramid/ColumnPyramidSeries.js",[e["Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{column:$}=T.seriesTypes,{clamp:q,merge:Z,pick:Q}=G;class Y extends ${translate(){let W=this.chart,k=this.options,E=this.dense=this.closestPointRange*this.xAxis.transA<2,M=this.borderWidth=Q(k.borderWidth,E?0:1),v=this.yAxis,o=k.threshold,u=Q(k.minPointLength,5),x=this.getColumnMetrics(),f=x.width,p=this.pointXOffset=x.offset,b=this.translatedThreshold=v.getThreshold(o),I=this.barW=Math.max(f,1+2*M);for(let B of(W.inverted&&(b-=.5),k.pointPadding&&(I=Math.ceil(I)),super.translate(),this.points)){let A=Q(B.yBottom,b),g=999+Math.abs(A),S=q(B.plotY,-g,v.len+g),l=I/2,s=Math.min(S,A),r=Math.max(S,A)-s,a=B.plotX+p,d,n,h,c,L,z,w,R,V,X,J;k.centerInCategory&&(a=this.adjustForMissingColumns(a,f,B,x)),B.barX=a,B.pointWidth=f,B.tooltipPos=W.inverted?[v.len+v.pos-W.plotLeft-S,this.xAxis.len-a-l,r]:[a+l,S+v.pos-W.plotTop,r],d=o+(B.total||B.y),k.stacking==="percent"&&(d=o+(B.y<0)?-100:100);let P=v.toPixels(d,!0);h=(n=W.plotHeight-P-(W.plotHeight-b))?l*(s-P)/n:0,c=n?l*(s+r-P)/n:0,z=a-h+l,w=a+h+l,R=a+c+l,V=a-c+l,X=s-u,J=s+r,B.y<0&&(X=s,J=s+r+u),W.inverted&&(L=v.width-s,n=P-(v.width-b),h=l*(P-L)/n,c=l*(P-(L-r))/n,w=(z=a+l+h)-2*h,R=a-c+l,V=a+c+l,X=s,J=s+r-u,B.y<0&&(J=s+r+u)),B.shapeType="path",B.shapeArgs={x:z,y:X,width:w-z,height:r,d:[["M",z,X],["L",w,X],["L",R,J],["L",V,J],["Z"]]}}}}return Y.defaultOptions=Z($.defaultOptions,m),T.registerSeriesType("columnpyramid",Y),Y}),O(e,"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">â—</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}}),O(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(m,T,G,$,q){let{arearange:Z}=$.seriesTypes,{addEvent:Q,merge:Y,extend:F}=q;class W extends m{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||T.prototype.getColumnMetrics.call(this)}drawDataLabels(){let E=this.pointValKey;if(Z)for(let M of(Z.prototype.drawDataLabels.call(this),this.points))M.y=M[E]}toYData(E){return[E.low,E.high]}}return W.defaultOptions=Y(m.defaultOptions,G),Q(W,"afterTranslate",function(){for(let k of this.points)k.plotLow=k.plotY},{order:0}),F(W.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),$.registerSeriesType("errorbar",W),W}),O(e,"Series/Gauge/GaugePoint.js",[e["Core/Series/SeriesRegistry.js"]],function(m){let{series:{prototype:{pointClass:T}}}=m;return class extends T{setState(G){this.state=G}}}),O(e,"Series/Gauge/GaugeSeries.js",[e["Series/Gauge/GaugePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{noop:q}=T,{series:Z,seriesTypes:{column:Q}}=G,{clamp:Y,isNumber:F,extend:W,merge:k,pick:E,pInt:M,defined:v}=$;class o extends Z{translate(){let x=this.yAxis,f=this.options,p=x.center;this.generatePoints(),this.points.forEach(b=>{let I=k(f.dial,b.dial),B=M(I.radius)*p[2]/200,A=M(I.baseLength)*B/100,g=M(I.rearLength)*B/100,S=I.baseWidth,l=I.topWidth,s=f.overshoot,r=x.startAngleRad+x.translate(b.y,void 0,void 0,void 0,!0);(F(s)||f.wrap===!1)&&(s=F(s)?s/180*Math.PI:0,r=Y(r,x.startAngleRad-s,x.endAngleRad+s)),r=180*r/Math.PI,b.shapeType="path";let a=I.path||[["M",-g,-S/2],["L",A,-S/2],["L",B,-l/2],["L",B,l/2],["L",A,S/2],["L",-g,S/2],["Z"]];b.shapeArgs={d:a,translateX:p[0],translateY:p[1],rotation:r},b.plotX=p[0],b.plotY=p[1],v(b.y)&&x.max-x.min&&(b.percentage=(b.y-x.min)/(x.max-x.min)*100)})}drawPoints(){let x=this,f=x.chart,p=x.yAxis.center,b=x.pivot,I=x.options,B=I.pivot,A=f.renderer;x.points.forEach(g=>{let S=g.graphic,l=g.shapeArgs,s=l.d,r=k(I.dial,g.dial);S?(S.animate(l),l.d=s):g.graphic=A[g.shapeType](l).addClass("highcharts-dial").add(x.group),f.styledMode||g.graphic[S?"animate":"attr"]({stroke:r.borderColor,"stroke-width":r.borderWidth,fill:r.backgroundColor})}),b?b.animate({translateX:p[0],translateY:p[1]}):B&&(x.pivot=A.circle(0,0,B.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(p[0],p[1]).add(x.group),f.styledMode||x.pivot.attr({fill:B.backgroundColor,stroke:B.borderColor,"stroke-width":B.borderWidth}))}animate(x){let f=this;x||f.points.forEach(p=>{let b=p.graphic;b&&(b.attr({rotation:180*f.yAxis.startAngleRad/Math.PI}),b.animate({rotation:p.shapeArgs.rotation},f.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),Z.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(x,f){Z.prototype.setData.call(this,x,!1),this.processData(),this.generatePoints(),E(f,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return o.defaultOptions=k(Z.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}),W(o.prototype,{angular:!0,directTouch:!0,drawGraph:q,drawTracker:Q.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:m,trackerGroups:["group","dataLabelsGroup"]}),G.registerSeriesType("gauge",o),o}),O(e,"Series/DragNodesComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{composed:G}=m,{addEvent:$,pushUnique:q}=T;function Z(){let Q,Y,F,W=this;W.container&&(Q=$(W.container,"mousedown",k=>{let E=W.hoverPoint;E&&E.series&&E.series.hasDraggableNodes&&E.series.options.draggable&&(E.series.onMouseDown(E,k),Y=$(W.container,"mousemove",M=>E&&E.series&&E.series.onMouseMove(E,M)),F=$(W.container.ownerDocument,"mouseup",M=>(Y(),F(),E&&E.series&&E.series.onMouseUp(E,M))))})),$(W,"destroy",function(){Q()})}return{compose:function(Q){q(G,"DragNodes")&&$(Q,"load",Z)},onMouseDown:function(Q,Y){var W;let F=((W=this.chart.pointer)==null?void 0:W.normalize(Y))||Y;Q.fixedPosition={chartX:F.chartX,chartY:F.chartY,plotX:Q.plotX,plotY:Q.plotY},Q.inDragMode=!0},onMouseMove:function(Q,Y){var F;if(Q.fixedPosition&&Q.inDragMode){let W,k,E=this.chart,M=((F=E.pointer)==null?void 0:F.normalize(Y))||Y,v=Q.fixedPosition.chartX-M.chartX,o=Q.fixedPosition.chartY-M.chartY,u=E.graphLayoutsLookup;(Math.abs(v)>5||Math.abs(o)>5)&&(W=Q.fixedPosition.plotX-v,k=Q.fixedPosition.plotY-o,E.isInsidePlot(W,k)&&(Q.plotX=W,Q.plotY=k,Q.hasDragged=!0,this.redrawHalo(Q),u.forEach(x=>{x.restartSimulation()})))}},onMouseUp:function(Q){Q.fixedPosition&&(Q.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),Q.inDragMode=Q.hasDragged=!1,this.options.fixedDraggable||delete Q.fixedPosition)},redrawHalo:function(Q){Q&&this.halo&&this.halo.attr({d:Q.haloPath(this.options.states.hover.halo.size)})}}}),O(e,"Series/GraphLayoutComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{setAnimation:$}=m,{composed:q}=T,{addEvent:Z,pushUnique:Q}=G;function Y(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(E=>{E.updateSimulation()}),this.redraw())}function F(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(E=>{E.updateSimulation(!1)}),this.redraw())}function W(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(E=>{E.stop()})}function k(){let E,M=!1,v=o=>{o.maxIterations--&&isFinite(o.temperature)&&!o.isStable()&&!o.enableSimulation&&(o.beforeStep&&o.beforeStep(),o.step(),E=!1,M=!0)};if(this.graphLayoutsLookup){for($(!1,this),this.graphLayoutsLookup.forEach(o=>o.start());!E;)E=!0,this.graphLayoutsLookup.forEach(v);M&&this.series.forEach(o=>{o&&o.layout&&o.render()})}}return{compose:function(E){Q(q,"GraphLayout")&&(Z(E,"afterPrint",Y),Z(E,"beforePrint",F),Z(E,"predraw",W),Z(E,"render",k))},integrations:{},layouts:{}}}),O(e,"Series/PackedBubble/PackedBubblePoint.js",[e["Core/Chart/Chart.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"]],function(m,T,G){let{seriesTypes:{bubble:{prototype:{pointClass:$}}}}=G;return class extends ${destroy(){var q;return(q=this.series)!=null&&q.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),T.prototype.destroy.apply(this,arguments)}firePointEvent(){let q=this.series.options;if(this.isParentNode&&q.parentNode){let Z=q.allowPointSelect;q.allowPointSelect=q.parentNode.allowPointSelect,T.prototype.firePointEvent.apply(this,arguments),q.allowPointSelect=Z}else T.prototype.firePointEvent.apply(this,arguments)}select(){let q=this.series.chart;this.isParentNode?(q.getSelectedPoints=q.getSelectedParentNodes,T.prototype.select.apply(this,arguments),q.getSelectedPoints=m.prototype.getSelectedPoints):T.prototype.select.apply(this,arguments)}}}),O(e,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[e["Core/Utilities.js"]],function(m){let{isNumber:T}=m;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:G}=this.series.chart,{value:$}=this.point;return T($)?G($,-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}}}),O(e,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(m,T,G){let $=m.getMass(),q=-G.x*T*this.diffTemperature,Z=-G.y*T*this.diffTemperature;m.fromNode.fixedPosition||(m.fromNode.plotX-=q*$.fromNode/m.fromNode.degree,m.fromNode.plotY-=Z*$.fromNode/m.fromNode.degree),m.toNode.fixedPosition||(m.toNode.plotX+=q*$.toNode/m.toNode.degree,m.toNode.plotY+=Z*$.toNode/m.toNode.degree)},attractiveForceFunction:function(m,T){return(T-m)/m},barycenter:function(){let m=this.options.gravitationalConstant||0,T=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*m,G=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*m;this.nodes.forEach(function($){$.fixedPosition||($.plotX-=T/$.mass/$.degree,$.plotY-=G/$.mass/$.degree)})},getK:function(m){return Math.pow(m.box.width*m.box.height/m.nodes.length,.5)},integrate:function(m,T){let G=-m.options.friction,$=m.options.maxSpeed,q=T.prevX,Z=T.prevY,Q=(T.plotX+T.dispX-q)*G,Y=(T.plotY+T.dispY-Z)*G,F=Math.abs,W=F(Q)/(Q||1),k=F(Y)/(Y||1),E=W*Math.min($,Math.abs(Q)),M=k*Math.min($,Math.abs(Y));T.prevX=T.plotX+T.dispX,T.prevY=T.plotY+T.dispY,T.plotX+=E,T.plotY+=M,T.temperature=m.vectorLength({x:E,y:M})},repulsive:function(m,T,G){let $=T*this.diffTemperature/m.mass/m.degree;m.fixedPosition||(m.plotX+=G.x*$,m.plotY+=G.y*$)},repulsiveForceFunction:function(m,T){return(T-m)/m*(T>m?1:0)}}}),O(e,"Series/PackedBubble/PackedBubbleIntegration.js",[e["Core/Globals.js"],e["Series/Networkgraph/VerletIntegration.js"]],function(m,T){let{noop:G}=m;return{barycenter:function(){let $,q,Z=this.options.gravitationalConstant,Q=this.box,Y=this.nodes;for(let F of Y)this.options.splitSeries&&!F.isParentNode?($=F.series.parentNode.plotX,q=F.series.parentNode.plotY):($=Q.width/2,q=Q.height/2),F.fixedPosition||(F.plotX-=(F.plotX-$)*Z/(F.mass*Math.sqrt(Y.length)),F.plotY-=(F.plotY-q)*Z/(F.mass*Math.sqrt(Y.length)))},getK:G,integrate:T.integrate,repulsive:function($,q,Z,Q){let Y=q*this.diffTemperature/$.mass/$.degree,F=Z.x*Y,W=Z.y*Y;$.fixedPosition||($.plotX+=F,$.plotY+=W),Q.fixedPosition||(Q.plotX-=F,Q.plotY-=W)},repulsiveForceFunction:function($,q,Z,Q){return Math.min($,(Z.marker.radius+Q.marker.radius)/2)}}}),O(e,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(m,T,G,$){let q=m.getMass(),Z=G.x/$*T,Q=G.y/$*T;m.fromNode.fixedPosition||(m.fromNode.dispX-=Z*q.fromNode/m.fromNode.degree,m.fromNode.dispY-=Q*q.fromNode/m.fromNode.degree),m.toNode.fixedPosition||(m.toNode.dispX+=Z*q.toNode/m.toNode.degree,m.toNode.dispY+=Q*q.toNode/m.toNode.degree)},attractiveForceFunction:function(m,T){return m*m/T},barycenter:function(){let m=this.options.gravitationalConstant,T=this.barycenter.xFactor,G=this.barycenter.yFactor;this.nodes.forEach(function($){if(!$.fixedPosition){let q=$.getDegree(),Z=q*(1+q/2);$.dispX+=(T-$.plotX)*m*Z/$.degree,$.dispY+=(G-$.plotY)*m*Z/$.degree}})},getK:function(m){return Math.pow(m.box.width*m.box.height/m.nodes.length,.3)},integrate:function(m,T){T.dispX+=T.dispX*m.options.friction,T.dispY+=T.dispY*m.options.friction;let G=T.temperature=m.vectorLength({x:T.dispX,y:T.dispY});G!==0&&(T.plotX+=T.dispX/G*Math.min(Math.abs(T.dispX),m.temperature),T.plotY+=T.dispY/G*Math.min(Math.abs(T.dispY),m.temperature))},repulsive:function(m,T,G,$){m.dispX+=G.x/$*T/m.degree,m.dispY+=G.y/$*T/m.degree},repulsiveForceFunction:function(m,T){return T*T/m}}}),O(e,"Series/Networkgraph/QuadTreeNode.js",[],function(){class m{constructor(G){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=G,this.boxSize=Math.min(G.width,G.height)}divideBox(){let G=this.box.width/2,$=this.box.height/2;this.nodes[0]=new m({left:this.box.left,top:this.box.top,width:G,height:$}),this.nodes[1]=new m({left:this.box.left+G,top:this.box.top,width:G,height:$}),this.nodes[2]=new m({left:this.box.left+G,top:this.box.top+$,width:G,height:$}),this.nodes[3]=new m({left:this.box.left,top:this.box.top+$,width:G,height:$})}getBoxPosition(G){let $=G.plotX<this.box.left+this.box.width/2,q=G.plotY<this.box.top+this.box.height/2;return $?q?0:3:q?1:2}insert(G,$){let q;this.isInternal?this.nodes[this.getBoxPosition(G)].insert(G,$-1):(this.isEmpty=!1,this.body?$?(this.isInternal=!0,this.divideBox(),this.body!==!0&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,$-1),this.body=!0),this.nodes[this.getBoxPosition(G)].insert(G,$-1)):((q=new m({top:G.plotX||NaN,left:G.plotY||NaN,width:.1,height:.1})).body=G,q.isInternal=!1,this.nodes.push(q)):(this.isInternal=!1,this.body=G))}updateMassAndCenter(){let G=0,$=0,q=0;if(this.isInternal){for(let Z of this.nodes)Z.isEmpty||(G+=Z.mass,$+=Z.plotX*Z.mass,q+=Z.plotY*Z.mass);$/=G,q/=G}else this.body&&(G=this.body.mass,$=this.body.plotX,q=this.body.plotY);this.mass=G,this.plotX=$,this.plotY=q}}return m}),O(e,"Series/Networkgraph/QuadTree.js",[e["Series/Networkgraph/QuadTreeNode.js"]],function(m){return class{constructor(T,G,$,q){this.box={left:T,top:G,width:$,height:q},this.maxDepth=25,this.root=new m(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(T){T.updateMassAndCenter()})}insertNodes(T){for(let G of T)this.root.insert(G,this.maxDepth)}visitNodeRecursive(T,G,$){let q;if(T||(T=this.root),T===this.root&&G&&(q=G(T)),q!==!1){for(let Z of T.nodes){if(Z.isInternal){if(G&&(q=G(Z)),q===!1)continue;this.visitNodeRecursive(Z,G,$)}else Z.body&&G&&G(Z.body);$&&$(Z)}T===this.root&&$&&$(T)}}}}),O(e,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[e["Series/Networkgraph/EulerIntegration.js"],e["Core/Globals.js"],e["Series/GraphLayoutComposition.js"],e["Series/Networkgraph/QuadTree.js"],e["Core/Utilities.js"],e["Series/Networkgraph/VerletIntegration.js"]],function(m,T,G,$,q,Z){let{win:Q}=T,{clamp:Y,defined:F,isFunction:W,fireEvent:k,pick:E}=q;class M{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(o){G.compose(o),G.integrations.euler=m,G.integrations.verlet=Z,G.layouts["reingold-fruchterman"]=M}init(o){this.options=o,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=G.integrations[o.integration],this.enableSimulation=o.enableSimulation,this.attractiveForce=E(o.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=E(o.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=o.approximation}updateSimulation(o){this.enableSimulation=E(o,this.options.enableSimulation)}start(){let o=this.series,u=this.options;this.currentStep=0,this.forces=o[0]&&o[0].forces||[],this.chart=o[0]&&o[0].chart,this.initialRendering&&(this.initPositions(),o.forEach(function(x){x.finishedAnimating=!0,x.render()})),this.setK(),this.resetSimulation(u),this.enableSimulation&&this.step()}step(){let o=this.series;for(let u of(this.currentStep++,this.approximation==="barnes-hut"&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[u+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let u of o)u.chart&&u.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&Q.cancelAnimationFrame(this.simulation),this.simulation=Q.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(u=>{k(u,"afterSimulation")}))}}stop(){this.simulation&&Q.cancelAnimationFrame(this.simulation)}setArea(o,u,x,f){this.box={left:o,top:u,width:x,height:f}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(o,u){for(let x of o)u.indexOf(x)===-1&&u.push(x)}removeElementFromCollection(o,u){let x=u.indexOf(o);x!==-1&&u.splice(x,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(o){this.maxIterations=E(o,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(o){this.initialRendering=o}createQuadTree(){this.quadTree=new $(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let o=this.options.initialPositions;if(W(o))for(let u of(o.call(this),this.nodes))F(u.prevX)||(u.prevX=u.plotX),F(u.prevY)||(u.prevY=u.plotY),u.dispX=0,u.dispY=0;else o==="circle"?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let o,u=this.box,x=this.nodes,f=2*Math.PI/(x.length+1),p=x.filter(function(g){return g.linksTo.length===0}),b={},I=this.options.initialPositionRadius,B=g=>{for(let S of g.linksFrom||[])b[S.toNode.id]||(b[S.toNode.id]=!0,A.push(S.toNode),B(S.toNode))},A=[];for(let g of p)A.push(g),B(g);if(A.length)for(let g of x)A.indexOf(g)===-1&&A.push(g);else A=x;for(let g=0,S=A.length;g<S;++g)(o=A[g]).plotX=o.prevX=E(o.plotX,u.width/2+I*Math.cos(g*f)),o.plotY=o.prevY=E(o.plotY,u.height/2+I*Math.sin(g*f)),o.dispX=0,o.dispY=0}setRandomPositions(){let o,u=this.box,x=this.nodes,f=x.length+1,p=b=>{let I=b*b/Math.PI;return I-Math.floor(I)};for(let b=0,I=x.length;b<I;++b)(o=x[b]).plotX=o.prevX=E(o.plotX,u.width*p(b)),o.plotY=o.prevY=E(o.plotY,u.height*p(f+b)),o.dispX=0,o.dispY=0}force(o,...u){this.integration[o].apply(this,u)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let o=0,u=0,x=0;for(let f of this.nodes)u+=f.plotX*f.mass,x+=f.plotY*f.mass,o+=f.mass;return this.barycenter={x:u,y:x,xFactor:u/o,yFactor:x/o},this.barycenter}barnesHutApproximation(o,u){let x,f,p=this.getDistXY(o,u),b=this.vectorLength(p);return o!==u&&b!==0&&(u.isInternal?u.boxSize/b<this.options.theta&&b!==0?(f=this.repulsiveForce(b,this.k),this.force("repulsive",o,f*u.mass,p,b),x=!1):x=!0:(f=this.repulsiveForce(b,this.k),this.force("repulsive",o,f*u.mass,p,b))),x}repulsiveForces(){if(this.approximation==="barnes-hut")for(let o of this.nodes)this.quadTree.visitNodeRecursive(null,u=>this.barnesHutApproximation(o,u));else{let o,u,x;for(let f of this.nodes)for(let p of this.nodes)f===p||f.fixedPosition||(x=this.getDistXY(f,p),(u=this.vectorLength(x))!==0&&(o=this.repulsiveForce(u,this.k),this.force("repulsive",f,o*p.mass,x,u)))}}attractiveForces(){let o,u,x;for(let f of this.links)f.fromNode&&f.toNode&&(o=this.getDistXY(f.fromNode,f.toNode),(u=this.vectorLength(o))!==0&&(x=this.attractiveForce(u,this.k),this.force("attractive",f,x,o,u)))}applyLimits(){for(let o of this.nodes)o.fixedPosition||(this.integration.integrate(this,o),this.applyLimitBox(o,this.box),o.dispX=0,o.dispY=0)}applyLimitBox(o,u){let x=o.radius;o.plotX=Y(o.plotX,u.left+x,u.width-x),o.plotY=Y(o.plotY,u.top+x,u.height-x)}coolDown(o,u,x){return o-u*x}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let o=0;for(let u of this.nodes)o+=u.temperature;return o}vectorLength(o){return Math.sqrt(o.x*o.x+o.y*o.y)}getDistR(o,u){let x=this.getDistXY(o,u);return this.vectorLength(x)}getDistXY(o,u){let x=o.plotX-u.plotX,f=o.plotY-u.plotY;return{x,y:f,absX:Math.abs(x),absY:Math.abs(f)}}}return M}),O(e,"Series/PackedBubble/PackedBubbleLayout.js",[e["Series/GraphLayoutComposition.js"],e["Series/PackedBubble/PackedBubbleIntegration.js"],e["Series/Networkgraph/ReingoldFruchtermanLayout.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{addEvent:q,pick:Z}=$;function Q(){let W=this.series,k=[];return W.forEach(E=>{E.parentNode&&E.parentNode.selected&&k.push(E.parentNode)}),k}function Y(){this.allDataPoints&&delete this.allDataPoints}class F extends G{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(k){G.compose(k),m.integrations.packedbubble=T,m.layouts.packedbubble=F;let E=k.prototype;E.getSelectedParentNodes||(q(k,"beforeRedraw",Y),E.getSelectedParentNodes=Q)}beforeStep(){this.options.marker&&this.series.forEach(k=>{k&&k.calculateParentRadius()})}isStable(){let k=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&k<1e-5||this.temperature<=0}setCircularPositions(){let k=this.box,E=this.nodes,M=2*Math.PI/(E.length+1),v=this.options.initialPositionRadius,o,u,x=0;for(let f of E)this.options.splitSeries&&!f.isParentNode?(o=f.series.parentNode.plotX,u=f.series.parentNode.plotY):(o=k.width/2,u=k.height/2),f.plotX=f.prevX=Z(f.plotX,o+v*Math.cos(f.index||x*M)),f.plotY=f.prevY=Z(f.plotY,u+v*Math.sin(f.index||x*M)),f.dispX=0,f.dispY=0,x++}repulsiveForces(){let k,E,M,v=this,o=v.options.bubblePadding,u=v.nodes;u.forEach(x=>{x.degree=x.mass,x.neighbours=0,u.forEach(f=>{k=0,x!==f&&!x.fixedPosition&&(v.options.seriesInteraction||x.series===f.series)&&(M=v.getDistXY(x,f),(E=v.vectorLength(M)-(x.marker.radius+f.marker.radius+o))<0&&(x.degree+=.01,x.neighbours++,k=v.repulsiveForce(-E/Math.sqrt(x.neighbours),v.k,x,f)),v.force("repulsive",x,k*f.mass,M,f,E))})})}applyLimitBox(k,E){let M,v;this.options.splitSeries&&!k.isParentNode&&this.options.parentNodeLimit&&(M=this.getDistXY(k,k.series.parentNode),(v=k.series.parentNodeRadius-k.marker.radius-this.vectorLength(M))<0&&v>-2*k.marker.radius&&(k.plotX-=.01*M.x,k.plotY-=.01*M.y)),super.applyLimitBox(k,E)}}return m.layouts.packedbubble=F,F}),O(e,"Series/SimulationSeriesUtilities.js",[e["Core/Utilities.js"],e["Core/Animation/AnimationUtilities.js"]],function(m,T){let{merge:G,syncTimeout:$}=m,{animObject:q}=T;return{initDataLabels:function(){let Z=this.options.dataLabels;if(!this.dataLabelsGroup){let Q=this.initDataLabelsGroup();return!this.chart.styledMode&&(Z!=null&&Z.style)&&Q.css(Z.style),Q.attr({opacity:0}),this.visible&&Q.show(),Q}return this.dataLabelsGroup.attr(G({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){var Q;let Z=this.options.dataLabels;Z!=null&&Z.defer&&((Q=this.options.layoutAlgorithm)!=null&&Q.enableSimulation)?$(()=>{this.deferDataLabels=!1},Z?q(Z.animation).defer:0):this.deferDataLabels=!1}}}),O(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{deg2rad:G}=m,{addEvent:$,merge:q,uniqueKey:Z,defined:Q,extend:Y}=T;function F(E,M){M=q(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},M);let v=this.renderer.url,o=this.text||this,u=o.textPath,{attributes:x,enabled:f}=M;if(E=E||u&&u.path,u&&u.undo(),E&&f){let p=$(o,"afterModifyTree",b=>{if(E&&f){let I=E.attr("id");I||E.attr("id",I=Z());let B={x:0,y:0};Q(x.dx)&&(B.dx=x.dx,delete x.dx),Q(x.dy)&&(B.dy=x.dy,delete x.dy),o.attr(B),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let A=b.nodes.slice(0);b.nodes.length=0,b.nodes[0]={tagName:"textPath",attributes:Y(x,{"text-anchor":x.textAnchor,href:`${v}#${I}`}),children:A}}});o.textPath={path:E,undo:p}}else o.attr({dx:0,dy:0}),delete o.textPath;return this.added&&(o.textCache="",this.renderer.buildText(o)),this}function W(E){var o;let M=E.bBox,v=(o=this.element)==null?void 0:o.querySelector("textPath");if(v){let u=[],{b:x,h:f}=this.renderer.fontMetrics(this.element),p=f-x,b=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),I=v.innerHTML.replace(b,"").split(/<tspan class="highcharts-br"[^>]*>/),B=I.length,A=(g,S)=>{let{x:l,y:s}=S,r=(v.getRotationOfChar(g)-90)*G,a=Math.cos(r),d=Math.sin(r);return[[l-p*a,s-p*d],[l+x*a,s+x*d]]};for(let g=0,S=0;S<B;S++){let l=I[S].length;for(let s=0;s<l;s+=5)try{let r=g+s+S,[a,d]=A(r,v.getStartPositionOfChar(r));s===0?(u.push(d),u.push(a)):(S===0&&u.unshift(d),S===B-1&&u.push(a))}catch{break}g+=l-1;try{let s=g+S,r=v.getEndPositionOfChar(s),[a,d]=A(s,r);u.unshift(d),u.unshift(a)}catch{break}}u.length&&u.push(u[0].slice()),M.polygon=u}return M}function k(E){var u;let M=E.labelOptions,v=E.point,o=M[v.formatPrefix+"TextPath"]||M.textPath;o&&!M.useHTML&&(this.setTextPath(((u=v.getDataLabelPath)==null?void 0:u.call(v,this))||v.graphic,o),v.dataLabelPath&&!o.enabled&&(v.dataLabelPath=v.dataLabelPath.destroy()))}return{compose:function(E){$(E,"afterGetBBox",W),$(E,"beforeAddingDataLabel",k);let M=E.prototype;M.setTextPath||(M.setTextPath=F)}}}),O(e,"Series/PackedBubble/PackedBubbleSeries.js",[e["Core/Color/Color.js"],e["Series/DragNodesComposition.js"],e["Series/GraphLayoutComposition.js"],e["Core/Globals.js"],e["Series/PackedBubble/PackedBubblePoint.js"],e["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],e["Series/PackedBubble/PackedBubbleLayout.js"],e["Core/Series/SeriesRegistry.js"],e["Series/SimulationSeriesUtilities.js"],e["Core/Utilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E){let{parse:M}=m,{noop:v}=$,{series:{prototype:o},seriesTypes:{bubble:u}}=Y,{initDataLabels:x,initDataLabelsDefer:f}=F,{addEvent:p,clamp:b,defined:I,extend:B,fireEvent:A,isArray:g,isNumber:S,merge:l,pick:s}=W;E.compose(k);class r extends u{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(d,n,h){u.compose(d,n,h),T.compose(n),Q.compose(n)}accumulateAllPoints(){let d,n=this.chart,h=[];for(let c of n.series)if(c.is("packedbubble")&&c.reserveSpace()){d=c.yData||[];for(let L=0;L<d.length;L++)h.push([null,null,d[L],c.index,L,{id:L,marker:{radius:0}}])}return h}addLayout(){let d=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},n=d.type||"packedbubble",h=this.chart.options.chart,c=this.chart.graphLayoutsStorage,L=this.chart.graphLayoutsLookup,z;c||(this.chart.graphLayoutsStorage=c={},this.chart.graphLayoutsLookup=L=[]),(z=c[n])||(d.enableSimulation=I(h.forExport)?!h.forExport:d.enableSimulation,c[n]=z=new G.layouts[n],z.init(d),L.splice(z.index,0,z)),this.layout=z,this.points.forEach(w=>{w.mass=2,w.degree=1,w.collisionNmb=1}),z.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),z.addElementsToCollection([this],z.series),z.addElementsToCollection(this.points,z.nodes)}addSeriesLayout(){let d=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},n=d.type||"packedbubble",h=this.chart.graphLayoutsStorage,c=this.chart.graphLayoutsLookup,L=l(d,d.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),z=h[n+"-series"];z||(h[n+"-series"]=z=new G.layouts[n],z.init(L),c.splice(z.index,0,z)),this.parentNodeLayout=z,this.createParentNodes()}calculateParentRadius(){let d=this.seriesBox();this.parentNodeRadius=b(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,d?Math.max(Math.sqrt(Math.pow(d.width,2)+Math.pow(d.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 d=this.chart.series,n=this.options.zMin,h=this.options.zMax,c=1/0,L=-1/0;return n&&h?[n,h]:(d.forEach(z=>{z.yData.forEach(w=>{I(w)&&(w>L&&(L=w),w<c&&(c=w))})}),[n=s(n,c),h=s(h,L)])}checkOverlap(d,n){let h=d[0]-n[0],c=d[1]-n[1];return Math.sqrt(h*h+c*c)-Math.abs(d[2]+n[2])<-.001}createParentNodes(){let d=this.pointClass,n=this.chart,h=this.parentNodeLayout,c=this.layout.options,L,z=this.parentNode,w={radius:this.parentNodeRadius,lineColor:this.color,fillColor:M(this.color).brighten(.4).get()};c.parentNodeOptions&&(w=l(c.parentNodeOptions.marker||{},w)),this.parentNodeMass=0,this.points.forEach(R=>{this.parentNodeMass+=Math.PI*Math.pow(R.marker.radius,2)}),this.calculateParentRadius(),h.nodes.forEach(R=>{R.seriesIndex===this.index&&(L=!0)}),h.setArea(0,0,n.plotWidth,n.plotHeight),L||(z||(z=new d(this,{mass:this.parentNodeRadius/2,marker:w,dataLabels:{inside:!1},states:{normal:{marker:w},hover:{marker:w}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(z.plotX=this.parentNode.plotX,z.plotY=this.parentNode.plotY),this.parentNode=z,h.addElementsToCollection([this],h.series),h.addElementsToCollection([z],h.nodes))}deferLayout(){let d=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),d.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(d=>{d.removeElementFromCollection(this,d.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),o.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(o.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",o.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){var L;if(!this.layout||!this.layout.options.splitSeries)return;let d=this.chart,n=this.layout.options.parentNodeOptions.marker,h={fill:n.fillColor||M(this.color).brighten(.4).get(),opacity:n.fillOpacity,stroke:n.lineColor||this.color,"stroke-width":s(n.lineWidth,this.options.lineWidth)},c={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,d.seriesGroup),(L=this.group)==null||L.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&I(this.parentNode.plotX)&&I(this.parentNode.plotY)&&I(this.parentNodeRadius)&&(c=l({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},h),this.parentNode.graphic||(this.graph=this.parentNode.graphic=d.renderer.symbol(h.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(c))}drawTracker(){let d,n=this.parentNode;super.drawTracker(),n&&(d=g(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[],n.graphic&&(n.graphic.element.point=n),d.forEach(h=>{(h.div||h.element).point=n}))}getPointRadius(){let d,n,h,c,L=this.chart,z=L.plotWidth,w=L.plotHeight,R=this.options,V=R.useSimulation,X=Math.min(z,w),J={},P=[],C=L.allDataPoints||[],N=C.length;["minSize","maxSize"].forEach(y=>{let D=parseInt(R[y],10),j=/%$/.test(R[y]);J[y]=j?X*D/100:D*Math.sqrt(N)}),L.minRadius=d=J.minSize/Math.sqrt(N),L.maxRadius=n=J.maxSize/Math.sqrt(N);let _=V?this.calculateZExtremes():[d,n];C.forEach((y,D)=>{h=V?b(y[2],_[0],_[1]):y[2],(c=this.getRadius(_[0],_[1],d,n,h))===0&&(c=null),C[D][2]=c,P.push(c)}),this.radii=P}init(){return o.init.apply(this,arguments),f.call(this),this.eventsToUnbind.push(p(this,"updatedData",function(){this.chart.series.forEach(d=>{d.type===this.type&&(d.isDirty=!0)},this)})),this}onMouseUp(d){if(d.fixedPosition&&!d.removed){let n,h=this.layout,c=this.parentNodeLayout;c&&h.options.dragBetweenSeries&&c.nodes.forEach(L=>{d&&d.marker&&L!==d.series.parentNode&&(n=h.getDistXY(d,L),h.vectorLength(n)-L.marker.radius-d.marker.radius<0&&(L.series.addPoint(l(d.options,{plotX:d.plotX,plotY:d.plotY}),!1),h.removeElementFromCollection(d,h.nodes),d.remove()))}),T.onMouseUp.apply(this,arguments)}}placeBubbles(d){let n=this.checkOverlap,h=this.positionBubble,c=[],L=1,z=0,w=0,R,V=[],X,J=d.sort((P,C)=>C[2]-P[2]);if(J.length){if(c.push([[0,0,J[0][2],J[0][3],J[0][4]]]),J.length>1)for(c.push([[0,0-J[1][2]-J[0][2],J[1][2],J[1][3],J[1][4]]]),X=2;X<J.length;X++)J[X][2]=J[X][2]||1,n(R=h(c[L][z],c[L-1][w],J[X]),c[L][0])?(c.push([]),w=0,c[L+1].push(h(c[L][z],c[L][0],J[X])),L++,z=0):L>1&&c[L-1][w+1]&&n(R,c[L-1][w+1])?(w++,c[L].push(h(c[L][z],c[L-1][w],J[X])),z++):(z++,c[L].push(R));this.chart.stages=c,this.chart.rawPositions=[].concat.apply([],c),this.resizeRadius(),V=this.chart.rawPositions}return V}pointAttribs(d,n){let h=this.options,c=d&&d.isParentNode,L=h.marker;c&&h.layoutAlgorithm&&h.layoutAlgorithm.parentNodeOptions&&(L=h.layoutAlgorithm.parentNodeOptions.marker);let z=L.fillOpacity,w=o.pointAttribs.call(this,d,n);return z!==1&&(w["fill-opacity"]=z),w}positionBubble(d,n,h){let c=Math.asin,L=Math.acos,z=Math.pow,w=Math.abs,R=(0,Math.sqrt)(z(d[0]-n[0],2)+z(d[1]-n[1],2)),V=L((z(R,2)+z(h[2]+n[2],2)-z(h[2]+d[2],2))/(2*(h[2]+n[2])*R)),X=c(w(d[0]-n[0])/R),J=(d[1]-n[1]<0?0:Math.PI)+V+X*((d[0]-n[0])*(d[1]-n[1])<0?1:-1),P=Math.cos(J),C=Math.sin(J);return[n[0]+(n[2]+h[2])*C,n[1]-(n[2]+h[2])*P,h[2],h[3],h[4]]}render(){let d=[];o.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(n=>{g(n.dataLabels)&&n.dataLabels.forEach(h=>{d.push(h)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(d))}resizeRadius(){let d,n,h,c,L,z=this.chart,w=z.rawPositions,R=Math.min,V=Math.max,X=z.plotLeft,J=z.plotTop,P=z.plotHeight,C=z.plotWidth;for(let D of(d=h=Number.POSITIVE_INFINITY,n=c=Number.NEGATIVE_INFINITY,w))L=D[2],d=R(d,D[0]-L),n=V(n,D[0]+L),h=R(h,D[1]-L),c=V(c,D[1]+L);let N=[n-d,c-h],_=[(C-X)/N[0],(P-J)/N[1]],y=R.apply([],_);if(Math.abs(y-1)>1e-10){for(let D of w)D[2]*=y;this.placeBubbles(w)}else z.diffY=P/2+J-h-(c-h)/2,z.diffX=C/2+X-d-(n-d)/2}seriesBox(){let d,n=this.chart,h=this.data,c=Math.max,L=Math.min,z=[n.plotLeft,n.plotLeft+n.plotWidth,n.plotTop,n.plotTop+n.plotHeight];return h.forEach(w=>{I(w.plotX)&&I(w.plotY)&&w.marker.radius&&(d=w.marker.radius,z[0]=L(z[0],w.plotX-d),z[1]=c(z[1],w.plotX+d),z[2]=L(z[2],w.plotY-d),z[3]=c(z[3],w.plotY+d))}),S(z.width/z.height)?z:null}setVisible(){let d=this;o.setVisible.apply(d,arguments),d.parentNodeLayout&&d.graph?d.visible?(d.graph.show(),d.parentNode.dataLabel&&d.parentNode.dataLabel.show()):(d.graph.hide(),d.parentNodeLayout.removeElementFromCollection(d.parentNode,d.parentNodeLayout.nodes),d.parentNode.dataLabel&&d.parentNode.dataLabel.hide()):d.layout&&(d.visible?d.layout.addElementsToCollection(d.points,d.layout.nodes):d.points.forEach(n=>{d.layout.removeElementFromCollection(n,d.layout.nodes)}))}translate(){let d,n,h,c=this.chart,L=this.data,z=this.index,w=this.options.useSimulation;for(let R of(this.processedXData=this.xData,this.generatePoints(),I(c.allDataPoints)||(c.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),w?h=c.allDataPoints:(h=this.placeBubbles(c.allDataPoints),this.options.draggable=!1),h))R[3]===z&&(d=L[R[4]],n=s(R[2],void 0),w||(d.plotX=R[0]-c.plotLeft+c.diffX,d.plotY=R[1]-c.plotTop+c.diffY),S(n)&&(d.marker=B(d.marker,{radius:n,width:2*n,height:2*n}),d.radius=n));w&&this.deferLayout(),A(this,"afterTranslate")}}return r.defaultOptions=l(u.defaultOptions,Z),B(r.prototype,{pointClass:q,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:x,alignDataLabel:o.alignDataLabel,indexateNodes:v,onMouseDown:T.onMouseDown,onMouseMove:T.onMouseMove,redrawHalo:T.redrawHalo,searchPoint:v}),Y.registerSeriesType("packedbubble",r),r}),O(e,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),O(e,"Series/Polygon/PolygonSeries.js",[e["Core/Globals.js"],e["Series/Polygon/PolygonSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{noop:q}=m,{area:Z,line:Q,scatter:Y}=G.seriesTypes,{extend:F,merge:W}=$;class k extends Y{getGraphPath(){let M=Q.prototype.getGraphPath.call(this),v=M.length+1;for(;v--;)(v===M.length||M[v][0]==="M")&&v>0&&M.splice(v,0,["Z"]);return this.areaPath=M,M}drawGraph(){this.options.fillColor=this.color,Z.prototype.drawGraph.call(this)}}return k.defaultOptions=W(Y.defaultOptions,T),F(k.prototype,{type:"polygon",drawTracker:Q.prototype.drawTracker,setStackedPoints:q}),G.registerSeriesType("polygon",k),k}),O(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}}}),O(e,"Core/Axis/RadialAxis.js",[e["Core/Axis/RadialAxisDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{defaultOptions:Z}=T,{composed:Q,noop:Y}=G,{addEvent:F,correctFloat:W,defined:k,extend:E,fireEvent:M,isObject:v,merge:o,pick:u,pushUnique:x,relativeLength:f,wrap:p}=$;return function(b){function I(){this.autoConnect=this.isCircular&&u(this.userMax,this.options.max)===void 0&&W(this.endAngleRad-this.startAngleRad)===W(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function B(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&this.options.labels.allowOverlap!==!0)return this.tickPositions.map(D=>this.ticks[D]&&this.ticks[D].label).filter(D=>!!D)}}function A(){return Y}function g(D,j,H){let U=this.pane.center,K=D.value,et,rt,nt;return this.isCircular?(k(K)?D.point&&(D.point.shapeArgs||{}).start&&(K=this.chart.inverted?this.translate(D.point.rectPlotY,!0):D.point.x):(rt=D.chartX||0,nt=D.chartY||0,K=this.translate(Math.atan2(nt-H,rt-j)-this.startAngleRad,!0)),rt=(et=this.getPosition(K)).x,nt=et.y):(k(K)||(rt=D.chartX,nt=D.chartY),k(rt)&&k(nt)&&(H=U[1]+this.chart.plotTop,K=this.translate(Math.min(Math.sqrt(Math.pow(rt-j,2)+Math.pow(nt-H,2)),U[2]/2)-U[3]/2,!0))),[K,rt||0,nt||0]}function S(D,j,H){let U=this.pane.center,K=this.chart,et=this.left||0,rt=this.top||0,nt,lt=u(j,U[2]/2-this.offset),ht;return H===void 0&&(H=this.horiz?0:this.center&&-this.center[3]/2),H&&(lt+=H),this.isCircular||j!==void 0?((ht=this.chart.renderer.symbols.arc(et+U[0],rt+U[1],lt,lt,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[et+U[0]],ht.yBounds=[rt+U[1]-lt]):(nt=this.postTranslate(this.angleRad,lt),ht=[["M",this.center[0]+K.plotLeft,this.center[1]+K.plotTop],["L",nt.x,nt.y]]),ht}function l(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function s(D,j,H){let U=this.chart,K=xt=>{if(typeof xt=="string"){let vt=parseInt(xt,10);return tt.test(xt)&&(vt=vt*nt/100),vt}return xt},et=this.center,rt=this.startAngleRad,nt=et[2]/2,lt=Math.min(this.offset,0),ht=this.left||0,it=this.top||0,tt=/%$/,st=this.isCircular,ot,at,ct,dt,ut,pt,gt=u(K(H.outerRadius),nt),ft=K(H.innerRadius),mt=u(K(H.thickness),10);if(this.options.gridLineInterpolation==="polygon")pt=this.getPlotLinePath({value:D}).concat(this.getPlotLinePath({value:j,reverse:!0}));else{D=Math.max(D,this.min),j=Math.min(j,this.max);let xt=this.translate(D),vt=this.translate(j);st||(gt=xt||0,ft=vt||0),H.shape!=="circle"&&st?(ot=rt+(xt||0),at=rt+(vt||0)):(ot=-Math.PI/2,at=1.5*Math.PI,ut=!0),gt-=lt,mt-=lt,pt=U.renderer.symbols.arc(ht+et[0],it+et[1],gt,gt,{start:Math.min(ot,at),end:Math.max(ot,at),innerR:u(ft,gt-mt),open:ut,borderRadius:H.borderRadius}),st&&(ct=(at+ot)/2,dt=ht+et[0]+et[2]/2*Math.cos(ct),pt.xBounds=ct>-Math.PI/2&&ct<Math.PI/2?[dt,U.plotWidth]:[0,dt],pt.yBounds=[it+et[1]+et[2]/2*Math.sin(ct)],pt.yBounds[0]+=ct>-Math.PI&&ct<0||ct>Math.PI?-10:10)}return pt}function r(D){let j=this.pane.center,H=this.chart,U=H.inverted,K=D.reverse,et=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},rt=et.innerRadius||"0%",nt=et.outerRadius||"100%",lt=j[0]+H.plotLeft,ht=j[1]+H.plotTop,it=this.height,tt=D.isCrosshair,st=j[3]/2,ot=D.value,at,ct,dt,ut,pt,gt,ft,mt,xt,vt=this.getPosition(ot),bt=vt.x,yt=vt.y;if(tt&&(ot=(mt=this.getCrosshairPosition(D,lt,ht))[0],bt=mt[1],yt=mt[2]),this.isCircular)ct=Math.sqrt(Math.pow(bt-lt,2)+Math.pow(yt-ht,2)),dt=typeof rt=="string"?f(rt,1):rt/ct,ut=typeof nt=="string"?f(nt,1):nt/ct,j&&st&&(dt<(at=st/ct)&&(dt=at),ut<at&&(ut=at)),xt=[["M",lt+dt*(bt-lt),ht-dt*(ht-yt)],["L",bt-(1-ut)*(bt-lt),yt+(1-ut)*(ht-yt)]];else if((ot=this.translate(ot))&&(ot<0||ot>it)&&(ot=0),this.options.gridLineInterpolation==="circle")xt=this.getLinePath(0,ot,st);else if(xt=[],H[U?"yAxis":"xAxis"].forEach(Ct=>{Ct.pane===this.pane&&(pt=Ct)}),pt){ft=pt.tickPositions,pt.autoConnect&&(ft=ft.concat([ft[0]])),K&&(ft=ft.slice().reverse()),ot&&(ot+=st);for(let Ct=0;Ct<ft.length;Ct++)gt=pt.getPosition(ft[Ct],ot),xt.push(Ct?["L",gt.x,gt.y]:["M",gt.x,gt.y])}return xt}function a(D,j){let H=this.translate(D);return this.postTranslate(this.isCircular?H:this.angleRad,u(this.isCircular?j:H<0?0:H,this.center[2]/2)-this.offset)}function d(){let D=this.center,j=this.chart,H=this.options.title;return{x:j.plotLeft+D[0]+(H.x||0),y:j.plotTop+D[1]-{high:.5,middle:.25,low:0}[H.align]*D[2]+(H.y||0)}}function n(D){D.beforeSetTickPositions=I,D.createLabelCollector=B,D.getCrosshairPosition=g,D.getLinePath=S,D.getOffset=l,D.getPlotBandPath=s,D.getPlotLinePath=r,D.getPosition=a,D.getTitlePosition=d,D.postTranslate=J,D.setAxisSize=C,D.setAxisTranslation=N,D.setOptions=_}function h(){let D=this.chart,j=this.options,H=D.angular&&this.isXAxis,U=this.pane,K=U&&U.options;if(!H&&U&&(D.angular||D.polar)){let et=2*Math.PI,rt=(u(K.startAngle,0)-90)*Math.PI/180,nt=(u(K.endAngle,u(K.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(j.angle||0)*Math.PI/180,this.startAngleRad=rt,this.endAngleRad=nt,this.offset=j.offset||0;let lt=(rt%et+et)%et,ht=(nt%et+et)%et;lt>Math.PI&&(lt-=et),ht>Math.PI&&(ht-=et),this.normalizedStartAngleRad=lt,this.normalizedEndAngleRad=ht}}function c(D){this.isRadial&&(D.align=void 0,D.preventDefault())}function L(){if(this.chart&&this.chart.labelCollectors){let D=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;D>=0&&this.chart.labelCollectors.splice(D,1)}}function z(D){let j,H=this.chart,U=H.angular,K=H.polar,et=this.isXAxis,rt=this.coll,nt=D.userOptions.pane||0,lt=this.pane=H.pane&&H.pane[nt];if(rt==="colorAxis"){this.isRadial=!1;return}U?(U&&et?(this.isHidden=!0,this.createLabelCollector=A,this.getOffset=Y,this.redraw=P,this.render=P,this.setScale=Y,this.setCategories=Y,this.setTitle=Y):n(this),j=!et):K&&(n(this),j=this.horiz),U||K?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&H.labelCollectors.push(this.labelCollector)):this.isRadial=!1,lt&&j&&(lt.axis=this),this.isCircular=j}function w(){this.isRadial&&this.beforeSetTickPositions()}function R(D){let j=this.label;if(!j)return;let H=this.axis,U=j.getBBox(),K=H.options.labels,et=(H.translate(this.pos)+H.startAngleRad+Math.PI/2)/Math.PI*180%360,rt=Math.round(et),nt=k(K.y)?0:-(.3*U.height),lt=K.y,ht,it=20,tt=K.align,st="end",ot=rt<0?rt+360:rt,at=ot,ct=0,dt=0;H.isRadial&&(ht=H.getPosition(this.pos,H.center[2]/2+f(u(K.distance,-25),H.center[2]/2,-H.center[2]/2)),K.rotation==="auto"?j.attr({rotation:et}):k(lt)||(lt=H.chart.renderer.fontMetrics(j).b-U.height/2),k(tt)||(H.isCircular?(U.width>H.len*H.tickInterval/(H.max-H.min)&&(it=0),tt=et>it&&et<180-it?"left":et>180+it&&et<360-it?"right":"center"):tt="center",j.attr({align:tt})),tt==="auto"&&H.tickPositions.length===2&&H.isCircular&&(ot>90&&ot<180?ot=180-ot:ot>270&&ot<=360&&(ot=540-ot),at>180&&at<=360&&(at=360-at),(H.pane.options.startAngle===rt||H.pane.options.startAngle===rt+360||H.pane.options.startAngle===rt-360)&&(st="start"),tt=rt>=-90&&rt<=90||rt>=-360&&rt<=-270||rt>=270&&rt<=360?st==="start"?"right":"left":st==="start"?"left":"right",at>70&&at<110&&(tt="center"),ot<15||ot>=180&&ot<195?ct=.3*U.height:ot>=15&&ot<=35?ct=st==="start"?0:.75*U.height:ot>=195&&ot<=215?ct=st==="start"?.75*U.height:0:ot>35&&ot<=90?ct=st==="start"?-(.25*U.height):U.height:ot>215&&ot<=270&&(ct=st==="start"?U.height:-(.25*U.height)),at<15?dt=st==="start"?-(.15*U.height):.15*U.height:at>165&&at<=180&&(dt=st==="start"?.15*U.height:-(.15*U.height)),j.attr({align:tt}),j.translate(dt,ct+nt)),D.pos.x=ht.x+(K.x||0),D.pos.y=ht.y+(lt||0))}function V(D){this.axis.getPosition&&E(D.pos,this.axis.getPosition(this.pos))}function X({options:D}){D.xAxis&&o(!0,b.radialDefaultOptions.circular,D.xAxis),D.yAxis&&o(!0,b.radialDefaultOptions.radialGauge,D.yAxis)}function J(D,j){let H=this.chart,U=this.center;return D=this.startAngleRad+D,{x:H.plotLeft+U[0]+Math.cos(D)*j,y:H.plotTop+U[1]+Math.sin(D)*j}}function P(){this.isDirty=!1}function C(){let D,j;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),D=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(j=this.postTranslate(this.angleRad,D[3]/2),D[0]=j.x-this.chart.plotLeft,D[1]=j.y-this.chart.plotTop),this.len=this.width=this.height=(D[2]-D[3])*u(this.sector,1)/2)}function N(){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 _(D){let{coll:j}=this,{angular:H,inverted:U,polar:K}=this.chart,et={};H?this.isXAxis||(et=o(Z.yAxis,b.radialDefaultOptions.radialGauge)):K&&(et=this.horiz?o(Z.xAxis,b.radialDefaultOptions.circular):o(j==="xAxis"?Z.xAxis:Z.yAxis,b.radialDefaultOptions.radial)),U&&j==="yAxis"&&(et.stackLabels=v(Z.yAxis,!0)?Z.yAxis.stackLabels:{},et.reversedStacks=!0);let rt=this.options=o(et,D);rt.plotBands||(rt.plotBands=[]),M(this,"afterSetOptions")}function y(D,j,H,U,K,et,rt){let nt,lt=this.axis;return lt.isRadial?["M",j,H,"L",(nt=lt.getPosition(this.pos,lt.center[2]/2+U)).x,nt.y]:D.call(this,j,H,U,K,et,rt)}b.radialDefaultOptions=o(m),b.compose=function(D,j){return x(Q,"Axis.Radial")&&(F(D,"afterInit",h),F(D,"autoLabelAlign",c),F(D,"destroy",L),F(D,"init",z),F(D,"initialAxisTranslation",w),F(j,"afterGetLabelPosition",R),F(j,"afterGetPosition",V),F(G,"setOptions",X),p(j.prototype,"getMarkPath",y)),D}}(q||(q={})),q}),O(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(m,T,G,$,q,Z){let{animObject:Q}=m,{composed:Y}=T,{addEvent:F,defined:W,find:k,isNumber:E,merge:M,pick:v,pushUnique:o,relativeLength:u,splat:x,uniqueKey:f,wrap:p}=Z;function b(){(this.pane||[]).forEach(X=>{X.render()})}function I(X){let J=X.args[0].xAxis,P=X.args[0].yAxis,C=X.args[0].chart;J&&P&&(P.gridLineInterpolation==="polygon"?(J.startOnTick=!0,J.endOnTick=!0):J.gridLineInterpolation==="polygon"&&C.inverted&&(P.startOnTick=!0,P.endOnTick=!0))}function B(){this.pane||(this.pane=[]),this.options.pane=x(this.options.pane),this.options.pane.forEach(X=>{new $(X,this)},this)}function A(X){let J=X.args.marker,P=this.chart.xAxis[0],C=this.chart.yAxis[0],N=this.chart.inverted,_=N?C:P,y=N?P:C;if(this.chart.polar){X.preventDefault();let D=(J.attr?J.attr("start"):J.start)-_.startAngleRad,j=J.attr?J.attr("r"):J.r,H=(J.attr?J.attr("end"):J.end)-_.startAngleRad,U=J.attr?J.attr("innerR"):J.innerR;X.result.x=D+_.pos,X.result.width=H-D,X.result.y=y.len+y.pos-j,X.result.height=j-U}}function g(X){let J=this.chart;if(J.polar&&J.hoverPane&&J.hoverPane.axis){X.preventDefault();let P=J.hoverPane.center,C=J.mouseDownX||0,N=J.mouseDownY||0,_=X.args.chartY,y=X.args.chartX,D=2*Math.PI,j=J.hoverPane.axis.startAngleRad,H=J.hoverPane.axis.endAngleRad,U=J.inverted?J.xAxis[0]:J.yAxis[0],K={},et="arc";if(K.x=P[0]+J.plotLeft,K.y=P[1]+J.plotTop,this.zoomHor){let rt=j>0?H-j:Math.abs(j)+Math.abs(H),nt=Math.atan2(N-J.plotTop-P[1],C-J.plotLeft-P[0])-j,lt=Math.atan2(_-J.plotTop-P[1],y-J.plotLeft-P[0])-j;K.r=P[2]/2,K.innerR=P[3]/2,nt<=0&&(nt+=D),lt<=0&&(lt+=D),lt<nt&&(lt=[nt,nt=lt][0]),rt<D&&j+lt>H+(D-rt)/2&&(lt=nt,nt=j<=0?j:0);let ht=K.start=Math.max(nt+j,j),it=K.end=Math.min(lt+j,H);if(U.options.gridLineInterpolation==="polygon"){let tt=J.hoverPane.axis,st=ht-tt.startAngleRad+tt.pos,ot=U.getPlotLinePath({value:U.max}),at=tt.toValue(st),ct=tt.toValue(st+(it-ht));if(at<tt.getExtremes().min){let{min:dt,max:ut}=tt.getExtremes();at=ut-(dt-at)}if(ct<tt.getExtremes().min){let{min:dt,max:ut}=tt.getExtremes();ct=ut-(dt-ct)}ct<at&&(ct=[at,at=ct][0]),(ot=r(ot,at,ct,tt)).push(["L",P[0]+J.plotLeft,J.plotTop+P[1]]),K.d=ot,et="path"}}if(this.zoomVert){let rt=J.inverted?J.xAxis[0]:J.yAxis[0],nt=Math.sqrt(Math.pow(C-J.plotLeft-P[0],2)+Math.pow(N-J.plotTop-P[1],2)),lt=Math.sqrt(Math.pow(y-J.plotLeft-P[0],2)+Math.pow(_-J.plotTop-P[1],2));if(lt<nt&&(nt=[lt,lt=nt][0]),lt>P[2]/2&&(lt=P[2]/2),nt<P[3]/2&&(nt=P[3]/2),this.zoomHor||(K.start=j,K.end=H),K.r=lt,K.innerR=nt,rt.options.gridLineInterpolation==="polygon"){let ht=rt.toValue(rt.len+rt.pos-nt),it=rt.toValue(rt.len+rt.pos-lt),tt=rt.getPlotLinePath({value:it}).concat(rt.getPlotLinePath({value:ht,reverse:!0}));K.d=tt,et="path"}}if(this.zoomHor&&this.zoomVert&&U.options.gridLineInterpolation==="polygon"){let rt=J.hoverPane.axis,nt=K.start||0,lt=K.end||0,ht=nt-rt.startAngleRad+rt.pos,it=rt.toValue(ht),tt=rt.toValue(ht+(lt-nt));if(K.d instanceof Array){let st=K.d.slice(0,K.d.length/2),ot=K.d.slice(K.d.length/2,K.d.length);ot=[...ot].reverse();let at=J.hoverPane.axis;st=r(st,it,tt,at),(ot=r(ot,it,tt,at))&&(ot[0][0]="L"),ot=[...ot].reverse(),K.d=st.concat(ot),et="path"}}X.attrs=K,X.shapeType=et}}function S(){let X=this.chart;X.polar&&(this.polar=new V(this),X.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function l(){if(this.chart.polar&&this.xAxis){let{xAxis:X,yAxis:J}=this,P=this.chart;this.kdByAngle=P.tooltip&&P.tooltip.shared,this.kdByAngle||P.inverted?this.searchPoint=s:this.options.findNearestPointBy="xy";let C=this.points,N=C.length;for(;N--;)this.is("column")||this.is("columnrange")||this.polar.toXY(C[N]),P.hasParallelCoordinates||this.yAxis.reversed||(v(C[N].y,Number.MIN_VALUE)<J.min||C[N].x<X.min||C[N].x>X.max?(C[N].isNull=!0,C[N].plotY=NaN):C[N].isNull=C[N].isValid&&!C[N].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(F(this,"afterRender",function(){let _;P.polar&&this.options.clip!==!1&&(_=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:_[0],y:_[1],r:_[2]/2,innerR:_[3]/2}):this.clipCircle=function(y,D,j,H,U){let K=f(),et=y.createElement("clipPath").attr({id:K}).add(y.defs),rt=U?y.arc(D,j,H,U,0,2*Math.PI).add(et):y.circle(D,j,H).add(et);return rt.id=K,rt.clipPath=et,rt}(P.renderer,_[0],_[1],_[2]/2,_[3]/2),this.group.clip(this.clipCircle),this.setClip=T.noop)})))}}function s(X){let J=this.chart,P=this.xAxis,C=this.yAxis,N=P.pane&&P.pane.center,_=X.chartX-(N&&N[0]||0)-J.plotLeft,y=X.chartY-(N&&N[1]||0)-J.plotTop,D=J.inverted?{clientX:X.chartX-C.pos,plotY:X.chartY-P.pos}:{clientX:180+-180/Math.PI*Math.atan2(_,y)};return this.searchKDTree(D)}function r(X,J,P,C){let N=C.tickInterval,_=C.tickPositions,y=k(_,j=>j>=P),D=k([..._].reverse(),j=>j<=J);return W(y)||(y=_[_.length-1]),W(D)||(D=_[0],y+=N,X[0][0]="L",X.unshift(X[X.length-3])),(X=X.slice(_.indexOf(D),_.indexOf(y)+1))[0][0]="M",X}function a(X,J){return k(this.pane||[],P=>P.options.id===J)||X.call(this,J)}function d(X,J,P,C,N,_){let y,D,j,H=this.chart,U=v(C.inside,!!this.options.stacking);if(H.polar){if(y=J.rectPlotX/Math.PI*180,H.inverted)this.forceDL=H.isInsidePlot(J.plotX,J.plotY),U&&J.shapeArgs?(D=J.shapeArgs,N=M(N,{x:(j=this.yAxis.postTranslate(((D.start||0)+(D.end||0))/2-this.xAxis.startAngleRad,J.barX+J.pointWidth/2)).x-H.plotLeft,y:j.y-H.plotTop})):J.tooltipPos&&(N=M(N,{x:J.tooltipPos[0],y:J.tooltipPos[1]})),C.align=v(C.align,"center"),C.verticalAlign=v(C.verticalAlign,"middle");else{var K;let et,rt;(K=C).align===null&&(et=y>20&&y<160?"left":y>200&&y<340?"right":"center",K.align=et),K.verticalAlign===null&&(rt=y<45||y>315?"bottom":y>135&&y<225?"top":"middle",K.verticalAlign=rt),C=K}G.prototype.alignDataLabel.call(this,J,P,C,N,_),this.isRadialBar&&J.shapeArgs&&J.shapeArgs.start===J.shapeArgs.end?P.hide():P.show()}else X.call(this,J,P,C,N,_)}function n(){let X=this.options,J=X.stacking,P=this.chart,C=this.xAxis,N=this.yAxis,_=N.reversed,y=N.center,D=C.startAngleRad,j=C.endAngleRad-D,H=X.threshold,U=0,K,et,rt,nt,lt,ht=0,it=0,tt,st,ot,at,ct,dt,ut,pt;if(C.isRadial)for(rt=(K=this.points).length,nt=N.translate(N.min),lt=N.translate(N.max),H=X.threshold||0,P.inverted&&E(H)&&W(U=N.translate(H))&&(U<0?U=0:U>j&&(U=j),this.translatedThreshold=U+D);rt--;){if(dt=(et=K[rt]).barX,st=et.x,ot=et.y,et.shapeType="arc",P.inverted){et.plotY=N.translate(ot),J&&N.stacking?(ct=N.stacking.stacks[(ot<0?"-":"")+this.stackKey],this.visible&&ct&&ct[st]&&!et.isNull&&(at=ct[st].points[this.getStackIndicator(void 0,st,this.index).key],ht=N.translate(at[0]),it=N.translate(at[1]),W(ht)&&(ht=Z.clamp(ht,0,j)))):(ht=U,it=et.plotY),ht>it&&(it=[ht,ht=it][0]),_?it>nt?it=nt:ht<lt?ht=lt:(ht>nt||it<lt)&&(ht=it=j):ht<nt?ht=nt:it>lt?it=lt:(it<nt||ht>lt)&&(ht=it=0),N.min>N.max&&(ht=it=_?j:0),ht+=D,it+=D,y&&(et.barX=dt+=y[3]/2),ut=Math.max(dt,0),pt=Math.max(dt+et.pointWidth,0);let gt=X.borderRadius,ft=u((typeof gt=="object"?gt.radius:gt)||0,pt-ut);et.shapeArgs={x:y[0],y:y[1],r:pt,innerR:ut,start:ht,end:it,borderRadius:ft},et.opacity=ht===it?0:void 0,et.plotY=(W(this.translatedThreshold)&&(ht<this.translatedThreshold?ht:it))-D}else ht=dt+D,et.shapeArgs=this.polar.arc(et.yBottom,et.plotY,ht,ht+et.pointWidth),et.shapeArgs.borderRadius=0;this.polar.toXY(et),P.inverted?(tt=N.postTranslate(et.rectPlotY,dt+et.pointWidth/2),et.tooltipPos=[tt.x-P.plotLeft,tt.y-P.plotTop]):et.tooltipPos=[et.plotX,et.plotY],y&&(et.ttBelow=et.plotY>y[1])}}function h(X,J){let P,C,N=this;if(this.chart.polar){J=J||this.points;for(let y=0;y<J.length;y++)if(!J[y].isNull){P=y;break}this.options.connectEnds!==!1&&P!==void 0&&(this.connectEnds=!0,J.splice(J.length,0,J[P]),C=!0),J.forEach(y=>{y.polarPlotY===void 0&&N.polar.toXY(y)})}let _=X.apply(this,[].slice.call(arguments,1));return C&&J.pop(),_}function c(X,J){let P=this.chart,C={xAxis:[],yAxis:[]};return P.polar?P.axes.forEach(N=>{if(N.coll==="colorAxis")return;let _=N.isXAxis,y=N.center,D=J.chartX-y[0]-P.plotLeft,j=J.chartY-y[1]-P.plotTop;C[_?"xAxis":"yAxis"].push({axis:N,value:N.translate(_?Math.PI-Math.atan2(D,j):Math.sqrt(Math.pow(D,2)+Math.pow(j,2)),!0)})}):C=X.call(this,J),C}function L(X,J){this.chart.polar||X.call(this,J)}function z(X,J){let P=this,C=this.chart,N=this.group,_=this.markerGroup,y=this.xAxis&&this.xAxis.center,D=C.plotLeft,j=C.plotTop,H=this.options.animation,U,K,et,rt,nt,lt;C.polar?P.isRadialBar?J||(P.startAngleRad=v(P.translatedThreshold,P.xAxis.startAngleRad),T.seriesTypes.pie.prototype.animate.call(P,J)):(H=Q(H),P.is("column")?J||(K=y[3]/2,P.points.forEach(ht=>{et=ht.graphic,nt=(rt=ht.shapeArgs)&&rt.r,lt=rt&&rt.innerR,et&&rt&&(et.attr({r:K,innerR:K}),et.animate({r:nt,innerR:lt},P.options.animation))})):J?(U={translateX:y[0]+D,translateY:y[1]+j,scaleX:.001,scaleY:.001},N.attr(U),_&&_.attr(U)):(U={translateX:D,translateY:j,scaleX:1,scaleY:1},N.animate(U,H),_&&_.animate(U,H))):X.call(this,J)}function w(X,J,P,C){let N,_;if(this.chart.polar)if(C){let y=(_=function j(H,U,K,et){let rt,nt,lt,ht,it,tt,st=et?1:0,ot=(rt=U>=0&&U<=H.length-1?U:U<0?H.length-1+U:0)-1<0?H.length-(1+st):rt-1,at=rt+1>H.length-1?st:rt+1,ct=H[ot],dt=H[at],ut=ct.plotX,pt=ct.plotY,gt=dt.plotX,ft=dt.plotY,mt=H[rt].plotX,xt=H[rt].plotY;nt=(1.5*mt+ut)/2.5,lt=(1.5*xt+pt)/2.5,ht=(1.5*mt+gt)/2.5,it=(1.5*xt+ft)/2.5;let vt=Math.sqrt(Math.pow(nt-mt,2)+Math.pow(lt-xt,2)),bt=Math.sqrt(Math.pow(ht-mt,2)+Math.pow(it-xt,2)),yt=Math.atan2(lt-xt,nt-mt);tt=Math.PI/2+(yt+Math.atan2(it-xt,ht-mt))/2,Math.abs(yt-tt)>Math.PI/2&&(tt-=Math.PI),nt=mt+Math.cos(tt)*vt,lt=xt+Math.sin(tt)*vt;let Ct={rightContX:ht=mt+Math.cos(Math.PI+tt)*bt,rightContY:it=xt+Math.sin(Math.PI+tt)*bt,leftContX:nt,leftContY:lt,plotX:mt,plotY:xt};return K&&(Ct.prevPointCont=j(H,ot,!1,et)),Ct}(J,C,!0,this.connectEnds)).prevPointCont&&_.prevPointCont.rightContX,D=_.prevPointCont&&_.prevPointCont.rightContY;N=["C",E(y)?y:_.plotX,E(D)?D:_.plotY,E(_.leftContX)?_.leftContX:_.plotX,E(_.leftContY)?_.leftContY:_.plotY,_.plotX,_.plotY]}else N=["M",P.plotX,P.plotY];else N=X.call(this,J,P,C);return N}function R(X,J,P=this.plotY){if(!this.destroyed){let{plotX:C,series:N}=this,{chart:_}=N;return _.polar&&E(C)&&E(P)?[C+(J?_.plotLeft:0),P+(J?_.plotTop:0)]:X.call(this,J,P)}}class V{static compose(J,P,C,N,_,y,D,j,H,U){if($.compose(P,C),q.compose(J,_),o(Y,"Polar")){let K=P.prototype,et=y.prototype,rt=C.prototype,nt=N.prototype;if(F(P,"afterDrawChartBox",b),F(P,"getAxes",B),F(P,"init",I),p(K,"get",a),p(rt,"getCoordinates",c),p(rt,"pinch",L),F(C,"getSelectionMarkerAttrs",g),F(C,"getSelectionBox",A),F(N,"afterInit",S),F(N,"afterTranslate",l,{order:2}),F(N,"afterColumnTranslate",n,{order:4}),p(nt,"animate",z),p(et,"pos",R),j){let lt=j.prototype;p(lt,"alignDataLabel",d),p(lt,"animate",z)}if(H&&p(H.prototype,"getGraphPath",h),U){let lt=U.prototype;p(lt,"getPointSpline",w),D&&(D.prototype.getPointSpline=lt.getPointSpline)}}}constructor(J){this.series=J}arc(J,P,C,N){let _=this.series,y=_.xAxis.center,D=_.yAxis.len,j=y[3]/2,H=D-P+j,U=D-v(J,D)+j;return _.yAxis.reversed&&(H<0&&(H=j),U<0&&(U=j)),{x:y[0],y:y[1],r:H,innerR:U,start:C,end:N}}toXY(J){let P=this.series,C=P.chart,N=P.xAxis,_=P.yAxis,y=J.plotX,D=C.inverted,j=J.y,H=J.plotY,U=D?y:_.len-H,K;if(D&&P&&!P.isRadialBar&&(J.plotY=H=E(j)?_.translate(j):0),J.rectPlotX=y,J.rectPlotY=H,_.center&&(U+=_.center[3]/2),E(H)){let et=D?_.postTranslate(H,U):N.postTranslate(y,U);J.plotX=J.polarPlotX=et.x-C.plotLeft,J.plotY=J.polarPlotY=et.y-C.plotTop}P.kdByAngle?((K=(y/Math.PI*180+N.pane.options.startAngle)%360)<0&&(K+=360),J.clientX=K):J.clientX=J.plotX}}return V}),O(e,"Core/Axis/WaterfallAxis.js",[e["Core/Globals.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(m,T,G){var $;let{composed:q}=m,{addEvent:Z,objectEach:Q,pushUnique:Y}=G;return function(F){function W(){let o=this.waterfall.stacks;o&&(o.changed=!1,delete o.alreadyChanged)}function k(){let o=this.options.stackLabels;o&&o.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function E(){this.waterfall||(this.waterfall=new v(this))}function M(){let o=this.axes;for(let u of this.series)if(u.options.stacking){for(let x of o)x.isXAxis||(x.waterfall.stacks.changed=!0);break}}F.compose=function(o,u){Y(q,"Axis.Waterfall")&&(Z(o,"init",E),Z(o,"afterBuildStacks",W),Z(o,"afterRender",k),Z(u,"beforeRedraw",M))};class v{constructor(u){this.axis=u,this.stacks={changed:!1}}renderStackTotals(){let u=this.axis,x=u.waterfall.stacks,f=u.stacking&&u.stacking.stackTotalGroup,p=new T(u,u.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=p,f&&Q(x,b=>{Q(b,(I,B)=>{p.total=I.stackTotal,p.x=+B,I.label&&(p.label=I.label),T.prototype.render.call(p,f),I.label=p.label,delete p.label})}),p.total=null}}F.Composition=v}($||($={})),$}),O(e,"Series/Waterfall/WaterfallPoint.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(m,T,G){let{isNumber:$}=G;class q extends m.prototype.pointClass{getClassName(){let Q=T.prototype.getClassName.call(this);return this.isSum?Q+=" highcharts-sum":this.isIntermediateSum&&(Q+=" highcharts-intermediate-sum"),Q}isValid(){return $(this.y)||this.isSum||!!this.isIntermediateSum}}return q}),O(e,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),O(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(m,T,G,$,q){let{column:Z,line:Q}=m.seriesTypes,{addEvent:Y,arrayMax:F,arrayMin:W,correctFloat:k,crisp:E,extend:M,isNumber:v,merge:o,objectEach:u,pick:x}=T;function f(b,I){return Object.hasOwnProperty.call(b,I)}class p extends Z{generatePoints(){Z.prototype.generatePoints.apply(this);for(let I=0,B=this.points.length;I<B;I++){let A=this.points[I],g=this.processedYData[I];v(g)&&(A.isIntermediateSum||A.isSum)&&(A.y=k(g))}}processData(I){let B,A,g,S,l,s,r=this.options,a=this.yData,d=r.data,n=a.length,h=r.threshold||0;g=A=S=l=0;for(let c=0;c<n;c++)s=a[c],B=d&&d[c]?d[c]:{},s==="sum"||B.isSum?a[c]=k(g):s==="intermediateSum"||B.isIntermediateSum?(a[c]=k(A),A=0):(g+=s,A+=s),S=Math.min(g,S),l=Math.max(g,l);super.processData.call(this,I),r.stacking||(this.dataMin=S+h,this.dataMax=l)}toYData(I){return I.isSum?"sum":I.isIntermediateSum?"intermediateSum":I.y}updateParallelArrays(I,B){super.updateParallelArrays.call(this,I,B),(this.yData[0]==="sum"||this.yData[0]==="intermediateSum")&&(this.yData[0]=null)}pointAttribs(I,B){let A=this.options.upColor;A&&!I.options.color&&v(I.y)&&(I.color=I.y>0?A:void 0);let g=Z.prototype.pointAttribs.call(this,I,B);return delete g.dashstyle,g}getGraphPath(){return[["M",0,0]]}getCrispPath(){var a;let I=this.data.filter(d=>v(d.y)),B=this.yAxis,A=I.length,g=((a=this.graph)==null?void 0:a.strokeWidth())||0,S=this.xAxis.reversed,l=this.yAxis.reversed,s=this.options.stacking,r=[];for(let d=1;d<A;d++){if(!(this.options.connectNulls||v(this.data[I[d].index-1].y)))continue;let n=I[d].box,h=I[d-1],c=h.y||0,L=I[d-1].box;if(!n||!L)continue;let z=B.waterfall.stacks[this.stackKey],w=c>0?-L.height:0;if(z&&L&&n){let R,V=z[d-1];if(s){let X=V.connectorThreshold;R=E(B.translate(X,!1,!0,!1,!0)+(l?w:0),g)}else R=E(L.y+(h.minPointLengthOffset||0),g);r.push(["M",(L.x||0)+(S?0:L.width||0),R],["L",(n.x||0)+(S&&n.width||0),R])}if(L&&r.length&&(!s&&c<0&&!l||c>0&&l)){let R=r[r.length-2];R&&typeof R[2]=="number"&&(R[2]+=L.height||0);let V=r[r.length-1];V&&typeof V[2]=="number"&&(V[2]+=L.height||0)}}return r}drawGraph(){Q.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(I){var N;let B=this.options,A=(N=I.waterfall)==null?void 0:N.stacks,g=B.threshold||0,S=this.stackKey,l=this.xData,s=l.length,r=g,a=r,d,n=0,h=0,c=0,L,z,w,R,V,X,J,P,C=(_,y,D,j)=>{if(d){if(L)for(;D<L;D++)d.stackState[D]+=j;else d.stackState[0]=_,L=d.stackState.length;d.stackState.push(d.stackState[L-1]+y)}};if(I.stacking&&A&&this.reserveSpace()){P=A.changed,(J=A.alreadyChanged)&&0>J.indexOf(S)&&(P=!0),A[S]||(A[S]={});let _=A[S];if(_)for(let y=0;y<s;y++)(!_[X=l[y]]||P)&&(_[X]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:P&&_[X]?_[X].label:void 0}),d=_[X],(V=this.yData[y])>=0?d.posTotal+=V:d.negTotal+=V,R=B.data[y],z=d.absolutePos=d.posTotal,w=d.absoluteNeg=d.negTotal,d.stackTotal=z+w,L=d.stackState.length,R&&R.isIntermediateSum?(C(c,h,0,c),c=h,h=g,r^=a,a^=r,r^=a):R&&R.isSum?(C(g,n,L,0),r=g):(C(r,V,0,n),R&&(n+=V,h+=V)),d.stateIndex++,d.threshold=r,r+=d.stackTotal;A.changed=!1,A.alreadyChanged||(A.alreadyChanged=[]),A.alreadyChanged.push(S)}}getExtremes(){let I,B,A,g=this.options.stacking;return g?(I=this.yAxis.waterfall.stacks,B=this.stackedYNeg=[],A=this.stackedYPos=[],g==="overlap"?u(I[this.stackKey],function(S){B.push(W(S.stackState)),A.push(F(S.stackState))}):u(I[this.stackKey],function(S){B.push(S.negTotal+S.threshold),A.push(S.posTotal+S.threshold)}),{dataMin:W(B),dataMax:F(A)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return p.defaultOptions=o(Z.defaultOptions,q),p.compose=G.compose,M(p.prototype,{pointValKey:"y",showLine:!0,pointClass:$}),Y(p,"afterColumnTranslate",function(){let{options:b,points:I,yAxis:B}=this,A=x(b.minPointLength,5),g=A/2,S=b.threshold||0,l=b.stacking,s=B.waterfall.stacks[this.stackKey],r=S,a=S,d,n,h,c;for(let L=0;L<I.length;L++){let z=I[L],w=this.processedYData[L],R=M({x:0,y:0,width:0,height:0},z.shapeArgs||{});z.box=R;let V=[0,w],X=z.y||0;if(l){if(s){let C=s[L];l==="overlap"?(n=C.stackState[C.stateIndex--],d=X>=0?n:n-X,f(C,"absolutePos")&&delete C.absolutePos,f(C,"absoluteNeg")&&delete C.absoluteNeg):(X>=0?(n=C.threshold+C.posTotal,C.posTotal-=X,d=n):(n=C.threshold+C.negTotal,C.negTotal-=X,d=n-X),!C.posTotal&&v(C.absolutePos)&&f(C,"absolutePos")&&(C.posTotal=C.absolutePos,delete C.absolutePos),!C.negTotal&&v(C.absoluteNeg)&&f(C,"absoluteNeg")&&(C.negTotal=C.absoluteNeg,delete C.absoluteNeg)),z.isSum||(C.connectorThreshold=C.threshold+C.stackTotal),B.reversed?(h=X>=0?d-X:d+X,c=d):(h=d,c=d-X),z.below=h<=S,R.y=B.translate(h,!1,!0,!1,!0),R.height=Math.abs(R.y-B.translate(c,!1,!0,!1,!0));let N=B.waterfall.dummyStackItem;N&&(N.x=L,N.label=s[L].label,N.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[L],this.stackedYPos[L],void 0,this.xAxis))}}else d=Math.max(a,a+X)+V[0],R.y=B.translate(d,!1,!0,!1,!0),z.isSum?(R.y=B.translate(V[1],!1,!0,!1,!0),R.height=Math.min(B.translate(V[0],!1,!0,!1,!0),B.len)-R.y,z.below=V[1]<=S):z.isIntermediateSum?(X>=0?(h=V[1]+r,c=r):(h=r,c=V[1]+r),B.reversed&&(h^=c,c^=h,h^=c),R.y=B.translate(h,!1,!0,!1,!0),R.height=Math.abs(R.y-Math.min(B.translate(c,!1,!0,!1,!0),B.len)),r+=V[1],z.below=h<=S):(R.height=w>0?B.translate(a,!1,!0,!1,!0)-R.y:B.translate(a,!1,!0,!1,!0)-B.translate(a-w,!1,!0,!1,!0),a+=w,z.below=a<S),R.height<0&&(R.y+=R.height,R.height*=-1);z.plotY=R.y,z.yBottom=R.y+R.height,R.height<=A&&!z.isNull?(R.height=A,R.y-=g,z.yBottom=R.y+R.height,z.plotY=R.y,X<0?z.minPointLengthOffset=-g:z.minPointLengthOffset=g):(z.isNull&&(R.width=0),z.minPointLengthOffset=0);let J=z.plotY+(z.negative?R.height:0);z.below&&(z.plotY+=R.height),z.tooltipPos&&(this.chart.inverted?z.tooltipPos[0]=B.len-J:z.tooltipPos[1]=J),z.isInside=this.isPointInside(z);let P=E(z.yBottom,this.borderWidth);R.y=E(R.y,this.borderWidth),R.height=P-R.y,o(!0,z.shapeArgs,R)}},{order:2}),m.registerSeriesType("waterfall",p),p}),O(e,"masters/highcharts-more.src.js",[e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Extensions/Pane/Pane.js"],e["Series/Bubble/BubbleSeries.js"],e["Series/PackedBubble/PackedBubbleSeries.js"],e["Series/PolarComposition.js"],e["Core/Axis/RadialAxis.js"],e["Series/Waterfall/WaterfallSeries.js"]],function(m,T,G,$,q,Z,Q,Y){return m.RadialAxis=Q,$.compose(m.Axis,m.Chart,m.Legend),q.compose(m.Axis,m.Chart,m.Legend),G.compose(m.Chart,m.Pointer),Z.compose(m.Axis,m.Chart,m.Pointer,m.Series,m.Tick,m.Point,T.seriesTypes.areasplinerange,T.seriesTypes.column,T.seriesTypes.line,T.seriesTypes.spline),Y.compose(m.Axis,m.Chart),m})})})(Dc);var kg=Dc.exports;const jc=gs(kg);var Nc={exports:{}};(function(t){(function(i){t.exports?(i.default=i,t.exports=i):i(typeof Highcharts<"u"?Highcharts:void 0)})(function(i){var e=i?i._modules:{};function O(m,T,G,$){m.hasOwnProperty(T)||(m[T]=$.apply(null,G),typeof CustomEvent=="function"&&i.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:T,module:m[T]}})))}O(e,"Accessibility/Utils/HTMLUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{doc:G,win:$}=m,{css:q}=T,Z=$.EventTarget&&new $.EventTarget||"none";function Q(F){if(typeof $.MouseEvent=="function")return new $.MouseEvent(F.type,F);if(G.createEvent){let W=G.createEvent("MouseEvent");if(W.initMouseEvent)return W.initMouseEvent(F.type,F.bubbles,F.cancelable,F.view||$,F.detail,F.screenX,F.screenY,F.clientX,F.clientY,F.ctrlKey,F.altKey,F.shiftKey,F.metaKey,F.button,F.relatedTarget),W}return Y(F.type)}function Y(F,W,k){let E=W||{x:0,y:0};if(typeof $.MouseEvent=="function")return new $.MouseEvent(F,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:k||Z,view:$,detail:F==="click"?1:0,screenX:E.x,screenY:E.y,clientX:E.x,clientY:E.y});if(G.createEvent){let M=G.createEvent("MouseEvent");if(M.initMouseEvent)return M.initMouseEvent(F,!0,!0,$,F==="click"?1:0,E.x,E.y,E.x,E.y,!1,!1,!1,!1,0,null),M}return{type:F}}return{addClass:function(F,W){F.classList?F.classList.add(W):0>F.className.indexOf(W)&&(F.className+=" "+W)},cloneMouseEvent:Q,cloneTouchEvent:function(F){let W=E=>{let M=[];for(let v=0;v<E.length;++v){let o=E.item(v);o&&M.push(o)}return M};if(typeof $.TouchEvent=="function"){let E=new $.TouchEvent(F.type,{touches:W(F.touches),targetTouches:W(F.targetTouches),changedTouches:W(F.changedTouches),ctrlKey:F.ctrlKey,shiftKey:F.shiftKey,altKey:F.altKey,metaKey:F.metaKey,bubbles:F.bubbles,cancelable:F.cancelable,composed:F.composed,detail:F.detail,view:F.view});return F.defaultPrevented&&E.preventDefault(),E}let k=Q(F);return k.touches=F.touches,k.changedTouches=F.changedTouches,k.targetTouches=F.targetTouches,k},escapeStringForHTML:function(F){return F.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(F){return G.getElementById(F)},getFakeMouseEvent:Y,getHeadingTagNameForElement:function(F){let W=v=>"h"+Math.min(6,parseInt(v.slice(1),10)+1),k=v=>/^H[1-6]$/i.test(v),E=v=>{let o=v;for(;o=o.previousSibling;){let u=o.tagName||"";if(k(u))return u}return""},M=v=>{let o=E(v);if(o)return W(o);let u=v.parentElement;if(!u)return"p";let x=u.tagName;return k(x)?W(x):M(u)};return M(F)},removeChildNodes:function(F){for(;F.lastChild;)F.removeChild(F.lastChild)},removeClass:function(F,W){F.classList?F.classList.remove(W):F.className=F.className.replace(RegExp(W,"g"),"")},removeElement:function(F){F&&F.parentNode&&F.parentNode.removeChild(F)},reverseChildNodes:function(F){let W=F.childNodes.length;for(;W--;)F.appendChild(F.childNodes[W])},simulatedEventTarget:Z,stripHTMLTagsFromString:function(F,W=!1){return typeof F=="string"?W?F.replace(/<\/?[^>]+(>|$)/g,""):F.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):F},visuallyHideElement:function(F){q(F,{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})}}}),O(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T){var G;let{format:$}=m,{getNestedProperty:q,pick:Z}=T;return function(Q){function Y(W,k,E){let M=(f,p)=>{let b=f.slice(p||0),I=b.indexOf("{"),B=b.indexOf("}");if(I>-1&&B>I)return{statement:b.substring(I+1,B),begin:p+I+1,end:p+B}},v=[],o,u,x=0;do o=M(W,x),(u=W.substring(x,o&&o.begin-1)).length&&v.push({value:u,type:"constant"}),o&&v.push({value:o.statement,type:"statement"}),x=o?o.end+1:x+1;while(o);return v.forEach(f=>{f.type==="statement"&&(f.value=function(p,b){let I,B,A=p.indexOf("#each("),g=p.indexOf("#plural("),S=p.indexOf("["),l=p.indexOf("]");if(A>-1){let r=p.slice(A).indexOf(")")+A,a=p.substring(0,A),d=p.substring(r+1),n=p.substring(A+6,r).split(","),h=Number(n[1]),c;if(B="",I=q(n[0],b)){c=(h=isNaN(h)?I.length:h)<0?I.length+h:Math.min(h,I.length);for(let L=0;L<c;++L)B+=a+I[L]+d}return B.length?B:""}if(g>-1){var s;let r=p.slice(g).indexOf(")")+g,a=p.substring(g+8,r).split(",");switch(Number(q(a[0],b))){case 0:B=Z(a[4],a[1]);break;case 1:B=Z(a[2],a[1]);break;case 2:B=Z(a[3],a[1]);break;default:B=a[1]}return B?(s=B).trim&&s.trim()||s.replace(/^\s+|\s+$/g,""):""}if(S>-1){let r,a=p.substring(0,S),d=Number(p.substring(S+1,l));return I=q(a,b),!isNaN(d)&&I&&(d<0?(r=I[I.length+d])===void 0&&(r=I[0]):(r=I[d])===void 0&&(r=I[I.length-1])),r!==void 0?r:""}return"{"+p+"}"}(f.value,k))}),$(v.reduce((f,p)=>f+p.value,""),k,E)}function F(W,k){let E=W.split("."),M=this.options.lang,v=0;for(;v<E.length;++v)M=M&&M[E[v]];return typeof M=="string"?Y(M,k,this):""}Q.compose=function(W){let k=W.prototype;k.langFormat||(k.langFormat=F)},Q.i18nFormat=Y}(G||(G={})),G}),O(e,"Accessibility/Utils/ChartUtilities.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(m,T,G){let{doc:$}=m,{stripHTMLTagsFromString:q}=T,{defined:Z,find:Q,fireEvent:Y}=G;function F(k){if(k.points&&k.points.length){let E=Q(k.points,M=>!!M.graphic);return E&&E.graphic&&E.graphic.element}}function W(k){let E=F(k);return E&&E.parentNode||k.graph&&k.graph.element||k.group&&k.group.element}return{fireEventOnWrappedOrUnwrappedElement:function k(E,M){let v=M.type,o=E.hcEvents;$.createEvent&&(E.dispatchEvent||E.fireEvent)?E.dispatchEvent?E.dispatchEvent(M):E.fireEvent(v,M):o&&o[v]?Y(E,v,M):E.element&&k(E.element,M)},getChartTitle:function(k){return q(k.options.title.text||k.langFormat("accessibility.defaultChartTitle",{chart:k}),k.renderer.forExport)},getAxisDescription:function(k){var E,M;return k&&(((E=k.options.accessibility)==null?void 0:E.description)||((M=k.axisTitle)==null?void 0:M.textStr)||k.options.id||k.categories&&"categories"||k.dateTime&&"Time"||"values")},getAxisRangeDescription:function(k){let E=k.options||{};return E.accessibility&&E.accessibility.rangeDescription!==void 0?E.accessibility.rangeDescription:k.categories?function(M){let v=M.chart;return M.dataMax&&M.dataMin?v.langFormat("accessibility.axis.rangeCategories",{chart:v,axis:M,numCategories:M.dataMax-M.dataMin+1}):""}(k):k.dateTime&&(k.min===0||k.dataMin===0)?function(M){let v=M.chart,o={},u=M.dataMin||M.min||0,x=M.dataMax||M.max||0,f="Seconds";o.Seconds=(x-u)/1e3,o.Minutes=o.Seconds/60,o.Hours=o.Minutes/60,o.Days=o.Hours/24,["Minutes","Hours","Days"].forEach(function(b){o[b]>2&&(f=b)});let p=o[f].toFixed(f!=="Seconds"&&f!=="Minutes"?1:0);return v.langFormat("accessibility.axis.timeRange"+f,{chart:v,axis:M,range:p.replace(".0","")})}(k):function(M){let v=M.chart,o=v.options,u=o&&o.accessibility&&o.accessibility.screenReaderSection.axisRangeDateFormat||"",x={min:M.dataMin||M.min||0,max:M.dataMax||M.max||0},f=function(p){return M.dateTime?v.time.dateFormat(u,x[p]):x[p].toString()};return v.langFormat("accessibility.axis.rangeFromTo",{chart:v,axis:M,rangeFrom:f("min"),rangeTo:f("max")})}(k)},getPointFromXY:function(k,E,M){let v=k.length,o;for(;v--;)if(o=Q(k[v].points||[],function(u){return u.x===E&&u.y===M}))return o},getSeriesFirstPointElement:F,getSeriesFromName:function(k,E){return E?(k.series||[]).filter(function(M){return M.name===E}):k.series},getSeriesA11yElement:W,unhideChartElementFromAT:function k(E,M){M.setAttribute("aria-hidden",!1),M!==E.renderTo&&M.parentNode&&M.parentNode!==$.body&&(Array.prototype.forEach.call(M.parentNode.childNodes,function(v){v.hasAttribute("aria-hidden")||v.setAttribute("aria-hidden",!0)}),k(E,M.parentNode))},hideSeriesFromAT:function(k){let E=W(k);E&&E.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(k){let E=k.series.xAxis,M=k.series.yAxis,v=E&&E.scrollbar?E:M,o=v&&v.scrollbar;if(o&&Z(o.to)&&Z(o.from)){let u=o.to-o.from,x=function(f,p){if(!Z(f.dataMin)||!Z(f.dataMax))return 0;let b=f.toPixels(f.dataMin),I=f.toPixels(f.dataMax),B=f.coll==="xAxis"?"x":"y";return(f.toPixels(p[B]||0)-b)/(I-b)}(v,k);o.updatePosition(x-u/2,x+u/2),Y(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}}}),O(e,"Accessibility/Utils/DOMElementProvider.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T){let{doc:G}=m,{removeElement:$}=T;return class{constructor(){this.elements=[]}createElement(){let q=G.createElement.apply(G,arguments);return this.elements.push(q),q}removeElement(q){$(q),this.elements.splice(this.elements.indexOf(q),1)}destroyCreatedElements(){this.elements.forEach(function(q){$(q)}),this.elements=[]}}}),O(e,"Accessibility/Utils/EventProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{addEvent:G}=T;return class{constructor(){this.eventRemovers=[]}addEvent(){let $=G.apply(m,arguments);return this.eventRemovers.push({element:arguments[0],remover:$}),$}removeEvent($){let q=this.eventRemovers.map(Z=>Z.remover).indexOf($);this.eventRemovers[q].remover(),this.eventRemovers.splice(q,1)}removeAddedEvents(){this.eventRemovers.map($=>$.remover).forEach($=>$()),this.eventRemovers=[]}}}),O(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{fireEventOnWrappedOrUnwrappedElement:Z}=m,{getFakeMouseEvent:Q}=$,{extend:Y}=q;class F{initBase(k,E){this.chart=k,this.eventProvider=new G,this.domElementProvider=new T,this.proxyProvider=E,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(k,E,M,v){return this.eventProvider.addEvent(k,E,M,v)}createElement(k,E){return this.domElementProvider.createElement(k,E)}fakeClickEvent(k){Z(k,Q("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}return Y(F.prototype,{init(){},getKeyboardNavigation:function(){},onChartUpdate(){},onChartRender(){},destroy(){}}),F}),O(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],function(m){let{find:T}=m;return class{constructor(G,$){this.chart=G,this.keyCodeMap=$.keyCodeMap||[],this.validate=$.validate,this.init=$.init,this.terminate=$.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(G){let $=G.which||G.keyCode,q=this.response.noHandler,Z=T(this.keyCodeMap,function(Q){return Q[0].indexOf($)>-1});return Z?q=Z[1].call(this,$,G):$===9&&(q=this.response[G.shiftKey?"prev":"next"]),q}}}),O(e,"Accessibility/Components/ContainerComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T,G,$,q){let{unhideChartElementFromAT:Z,getChartTitle:Q}=G,{doc:Y}=$,{stripHTMLTagsFromString:F}=q;return class extends m{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let W=this.chart,k="highcharts-title-"+W.index,E=F(W.langFormat("accessibility.svgContainerTitle",{chartTitle:Q(W)}));if(E.length){let M=this.svgTitleElement=this.svgTitleElement||Y.createElementNS("http://www.w3.org/2000/svg","title");M.textContent=E,M.id=k,W.renderTo.insertBefore(M,W.renderTo.firstChild)}}setSVGContainerLabel(){let W=this.chart,k=W.langFormat("accessibility.svgContainerLabel",{chartTitle:Q(W)});W.renderer.box&&k.length&&W.renderer.box.setAttribute("aria-label",k)}setGraphicContainerAttrs(){let W=this.chart,k=W.langFormat("accessibility.graphicContainerLabel",{chartTitle:Q(W)});k.length&&W.container.setAttribute("aria-label",k)}setRenderToAttrs(){let W=this.chart,k=W.options.accessibility.landmarkVerbosity!=="disabled",E=W.langFormat("accessibility.chartContainerLabel",{title:Q(W),chart:W});E&&(W.renderTo.setAttribute("role",k?"region":"group"),W.renderTo.setAttribute("aria-label",E))}makeCreditsAccessible(){let W=this.chart,k=W.credits;k&&(k.textStr&&k.element.setAttribute("aria-label",W.langFormat("accessibility.credits",{creditsStr:F(k.textStr,W.renderer.forExport)})),Z(W,k.element))}getKeyboardNavigation(){let W=this.chart;return new T(W,{keyCodeMap:[],validate:function(){return!0},init:function(){let k=W.accessibility;k&&k.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}}}),O(e,"Accessibility/FocusBorder.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,pick:$}=m;return function(q){let Z=["x","y","transform","width","height","r","d","stroke-width"];function Q(){let k=this.focusElement,E=this.options.accessibility.keyboardNavigation.focusBorder;k&&(k.removeFocusBorder(),E.enabled&&k.addFocusBorder(E.margin,{stroke:E.style.color,strokeWidth:E.style.lineWidth,r:E.style.borderRadius}))}function Y(k,E){let M=this.options.accessibility.keyboardNavigation.focusBorder,v=E||k.element;v&&v.focus&&(v.hcEvents&&v.hcEvents.focusin||G(v,"focusin",function(){}),v.focus(),M.hideBrowserFocusOutline&&(v.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=k,this.renderFocusBorder()}function F(k,E){this.focusBorder&&this.removeFocusBorder();let M=this.getBBox(),v=$(k,3),o=this.parentGroup,u=this.scaleX||o&&o.scaleX,x=this.scaleY||o&&o.scaleY,f=(u?!x:x)?Math.abs(u||x||1):(Math.abs(u||1)+Math.abs(x||1))/2;M.x+=this.translateX?this.translateX:0,M.y+=this.translateY?this.translateY:0;let p=M.x-v,b=M.y-v,I=M.width+2*v,B=M.height+2*v,A=!!this.text;if(this.element.nodeName==="text"||A){let g,S,l=!!this.rotation,s=A?{x:l?1:0,y:0}:(g=0,S=0,this.attr("text-anchor")==="middle"?g=S=.5:this.rotation?g=.25:S=.75,{x:g,y:S}),r=+this.attr("x"),a=+this.attr("y");if(isNaN(r)||(p=r-M.width*s.x-v),isNaN(a)||(b=a-M.height*s.y-v),A&&l){let d=I;I=B,B=d,isNaN(r)||(p=r-M.height*s.x-v),isNaN(a)||(b=a-M.width*s.y-v)}}this.focusBorder=this.renderer.rect(p,b,I,B,parseInt((E&&E.r||0).toString(),10)/f).addClass("highcharts-focus-border").attr({zIndex:99}).add(o),this.renderer.styledMode||this.focusBorder.attr({stroke:E&&E.stroke,"stroke-width":(E&&E.strokeWidth||0)/f}),function(g,...S){g.focusBorderUpdateHooks||(g.focusBorderUpdateHooks={},Z.forEach(l=>{let s=l+"Setter",r=g[s]||g._defaultSetter;g.focusBorderUpdateHooks[s]=r,g[s]=function(){let a=r.apply(g,arguments);return g.addFocusBorder.apply(g,S),a}}))}(this,k,E),function(g){if(g.focusBorderDestroyHook)return;let S=g.destroy;g.destroy=function(){return g.focusBorder&&g.focusBorder.destroy&&g.focusBorder.destroy(),S.apply(g,arguments)},g.focusBorderDestroyHook=S}(this)}function W(){var k;k=this,k.focusBorderUpdateHooks&&(Object.keys(k.focusBorderUpdateHooks).forEach(E=>{let M=k.focusBorderUpdateHooks[E];M===k._defaultSetter?delete k[E]:k[E]=M}),delete k.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}q.compose=function(k,E){let M=k.prototype,v=E.prototype;M.renderFocusBorder||(M.renderFocusBorder=Q,M.setFocusToElement=Y),v.addFocusBorder||(v.addFocusBorder=F,v.removeFocusBorder=W)}}(T||(T={})),T}),O(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{doc:Z}=G,{addClass:Q,visuallyHideElement:Y}=$,{attr:F}=q;return class{constructor(W,k){this.chart=W,this.domElementProvider=new T,this.announceRegion=this.addAnnounceRegion(k)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(W){m.setElementHTML(this.announceRegion,W),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=m.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(W){let k=this.chart.announcerContainer||this.createAnnouncerContainer(),E=this.domElementProvider.createElement("div");return F(E,{"aria-hidden":!1,"aria-live":W,"aria-atomic":!0}),this.chart.styledMode?Q(E,"highcharts-visually-hidden"):Y(E),k.appendChild(E),E}createAnnouncerContainer(){let W=this.chart,k=Z.createElement("div");return F(k,{"aria-hidden":!1,class:"highcharts-announcer-container"}),k.style.position="relative",W.renderTo.insertBefore(k,W.renderTo.firstChild),W.announcerContainer=k,k}}}),O(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],function(m){let{escapeStringForHTML:T,stripHTMLTagsFromString:G}=m;function $(Y){return(Y.annotations||[]).reduce((F,W)=>(W.options&&W.options.visible!==!1&&(F=F.concat(W.labels)),F),[])}function q(Y){return Y.options&&Y.options.accessibility&&Y.options.accessibility.description||Y.graphic&&Y.graphic.text&&Y.graphic.text.textStr||""}function Z(Y){let F=Y.options&&Y.options.accessibility&&Y.options.accessibility.description;if(F)return F;let W=Y.chart,k=q(Y),E=Y.points,M=f=>f.graphic&&f.graphic.element&&f.graphic.element.getAttribute("aria-label")||"",v=E.filter(f=>!!f.graphic).map(f=>{let p=f.accessibility&&f.accessibility.valueDescription||M(f),b=f&&f.series.name||"";return(b?b+", ":"")+"data point "+p}).filter(f=>!!f),o=v.length,u=o>1?"MultiplePoints":o?"SinglePoint":"NoPoints",x={annotationText:k,annotation:Y,numPoints:o,annotationPoint:v[0],additionalAnnotationPoints:v.slice(1)};return W.langFormat("accessibility.screenReaderSection.annotations.description"+u,x)}function Q(Y){return $(Y).map(F=>{let W=T(G(Z(F),Y.renderer.forExport));return W?`<li>${W}</li>`:""})}return{getAnnotationsInfoHTML:function(Y){let F=Y.annotations;return F&&F.length?`<ul style="list-style-type: none">${Q(Y).join(" ")}</ul>`:""},getAnnotationLabelDescription:Z,getAnnotationListItems:Q,getPointAnnotationTexts:function(Y){let F=$(Y.series.chart).filter(W=>W.points.indexOf(Y)>-1);return F.length?F.map(W=>`${q(W)}`):[]}}}),O(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F,W){let{getAnnotationsInfoHTML:k}=$,{getAxisDescription:E,getAxisRangeDescription:M,getChartTitle:v,unhideChartElementFromAT:o}=Z,{format:u}=Q,{doc:x}=Y,{addClass:f,getElement:p,getHeadingTagNameForElement:b,stripHTMLTagsFromString:I,visuallyHideElement:B}=F,{attr:A,pick:g,replaceNested:S}=W;function l(s){return S(s,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends T{constructor(){super(...arguments),this.screenReaderSections={}}init(){let s=this.chart,r=this;this.initRegionsDefinitions(),this.addEvent(s,"aftergetTableAST",function(a){r.onDataTableCreated(a)}),this.addEvent(s,"afterViewData",function(a){a.wasHidden&&(r.dataTableDiv=a.element,setTimeout(function(){r.focusDataTable()},300))}),this.addEvent(s,"afterHideData",function(){r.viewDataTableButton&&r.viewDataTableButton.setAttribute("aria-expanded","false")}),this.announcer=new G(s,"assertive")}initRegionsDefinitions(){let s=this,r=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(a){let d=r.screenReaderSection.beforeChartFormatter;return d?d(a):s.defaultBeforeChartFormatter(a)},insertIntoDOM:function(a,d){d.renderTo.insertBefore(a,d.renderTo.firstChild)},afterInserted:function(){s.sonifyButtonId!==void 0&&s.initSonifyButton(s.sonifyButtonId),s.dataTableButtonId!==void 0&&s.initDataTableButton(s.dataTableButtonId)}},after:{element:null,buildContent:function(a){let d=r.screenReaderSection.afterChartFormatter;return d?d(a):s.defaultAfterChartFormatter()},insertIntoDOM:function(a,d){d.renderTo.insertBefore(a,d.container.nextSibling)},afterInserted:function(){s.chart.accessibility&&r.keyboardNavigation.enabled&&s.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){let s=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),Object.keys(this.screenReaderSections).forEach(function(r){s.updateScreenReaderSection(r)})}getLinkedDescriptionElement(){let s=this.chart.options.accessibility.linkedDescription;if(!s)return;if(typeof s!="string")return s;let r=u(s,this.chart),a=x.querySelectorAll(r);if(a.length===1)return a[0]}setLinkedDescriptionAttrs(){let s=this.linkedDescriptionElement;s&&(s.setAttribute("aria-hidden","true"),f(s,"highcharts-linked-description"))}updateScreenReaderSection(s){let r=this.chart,a=this.screenReaderSections[s],d=a.buildContent(r),n=a.element=a.element||this.createElement("div"),h=n.firstChild||this.createElement("div");d?(this.setScreenReaderSectionAttribs(n,s),q.setElementHTML(h,d),n.appendChild(h),a.insertIntoDOM(n,r),r.styledMode?f(h,"highcharts-visually-hidden"):B(h),o(r,h),a.afterInserted&&a.afterInserted()):(n.parentNode&&n.parentNode.removeChild(n),a.element=null)}setScreenReaderSectionAttribs(s,r){let a=this.chart,d=a.langFormat("accessibility.screenReaderSection."+r+"RegionLabel",{chart:a,chartTitle:v(a)});A(s,{id:`highcharts-screen-reader-region-${r}-${a.index}`,"aria-label":d||void 0}),s.style.position="relative",d&&s.setAttribute("role",a.options.accessibility.landmarkVerbosity==="all"?"region":"group")}defaultBeforeChartFormatter(){let s=this.chart,r=s.options.accessibility.screenReaderSection.beforeChartFormat;if(!r)return"";let a=this.getAxesDescription(),d=s.sonify&&s.options.sonification&&s.options.sonification.enabled,n="highcharts-a11y-sonify-data-btn-"+s.index,h="hc-linkto-highcharts-data-table-"+s.index,c=k(s),L=s.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:s}),z={headingTagName:b(s.renderTo),chartTitle:v(s),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:a.xAxis,yAxisDescription:a.yAxis,playAsSoundButton:d?this.getSonifyButtonText(n):"",viewTableButton:s.getCSV?this.getDataTableButtonText(h):"",annotationsTitle:c?L:"",annotationsList:c},w=m.i18nFormat(r,z,s);return this.dataTableButtonId=h,this.sonifyButtonId=n,l(w)}defaultAfterChartFormatter(){let s=this.chart,r=s.options.accessibility.screenReaderSection.afterChartFormat;if(!r)return"";let a={endOfChartMarker:this.getEndOfChartMarkerText()};return l(m.i18nFormat(r,a,s))}getLinkedDescription(){let s=this.linkedDescriptionElement;return I(s&&s.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){let s=this.chart.options,r=s.caption,a=r&&r.text,d=this.getLinkedDescription();return s.accessibility.description||d||a||""}getTypeDescriptionText(){let s=this.chart;return s.types?s.options.accessibility.typeDescription||function(r,a){let d=a[0],n=r.series&&r.series[0]||{},h=r.mapView&&r.mapView.geoMap&&r.mapView.geoMap.title,c={numSeries:r.series.length,numPoints:n.points&&n.points.length,chart:r,mapTitle:h};return d?d==="map"||d==="tiledwebmap"?c.mapTitle?r.langFormat("accessibility.chartTypes.mapTypeDescription",c):r.langFormat("accessibility.chartTypes.unknownMap",c):r.types.length>1?r.langFormat("accessibility.chartTypes.combinationChart",c):function(L,z,w){let R=z[0],V=L.langFormat("accessibility.seriesTypeDescriptions."+R,w),X=L.series&&L.series.length<2?"Single":"Multiple";return(L.langFormat("accessibility.chartTypes."+R+X,w)||L.langFormat("accessibility.chartTypes.default"+X,w))+(V?" "+V:"")}(r,a,c):r.langFormat("accessibility.chartTypes.emptyChart",c)}(s,s.types):""}getDataTableButtonText(s){let r=this.chart;return'<button id="'+s+'">'+r.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:r,chartTitle:v(r)})+"</button>"}getSonifyButtonText(s){let r=this.chart;return r.options.sonification&&r.options.sonification.enabled===!1?"":'<button id="'+s+'">'+r.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:r,chartTitle:v(r)})+"</button>"}getSubtitleText(){let s=this.chart.options.subtitle;return I(s&&s.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let s=p(`highcharts-end-of-chart-marker-${this.chart.index}`);if(s)return s.outerHTML;let r=this.chart,a=r.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:r});return'<div id="highcharts-end-of-chart-marker-'+r.index+'">'+a+"</div>"}onDataTableCreated(s){let r=this.chart;if(r.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let a=s.tree.attributes||{};a.tabindex=-1,a.summary=r.langFormat("accessibility.table.tableSummary",{chart:r}),s.tree.attributes=a}}focusDataTable(){let s=this.dataTableDiv,r=s&&s.getElementsByTagName("table")[0];r&&r.focus&&r.focus()}initSonifyButton(s){let r=this.sonifyButton=p(s),a=this.chart,d=n=>{r&&(r.setAttribute("aria-hidden","true"),r.setAttribute("aria-label","")),n.preventDefault(),n.stopPropagation();let h=a.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:a});this.announcer.announce(h),setTimeout(()=>{r&&(r.removeAttribute("aria-hidden"),r.removeAttribute("aria-label")),a.sonify&&a.sonify()},1e3)};r&&a&&(r.setAttribute("tabindex",-1),r.onclick=function(n){(a.options.accessibility&&a.options.accessibility.screenReaderSection.onPlayAsSoundClick||d).call(this,n,a)})}initDataTableButton(s){let r=this.viewDataTableButton=p(s),a=this.chart,d=s.replace("hc-linkto-","");r&&(A(r,{tabindex:-1,"aria-expanded":!!p(d)}),r.onclick=a.options.accessibility.screenReaderSection.onViewDataTableClick||function(){a.viewData()})}getAxesDescription(){let s=this.chart,r=function(L,z){let w=s[L];return w.length>1||w[0]&&g(w[0].options.accessibility&&w[0].options.accessibility.enabled,z)},a=!!s.types&&0>s.types.indexOf("map")&&0>s.types.indexOf("treemap")&&0>s.types.indexOf("tilemap"),d=!!s.hasCartesianSeries,n=r("xAxis",!s.angular&&d&&a),h=r("yAxis",d&&a),c={};return n&&(c.xAxis=this.getAxisDescriptionText("xAxis")),h&&(c.yAxis=this.getAxisDescriptionText("yAxis")),c}getAxisDescriptionText(s){let r=this.chart,a=r[s];return r.langFormat("accessibility.axis."+s+"Description"+(a.length>1?"Plural":"Singular"),{chart:r,names:a.map(function(d){return E(d)}),ranges:a.map(function(d){return M(d)}),numAxes:a.length})}destroy(){this.announcer&&this.announcer.destroy()}}}),O(e,"Accessibility/Components/MenuComponent.js",[e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T,G,$,q){let{attr:Z}=m,{getChartTitle:Q,unhideChartElementFromAT:Y}=$,{getFakeMouseEvent:F}=q;function W(E){return E.exportSVGElements&&E.exportSVGElements[0]}class k extends T{init(){let M=this.chart,v=this;this.addEvent(M,"exportMenuShown",function(){v.onMenuShown()}),this.addEvent(M,"exportMenuHidden",function(){v.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let M=this.chart.exportContextMenu;M&&M.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let M=this.chart,v=M.exportContextMenu;v&&(this.addAccessibleContextMenuAttribs(),Y(M,v)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(M){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",M)}onChartRender(){let M=this.chart,v=M.focusElement,o=M.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&v&&v===M.exportingGroup&&(v.focusBorder?M.setFocusToElement(v,this.exportButtonProxy.innerElement):o&&o.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let M=this.chart,v=this.proxyProvider,o=W(M);(function(u){let x=u.options.exporting,f=W(u);return!!(x&&x.enabled!==!1&&x.accessibility&&x.accessibility.enabled&&f&&f.element)})(M)&&o&&(this.exportButtonProxy=v.addProxyElement("chartMenu",{click:o},"button",{"aria-label":M.langFormat("accessibility.exporting.menuButtonLabel",{chart:M,chartTitle:Q(M)}),"aria-expanded":!1,title:M.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let M=this.chart,v=M.exportDivElements;if(v&&v.length){v.forEach(u=>{u&&(u.tagName!=="LI"||u.children&&u.children.length?u.setAttribute("aria-hidden","true"):u.setAttribute("tabindex",-1))});let o=v[0]&&v[0].parentNode;o&&Z(o,{"aria-hidden":void 0,"aria-label":M.langFormat("accessibility.exporting.chartMenuLabel",{chart:M}),role:"list"})}}getKeyboardNavigation(){let M=this.keyCodes,v=this.chart,o=this;return new G(v,{keyCodeMap:[[[M.left,M.up],function(){return o.onKbdPrevious(this)}],[[M.right,M.down],function(){return o.onKbdNext(this)}],[[M.enter,M.space],function(){return o.onKbdClick(this)}]],validate:function(){return!!v.exporting&&v.options.exporting.enabled!==!1&&v.options.exporting.accessibility.enabled!==!1},init:function(){let u=o.exportButtonProxy,x=o.chart.exportingGroup;u&&x&&v.setFocusToElement(x,u.innerElement)},terminate:function(){v.hideExportMenu()}})}onKbdPrevious(M){let v=this.chart,o=v.options.accessibility,u=M.response,x=v.highlightedExportItemIx||0;for(;x--;)if(v.highlightExportItem(x))return u.success;return o.keyboardNavigation.wrapAround?(v.highlightLastExportItem(),u.success):u.prev}onKbdNext(M){let v=this.chart,o=v.options.accessibility,u=M.response;for(let x=(v.highlightedExportItemIx||0)+1;x<v.exportDivElements.length;++x)if(v.highlightExportItem(x))return u.success;return o.keyboardNavigation.wrapAround?(v.highlightExportItem(0),u.success):u.next}onKbdClick(M){let v=this.chart,o=v.exportDivElements[v.highlightedExportItemIx],u=W(v).element;return v.openMenu?this.fakeClickEvent(o):(this.fakeClickEvent(u),v.highlightExportItem(0)),M.response.success}}return function(E){function M(){let x=W(this);if(x){let f=x.element;f.onclick&&f.onclick(F("click"))}}function v(){let x=this.exportDivElements;x&&this.exportContextMenu&&this.openMenu&&(x.forEach(f=>{f&&f.className==="highcharts-menu-item"&&f.onmouseout&&f.onmouseout(F("mouseout"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function o(x){let f=this.exportDivElements&&this.exportDivElements[x],p=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];if(f&&f.tagName==="LI"&&!(f.children&&f.children.length)){let b=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return f.focus&&b&&f.focus(),p&&p.onmouseout&&p.onmouseout(F("mouseout")),f.onmouseover&&f.onmouseover(F("mouseover")),this.highlightedExportItemIx=x,!0}return!1}function u(){if(this.exportDivElements){let x=this.exportDivElements.length;for(;x--;)if(this.highlightExportItem(x))return!0}return!1}E.compose=function(x){let f=x.prototype;f.hideExportMenu||(f.hideExportMenu=v,f.highlightExportItem=o,f.highlightLastExportItem=u,f.showExportMenu=M)}}(k||(k={})),k}),O(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T,G,$,q){let{doc:Z,win:Q}=m,{addEvent:Y,defined:F,fireEvent:W}=G,{getElement:k,simulatedEventTarget:E}=q;class M{constructor(o,u){this.currentModuleIx=NaN,this.modules=[],this.init(o,u)}init(o,u){let x=this.eventProvider=new $;this.chart=o,this.components=u,this.modules=[],this.currentModuleIx=0,this.update(),x.addEvent(this.tabindexContainer,"keydown",f=>this.onKeydown(f)),x.addEvent(this.tabindexContainer,"focus",f=>this.onFocus(f)),["mouseup","touchend"].forEach(f=>x.addEvent(Z,f,p=>this.onMouseUp(p))),["mousedown","touchstart"].forEach(f=>x.addEvent(o.renderTo,f,()=>{this.isClickingChart=!0}))}update(o){let u=this.chart.options.accessibility,x=u&&u.keyboardNavigation,f=this.components;this.updateContainerTabindex(),x&&x.enabled&&o&&o.length?(this.modules=o.reduce(function(p,b){let I=f[b].getKeyboardNavigation();return p.concat(I)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let o=k(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),o?(this.makeElementAnExitAnchor(o),this.exitAnchor=o):this.createExitAnchor()}move(o){let u=this.modules&&this.modules[this.currentModuleIx];u&&u.terminate&&u.terminate(o),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=o;let x=this.modules&&this.modules[this.currentModuleIx];if(x){if(x.validate&&!x.validate())return this.move(o);if(x.init)return x.init(o),!0}return this.currentModuleIx=0,this.exiting=!0,o>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(o){let u=this.chart,x=o.relatedTarget&&u.container.contains(o.relatedTarget),f=u.options.accessibility,p=f&&f.keyboardNavigation;if(p&&p.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!x){let b=this.getFirstValidModuleIx();b!==null&&(this.currentModuleIx=b,this.modules[b].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(o){if(delete this.isClickingChart,!this.keyboardReset&&o.relatedTarget!==E){let u=this.chart;if(!o.target||!u.container.contains(o.target)){let x=this.modules&&this.modules[this.currentModuleIx||0];x&&x.terminate&&x.terminate(),this.currentModuleIx=0}u.focusElement&&(u.focusElement.removeFocusBorder(),delete u.focusElement),this.keyboardReset=!0}}onKeydown(o){let u,x=o||Q.event,f=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],p=x.target;if((!p||p.nodeName!=="INPUT"||p.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,f)){let b=f.run(x);b===f.response.success?u=!0:b===f.response.prev?u=this.move(-1):b===f.response.next&&(u=this.move(1)),u&&(x.preventDefault(),x.stopPropagation())}}updateContainerTabindex(){let o,u=this.chart.options.accessibility,x=u&&u.keyboardNavigation,f=!(x&&x.enabled===!1),p=this.chart,b=p.container;p.renderTo.hasAttribute("tabindex")?(b.removeAttribute("tabindex"),o=p.renderTo):o=b,this.tabindexContainer=o;let I=o.getAttribute("tabindex");f&&!I?o.setAttribute("tabindex","0"):f||p.container.removeAttribute("tabindex")}createExitAnchor(){let o=this.chart,u=this.exitAnchor=Z.createElement("div");o.renderTo.appendChild(u),this.makeElementAnExitAnchor(u)}makeElementAnExitAnchor(o){let u=this.tabindexContainer.getAttribute("tabindex")||0;o.setAttribute("class","highcharts-exit-anchor"),o.setAttribute("tabindex",u),o.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(o)}removeExitAnchor(){if(this.exitAnchor){let o=this.eventProvider.eventRemovers.find(u=>u.element===this.exitAnchor);o&&F(o.remover)&&this.eventProvider.removeEvent(o.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(o){let u=this.chart,x=this;this.eventProvider.addEvent(o,"focus",function(f){let p=f||Q.event,b=!(p.relatedTarget&&u.container.contains(p.relatedTarget)||x.exiting);if(u.focusElement&&delete u.focusElement,b){if(x.tabbingInBackwards=!0,x.tabindexContainer.focus(),delete x.tabbingInBackwards,p.preventDefault(),x.modules&&x.modules.length){x.currentModuleIx=x.modules.length-1;let I=x.modules[x.currentModuleIx];I&&I.validate&&!I.validate()?x.move(-1):I&&I.init(-1)}}else x.exiting=!1})}getFirstValidModuleIx(){let o=this.modules.length;for(let u=0;u<o;++u){let x=this.modules[u];if(!x.validate||x.validate())return u}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}return function(v){function o(){let x=this;W(this,"dismissPopupContent",{},function(){x.tooltip&&x.tooltip.hide(0),x.hideExportMenu()})}function u(x){(x.which||x.keyCode)===27&&m.charts&&m.charts.forEach(f=>{f&&f.dismissPopupContent&&f.dismissPopupContent()})}v.compose=function(x){T.compose(x);let f=x.prototype;return f.dismissPopupContent||(f.dismissPopupContent=o,Y(Z,"keydown",u)),x}}(M||(M={})),M}),O(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T,G,$,q,Z,Q,Y){let{animObject:F}=m,{doc:W}=T,{addEvent:k,fireEvent:E,isNumber:M,pick:v,syncTimeout:o}=$,{getChartTitle:u}=Q,{stripHTMLTagsFromString:x,addClass:f,removeClass:p}=Y;function b(A){let g=A.legend&&A.legend.allItems,S=A.options.legend.accessibility||{},l=A.colorAxis&&A.colorAxis.some(s=>!s.dataClasses||!s.dataClasses.length);return!!(g&&g.length&&!l&&S.enabled!==!1)}function I(A,g){let S=g.legendItem||{};for(let l of(g.setState(A?"hover":"",!0),["group","label","symbol"])){let s=S[l],r=s&&s.element||s;r&&E(r,A?"mouseover":"mouseout")}}class B extends q{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let g=this;this.recreateProxies(),this.addEvent(G,"afterScroll",function(){this.chart===g.chart&&(g.proxyProvider.updateGroupProxyElementPositions("legend"),g.updateLegendItemProxyVisibility(),g.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(g.highlightedLegendItemIx))}),this.addEvent(G,"afterPositionItem",function(S){this.chart===g.chart&&this.chart.renderer&&g.updateProxyPositionForItem(S.item)}),this.addEvent(G,"afterRender",function(){this.chart===g.chart&&this.chart.renderer&&g.recreateProxies()&&o(()=>g.proxyProvider.updateGroupProxyElementPositions("legend"),F(v(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let g,S=this.chart,l=S.legend,s=l.allItems||[],r=l.currentPage||1,a=l.clipHeight||0;s.forEach(d=>{if(d.a11yProxyElement){let n=l.pages&&l.pages.length,h=d.a11yProxyElement.element,c=!1;if(g=d.legendItem||{},n){let L=g.pageIx||0;c=(g.y||0)+(g.label?Math.round(g.label.getBBox().height):0)-l.pages[L]>a||L!==r-1}c?S.styledMode?f(h,"highcharts-a11y-invisible"):h.style.visibility="hidden":(p(h,"highcharts-a11y-invisible"),h.style.visibility="")}})}onChartRender(){b(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(g){let S=this.chart,l=S.legend,s=(l.currentPage||1)+g,r=l.pages||[];if(s>0&&s<=r.length){let a=0;for(let d of l.allItems)((d.legendItem||{}).pageIx||0)+1===s&&S.highlightLegendItem(a)&&(this.highlightedLegendItemIx=a),++a}}updateProxyPositionForItem(g){g.a11yProxyElement&&g.a11yProxyElement.refreshPosition()}recreateProxies(){let g=W.activeElement,S=this.proxyGroup,l=g&&S&&S.contains(g);return this.removeProxies(),!!b(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),l&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){let g=this.chart,S=x((g.legend&&g.legend.options.title&&g.legend.options.title.text||"").replace(/<br ?\/?>/g," "),g.renderer.forExport),l=g.langFormat("accessibility.legend.legendLabel"+(S?"":"NoTitle"),{chart:g,legendTitle:S,chartTitle:u(g)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":l})}addLegendProxyGroup(){let g=this.chart.options.accessibility.landmarkVerbosity==="all"?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:g})}proxyLegendItems(){let g,S=this;((this.chart.legend||{}).allItems||[]).forEach(l=>{(g=l.legendItem||{}).label&&g.label.element&&S.proxyLegendItem(l)})}proxyLegendItem(g){let S=g.legendItem||{};if(!S.label||!S.group)return;let l=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:x(g.name,this.chart.renderer.forExport),item:g}),s={tabindex:-1,"aria-pressed":g.visible,"aria-label":l},r=S.group.div?S.label:S.group;g.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:S.label,visual:r.element},"button",s)}getKeyboardNavigation(){let g=this.keyCodes,S=this,l=this.chart;return new Z(l,{keyCodeMap:[[[g.left,g.right,g.up,g.down],function(s){return S.onKbdArrowKey(this,s)}],[[g.enter,g.space],function(){return S.onKbdClick(this)}],[[g.pageDown,g.pageUp],function(s){let r=s===g.pageDown?1:-1;return S.highlightAdjacentLegendPage(r),this.response.success}]],validate:function(){return S.shouldHaveLegendNavigation()},init:function(){l.highlightLegendItem(0),S.highlightedLegendItemIx=0},terminate:function(){S.highlightedLegendItemIx=-1,l.legend.allItems.forEach(s=>I(!1,s))}})}onKbdArrowKey(g,S){let{keyCodes:{left:l,up:s},highlightedLegendItemIx:r,chart:a}=this,d=a.legend.allItems.length,n=a.options.accessibility.keyboardNavigation.wrapAround,h=S===l||S===s?-1:1;return a.highlightLegendItem(r+h)?this.highlightedLegendItemIx+=h:n&&d>1&&(this.highlightedLegendItemIx=h>0?0:d-1,a.highlightLegendItem(this.highlightedLegendItemIx)),g.response.success}onKbdClick(g){let S=this.chart.legend.allItems[this.highlightedLegendItemIx];return S&&S.a11yProxyElement&&S.a11yProxyElement.click(),g.response.success}shouldHaveLegendNavigation(){if(!b(this.chart))return!1;let g=this.chart,S=(g.options.legend||{}).accessibility||{};return!!(g.legend.display&&S.keyboardNavigation&&S.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}return function(A){function g(l){let s=this.legend.allItems,r=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,a=s[l],d=(a==null?void 0:a.legendItem)||{};if(a){M(r)&&s[r]&&I(!1,s[r]),function(c,L){let z=(c.allItems[L].legendItem||{}).pageIx,w=c.currentPage;z!==void 0&&z+1!==w&&c.scroll(1+z-w)}(this.legend,l);let n=d.label,h=a.a11yProxyElement&&a.a11yProxyElement.innerElement;return n&&n.element&&h&&this.setFocusToElement(n,h),I(!0,a),!0}return!1}function S(l){let s=this.chart.options.accessibility,r=l.item;s.enabled&&r&&r.a11yProxyElement&&r.a11yProxyElement.innerElement.setAttribute("aria-pressed",l.visible?"true":"false")}A.compose=function(l,s){let r=l.prototype;r.highlightLegendItem||(r.highlightLegendItem=g,k(s,"afterColorizeItem",S))}}(B||(B={})),B}),O(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let G,{isTouchDevice:$}=m,{addEvent:q,merge:Z,pick:Q}=T,Y=[];function F(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function W(){var I;let u,x,f,p=this.legend,b=this.navigator;if(b){u=p&&p.options,x=b.xAxis,f=b.yAxis;let{scrollbarHeight:B,scrollButtonSize:A}=b;this.inverted?(b.left=b.opposite?this.chartWidth-B-b.height:this.spacing[3]+B,b.top=this.plotTop+A):(b.left=Q(x.left,this.plotLeft+A),b.top=b.navigatorOptions.top||this.chartHeight-b.height-B-(((I=this.scrollbar)==null?void 0:I.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(u&&u.verticalAlign==="bottom"&&u.layout!=="proximate"&&u.enabled&&!u.floating?p.legendHeight+Q(u.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),x&&f&&(this.inverted?x.options.left=f.options.left=b.left:x.options.top=f.options.top=b.top,x.setAxisSize(),f.setAxisSize())}}function k(u){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new G(this),Q(u.redraw,!0)&&this.redraw(u.animation))}function E(){let u=this.options;(u.navigator.enabled||u.scrollbar.enabled)&&(this.scroller=this.navigator=new G(this))}function M(){let u=this.options,x=u.navigator,f=u.rangeSelector;if((x&&x.enabled||f&&f.enabled)&&(!$&&this.zooming.type==="x"||$&&this.zooming.pinchType==="x"))return!1}function v(u){let x=u.navigator;if(x&&u.xAxis[0]){let f=u.xAxis[0].getExtremes();x.render(f.min,f.max)}}function o(u){let x=u.options.navigator||{},f=u.options.scrollbar||{};!this.navigator&&!this.scroller&&(x.enabled||f.enabled)&&(Z(!0,this.options.navigator,x),Z(!0,this.options.scrollbar,f),delete u.options.navigator,delete u.options.scrollbar)}return{compose:function(u,x){if(T.pushUnique(Y,u)){let f=u.prototype;G=x,f.callbacks.push(v),q(u,"afterAddSeries",F),q(u,"afterSetChartSize",W),q(u,"afterUpdate",k),q(u,"beforeRender",E),q(u,"beforeShowResetZoom",M),q(u,"update",o)}}}}),O(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{isTouchDevice:G}=m,{addEvent:$,correctFloat:q,defined:Z,isNumber:Q,pick:Y}=T;function F(){this.navigatorAxis||(this.navigatorAxis=new k(this))}function W(E){let M,v=this.chart,o=v.options,u=o.navigator,x=this.navigatorAxis,f=v.zooming.pinchType,p=o.rangeSelector,b=v.zooming.type;if(this.isXAxis&&(u!=null&&u.enabled||p!=null&&p.enabled)){if(b==="y"&&E.trigger==="zoom")M=!1;else if((E.trigger==="zoom"&&b==="xy"||G&&f==="xy")&&this.options.range){let I=x.previousZoom;Z(E.min)?x.previousZoom=[this.min,this.max]:I&&(E.min=I[0],E.max=I[1],x.previousZoom=void 0)}}M!==void 0&&E.preventDefault()}class k{static compose(M){M.keepProps.includes("navigatorAxis")||(M.keepProps.push("navigatorAxis"),$(M,"init",F),$(M,"setExtremes",W))}constructor(M){this.axis=M}destroy(){this.axis=void 0}toFixedRange(M,v,o,u){let x=this.axis,f=(x.pointRange||0)/2,p=Y(o,x.translate(M,!0,!x.horiz)),b=Y(u,x.translate(v,!0,!x.horiz));return Z(o)||(p=q(p+f)),Z(u)||(b=q(b-f)),Q(p)&&Q(b)||(p=b=void 0),{min:p,max:b}}}return k}),O(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(m,T){let{parse:G}=m,{seriesTypes:$}=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:G("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:$.areaspline===void 0?"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}}}),O(e,"Stock/Navigator/NavigatorSymbols.js",[e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(m,T){let{relativeLength:G}=T;return{"navigator-handle":function($,q,Z,Q,Y={}){let F=Y.width?Y.width/2:Z,W=G(Y.borderRadius||0,Math.min(2*F,Q));return[["M",-1.5,(Q=Y.height||Q)/2-3.5],["L",-1.5,Q/2+4.5],["M",.5,Q/2-3.5],["L",.5,Q/2+4.5],...m.rect(-F-1,.5,2*F+1,Q,{r:W})]}}}),O(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],function(m){let{defined:T}=m;return{setFixedRange:function(G){let $=this.xAxis[0];T($.dataMax)&&T($.dataMin)&&G?this.fixedRange=Math.min(G,$.dataMax-$.dataMin):this.fixedRange=G}}}),O(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(m,T,G,$,q,Z,Q,Y){let{setOptions:F}=m,{composed:W}=T,{getRendererType:k}=Z,{setFixedRange:E}=Q,{addEvent:M,extend:v,pushUnique:o}=Y;function u(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(x,f,p){G.compose(f),o(W,"Navigator")&&(x.prototype.setFixedRange=E,v(k().prototype.symbols,q),M(p,"afterUpdate",u),F({navigator:$}))}}}),O(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){var G;let{composed:$}=m,{addEvent:q,defined:Z,pick:Q,pushUnique:Y}=T;return function(F){let W;function k(o){let u=Q(o.options&&o.options.min,o.min),x=Q(o.options&&o.options.max,o.max);return{axisMin:u,axisMax:x,scrollMin:Z(o.dataMin)?Math.min(u,o.min,o.dataMin,Q(o.threshold,1/0)):u,scrollMax:Z(o.dataMax)?Math.max(x,o.max,o.dataMax,Q(o.threshold,-1/0)):x}}function E(){let o=this.scrollbar,u=o&&!o.options.opposite,x=this.horiz?2:u?3:1;o&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[x]+=o.size+(o.options.margin||0))}function M(){let o=this;o.options&&o.options.scrollbar&&o.options.scrollbar.enabled&&(o.options.scrollbar.vertical=!o.horiz,o.options.startOnTick=o.options.endOnTick=!1,o.scrollbar=new W(o.chart.renderer,o.options.scrollbar,o.chart),q(o.scrollbar,"changed",function(u){let x,f,{axisMin:p,axisMax:b,scrollMin:I,scrollMax:B}=k(o),A=B-I;if(Z(p)&&Z(b))if(o.horiz&&!o.reversed||!o.horiz&&o.reversed?(x=I+A*this.to,f=I+A*this.from):(x=I+A*(1-this.from),f=I+A*(1-this.to)),this.shouldUpdateExtremes(u.DOMType)){let g=u.DOMType!=="mousemove"&&u.DOMType!=="touchmove"&&void 0;o.setExtremes(f,x,!0,g,u)}else this.setRange(this.from,this.to)}))}function v(){let o,u,x,{scrollMin:f,scrollMax:p}=k(this),b=this.scrollbar,I=this.axisTitleMargin+(this.titleOffset||0),B=this.chart.scrollbarsOffsets,A=this.options.margin||0;if(b&&B){if(this.horiz)this.opposite||(B[1]+=I),b.position(this.left,this.top+this.height+2+B[1]-(this.opposite?A:0),this.width,this.height),this.opposite||(B[1]+=A),o=1;else{let g;this.opposite&&(B[0]+=I),g=b.options.opposite?this.left+this.width+2+B[0]-(this.opposite?0:A):this.opposite?0:A,b.position(g,this.top,this.width,this.height),this.opposite&&(B[0]+=A),o=0}B[o]+=b.size+(b.options.margin||0),isNaN(f)||isNaN(p)||!Z(this.min)||!Z(this.max)||this.min===this.max?b.setRange(0,1):(u=(this.min-f)/(p-f),x=(this.max-f)/(p-f),this.horiz&&!this.reversed||!this.horiz&&this.reversed?b.setRange(u,x):b.setRange(1-x,1-u))}}F.compose=function(o,u){Y($,"Axis.Scrollbar")&&(W=u,q(o,"afterGetOffset",E),q(o,"afterInit",M),q(o,"afterRender",v))}}(G||(G={})),G}),O(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}}),O(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(m,T,G,$,q){let{defaultOptions:Z}=m,{addEvent:Q,correctFloat:Y,crisp:F,defined:W,destroyObjectProperties:k,fireEvent:E,merge:M,pick:v,removeEvent:o}=q;class u{static compose(f){G.compose(f,u)}static swapXY(f,p){return p&&f.forEach(b=>{let I,B=b.length;for(let A=0;A<B;A+=2)typeof(I=b[A+1])=="number"&&(b[A+1]=b[A+2],b[A+2]=I)}),f}constructor(f,p,b){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(f,p,b)}addEvents(){let f=this.options.inverted?[1,0]:[0,1],p=this.scrollbarButtons,b=this.scrollbarGroup.element,I=this.track.element,B=this.mouseDownHandler.bind(this),A=this.mouseMoveHandler.bind(this),g=this.mouseUpHandler.bind(this),S=[[p[f[0]].element,"click",this.buttonToMinClick.bind(this)],[p[f[1]].element,"click",this.buttonToMaxClick.bind(this)],[I,"click",this.trackClick.bind(this)],[b,"mousedown",B],[b.ownerDocument,"mousemove",A],[b.ownerDocument,"mouseup",g],[b,"touchstart",B],[b.ownerDocument,"touchmove",A],[b.ownerDocument,"touchend",g]];S.forEach(function(l){Q.apply(null,l)}),this._events=S}buttonToMaxClick(f){let p=(this.to-this.from)*v(this.options.step,.2);this.updatePosition(this.from+p,this.to+p),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}buttonToMinClick(f){let p=Y(this.to-this.from)*v(this.options.step,.2);this.updatePosition(Y(this.from-p),Y(this.to-p)),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}cursorToScrollbarPosition(f){let p=this.options,b=p.minWidth>this.calculatedWidth?p.minWidth:0;return{chartX:(f.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(f.chartY-this.y-this.yOffset)/(this.barWidth-b)}}destroy(){let f=this,p=f.chart.scroller;f.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){f[b]&&f[b].destroy&&(f[b]=f[b].destroy())}),p&&f===p.scrollbar&&(p.scrollbar=null,k(p.scrollbarButtons))}drawScrollbarButton(f){let p=this.renderer,b=this.scrollbarButtons,I=this.options,B=this.size,A=p.g().add(this.group);if(b.push(A),I.buttonsEnabled){let g=p.rect().addClass("highcharts-scrollbar-button").add(A);this.chart.styledMode||g.attr({stroke:I.buttonBorderColor,"stroke-width":I.buttonBorderWidth,fill:I.buttonBackgroundColor}),g.attr(g.crisp({x:-.5,y:-.5,width:B,height:B,r:I.buttonBorderRadius},g.strokeWidth()));let S=p.path(u.swapXY([["M",B/2+(f?-1:1),B/2-3],["L",B/2+(f?-1:1),B/2+3],["L",B/2+(f?2:-2),B/2]],I.vertical)).addClass("highcharts-scrollbar-arrow").add(b[f]);this.chart.styledMode||S.attr({fill:I.buttonArrowColor})}}init(f,p,b){this.scrollbarButtons=[],this.renderer=f,this.userOptions=p,this.options=M($,Z.scrollbar,p),this.options.margin=v(this.options.margin,10),this.chart=b,this.size=v(this.options.size,this.options.height),p.enabled&&(this.render(),this.addEvents())}mouseDownHandler(f){var I;let p=((I=this.chart.pointer)==null?void 0:I.normalize(f))||f,b=this.cursorToScrollbarPosition(p);this.chartX=b.chartX,this.chartY=b.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(f){var A;let p,b=((A=this.chart.pointer)==null?void 0:A.normalize(f))||f,I=this.options.vertical?"chartY":"chartX",B=this.initPositions||[];this.grabbedCenter&&(!f.touches||f.touches[0][I]!==0)&&(p=this.cursorToScrollbarPosition(b)[I]-this[I],this.hasDragged=!0,this.updatePosition(B[0]+p,B[1]+p),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f}))}mouseUpHandler(f){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(f,p,b,I){let{buttonsEnabled:B,margin:A=0,vertical:g}=this.options,S=this.rendered?"animate":"attr",l=I,s=0;this.group.show(),this.x=f,this.y=p+this.trackBorderWidth,this.width=b,this.height=I,this.xOffset=l,this.yOffset=s,g?(this.width=this.yOffset=b=s=this.size,this.xOffset=l=0,this.yOffset=s=B?this.size:0,this.barWidth=I-(B?2*b:0),this.x=f+=A):(this.height=I=this.size,this.xOffset=l=B?this.size:0,this.barWidth=b-(B?2*I:0),this.y=this.y+A),this.group[S]({translateX:f,translateY:this.y}),this.track[S]({width:b,height:I}),this.scrollbarButtons[1][S]({translateX:g?0:b-l,translateY:g?I-s:0})}removeEvents(){this._events.forEach(function(f){o.apply(null,f)}),this._events.length=0}render(){let f=this.renderer,p=this.options,b=this.size,I=this.chart.styledMode,B=f.g("scrollbar").attr({zIndex:p.zIndex}).hide().add();this.group=B,this.track=f.rect().addClass("highcharts-scrollbar-track").attr({r:p.trackBorderRadius||0,height:b,width:b}).add(B),I||this.track.attr({fill:p.trackBackgroundColor,stroke:p.trackBorderColor,"stroke-width":p.trackBorderWidth});let A=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-F(0,A),y:-F(0,A)}),this.scrollbarGroup=f.g().add(B),this.scrollbar=f.rect().addClass("highcharts-scrollbar-thumb").attr({height:b-A,width:b-A,r:p.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=f.path(u.swapXY([["M",-3,b/4],["L",-3,2*b/3],["M",0,b/4],["L",0,2*b/3],["M",3,b/4],["L",3,2*b/3]],p.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),I||(this.scrollbar.attr({fill:p.barBackgroundColor,stroke:p.barBorderColor,"stroke-width":p.barBorderWidth}),this.scrollbarRifles.attr({stroke:p.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-F(0,this.scrollbarStrokeWidth),-F(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(f,p){let b,I,B=this.options,A=B.vertical,g=B.minWidth,S=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!W(S))return;let s=S*Math.min(p,1);b=Math.ceil(S*(f=Math.max(f,0))),this.calculatedWidth=I=Y(s-b),I<g&&(b=(S-g+I)*f,I=g);let r=Math.floor(b+this.xOffset+this.yOffset),a=I/2-.5;this.from=f,this.to=p,A?(this.scrollbarGroup[l]({translateY:r}),this.scrollbar[l]({height:I}),this.scrollbarRifles[l]({translateY:a}),this.scrollbarTop=r,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:r}),this.scrollbar[l]({width:I}),this.scrollbarRifles[l]({translateX:a}),this.scrollbarLeft=r,this.scrollbarTop=0),I<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),B.showFull===!1&&(f<=0&&p>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(f){return v(this.options.liveRedraw,T.svg&&!T.isTouchDevice&&!this.chart.boosted)||f==="mouseup"||f==="touchend"||!W(f)}trackClick(f){var A;let p=((A=this.chart.pointer)==null?void 0:A.normalize(f))||f,b=this.to-this.from,I=this.y+this.scrollbarTop,B=this.x+this.scrollbarLeft;this.options.vertical&&p.chartY>I||!this.options.vertical&&p.chartX>B?this.updatePosition(this.from+b,this.to+b):this.updatePosition(this.from-b,this.to-b),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}update(f){this.destroy(),this.init(this.chart.renderer,M(!0,this.options,f),this.chart)}updatePosition(f,p){p>1&&(f=Y(1-Y(p-f)),p=1),f<0&&(p=Y(p-f),f=0),this.from=f,this.to=p}}return u.defaultOptions=$,Z.scrollbar=M(!0,u.defaultOptions,Z.scrollbar),u}),O(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(m,T,G,$,q,Z,Q,Y,F){let{defaultOptions:W}=G,{isTouchDevice:k}=$,{prototype:{symbols:E}}=Y,{addEvent:M,clamp:v,correctFloat:o,defined:u,destroyObjectProperties:x,erase:f,extend:p,find:b,fireEvent:I,isArray:B,isNumber:A,merge:g,pick:S,removeEvent:l,splat:s}=F;function r(d,...n){let h=[].filter.call(n,A);if(h.length)return Math[d].apply(0,h)}class a{static compose(n,h,c){T.compose(n,a),Z.compose(n,h,c)}constructor(n){this.isDirty=!1,this.scrollbarHeight=0,this.init(n)}drawHandle(n,h,c,L){let z=this.navigatorOptions.handles.height;this.handles[h][L](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(n,10)+.5-z)}:{translateX:Math.round(this.left+parseInt(n,10)),translateY:Math.round(this.top+this.height/2-z/2-1)})}drawOutline(n,h,c,L){let z=this.navigatorOptions.maskInside,w=this.outline.strokeWidth(),R=w/2,V=w%2/2,X=this.scrollButtonSize,J=this.size,P=this.top,C=this.height,N=P-R,_=P+C,y=this.left,D,j;c?(D=P+h+V,h=P+n+V,j=[["M",y+C,P-X-V],["L",y+C,D],["L",y,D],["M",y,h],["L",y+C,h],["L",y+C,P+J+X]],z&&j.push(["M",y+C,D-R],["L",y+C,h+R])):(y-=X,n+=y+X-V,h+=y+X-V,j=[["M",y,N],["L",n,N],["L",n,_],["M",h,_],["L",h,N],["L",y+J+2*X,N]],z&&j.push(["M",n-R,N],["L",h+R,N])),this.outline[L]({d:j})}drawMasks(n,h,c,L){let z,w,R,V,X=this.left,J=this.top,P=this.height;c?(R=[X,X,X],V=[J,J+n,J+h],w=[P,P,P],z=[n,h-n,this.size-h]):(R=[X,X+n,X+h],V=[J,J,J],w=[n,h-n,this.size-h],z=[P,P,P]),this.shades.forEach((C,N)=>{C[L]({x:R[N],y:V[N],width:w[N],height:z[N]})})}renderElements(){var X;let n=this,h=n.navigatorOptions,c=h.maskInside,L=n.chart,z=L.inverted,w=L.renderer,R={cursor:z?"ns-resize":"ew-resize"},V=n.navigatorGroup??(n.navigatorGroup=w.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!c,c,!c].forEach((J,P)=>{let C=n.shades[P]??(n.shades[P]=w.rect().addClass("highcharts-navigator-mask"+(P===1?"-inside":"-outside")).add(V));L.styledMode||(C.attr({fill:J?h.maskFill:"rgba(0,0,0,0)"}),P===1&&C.css(R))}),n.outline||(n.outline=w.path().addClass("highcharts-navigator-outline").add(V)),L.styledMode||n.outline.attr({"stroke-width":h.outlineWidth,stroke:h.outlineColor}),(X=h.handles)==null?void 0:X.enabled){let J=h.handles,{height:P,width:C}=J;[0,1].forEach(N=>{let _=J.symbols[N];if(n.handles[N]){if(_!==n.handles[N].symbolName){let y=E[_].call(E,-C/2-1,0,C,P);n.handles[N].attr({d:y}),n.handles[N].symbolName=_}}else n.handles[N]=w.symbol(_,-C/2-1,0,C,P,J),n.handles[N].attr({zIndex:7-N}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][N]).add(V);L.inverted&&n.handles[N].attr({rotation:90,rotationOriginX:Math.floor(-C/2),rotationOriginY:(P+C)/2}),L.styledMode||n.handles[N].attr({fill:J.backgroundColor,stroke:J.borderColor,"stroke-width":J.lineWidth,width:J.width,height:J.height,x:-C/2-1,y:0}).css(R)})}}update(n,h=!1){var z;let c=this.chart,L=c.options.chart.inverted!==((z=c.scrollbar)==null?void 0:z.options.vertical);if(g(!0,c.options.navigator,n),this.navigatorOptions=c.options.navigator||{},this.setOpposite(),u(n.enabled)||L)return this.destroy(),this.navigatorEnabled=n.enabled||this.navigatorEnabled,this.init(c);if(this.navigatorEnabled&&(this.isDirty=!0,n.adaptToUpdatedData===!1&&this.baseSeries.forEach(w=>{l(w,"updatedData",this.updatedDataHandler)},this),n.adaptToUpdatedData&&this.baseSeries.forEach(w=>{w.eventsToUnbind.push(M(w,"updatedData",this.updatedDataHandler))},this),(n.series||n.baseSeries)&&this.setBaseSeries(void 0,!1),n.height||n.xAxis||n.yAxis)){this.height=n.height??this.height;let w=this.getXAxisOffsets();this.xAxis.update({...n.xAxis,offsets:w,[c.inverted?"width":"height"]:this.height,[c.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...n.yAxis,[c.inverted?"width":"height"]:this.height},!1)}h&&c.redraw()}render(n,h,c,L){let z=this.chart,w=this.xAxis,R=w.pointRange||0,V=w.navigatorAxis.fake?z.xAxis[0]:w,X=this.navigatorEnabled,J=this.rendered,P=z.inverted,C=z.xAxis[0].minRange,N=z.xAxis[0].options.maxRange,_=this.scrollButtonSize,y,D,j,H=this.scrollbarHeight,U,K;if(this.hasDragged&&!u(c))return;if(this.isDirty&&this.renderElements(),n=o(n-R/2),h=o(h+R/2),!A(n)||!A(h)){if(!J)return;c=0,L=S(w.width,V.width)}this.left=S(w.left,z.plotLeft+_+(P?z.plotWidth:0));let et=this.size=U=S(w.len,(P?z.plotHeight:z.plotWidth)-2*_);y=P?H:U+2*_,c=S(c,w.toPixels(n,!0)),L=S(L,w.toPixels(h,!0)),A(c)&&Math.abs(c)!==1/0||(c=0,L=y);let rt=w.toValue(c,!0),nt=w.toValue(L,!0),lt=Math.abs(o(nt-rt));lt<C?this.grabbedLeft?c=w.toPixels(nt-C-R,!0):this.grabbedRight&&(L=w.toPixels(rt+C+R,!0)):u(N)&&o(lt-R)>N&&(this.grabbedLeft?c=w.toPixels(nt-N-R,!0):this.grabbedRight&&(L=w.toPixels(rt+N+R,!0))),this.zoomedMax=v(Math.max(c,L),0,et),this.zoomedMin=v(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,L),0,et),this.range=this.zoomedMax-this.zoomedMin,et=Math.round(this.zoomedMax);let ht=Math.round(this.zoomedMin);X&&(this.navigatorGroup.attr({visibility:"inherit"}),K=J&&!this.hasDragged?"animate":"attr",this.drawMasks(ht,et,P,K),this.drawOutline(ht,et,P,K),this.navigatorOptions.handles.enabled&&(this.drawHandle(ht,0,P,K),this.drawHandle(et,1,P,K))),this.scrollbar&&(P?(j=this.top-_,D=this.left-H+(X||!V.opposite?0:(V.titleOffset||0)+V.axisTitleMargin),H=U+2*_):(j=this.top+(X?this.height:-H),D=this.left-_),this.scrollbar.position(D,j,y,H),this.scrollbar.setRange(this.zoomedMin/(U||1),this.zoomedMax/(U||1))),this.rendered=!0,this.isDirty=!1,I(this,"afterRender")}addMouseEvents(){let n=this,h=n.chart,c=h.container,L=[],z,w;n.mouseMoveHandler=z=function(R){n.onMouseMove(R)},n.mouseUpHandler=w=function(R){n.onMouseUp(R)},(L=n.getPartsEvents("mousedown")).push(M(h.renderTo,"mousemove",z),M(c.ownerDocument,"mouseup",w),M(h.renderTo,"touchmove",z),M(c.ownerDocument,"touchend",w)),L.concat(n.getPartsEvents("touchstart")),n.eventsToUnbind=L,n.series&&n.series[0]&&L.push(M(n.series[0].xAxis,"foundExtremes",function(){h.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(n){let h=this,c=[];return["shades","handles"].forEach(function(L){h[L].forEach(function(z,w){c.push(M(z.element,n,function(R){h[L+"Mousedown"](R,w)}))})}),c}shadesMousedown(n,h){var _;n=((_=this.chart.pointer)==null?void 0:_.normalize(n))||n;let c=this.chart,L=this.xAxis,z=this.zoomedMin,w=this.size,R=this.range,V=this.left,X=n.chartX,J,P,C,N;c.inverted&&(X=n.chartY,V=this.top),h===1?(this.grabbedCenter=X,this.fixedWidth=R,this.dragOffset=X-z):(N=X-V-R/2,h===0?N=Math.max(0,N):h===2&&N+R>=w&&(N=w-R,this.reversedExtremes?(N-=R,P=this.getUnionExtremes().dataMin):J=this.getUnionExtremes().dataMax),N!==z&&(this.fixedWidth=R,u((C=L.navigatorAxis.toFixedRange(N,N+R,P,J)).min)&&I(this,"setRange",{min:Math.min(C.min,C.max),max:Math.max(C.min,C.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(n,h){var w;n=((w=this.chart.pointer)==null?void 0:w.normalize(n))||n;let c=this.chart,L=c.xAxis[0],z=this.reversedExtremes;h===0?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=z?L.min:L.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=z?L.max:L.min),c.setFixedRange(void 0)}onMouseMove(n){var J;let h=this,c=h.chart,L=h.navigatorSize,z=h.range,w=h.dragOffset,R=c.inverted,V=h.left,X;(!n.touches||n.touches[0].pageX!==0)&&(X=(n=((J=c.pointer)==null?void 0:J.normalize(n))||n).chartX,R&&(V=h.top,X=n.chartY),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,X-V,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,X-V)):h.grabbedCenter&&(h.hasDragged=!0,X<w?X=w:X>L+w-z&&(X=L+w-z),h.render(0,0,X-w,X-w+z)),h.hasDragged&&h.scrollbar&&S(h.scrollbar.options.liveRedraw,!k&&!this.chart.boosted)&&(n.DOMType=n.type,setTimeout(function(){h.onMouseUp(n)},0)))}onMouseUp(n){let h,c,L,z,w,R,V=this.chart,X=this.xAxis,J=this.scrollbar,P=n.DOMEvent||n,C=V.inverted,N=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!J||!J.hasDragged)||n.trigger==="scrollbar")&&(L=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?z=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(w=this.fixedExtreme),this.zoomedMax===this.size&&(w=this.reversedExtremes?L.dataMin:L.dataMax),this.zoomedMin===0&&(z=this.reversedExtremes?L.dataMax:L.dataMin),u((R=X.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,z,w)).min)&&I(this,"setRange",{min:Math.min(R.min,R.max),max:Math.max(R.min,R.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:P}})),n.DOMType!=="mousemove"&&n.DOMType!=="touchmove"&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&A(this.zoomedMin)&&A(this.zoomedMax)&&(c=Math.round(this.zoomedMin),h=Math.round(this.zoomedMax),this.shades&&this.drawMasks(c,h,C,N),this.outline&&this.drawOutline(c,h,C,N),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(c,0,C,N),this.drawHandle(h,1,C,N)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let n=this.baseSeries||[];this.navigatorEnabled&&n[0]&&(this.navigatorOptions.adaptToUpdatedData!==!1&&n.forEach(function(h){l(h,"updatedData",this.updatedDataHandler)},this),n[0].xAxis&&l(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let h=n.options,c=h.navigator||{},L=c.enabled,z=h.scrollbar||{},w=z.enabled,R=L&&c.height||0,V=w&&z.height||0,X=z.buttonsEnabled&&V||0;this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=R,this.scrollbarHeight=V,this.scrollButtonSize=X,this.scrollbarEnabled=w,this.navigatorEnabled=L,this.navigatorOptions=c,this.scrollbarOptions=z,this.setOpposite();let J=this,P=J.baseSeries,C=n.xAxis.length,N=n.yAxis.length,_=P&&P[0]&&P[0].xAxis||n.xAxis[0]||{options:{}};if(n.isDirtyBox=!0,J.navigatorEnabled){let y=this.getXAxisOffsets();J.xAxis=new m(n,g({breaks:_.options.breaks,ordinal:_.options.ordinal,overscroll:_.options.overscroll},c.xAxis,{type:"datetime",index:C,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:_.options.ordinal?0:_.options.minPadding,maxPadding:_.options.ordinal?0:_.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:y,width:R}:{offsets:y,height:R}),"xAxis"),J.yAxis=new m(n,g(c.yAxis,{alignTicks:!1,offset:0,index:N,isInternal:!0,reversed:S(c.yAxis&&c.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:R}:{height:R}),"yAxis"),P||c.series.data?J.updateNavigatorSeries(!1):n.series.length===0&&(J.unbindRedraw=M(n,"beforeRedraw",function(){n.series.length>0&&!J.series&&(J.setBaseSeries(),J.unbindRedraw())})),J.reversedExtremes=n.inverted&&!J.xAxis.reversed||!n.inverted&&J.xAxis.reversed,J.renderElements(),J.addMouseEvents()}else J.xAxis={chart:n,navigatorAxis:{fake:!0},translate:function(y,D){let j=n.xAxis[0],H=j.getExtremes(),U=j.len-2*X,K=r("min",j.options.min,H.dataMin),et=r("max",j.options.max,H.dataMax)-K;return D?y*et/U+K:U*(y-K)/et},toPixels:function(y){return this.translate(y)},toValue:function(y){return this.translate(y,!0)}},J.xAxis.navigatorAxis.axis=J.xAxis,J.xAxis.navigatorAxis.toFixedRange=q.prototype.toFixedRange.bind(J.xAxis.navigatorAxis);if(n.options.scrollbar.enabled){let y=g(n.options.scrollbar,{vertical:n.inverted});!A(y.margin)&&J.navigatorEnabled&&(y.margin=n.inverted?-3:3),n.scrollbar=J.scrollbar=new Q(n.renderer,y,n),M(J.scrollbar,"changed",function(D){let j=J.size,H=j*this.to,U=j*this.from;J.hasDragged=J.scrollbar.hasDragged,J.render(0,0,U,H),this.shouldUpdateExtremes(D.DOMType)&&setTimeout(function(){J.onMouseUp(D)})})}J.addBaseSeriesEvents(),J.addChartEvents()}setOpposite(){let n=this.navigatorOptions,h=this.navigatorEnabled,c=this.chart;this.opposite=S(n.opposite,!!(!h&&c.inverted))}getUnionExtremes(n){let h,c=this.chart.xAxis[0],L=this.xAxis,z=L.options,w=c.options;return n&&c.dataMin===null||(h={dataMin:S(z&&z.min,r("min",w.min,c.dataMin,L.dataMin,L.min)),dataMax:S(z&&z.max,r("max",w.max,c.dataMax,L.dataMax,L.max))}),h}setBaseSeries(n,h){let c=this.chart,L=this.baseSeries=[];n=n||c.options&&c.options.navigator.baseSeries||(c.series.length?b(c.series,z=>!z.options.isInternal).index:0),(c.series||[]).forEach((z,w)=>{!z.options.isInternal&&(z.options.showInNavigator||(w===n||z.options.id===n)&&z.options.showInNavigator!==!1)&&L.push(z)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,h)}updateNavigatorSeries(n,h){var C,N;let c=this,L=c.chart,z=c.baseSeries,w={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:(C=this.navigatorOptions.xAxis)==null?void 0:C.id,yAxis:(N=this.navigatorOptions.yAxis)==null?void 0:N.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},R=c.series=(c.series||[]).filter(_=>{let y=_.baseSeries;return!(0>z.indexOf(y))||(y&&(l(y,"updatedData",c.updatedDataHandler),delete y.navigatorSeries),_.chart&&_.destroy(),!1)}),V,X,J=c.navigatorOptions.series,P;z&&z.length&&z.forEach(_=>{let y=_.navigatorSeries,D=p({color:_.color,visible:_.visible},B(J)?W.navigator.series:J);if(y&&c.navigatorOptions.adaptToUpdatedData===!1)return;w.name="Navigator "+z.length,P=(V=_.options||{}).navigatorOptions||{},D.dataLabels=s(D.dataLabels),(X=g(V,w,D,P)).pointRange=S(D.pointRange,P.pointRange,W.plotOptions[X.type||"line"].pointRange);let j=P.data||D.data;c.hasNavigatorData=c.hasNavigatorData||!!j,X.data=j||V.data&&V.data.slice(0),y&&y.options?y.update(X,h):(_.navigatorSeries=L.initSeries(X),L.setSortedData(),_.navigatorSeries.baseSeries=_,R.push(_.navigatorSeries))}),(J.data&&!(z&&z.length)||B(J))&&(c.hasNavigatorData=!1,(J=s(J)).forEach((_,y)=>{w.name="Navigator "+(R.length+1),(X=g(W.navigator.series,{color:L.series[y]&&!L.series[y].options.isInternal&&L.series[y].color||L.options.colors[y]||L.options.colors[0]},w,_)).data=_.data,X.data&&(c.hasNavigatorData=!0,R.push(L.initSeries(X)))})),n&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let n=this,h=n.baseSeries||[];h[0]&&h[0].xAxis&&h[0].eventsToUnbind.push(M(h[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),h.forEach(c=>{c.eventsToUnbind.push(M(c,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),c.eventsToUnbind.push(M(c,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),this.navigatorOptions.adaptToUpdatedData!==!1&&c.xAxis&&c.eventsToUnbind.push(M(c,"updatedData",this.updatedDataHandler)),c.eventsToUnbind.push(M(c,"remove",function(){h&&f(h,c),this.navigatorSeries&&(f(n.series,this.navigatorSeries),u(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(n){return this.baseSeries.reduce(function(h,c){return Math.min(h,c.xData&&c.xData.length?c.xData[0]:h)},n)}modifyNavigatorAxisExtremes(){let n=this.xAxis;if(n.getExtremes!==void 0){let h=this.getUnionExtremes(!0);h&&(h.dataMin!==n.min||h.dataMax!==n.max)&&(n.min=h.dataMin,n.max=h.dataMax)}}modifyBaseAxisExtremes(){var y;let n,h,c=this.chart.navigator,L=this.getExtremes(),z=L.min,w=L.max,R=L.dataMin,V=L.dataMax,X=w-z,J=c.stickToMin,P=c.stickToMax,C=S((y=this.ordinal)==null?void 0:y.convertOverscroll(this.options.overscroll),0),N=c.series&&c.series[0],_=!!this.setExtremes;!(this.eventArgs&&this.eventArgs.trigger==="rangeSelectorButton")&&(J&&(n=(h=R)+X),P&&(n=V+C,J||(h=Math.max(R,n-X,c.getBaseSeriesMin(N&&N.xData?N.xData[0]:-Number.MAX_VALUE)))),_&&(J||P)&&A(h)&&(this.min=this.userMin=h,this.max=this.userMax=n)),c.stickToMin=c.stickToMax=null}updatedDataHandler(){let n=this.chart.navigator,h=this.navigatorSeries,c=n.reversedExtremes?Math.round(n.zoomedMin)===0:Math.round(n.zoomedMax)>=Math.round(n.size);n.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,c),n.stickToMin=n.shouldStickToMin(this,n),h&&!n.hasNavigatorData&&(h.options.pointStart=this.xData[0],h.setData(this.options.data,!1,null,!1))}shouldStickToMin(n,h){let c=h.getBaseSeriesMin(n.xData[0]),L=n.xAxis,z=L.max,w=L.min,R=L.options.range;return!!(A(z)&&A(w))&&(R&&z-c>0?z-c<R:w<=c)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(M(this.chart,"redraw",function(){let n=this.navigator,h=n&&(n.baseSeries&&n.baseSeries[0]&&n.baseSeries[0].xAxis||this.xAxis[0]);h&&n.render(h.min,h.max)}),M(this.chart,"getMargins",function(){let n=this.navigator,h=n.opposite?"plotTop":"marginBottom";this.inverted&&(h=n.opposite?"marginRight":"plotLeft"),this[h]=(this[h]||0)+(n.navigatorEnabled||!this.inverted?n.height+n.scrollbarHeight:0)+n.navigatorOptions.margin}),M(a,"setRange",function(n){this.chart.xAxis[0].setExtremes(n.min,n.max,n.redraw,n.animation,n.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(f(this.chart.xAxis,this.xAxis),f(this.chart.axes,this.xAxis)),this.yAxis&&(f(this.chart.yAxis,this.yAxis),f(this.chart.axes,this.yAxis)),(this.series||[]).forEach(n=>{n.destroy&&n.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(n=>{this[n]&&this[n].destroy&&this[n].destroy(),this[n]=null}),[this.handles].forEach(n=>{x(n)}),this.navigatorEnabled=!1}}return a}),O(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(m,T,G,$,q,Z,Q,Y,F){let{animObject:W}=q,{format:k}=Z,{clamp:E,pick:M,syncTimeout:v}=Q,{getFakeMouseEvent:o}=Y,{getAxisRangeDescription:u,fireEventOnWrappedOrUnwrappedElement:x}=F;return class extends m{init(){let f=this.chart,p=this;this.announcer=new T(f,"polite"),this.addEvent($,"afterRender",function(){this.chart===p.chart&&this.chart.renderer&&v(()=>{p.proxyProvider.updateGroupProxyElementPositions("navigator"),p.updateHandleValues()},W(M(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){var I,B,A;let f=this.chart,p=f.options,b=p.navigator;if(b.enabled&&((I=b.accessibility)!=null&&I.enabled)){let g=p.accessibility.landmarkVerbosity,S=(B=p.lang.accessibility)==null?void 0:B.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:g==="all"?"region":"group","aria-label":k(S,{chart:f},f)});let l=(A=p.lang.accessibility)==null?void 0:A.navigator.handleLabel;[0,1].forEach(s=>{let r=this.getHandleByIx(s);if(r){let a=this.proxyProvider.addProxyElement("navigator",{click:r},"input",{type:"range","aria-label":k(l,{handleIx:s,chart:f},f)});this[s?"maxHandleProxy":"minHandleProxy"]=a.innerElement,a.innerElement.style.pointerEvents="none",a.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(f){let p=this,b=this.chart,I=f?this.maxHandleProxy:this.minHandleProxy,B=this.keyCodes;return new G(b,{keyCodeMap:[[[B.left,B.right,B.up,B.down],function(A){if(I){let g=A===B.left||A===B.up?-1:1;I.value=""+E(parseFloat(I.value)+g,0,100),p.updateNavigator(()=>{let S=p.getHandleByIx(f);S&&b.setFocusToElement(S,I)})}return this.response.success}]],init:()=>{b.setFocusToElement(this.getHandleByIx(f),I)},validate:()=>{var A;return!!(this.getHandleByIx(f)&&I&&((A=b.options.navigator.accessibility)!=null&&A.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 f=this.chart.navigator;if(f&&this.minHandleProxy&&this.maxHandleProxy){let p=f.size;this.minHandleProxy.value=""+Math.round(f.zoomedMin/p*100),this.maxHandleProxy.value=""+Math.round(f.zoomedMax/p*100)}}getHandleByIx(f){let p=this.chart.navigator;return p&&p.handles&&p.handles[f]}updateNavigator(f){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((p=>{var A;let b=this.chart,{navigator:I,pointer:B}=b;if(I&&B&&this.minHandleProxy&&this.maxHandleProxy){let g=B.getChartPosition(),S=parseFloat(this.minHandleProxy.value)/100*I.size,l=parseFloat(this.maxHandleProxy.value)/100*I.size;[[0,"mousedown",I.zoomedMin],[0,"mousemove",S],[0,"mouseup",S],[1,"mousedown",I.zoomedMax],[1,"mousemove",l],[1,"mouseup",l]].forEach(([a,d,n])=>{var c;let h=(c=this.getHandleByIx(a))==null?void 0:c.element;h&&x(h,o(d,{x:g.left+I.left+n,y:g.top+I.top},h))}),p&&p();let s=(A=b.options.lang.accessibility)==null?void 0:A.navigator.changeAnnouncement,r=u(b.xAxis[0]);this.announcer.announce(k(s,{axisRangeDescription:r,chart:b},b))}}).bind(this,f),20)}}}),O(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{getPointAnnotationTexts:Z}=m,{getAxisDescription:Q,getSeriesFirstPointElement:Y,getSeriesA11yElement:F,unhideChartElementFromAT:W}=T,{format:k,numberFormat:E}=G,{reverseChildNodes:M,stripHTMLTagsFromString:v}=$,{find:o,isNumber:u,isString:x,pick:f,defined:p}=q;function b(S){let l=S.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(l!==!1&&S.points&&S.points.length>=+l)}function I(S,l){let s=S.series,r=s.chart,a=r.options.accessibility.point||{},d=s.options.accessibility&&s.options.accessibility.point||{},n=s.tooltipOptions||{},h=r.options.lang;return u(l)?E(l,d.valueDecimals||a.valueDecimals||n.valueDecimals||-1,h.decimalPoint,h.accessibility.thousandsSep||h.thousandsSep):l}function B(S,l){let s=S[l];return S.chart.langFormat("accessibility.series."+l+"Description",{name:Q(s),series:S})}function A(S){let l=S.series,s=l.chart.series.length>1||l.options.name,r=function(h){let c=h.series,L=c.chart,z=c.options.accessibility,w=z&&z.point&&z.point.valueDescriptionFormat||L.options.accessibility.point.valueDescriptionFormat,R=f(c.xAxis&&c.xAxis.options.accessibility&&c.xAxis.options.accessibility.enabled,!L.angular&&c.type!=="flowmap"),V=R?function(X){let J=function(_){let y=_.series,D=y.chart,j=y.options.accessibility&&y.options.accessibility.point||{},H=D.options.accessibility.point||{},U=y.xAxis&&y.xAxis.dateTime;if(U){let K=U.getXDateFormat(_.x||0,D.options.tooltip.dateTimeLabelFormats),et=j.dateFormatter&&j.dateFormatter(_)||H.dateFormatter&&H.dateFormatter(_)||j.dateFormat||H.dateFormat||K;return D.time.dateFormat(et,_.x||0,void 0)}}(X),P=(X.series.xAxis||{}).categories&&p(X.category)&&(""+X.category).replace("<br/>"," "),C=p(X.id)&&0>(""+X.id).indexOf("highcharts-"),N="x, "+X.x;return X.name||J||P||(C?X.id:N)}(h):"";return k(w,{point:h,index:p(h.index)?h.index+1:"",xDescription:V,value:function(X){let J=X.series,P=J.chart.options.accessibility.point||{},C=J.chart.options.accessibility&&J.chart.options.accessibility.point||{},N=J.tooltipOptions||{},_=C.valuePrefix||P.valuePrefix||N.valuePrefix||"",y=C.valueSuffix||P.valueSuffix||N.valueSuffix||"",D=X.value!==void 0?"value":"y",j=I(X,X[D]);return X.isNull?J.chart.langFormat("accessibility.series.nullPointValue",{point:X}):J.pointArrayMap?function(H,U,K){let et=U||"",rt=K||"",nt=function(lt){let ht=I(H,f(H[lt],H.options[lt]));return ht!==void 0?lt+": "+et+ht+rt:ht};return H.series.pointArrayMap.reduce(function(lt,ht){let it=nt(ht);return it?lt+(lt.length?", ":"")+it:lt},"")}(X,_,y):_+j+y}(h),separator:R?", ":""},L)}(S),a=S.options&&S.options.accessibility&&S.options.accessibility.description,d=s?" "+l.name+".":"",n=function(h){let c=h.series.chart,L=Z(h);return L.length?c.langFormat("accessibility.series.pointAnnotationsDescription",{point:h,annotations:L}):""}(S);return S.accessibility=S.accessibility||{},S.accessibility.valueDescription=r,r+(a?" "+a:"")+d+(n?" "+n:"")}function g(S){let l=S.chart,s=l.types||[],r=function(R){let V=(R.options.accessibility||{}).description;return V&&R.chart.langFormat("accessibility.series.description",{description:V,series:R})||""}(S),a=function(R){return l[R]&&l[R].length>1&&S[R]},d=S.index+1,n=B(S,"xAxis"),h=B(S,"yAxis"),c={seriesNumber:d,series:S,chart:l},L=s.length>1?"Combination":"",z=l.langFormat("accessibility.series.summary."+S.type+L,c)||l.langFormat("accessibility.series.summary.default"+L,c),w=(a("yAxis")?" "+h+".":"")+(a("xAxis")?" "+n+".":"");return k(f(S.options.accessibility&&S.options.accessibility.descriptionFormat,l.options.accessibility.series.descriptionFormat,""),{seriesDescription:z,authorDescription:r?" "+r:"",axisDescription:w,series:S,chart:l,seriesNumber:d},void 0)}return{defaultPointDescriptionFormatter:A,defaultSeriesDescriptionFormatter:g,describeSeries:function(S){let l=S.chart,s=Y(S),r=F(S),a=l.is3d&&l.is3d();r&&(r.lastChild!==s||a||M(r),function(d){let n=function(L){let z=L.options.accessibility||{};return!b(L)&&!z.exposeAsGroupOnly}(d),h=function(L){let z=L.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!!(L.points&&(L.points.length<+z.pointNavigationEnabledThreshold||z.pointNavigationEnabledThreshold===!1))}(d),c=d.chart.options.accessibility.point.describeNull;(n||h)&&d.points.forEach(L=>{let z=L.graphic&&L.graphic.element||function(R){let V=R.series,X=V&&V.chart,J=V&&V.is("sunburst"),P=R.isNull,C=X&&X.options.accessibility.point.describeNull;return P&&!J&&C}(L)&&function(R){let V=R.series,X=function(_){let y=_.index;return _.series&&_.series.data&&p(y)&&o(_.series.data,function(D){return!!(D&&D.index!==void 0&&D.index>y&&D.graphic&&D.graphic.element)})||null}(R),J=X&&X.graphic,P=J?J.parentGroup:V.graph||V.group,C=X?{x:f(R.plotX,X.plotX,0),y:f(R.plotY,X.plotY,0)}:{x:f(R.plotX,0),y:f(R.plotY,0)},N=function(_,y){let D=_.series.chart.renderer.rect(y.x,y.y,1,1);return D.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),D}(R,C);if(P&&P.element)return R.graphic=N,R.hasMockGraphic=!0,N.add(P),P.element.insertBefore(N.element,J?J.element:null),N.element}(L),w=L.options&&L.options.accessibility&&L.options.accessibility.enabled===!1;if(z){if(L.isNull&&!c){z.setAttribute("aria-hidden",!0);return}z.setAttribute("tabindex","-1"),d.chart.styledMode||(z.style.outline="none"),n&&!w?function(R,V){var N,_,y;let X=R.series,J=((N=X.options.accessibility)==null?void 0:N.point)||{},P=X.chart.options.accessibility.point||{},C=v(x(J.descriptionFormat)&&k(J.descriptionFormat,R,X.chart)||((_=J.descriptionFormatter)==null?void 0:_.call(J,R))||x(P.descriptionFormat)&&k(P.descriptionFormat,R,X.chart)||((y=P.descriptionFormatter)==null?void 0:y.call(P,R))||A(R),X.chart.renderer.forExport);V.setAttribute("role","img"),V.setAttribute("aria-label",C)}(L,z):z.setAttribute("aria-hidden",!0)}})}(S),W(l,r),function(d){let n=d.chart,h=n.options.chart,c=h.options3d&&h.options3d.enabled,L=n.series.length>1,z=n.options.accessibility.series.describeSingleSeries,w=(d.options.accessibility||{}).exposeAsGroupOnly;return!(c&&L)&&(L||z||w||b(d))}(S)?function(d,n){let h=d.options.accessibility||{},c=d.chart.options.accessibility,L=c.landmarkVerbosity;h.exposeAsGroupOnly?n.setAttribute("role","img"):L==="all"?n.setAttribute("role","region"):n.setAttribute("role","group"),n.setAttribute("tabindex","-1"),d.chart.styledMode||(n.style.outline="none"),n.setAttribute("aria-label",v(c.series.descriptionFormatter&&c.series.descriptionFormatter(d)||g(d),d.chart.renderer.forExport))}(S,r):r.removeAttribute("aria-label"))}}}),O(e,"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],function(m,T,G,$,q,Z){let{composed:Q}=m,{addEvent:Y,defined:F,pushUnique:W}=T,{getChartTitle:k}=$,{defaultPointDescriptionFormatter:E,defaultSeriesDescriptionFormatter:M}=Z;function v(u){return!!u.options.accessibility.announceNewData.enabled}class o{constructor(x){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=x}init(){let x=this.chart,f=x.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new q,this.announcer=new G(x,f),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}addEventListeners(){let x=this,f=this.chart,p=this.eventProvider;p.addEvent(f,"afterApplyDrilldown",function(){x.lastAnnouncementTime=0}),p.addEvent(f,"afterAddSeries",function(b){x.onSeriesAdded(b.series)}),p.addEvent(f,"redraw",function(){x.announceDirtyData()})}onSeriesAdded(x){v(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[x.name+x.index]=x,this.dirty.newSeries=F(this.dirty.newSeries)?void 0:x)}announceDirtyData(){let x=this.chart,f=this;if(x.options.accessibility.announceNewData&&this.dirty.hasDirty){let p=this.dirty.newPoint;p&&(p=function(b){let I=b.series.data.filter(B=>b.x===B.x&&b.y===B.y);return I.length===1?I[0]:b}(p)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(b=>f.dirty.allSeries[b]),this.dirty.newSeries,p),this.dirty={allSeries:{}}}}queueAnnouncement(x,f,p){let b=this.chart.options.accessibility.announceNewData;if(b.enabled){let I=+new Date,B=I-this.lastAnnouncementTime,A=Math.max(0,b.minAnnounceInterval-B),g=function(l,s){let r=(l||[]).concat(s||[]).reduce((a,d)=>(a[d.name+d.index]=d,a),{});return Object.keys(r).map(a=>r[a])}(this.queuedAnnouncement&&this.queuedAnnouncement.series,x),S=this.buildAnnouncementMessage(g,f,p);S&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:I,message:S,series:g},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},A))}}buildAnnouncementMessage(x,f,p){let b=this.chart,I=b.options.accessibility.announceNewData;if(I.announcementFormatter){let S=I.announcementFormatter(x,f,p);if(S!==!1)return S.length?S:null}let B=m.charts&&m.charts.length>1?"Multiple":"Single",A=f?"newSeriesAnnounce"+B:p?"newPointAnnounce"+B:"newDataAnnounce",g=k(b);return b.langFormat("accessibility.announceNewData."+A,{chartTitle:g,seriesDesc:f?M(f):null,pointDesc:p?E(p):null,point:p,series:f})}}return function(u){function x(p){var B;let b=this.chart,I=(B=b.accessibility)==null?void 0:B.components.series.newDataAnnouncer;I&&I.chart===b&&v(b)&&(I.dirty.newPoint=F(I.dirty.newPoint)?void 0:p.point)}function f(){var I;let p=this.chart,b=(I=p.accessibility)==null?void 0:I.components.series.newDataAnnouncer;b&&b.chart===p&&v(p)&&(b.dirty.hasDirty=!0,b.dirty.allSeries[this.name+this.index]=this)}u.compose=function(p){W(Q,"A11y.NDA")&&(Y(p,"addPoint",x),Y(p,"updatedData",f))}}(o||(o={})),o}),O(e,"Accessibility/ProxyElement.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(m,T,G,$,q){let{doc:Z}=m,{attr:Q,css:Y,merge:F}=T,{fireEventOnWrappedOrUnwrappedElement:W}=$,{cloneMouseEvent:k,cloneTouchEvent:E,getFakeMouseEvent:M,removeElement:v}=q;return class{constructor(o,u,x="button",f,p){this.chart=o,this.target=u,this.eventProvider=new G;let b=this.innerElement=Z.createElement(x),I=this.element=f?Z.createElement(f):b;o.styledMode||this.hideElementVisually(b),f&&(f!=="li"||o.styledMode||(I.style.listStyle="none"),I.appendChild(b),this.element=I),this.updateTarget(u,p)}click(){let o=this.getTargetPosition();o.x+=o.width/2,o.y+=o.height/2;let u=M("click",o);W(this.target.click,u)}updateTarget(o,u){this.target=o,this.updateCSSClassName();let x=u||{};Object.keys(x).forEach(p=>{x[p]===null&&delete x[p]});let f=this.getTargetAttr(o.click,"aria-label");Q(this.innerElement,F(f?{"aria-label":f}:{},x)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,o.click),this.refreshPosition()}refreshPosition(){let o=this.getTargetPosition();Y(this.innerElement,{width:(o.width||1)+"px",height:(o.height||1)+"px",left:(Math.round(o.x)||0)+"px",top:(Math.round(o.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),v(this.element)}updateCSSClassName(){let o=b=>b.indexOf("highcharts-no-tooltip")>-1,u=this.chart.legend,x=u.group&&u.group.div,f=o(x&&x.className||""),p=o(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=f||p?"highcharts-a11y-proxy-element highcharts-no-tooltip":"highcharts-a11y-proxy-element"}addProxyEventsToElement(o,u){["click","touchstart","touchend","touchcancel","touchmove","mouseover","mouseenter","mouseleave","mouseout"].forEach(x=>{let f=x.indexOf("touch")===0;this.eventProvider.addEvent(o,x,p=>{let b=f?E(p):k(p);u&&W(u,b),p.stopPropagation(),f||p.preventDefault()},{passive:!1})})}hideElementVisually(o){Y(o,{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 o=this.target.click,u=o.element?o.element:o,x=this.target.visual||u,f=this.chart.renderTo,p=this.chart.pointer;if(f&&(x!=null&&x.getBoundingClientRect)&&p){let b=x.getBoundingClientRect(),I=p.getChartPosition();return{x:(b.left-I.left)/I.scaleX,y:(b.top-I.top)/I.scaleY,width:b.right/I.scaleX-b.left/I.scaleX,height:b.bottom/I.scaleY-b.top/I.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(o,u){return o.element?o.element.getAttribute(u):o.getAttribute(u)}}}),O(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],function(m,T,G,$,q,Z){let{doc:Q}=m,{attr:Y,css:F}=T,{unhideChartElementFromAT:W}=G,{removeChildNodes:k}=q;return class{constructor(E){this.chart=E,this.domElementProvider=new $,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(E,M,v="button",o){let u=this.groups[E];if(!u)throw Error("ProxyProvider.addProxyElement: Invalid group key "+E);let x=u.type==="ul"||u.type==="ol"?"li":void 0,f=new Z(this.chart,M,v,x,o);return u.proxyContainerElement.appendChild(f.element),u.proxyElements.push(f),f}addGroup(E,M="div",v){let o,u=this.groups[E];if(u)return u.groupElement;let x=this.domElementProvider.createElement(M);return v&&v.role&&M!=="div"?(o=this.domElementProvider.createElement("div")).appendChild(x):o=x,o.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+E.replace(/\W/g,"-"),this.groups[E]={proxyContainerElement:x,groupElement:o,type:M,proxyElements:[]},Y(o,v||{}),M==="ul"&&x.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(o),this.updateGroupOrder(this.groupOrder),o}updateGroupAttrs(E,M){let v=this.groups[E];if(!v)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+E);Y(v.groupElement,M)}updateGroupOrder(E){if(this.groupOrder=E.slice(),this.isDOMOrderGroupOrder())return;let M=E.indexOf("series"),v=M>-1?E.slice(0,M):E,o=M>-1?E.slice(M+1):[],u=Q.activeElement;["before","after"].forEach(x=>{let f=this[x==="before"?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];k(f),(x==="before"?v:o).forEach(p=>{let b=this.groups[p];b&&f.appendChild(b.groupElement)})}),(this.beforeChartProxyPosContainer.contains(u)||this.afterChartProxyPosContainer.contains(u))&&u&&u.focus&&u.focus()}clearGroup(E){let M=this.groups[E];if(!M)throw Error("ProxyProvider.clearGroup: Invalid group key "+E);k(M.proxyContainerElement)}removeGroup(E){let M=this.groups[E];M&&(this.domElementProvider.removeElement(M.groupElement),M.groupElement!==M.proxyContainerElement&&this.domElementProvider.removeElement(M.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 M=this.groups[E];M&&M.proxyElements.forEach(v=>v.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(E){let M=this.domElementProvider.createElement("div");return M.setAttribute("aria-hidden","false"),M.className="highcharts-a11y-proxy-container"+(E?"-"+E:""),F(M,{top:"0",left:"0"}),this.chart.styledMode||(M.style.whiteSpace="nowrap",M.style.position="absolute"),M}getCurrentGroupOrderInDOM(){let E=u=>{let x=Object.keys(this.groups),f=x.length;for(;f--;){let p=x[f],b=this.groups[p];if(b&&u===b.groupElement)return p}},M=u=>{let x=[],f=u.children;for(let p=0;p<f.length;++p){let b=E(f[p]);b&&x.push(b)}return x},v=M(this.beforeChartProxyPosContainer),o=M(this.afterChartProxyPosContainer);return v.push("series"),v.concat(o)}isDOMOrderGroupOrder(){let E=this.getCurrentGroupOrderInDOM(),M=this.groupOrder.filter(o=>o==="series"||!!this.groups[o]),v=E.length;if(v!==M.length)return!1;for(;v--;)if(E[v]!==M[v])return!1;return!0}updatePosContainerPositions(){let E=this.chart;if(E.renderer.forExport)return;let M=E.renderer.box;E.container.insertBefore(this.afterChartProxyPosContainer,M.nextSibling),E.container.insertBefore(this.beforeChartProxyPosContainer,M),W(this.chart,this.afterChartProxyPosContainer),W(this.chart,this.beforeChartProxyPosContainer)}}}),O(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{unhideChartElementFromAT:Z,getAxisRangeDescription:Q}=G,{addEvent:Y,attr:F}=q;class W extends m{init(){let E=this.chart;this.announcer=new T(E,"polite")}onChartUpdate(){let E=this.chart,M=this,v=E.rangeSelector;v&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),v.buttons&&v.buttons.length&&v.buttons.forEach(o=>{M.setRangeButtonAttrs(o)}),v.maxInput&&v.minInput&&["minInput","maxInput"].forEach(function(o,u){let x=v[o];x&&(Z(E,x),M.setRangeInputAttrs(x,"accessibility.rangeSelector."+(u?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let E=this.chart,M=E.rangeSelector,v=M&&M.dropdown,o=M&&M.buttons||[],u=x=>x.setAttribute("aria-hidden",!0);M&&M.hasVisibleDropdown&&v?(Z(E,v),o.forEach(x=>u(x.element))):(v&&u(v),o.forEach(x=>Z(E,x.element)))}setDropdownAttrs(){let E=this.chart,M=E.rangeSelector&&E.rangeSelector.dropdown;if(M){let v=E.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:E.options.lang.rangeSelectorZoom});M.setAttribute("aria-label",v),M.setAttribute("tabindex",-1)}}setRangeButtonAttrs(E){F(E.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(E,M){let v=this.chart;F(E,{tabindex:-1,"aria-label":v.langFormat(M,{chart:v})})}onButtonNavKbdArrowKey(E,M){let v=E.response,o=this.keyCodes,u=this.chart,x=u.options.accessibility.keyboardNavigation.wrapAround,f=M===o.left||M===o.up?-1:1;return u.highlightRangeSelectorButton(u.highlightedRangeSelectorItemIx+f)?v.success:x?(E.init(f),v.success):v[f>0?"next":"prev"]}onButtonNavKbdClick(E){let M=E.response,v=this.chart;return v.oldRangeSelectorItemState!==3&&this.fakeClickEvent(v.rangeSelector.buttons[v.highlightedRangeSelectorItemIx].element),M.success}onAfterBtnClick(){let E=this.chart,M=Q(E.xAxis[0]),v=E.langFormat("accessibility.rangeSelector.clickButtonAnnouncement",{chart:E,axisRangeDescription:M});v&&this.announcer.announce(v)}onInputKbdMove(E){let M=this.chart,v=M.rangeSelector,o=M.highlightedInputRangeIx=(M.highlightedInputRangeIx||0)+E;if(o>1||o<0){if(M.accessibility)return M.accessibility.keyboardNavigation.exiting=!0,M.accessibility.keyboardNavigation.tabindexContainer.focus(),M.accessibility.keyboardNavigation.move(E)}else if(v){let u=v[o?"maxDateBox":"minDateBox"],x=v[o?"maxInput":"minInput"];u&&x&&M.setFocusToElement(u,x)}return!0}onInputNavInit(E){let M=this,v=this.chart,o=E>0?0:1,u=v.rangeSelector,x=u&&u[o?"maxDateBox":"minDateBox"],f=u&&u.minInput,p=u&&u.maxInput;if(v.highlightedInputRangeIx=o,x&&f&&p){v.setFocusToElement(x,o?p:f),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();let b=A=>{(A.which||A.keyCode)===this.keyCodes.tab&&M.onInputKbdMove(A.shiftKey?-1:1)&&(A.preventDefault(),A.stopPropagation())},I=Y(f,"keydown",b),B=Y(p,"keydown",b);this.removeInputKeydownHandler=()=>{I(),B()}}}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,M=E.rangeSelector,v=M&&M.dropdown;M&&v&&(E.setFocusToElement(M.buttonGroup,v),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=Y(v,"keydown",o=>{let u=(o.which||o.keyCode)===this.keyCodes.tab,x=E.accessibility;u&&(o.preventDefault(),o.stopPropagation(),x&&(x.keyboardNavigation.tabindexContainer.focus(),x.keyboardNavigation.move(o.shiftKey?-1:1)))}))}getRangeSelectorButtonNavigation(){let E=this.chart,M=this.keyCodes,v=this;return new $(E,{keyCodeMap:[[[M.left,M.right,M.up,M.down],function(o){return v.onButtonNavKbdArrowKey(this,o)}],[[M.enter,M.space],function(){return v.onButtonNavKbdClick(this)}]],validate:function(){return!!(E.rangeSelector&&E.rangeSelector.buttons&&E.rangeSelector.buttons.length)},init:function(o){let u=E.rangeSelector;if(u&&u.hasVisibleDropdown)v.initDropdownNav();else if(u){let x=u.buttons.length-1;E.highlightRangeSelectorButton(o>0?0:x)}},terminate:function(){v.removeDropdownKeydownHandler&&(v.removeDropdownKeydownHandler(),delete v.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){let E=this.chart,M=this;return new $(E,{keyCodeMap:[],validate:function(){return!!(E.rangeSelector&&E.rangeSelector.inputGroup&&E.rangeSelector.inputGroup.element.style.visibility!=="hidden"&&E.options.rangeSelector.inputEnabled!==!1&&E.rangeSelector.minInput&&E.rangeSelector.maxInput)},init:function(v){M.onInputNavInit(v)},terminate:function(){M.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}return function(k){function E(v){let o=this.rangeSelector&&this.rangeSelector.buttons||[],u=this.highlightedRangeSelectorItemIx,x=this.rangeSelector&&this.rangeSelector.selected;return u!==void 0&&o[u]&&u!==x&&o[u].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=v,!!o[v]&&(this.setFocusToElement(o[v].box,o[v].element),v!==x&&(this.oldRangeSelectorItemState=o[v].state,o[v].setState(1)),!0)}function M(){let v=this.chart.accessibility;if(v&&v.components.rangeSelector)return v.components.rangeSelector.onAfterBtnClick()}k.compose=function(v,o){let u=v.prototype;u.highlightRangeSelectorButton||(u.highlightRangeSelectorButton=E,Y(o,"afterBtnClick",M))}}(W||(W={})),W}),O(e,"Accessibility/Components/SeriesComponent/ForcedMarkers.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){var G;let{composed:$}=m,{addEvent:q,merge:Z,pushUnique:Q}=T;return function(Y){function F(u){Z(!0,u,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function W(u){return u.marker.states&&u.marker.states.normal&&u.marker.states.normal.opacity}function k(u){return!!(u._hasPointMarkers&&u.points&&u.points.length)}function E(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),k(this)&&this.points.forEach(u=>{u.graphic&&(u.graphic[u.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),u.graphic[u.hasForcedA11yMarker===!1?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function M(u){this.resetA11yMarkerOptions=Z(u.options.marker||{},this.userOptions.marker||{})}function v(){let u=this.options;(function(x){let f=x.chart.options.accessibility.enabled,p=(x.options.accessibility&&x.options.accessibility.enabled)!==!1;return f&&p&&function(b){let I=b.chart.options.accessibility;return b.points.length<I.series.pointDescriptionEnabledThreshold||I.series.pointDescriptionEnabledThreshold===!1}(x)})(this)?(u.marker&&u.marker.enabled===!1&&(this.a11yMarkersForced=!0,F(this.options)),k(this)&&function(x){let f=x.points.length;for(;f--;){let p=x.points[f],b=p.options,I=p.hasForcedA11yMarker;if(delete p.hasForcedA11yMarker,b.marker){let B=I&&W(b)===0;b.marker.enabled&&!B?(Z(!0,b.marker,{states:{normal:{opacity:W(b)||1}}}),p.hasForcedA11yMarker=!1):b.marker.enabled===!1&&(F(b),p.hasForcedA11yMarker=!0)}}}(this)):this.a11yMarkersForced&&(delete this.a11yMarkersForced,function(x){let f=x.resetA11yMarkerOptions;if(f){let p=f.states&&f.states.normal&&f.states.normal.opacity;x.userOptions&&x.userOptions.marker&&(x.userOptions.marker.enabled=!0),x.update({marker:{enabled:f.enabled,states:{normal:{opacity:p}}}})}}(this),delete this.resetA11yMarkerOptions)}function o(){this.boosted&&this.a11yMarkersForced&&(Z(!0,this.options,{marker:{enabled:!1}}),delete this.a11yMarkersForced)}Y.compose=function(u){Q($,"A11y.FM")&&(q(u,"afterSetOptions",M),q(u,"render",v),q(u,"afterRender",E),q(u,"renderCanvas",o))}}(G||(G={})),G}),O(e,"Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js",[e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(m,T,G,$,q,Z,Q,Y){let{seriesTypes:F}=G,{doc:W}=$,{defined:k,fireEvent:E}=q,{getPointFromXY:M,getSeriesFromName:v,scrollAxisToPoint:o}=Y;function u(A){let g=A.index,S=A.series.points,l=S.length;if(S[g]===A)return g;for(;l--;)if(S[l]===A)return l}function x(A){let g=A.chart.options.accessibility.keyboardNavigation.seriesNavigation,S=A.options.accessibility||{},l=S.keyboardNavigation;return l&&l.enabled===!1||S.enabled===!1||A.options.enableMouseTracking===!1||!A.visible||g.pointNavigationEnabledThreshold&&+g.pointNavigationEnabledThreshold<=A.points.length}function f(A){let g=A.series.chart.options.accessibility,S=A.options.accessibility&&A.options.accessibility.enabled===!1;return A.isNull&&g.keyboardNavigation.seriesNavigation.skipNullPoints||A.visible===!1||A.isInside===!1||S||x(A.series)}function p(A){let g=A.series||[],S=g.length;for(let l=0;l<S;++l)if(!x(g[l])){let s=function(r){let a=r.points||[],d=a.length;for(let n=0;n<d;++n)if(!f(a[n]))return a[n];return null}(g[l]);if(s)return s}return null}function b(A){let g=A.series.length,S=!1;for(;g--&&(A.highlightedPoint=A.series[g].points[A.series[g].points.length-1],!(S=A.series[g].highlightNextValidPoint())););return S}function I(A){delete A.highlightedPoint;let g=p(A);return!!g&&g.highlight()}class B{constructor(g,S){this.keyCodes=S,this.chart=g}init(){let g=this,S=this.chart,l=this.eventProvider=new Q;l.addEvent(T,"destroy",function(){return g.onSeriesDestroy(this)}),l.addEvent(S,"afterApplyDrilldown",function(){(function(s){let r=p(s);r&&r.highlight(!1)})(this)}),l.addEvent(S,"drilldown",function(s){let r=s.point,a=r.series;g.lastDrilledDownPoint={x:r.x,y:r.y,seriesName:a?a.name:""}}),l.addEvent(S,"drillupall",function(){setTimeout(function(){g.onDrillupAll()},10)}),l.addEvent(m,"afterSetState",function(){let s=this.graphic&&this.graphic.element,r=W.activeElement,a=r&&r.getAttribute("class"),d=a&&a.indexOf("highcharts-a11y-proxy-element")>-1;S.highlightedPoint===this&&r!==s&&!d&&s&&s.focus&&s.focus()})}onDrillupAll(){let g,S=this.lastDrilledDownPoint,l=this.chart,s=S&&v(l,S.seriesName);S&&s&&k(S.x)&&k(S.y)&&(g=M(s,S.x,S.y)),g=g||p(l),l.container&&l.container.focus(),g&&g.highlight&&g.highlight(!1)}getKeyboardNavigationHandler(){let g=this,S=this.keyCodes,l=this.chart,s=l.inverted;return new Z(l,{keyCodeMap:[[s?[S.up,S.down]:[S.left,S.right],function(r){return g.onKbdSideways(this,r)}],[s?[S.left,S.right]:[S.up,S.down],function(r){return g.onKbdVertical(this,r)}],[[S.enter,S.space],function(r,a){var n;let d=l.highlightedPoint;if(d){let{plotLeft:h,plotTop:c}=this.chart,{plotX:L=0,plotY:z=0}=d;a={...a,chartX:h+L,chartY:c+z,point:d,target:((n=d.graphic)==null?void 0:n.element)||a.target},E(d.series,"click",a),d.firePointEvent("click",a)}return this.response.success}],[[S.home],function(){return I(l),this.response.success}],[[S.end],function(){return b(l),this.response.success}],[[S.pageDown,S.pageUp],function(r){return l.highlightAdjacentSeries(r===S.pageDown),this.response.success}]],init:function(){return g.onHandlerInit(this)},validate:function(){return!!p(l)},terminate:function(){return g.onHandlerTerminate()}})}onKbdSideways(g,S){let l=this.keyCodes,s=S===l.right||S===l.down;return this.attemptHighlightAdjacentPoint(g,s)}onHandlerInit(g){let S=this.chart;return S.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&S.highlightedPoint?S.highlightedPoint.highlight():I(S),g.response.success}onKbdVertical(g,S){let l=this.chart,s=this.keyCodes,r=S===s.down||S===s.right,a=l.options.accessibility.keyboardNavigation.seriesNavigation;if(a.mode&&a.mode==="serialize")return this.attemptHighlightAdjacentPoint(g,r);let d=l.highlightedPoint&&l.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries";return l[d](r),g.response.success}onHandlerTerminate(){let g=this.chart,S=g.options.accessibility.keyboardNavigation;g.tooltip&&g.tooltip.hide(0);let l=g.highlightedPoint&&g.highlightedPoint.series;l&&l.onMouseOut&&l.onMouseOut(),g.highlightedPoint&&g.highlightedPoint.onMouseOut&&g.highlightedPoint.onMouseOut(),S.seriesNavigation.rememberPointFocus||delete g.highlightedPoint}attemptHighlightAdjacentPoint(g,S){let l=this.chart,s=l.options.accessibility.keyboardNavigation.wrapAround;return l.highlightAdjacentPoint(S)||s&&(S?I(l):b(l))?g.response.success:g.response[S?"next":"prev"]}onSeriesDestroy(g){let S=this.chart;S.highlightedPoint&&S.highlightedPoint.series===g&&(delete S.highlightedPoint,S.focusElement&&S.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}return function(A){function g(a){let d,n,h=this.series,c=this.highlightedPoint,L=c&&u(c)||0,z=c&&c.series.points||[],w=this.series&&this.series[this.series.length-1],R=w&&w.points&&w.points[w.points.length-1];if(!h[0]||!h[0].points)return!1;if(c){if(d=h[c.series.index+(a?1:-1)],(n=z[L+(a?1:-1)])||!d||(n=d.points[a?0:d.points.length-1]),!n)return!1}else n=a?h[0].points[0]:R;return f(n)?(x(d=n.series)?this.highlightedPoint=a?d.points[d.points.length-1]:d.points[0]:this.highlightedPoint=n,this.highlightAdjacentPoint(a)):n.highlight()}function S(a){let d=this.highlightedPoint,n=1/0,h;return!!(k(d.plotX)&&k(d.plotY))&&(this.series.forEach(c=>{x(c)||c.points.forEach(L=>{if(!k(L.plotY)||!k(L.plotX)||L===d)return;let z=L.plotY-d.plotY,w=Math.abs(L.plotX-d.plotX),R=Math.abs(z)*Math.abs(z)+w*w*4;c.yAxis&&c.yAxis.reversed&&(z*=-1),!(z<=0&&a||z>=0&&!a||R<5||f(L))&&R<n&&(n=R,h=L)})}),!!h&&h.highlight())}function l(a){let d,n,h,c=this.highlightedPoint,L=this.series&&this.series[this.series.length-1],z=L&&L.points&&L.points[L.points.length-1];return this.highlightedPoint?!!((d=this.series[c.series.index+(a?-1:1)])&&(n=function(w,R,V,X){let J=1/0,P,C,N,_=R.points.length,y=D=>!(k(D.plotX)&&k(D.plotY));if(!y(w)){for(;_--;)!y(P=R.points[_])&&(N=(w.plotX-P.plotX)*(w.plotX-P.plotX)*4+(w.plotY-P.plotY)*(w.plotY-P.plotY)*1)<J&&(J=N,C=_);return k(C)?R.points[C]:void 0}}(c,d)))&&(x(d)?(n.highlight(),(h=this.highlightAdjacentSeries(a))?h:(c.highlight(),!1)):(n.highlight(),n.series.highlightNextValidPoint())):(d=a?this.series&&this.series[0]:L,!!(n=a?d&&d.points&&d.points[0]:z)&&n.highlight())}function s(a=!0){var c,L;let d=this.series.chart,n=(L=(c=d.tooltip)==null?void 0:c.label)==null?void 0:L.element;!this.isNull&&a?this.onMouseOver():d.tooltip&&d.tooltip.hide(0),o(this),this.graphic&&(d.setFocusToElement(this.graphic),!a&&d.focusElement&&d.focusElement.removeFocusBorder()),d.highlightedPoint=this;let h=n==null?void 0:n.getBoundingClientRect().top;if(n&&h&&h<0){let z=window.scrollY;window.scrollTo({behavior:"smooth",top:z+h})}return this}function r(){let a=this.chart.highlightedPoint,d=(a&&a.series)===this?u(a):0,n=this.points,h=n.length;if(n&&h){for(let c=d;c<h;++c)if(!f(n[c]))return n[c].highlight();for(let c=d;c>=0;--c)if(!f(n[c]))return n[c].highlight()}return!1}A.compose=function(a,d,n){let h=a.prototype,c=d.prototype,L=n.prototype;h.highlightAdjacentPoint||(h.highlightAdjacentPoint=g,h.highlightAdjacentPointVertical=S,h.highlightAdjacentSeries=l,c.highlight=s,L.keyboardMoveVertical=!0,["column","gantt","pie"].forEach(z=>{F[z]&&(F[z].prototype.keyboardMoveVertical=!1)}),L.highlightNextValidPoint=r)}}(B||(B={})),B}),O(e,"Accessibility/Components/SeriesComponent/SeriesComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Components/SeriesComponent/ForcedMarkers.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],e["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"]],function(m,T,G,$,q,Z){let{hideSeriesFromAT:Q}=T,{describeSeries:Y}=q;return class extends m{static compose(F,W,k){$.compose(k),G.compose(k),Z.compose(F,W,k)}init(){this.newDataAnnouncer=new $(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new Z(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){let F=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,"refresh",function(){this.chart===F.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEach(function(F){F.labelBySeries&&F.labelBySeries.attr("aria-hidden",!0)})})}onChartRender(){this.chart.series.forEach(function(F){(F.options.accessibility&&F.options.accessibility.enabled)!==!1&&F.visible&&F.getPointsCollection().length!==0?Y(F):Q(F)})}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}}),O(e,"Accessibility/Components/ZoomComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{unhideChartElementFromAT:Z}=T,{getFakeMouseEvent:Q}=G,{attr:Y,pick:F}=q;return class extends m{constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){let W=this,k=this.chart;this.proxyProvider.addGroup("zoom","div"),["afterShowResetZoom","afterApplyDrilldown","drillupall"].forEach(E=>{W.addEvent(k,E,function(){W.updateProxyOverlays()})})}onChartUpdate(){let W=this.chart,k=this;W.mapNavigation&&W.mapNavigation.navButtons.forEach((E,M)=>{Z(W,E.element),k.setMapNavButtonAttrs(E.element,"accessibility.zoom.mapZoom"+(M?"Out":"In"))})}setMapNavButtonAttrs(W,k){let E=this.chart;Y(W,{tabindex:-1,role:"button","aria-label":E.langFormat(k,{chart:E})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let W=this.chart;if(this.proxyProvider.clearGroup("zoom"),W.resetZoomButton&&this.createZoomProxyButton(W.resetZoomButton,"resetZoomProxyButton",W.langFormat("accessibility.zoom.resetZoomButton",{chart:W})),W.drillUpButton&&W.breadcrumbs&&W.breadcrumbs.list){let k=W.breadcrumbs.list[W.breadcrumbs.list.length-1];this.createZoomProxyButton(W.drillUpButton,"drillUpProxyButton",W.langFormat("accessibility.drillUpButton",{chart:W,buttonText:W.breadcrumbs.getButtonText(k)}))}}createZoomProxyButton(W,k,E){this[k]=this.proxyProvider.addProxyElement("zoom",{click:W},"button",{"aria-label":E,tabindex:-1})}getMapZoomNavigation(){let W=this.keyCodes,k=this.chart,E=this;return new $(k,{keyCodeMap:[[[W.up,W.down,W.left,W.right],function(M){return E.onMapKbdArrow(this,M)}],[[W.tab],function(M,v){return E.onMapKbdTab(this,v)}],[[W.space,W.enter],function(){return E.onMapKbdClick(this)}]],validate:function(){return!!(k.mapView&&k.mapNavigation&&k.mapNavigation.navButtons.length)},init:function(M){return E.onMapNavInit(M)}})}onMapKbdArrow(W,k){let E=this.chart,M=this.keyCodes,v=E.container,o=k===M.up||k===M.down,u=k===M.left||k===M.up?1:-1,x=(o?E.plotHeight:E.plotWidth)/10*u,f=10*Math.random(),p={x:v.offsetLeft+E.plotLeft+E.plotWidth/2+f,y:v.offsetTop+E.plotTop+E.plotHeight/2+f},b=o?{x:p.x,y:p.y+x}:{x:p.x+x,y:p.y};return[Q("mousedown",p),Q("mousemove",b),Q("mouseup",b)].forEach(I=>v.dispatchEvent(I)),W.response.success}onMapKbdTab(W,k){let E=this.chart,M=W.response,v=k.shiftKey,o=v&&!this.focusedMapNavButtonIx||!v&&this.focusedMapNavButtonIx;if(E.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),o)return E.mapView&&E.mapView.zoomBy(),M[v?"prev":"next"];this.focusedMapNavButtonIx+=v?-1:1;let u=E.mapNavigation.navButtons[this.focusedMapNavButtonIx];return E.setFocusToElement(u.box,u.element),u.setState(2),M.success}onMapKbdClick(W){let k=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(k),W.response.success}onMapNavInit(W){let k=this.chart,E=k.mapNavigation.navButtons[0],M=k.mapNavigation.navButtons[1],v=W>0?E:M;k.setFocusToElement(v.box,v.element),v.setState(2),this.focusedMapNavButtonIx=W>0?0:1}simpleButtonNavigation(W,k,E){let M=this.keyCodes,v=this,o=this.chart;return new $(o,{keyCodeMap:[[[M.tab,M.up,M.down,M.left,M.right],function(u,x){let f=u===M.tab&&x.shiftKey||u===M.left||u===M.up;return this.response[f?"prev":"next"]}],[[M.space,M.enter],function(){return F(E(this,o),this.response.success)}]],validate:function(){return o[W]&&o[W].box&&v[k].innerElement},init:function(){o.setFocusToElement(o[W].box,v[k].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(W,k){k.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(W,k){return k.drillUp(),W.response.prev}),this.getMapZoomNavigation()]}}}),O(e,"Accessibility/HighContrastMode.js",[e["Core/Globals.js"]],function(m){let{doc:T,isMS:G,win:$}=m;return{isHighContrastModeActive:function(){let q=/(Edg)/.test($.navigator.userAgent);if($.matchMedia&&q)return $.matchMedia("(-ms-high-contrast: active)").matches;if(G&&$.getComputedStyle){let Z=T.createElement("div");Z.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",T.body.appendChild(Z);let Q=(Z.currentStyle||$.getComputedStyle(Z)).backgroundImage;return T.body.removeChild(Z),Q==="none"}return $.matchMedia&&$.matchMedia("(forced-colors: active)").matches},setHighContrastTheme:function(q){var Y;q.highContrastModeActive=!0;let Z=q.options.accessibility.highContrastTheme;q.update(Z,!1);let Q=((Y=Z.colors)==null?void 0:Y.length)>1;q.series.forEach(function(F){let W=Z.plotOptions[F.type]||{},k=Q&&F.colorIndex!==void 0?Z.colors[F.colorIndex]:W.color||"window",E={color:W.color||"windowText",colors:Q?Z.colors:[W.color||"windowText"],borderColor:W.borderColor||"window",fillColor:k};F.update(E,!1),F.points&&F.points.forEach(function(M){M.options&&M.options.color&&M.update({color:W.color||"windowText",borderColor:W.borderColor||"window"},!1)})}),q.redraw()}}}),O(e,"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"}}}),O(e,"Accessibility/Options/A11yDefaults.js",[],function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}</{headingTagName}><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>",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}}}}),O(e,"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}"}}}}),O(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],function(m){let{error:T,pick:G}=m;function $(Z,Q,Y){let F=Z,W,k=0;for(;k<Q.length-1;++k)F=F[W=Q[k]]=G(F[W],{});F[Q[Q.length-1]]=Y}function q(Z,Q,Y,F){function W(M,v){return v.reduce(function(o,u){return o[u]},M)}let k=W(Z.options,Q),E=W(Z.options,Y);Object.keys(F).forEach(function(M){let v=k[M];v!==void 0&&($(E,F[M],v),T(32,!1,Z,{[Q.join(".")+"."+M]:Y.join(".")+"."+F[M].join(".")}))})}return function(Z){(function(Q){let Y=Q.options.chart,F=Q.options.accessibility||{};["description","typeDescription"].forEach(function(W){Y[W]&&(F[W]=Y[W],T(32,!1,Q,{[`chart.${W}`]:`use accessibility.${W}`}))})})(Z),function(Q){Q.axes.forEach(function(Y){let F=Y.options;F&&F.description&&(F.accessibility=F.accessibility||{},F.accessibility.description=F.description,T(32,!1,Q,{"axis.description":"use axis.accessibility.description"}))})}(Z),Z.series&&function(Q){let Y={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormatter:["accessibility","point","descriptionFormatter"],skipKeyboardNavigation:["accessibility","keyboardNavigation","enabled"],"accessibility.pointDescriptionFormatter":["accessibility","point","descriptionFormatter"]};Q.series.forEach(function(F){Object.keys(Y).forEach(function(W){let k=F.options[W];W==="accessibility.pointDescriptionFormatter"&&(k=F.options.accessibility&&F.options.accessibility.pointDescriptionFormatter),k!==void 0&&($(F.options,Y[W],W==="skipKeyboardNavigation"?!k:k),T(32,!1,Q,{[`series.${W}`]:"series."+Y[W].join(".")}))})})}(Z),q(Z,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"],pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection","onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]}),q(Z,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]}),q(Z,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection","beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})}}),O(e,"Accessibility/Accessibility.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/A11yI18n.js"],e["Accessibility/Components/ContainerComponent.js"],e["Accessibility/FocusBorder.js"],e["Accessibility/Components/InfoRegionsComponent.js"],e["Accessibility/KeyboardNavigation.js"],e["Accessibility/Components/LegendComponent.js"],e["Accessibility/Components/MenuComponent.js"],e["Accessibility/Components/NavigatorComponent.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/ProxyProvider.js"],e["Accessibility/Components/RangeSelectorComponent.js"],e["Accessibility/Components/SeriesComponent/SeriesComponent.js"],e["Accessibility/Components/ZoomComponent.js"],e["Accessibility/HighContrastMode.js"],e["Accessibility/HighContrastTheme.js"],e["Accessibility/Options/A11yDefaults.js"],e["Accessibility/Options/LangDefaults.js"],e["Accessibility/Options/DeprecatedOptions.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E,M,v,o,u,x,f,p,b,I,B){let{defaultOptions:A}=m,{doc:g}=T,{addEvent:S,extend:l,fireEvent:s,merge:r}=G,{removeElement:a}=$;class d{constructor(h){this.init(h)}init(h){if(this.chart=h,!g.addEventListener){this.zombie=!0,this.components={},h.renderTo.setAttribute("aria-hidden",!0);return}B(h),this.proxyProvider=new v(this.chart),this.initComponents(),this.keyboardNavigation=new F(h,this.components)}initComponents(){let h=this.chart,c=this.proxyProvider,L=h.options.accessibility;this.components={container:new Z,infoRegions:new Y,legend:new W,chartMenu:new k,rangeSelector:new o,series:new u,zoom:new x,navigator:new E},L.customComponents&&l(this.components,L.customComponents);let z=this.components;this.getComponentOrder().forEach(function(w){z[w].initBase(h,c),z[w].init()})}getComponentOrder(){return this.components?this.components.series?["series"].concat(Object.keys(this.components).filter(h=>h!=="series")):Object.keys(this.components):[]}update(){let h=this.components,c=this.chart,L=c.options.accessibility;s(c,"beforeA11yUpdate"),c.types=this.getChartTypes();let z=L.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(z),this.getComponentOrder().forEach(function(w){h[w].onChartUpdate(),s(c,"afterA11yComponentUpdate",{name:w,component:h[w]})}),this.keyboardNavigation.update(z),!c.highContrastModeActive&&L.highContrastMode!==!1&&(f.isHighContrastModeActive()||L.highContrastMode===!0)&&f.setHighContrastTheme(c),s(c,"afterA11yUpdate",{accessibility:this})}destroy(){let h=this.chart||{},c=this.components;Object.keys(c).forEach(function(L){c[L].destroy(),c[L].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),h.announcerContainer&&a(h.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),h.renderTo&&h.renderTo.setAttribute("aria-hidden",!0),h.focusElement&&h.focusElement.removeFocusBorder()}getChartTypes(){let h={};return this.chart.series.forEach(function(c){h[c.type]=1}),Object.keys(h)}}return function(n){function h(){this.accessibility&&this.accessibility.destroy()}function c(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let R=this.accessibility;R&&!R.zombie&&(R.proxyProvider.updateProxyElementPositions(),R.getComponentOrder().forEach(function(V){R.components[V].onChartRender()}))}function L(R){let V=R.options.accessibility;V&&(V.customComponents&&(this.options.accessibility.customComponents=V.customComponents,delete V.customComponents),r(!0,this.options.accessibility,V),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function z(){let R=this.accessibility,V=this.options.accessibility;V&&V.enabled?R&&!R.zombie?R.update():(this.accessibility=R=new n(this),R&&!R.zombie&&R.update()):R?(R.destroy&&R.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)}function w(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}n.i18nFormat=q.i18nFormat,n.compose=function(R,V,X,J,P,C){F.compose(R),M.compose(J),W.compose(R,V),k.compose(R),u.compose(R,X,J),q.compose(R),Q.compose(R,P),C&&o.compose(R,C);let N=R.prototype;N.updateA11yEnabled||(N.updateA11yEnabled=z,S(R,"destroy",h),S(R,"render",c),S(R,"update",L),["addSeries","init"].forEach(_=>{S(R,_,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(_=>{S(R,_,function(){let y=this.accessibility;y&&!y.zombie&&y.update()})}),S(X,"update",w),["update","updatedData","remove"].forEach(_=>{S(J,_,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(d||(d={})),r(!0,A,b,{accessibility:{highContrastTheme:p},lang:I}),d}),O(e,"masters/modules/accessibility.src.js",[e["Core/Globals.js"],e["Accessibility/Accessibility.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],function(m,T,G,$,q,Z,Q){return m.i18nFormat=T.i18nFormat,m.A11yChartUtilities=$,m.A11yHTMLUtilities=q,m.AccessibilityComponent=G,m.KeyboardNavigationHandler=Z,m.SeriesAccessibilityDescriber=Q,T.compose(m.Chart,m.Legend,m.Point,m.Series,m.SVGElement,m.RangeSelector),m})})})(Nc);var Cg=Nc.exports;const Ic=gs(Cg);jc(el);Ic(el);const il=({options:t,disableTitles:i=!1,...e})=>{function O(Q){return Q!==null&&typeof Q=="object"&&!Array.isArray(Q)}function m(Q,Y,F=new Map){if(O(Q)&&O(Y))for(const W in Y)O(Y[W])?(Q[W]||(Q[W]={}),F.has(Y[W])?Q[W]=F.get(Y[W]):(F.set(Y[W],{}),m(Q[W],Y[W],F))):Q[W]=Y[W];return Q}function T(Q){return Q.length===void 0}function G(Q){return Q.length===void 0}const $=Ft.useRef(null),q={title:{style:{fontSize:"2rem"}},colors:["#00437c","#bf530a","#4f7f0a","#663f74","#0f6fb7","#993333","#367b87","#565656"],credits:{enabled:!1},xAxis:{labels:{style:{fontSize:"1.2rem"}},title:{style:{fontSize:"1.5rem"}}},yAxis:{labels:{style:{fontSize:"1.2rem"}},title:{style:{fontSize:"1.5rem"}}},tooltip:{style:{fontSize:"1.2rem"}},legend:{enabled:!1}};i&&T(t.xAxis)&&(t.xAxis.title.text=void 0),i&&G(t.yAxis)&&(t.yAxis.title.text=void 0);const Z=m(q,t);return St.jsx("div",{tabIndex:0,children:St.jsx(Oc,{highcharts:el,options:Z,ref:$,...e})})};var Rc={exports:{}};(function(t){(function(i,e){t.exports?(e.default=e,t.exports=i&&i.document?e(i):e):(i.Highcharts&&i.Highcharts.error(16,!0),i.Highcharts=e(i))})(typeof window<"u"?window:oa,function(i){var e={};function O(m,T,G,$){m.hasOwnProperty(T)||(m[T]=$.apply(null,G),typeof CustomEvent=="function"&&i.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:T,module:m[T]}})))}return O(e,"Core/Globals.js",[],function(){var m,T;return(T=m||(m={})).SVG_NS="http://www.w3.org/2000/svg",T.product="Highcharts",T.version="11.4.6",T.win=i!==void 0?i:{},T.doc=T.win.document,T.svg=T.doc&&T.doc.createElementNS&&!!T.doc.createElementNS(T.SVG_NS,"svg").createSVGRect,T.userAgent=T.win.navigator&&T.win.navigator.userAgent||"",T.isChrome=T.win.chrome,T.isFirefox=T.userAgent.indexOf("Firefox")!==-1,T.isMS=/(edge|msie|trident)/i.test(T.userAgent)&&!T.win.opera,T.isSafari=!T.isChrome&&T.userAgent.indexOf("Safari")!==-1,T.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(T.userAgent),T.isWebKit=T.userAgent.indexOf("AppleWebKit")!==-1,T.deg2rad=2*Math.PI/360,T.hasBidiBug=T.isFirefox&&4>parseInt(T.userAgent.split("Firefox/")[1],10),T.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],T.noop=function(){},T.supportsPassiveEvents=function(){let G=!1;if(!T.isMS){let $=Object.defineProperty({},"passive",{get:function(){G=!0}});T.win.addEventListener&&T.win.removeEventListener&&(T.win.addEventListener("testPassive",T.noop,$),T.win.removeEventListener("testPassive",T.noop,$))}return G}(),T.charts=[],T.composed=[],T.dateFormats={},T.seriesTypes={},T.symbolSizes={},T.chartCount=0,m}),O(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(m){let T,{charts:G,doc:$,win:q}=m;function Z(s,r,a,d){let n=r?"Highcharts error":"Highcharts warning";s===32&&(s=`${n}: Deprecated member`);let h=M(s),c=h?`${n} #${s}: www.highcharts.com/errors/${s}/`:s.toString();if(d!==void 0){let L="";h&&(c+="?"),A(d,function(z,w){L+=` - ${w}: ${z}`,h&&(c+=encodeURI(w)+"="+encodeURI(z))}),c+=L}S(m,"displayError",{chart:a,code:s,message:c,params:d},function(){if(r)throw Error(c);q.console&&Z.messages.indexOf(c)===-1&&console.warn(c)}),Z.messages.push(c)}function Q(s,r){return parseInt(s,r||10)}function Y(s){return typeof s=="string"}function F(s){let r=Object.prototype.toString.call(s);return r==="[object Array]"||r==="[object Array Iterator]"}function W(s,r){return!!s&&typeof s=="object"&&(!r||!F(s))}function k(s){return W(s)&&typeof s.nodeType=="number"}function E(s){let r=s&&s.constructor;return!!(W(s,!0)&&!k(s)&&r&&r.name&&r.name!=="Object")}function M(s){return typeof s=="number"&&!isNaN(s)&&s<1/0&&s>-1/0}function v(s){return s!=null}function o(s,r,a){let d,n=Y(r)&&!v(a),h=(c,L)=>{v(c)?s.setAttribute(L,c):n?(d=s.getAttribute(L))||L!=="class"||(d=s.getAttribute(L+"Name")):s.removeAttribute(L)};return Y(r)?h(a,r):A(r,h),d}function u(s){return F(s)?s:[s]}function x(s,r){let a;for(a in s||(s={}),r)s[a]=r[a];return s}function f(){let s=arguments,r=s.length;for(let a=0;a<r;a++){let d=s[a];if(d!=null)return d}}function p(s,r){x(s.style,r)}function b(s){return Math.pow(10,Math.floor(Math.log(s)/Math.LN10))}function I(s,r){return s>1e14?s:parseFloat(s.toPrecision(r||14))}(Z||(Z={})).messages=[],Math.easeInOutSine=function(s){return-.5*(Math.cos(Math.PI*s)-1)};let B=Array.prototype.find?function(s,r){return s.find(r)}:function(s,r){let a,d=s.length;for(a=0;a<d;a++)if(r(s[a],a))return s[a]};function A(s,r,a){for(let d in s)Object.hasOwnProperty.call(s,d)&&r.call(a||s[d],s[d],d,s)}function g(s,r,a){function d(c,L){let z=s.removeEventListener;z&&z.call(s,c,L,!1)}function n(c){let L,z;s.nodeName&&(r?(L={})[r]=!0:L=c,A(L,function(w,R){if(c[R])for(z=c[R].length;z--;)d(R,c[R][z].fn)}))}let h=typeof s=="function"&&s.prototype||s;if(Object.hasOwnProperty.call(h,"hcEvents")){let c=h.hcEvents;if(r){let L=c[r]||[];a?(c[r]=L.filter(function(z){return a!==z.fn}),d(r,a)):(n(c),c[r]=[])}else n(c),delete h.hcEvents}}function S(s,r,a,d){if(a=a||{},$.createEvent&&(s.dispatchEvent||s.fireEvent&&s!==m)){let n=$.createEvent("Events");n.initEvent(r,!0,!0),a=x(n,a),s.dispatchEvent?s.dispatchEvent(a):s.fireEvent(r,a)}else if(s.hcEvents){a.target||x(a,{preventDefault:function(){a.defaultPrevented=!0},target:s,type:r});let n=[],h=s,c=!1;for(;h.hcEvents;)Object.hasOwnProperty.call(h,"hcEvents")&&h.hcEvents[r]&&(n.length&&(c=!0),n.unshift.apply(n,h.hcEvents[r])),h=Object.getPrototypeOf(h);c&&n.sort((L,z)=>L.order-z.order),n.forEach(L=>{L.fn.call(s,a)===!1&&a.preventDefault()})}d&&!a.defaultPrevented&&d.call(s,a)}A({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(s,r){m[r]=function(a){return Z(32,!1,void 0,{[`Highcharts.${r}`]:`use Array.${s}`}),Array.prototype[s].apply(a,[].slice.call(arguments,1))}});let l=function(){let s=Math.random().toString(36).substring(2,9)+"-",r=0;return function(){return"highcharts-"+(T?"":s)+r++}}();return q.jQuery&&(q.jQuery.fn.highcharts=function(){let s=[].slice.call(arguments);if(this[0])return s[0]?(new m[Y(s[0])?s.shift():"Chart"](this[0],s[0],s[1]),this):G[o(this[0],"data-highcharts-chart")]}),{addEvent:function(s,r,a,d={}){let n=typeof s=="function"&&s.prototype||s;Object.hasOwnProperty.call(n,"hcEvents")||(n.hcEvents={});let h=n.hcEvents;m.Point&&s instanceof m.Point&&s.series&&s.series.chart&&(s.series.chart.runTrackerClick=!0);let c=s.addEventListener;c&&c.call(s,r,a,!!m.supportsPassiveEvents&&{passive:d.passive===void 0?r.indexOf("touch")!==-1:d.passive,capture:!1}),h[r]||(h[r]=[]);let L={fn:a,order:typeof d.order=="number"?d.order:1/0};return h[r].push(L),h[r].sort((z,w)=>z.order-w.order),function(){g(s,r,a)}},arrayMax:function(s){let r=s.length,a=s[0];for(;r--;)s[r]>a&&(a=s[r]);return a},arrayMin:function(s){let r=s.length,a=s[0];for(;r--;)s[r]<a&&(a=s[r]);return a},attr:o,clamp:function(s,r,a){return s>r?s<a?s:a:r},clearTimeout:function(s){v(s)&&clearTimeout(s)},correctFloat:I,createElement:function(s,r,a,d,n){let h=$.createElement(s);return r&&x(h,r),n&&p(h,{padding:"0",border:"none",margin:"0"}),a&&p(h,a),d&&d.appendChild(h),h},crisp:(s,r=0,a)=>{let d=r%2/2,n=a?-1:1;return(Math.round(s*n-d)+d)*n},css:p,defined:v,destroyObjectProperties:function(s,r,a){A(s,function(d,n){d!==r&&(d!=null&&d.destroy)&&d.destroy(),(d!=null&&d.destroy||!a)&&delete s[n]})},diffObjects:function(s,r,a,d){let n={};return function h(c,L,z,w){let R=a?L:c;A(c,function(V,X){if(!w&&d&&d.indexOf(X)>-1&&L[X]){V=u(V),z[X]=[];for(let J=0;J<Math.max(V.length,L[X].length);J++)L[X][J]&&(V[J]===void 0?z[X][J]=L[X][J]:(z[X][J]={},h(V[J],L[X][J],z[X][J],w+1)))}else W(V,!0)&&!V.nodeType?(z[X]=F(V)?[]:{},h(V,L[X]||{},z[X],w+1),Object.keys(z[X]).length!==0||X==="colorAxis"&&w===0||delete z[X]):(c[X]!==L[X]||X in c&&!(X in L))&&X!=="__proto__"&&X!=="constructor"&&(z[X]=R[X])})}(s,r,n,0),n},discardElement:function(s){s&&s.parentElement&&s.parentElement.removeChild(s)},erase:function(s,r){let a=s.length;for(;a--;)if(s[a]===r){s.splice(a,1);break}},error:Z,extend:x,extendClass:function(s,r){let a=function(){};return a.prototype=new s,x(a.prototype,r),a},find:B,fireEvent:S,getClosestDistance:function(s,r){let a,d,n,h=!r;return s.forEach(c=>{if(c.length>1)for(n=c.length-1;n>0;n--)(d=c[n]-c[n-1])<0&&!h?(r==null||r(),r=void 0):d&&(a===void 0||d<a)&&(a=d)}),a},getMagnitude:b,getNestedProperty:function(s,r){let a=s.split(".");for(;a.length&&v(r);){let d=a.shift();if(d===void 0||d==="__proto__")return;if(d==="this"){let h;return W(r)&&(h=r["@this"]),h??r}let n=r[d];if(!v(n)||typeof n=="function"||typeof n.nodeType=="number"||n===q)return;r=n}return r},getStyle:function s(r,a,d){let n;if(a==="width"){let c=Math.min(r.offsetWidth,r.scrollWidth),L=r.getBoundingClientRect&&r.getBoundingClientRect().width;return L<c&&L>=c-1&&(c=Math.floor(L)),Math.max(0,c-(s(r,"padding-left",!0)||0)-(s(r,"padding-right",!0)||0))}if(a==="height")return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-(s(r,"padding-top",!0)||0)-(s(r,"padding-bottom",!0)||0));let h=q.getComputedStyle(r,void 0);return h&&(n=h.getPropertyValue(a),f(d,a!=="opacity")&&(n=Q(n))),n},inArray:function(s,r,a){return Z(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),r.indexOf(s,a)},insertItem:function(s,r){let a,d=s.options.index,n=r.length;for(a=s.options.isInternal?n:0;a<n+1;a++)if(!r[a]||M(d)&&d<f(r[a].options.index,r[a]._i)||r[a].options.isInternal){r.splice(a,0,s);break}return a},isArray:F,isClass:E,isDOMElement:k,isFunction:function(s){return typeof s=="function"},isNumber:M,isObject:W,isString:Y,keys:function(s){return Z(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(s)},merge:function(){let s,r=arguments,a={},d=function(h,c){return typeof h!="object"&&(h={}),A(c,function(L,z){z!=="__proto__"&&z!=="constructor"&&(!W(L,!0)||E(L)||k(L)?h[z]=c[z]:h[z]=d(h[z]||{},L))}),h};r[0]===!0&&(a=r[1],r=Array.prototype.slice.call(r,2));let n=r.length;for(s=0;s<n;s++)a=d(a,r[s]);return a},normalizeTickInterval:function(s,r,a,d,n){let h,c=s;a=f(a,b(s));let L=s/a;for(!r&&(r=n?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],d===!1&&(a===1?r=r.filter(function(z){return z%1==0}):a<=.1&&(r=[1/a]))),h=0;h<r.length&&(c=r[h],(!n||!(c*a>=s))&&(n||!(L<=(r[h]+(r[h+1]||r[h]))/2)));h++);return I(c*a,-Math.round(Math.log(.001)/Math.LN10))},objectEach:A,offset:function(s){let r=$.documentElement,a=s.parentElement||s.parentNode?s.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:a.top+(q.pageYOffset||r.scrollTop)-(r.clientTop||0),left:a.left+(q.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:a.width,height:a.height}},pad:function(s,r,a){return Array((r||2)+1-String(s).replace("-","").length).join(a||"0")+s},pick:f,pInt:Q,pushUnique:function(s,r){return 0>s.indexOf(r)&&!!s.push(r)},relativeLength:function(s,r,a){return/%$/.test(s)?r*parseFloat(s)/100+(a||0):parseFloat(s)},removeEvent:g,replaceNested:function(s,...r){let a,d;do for(d of(a=s,r))s=s.replace(d[0],d[1]);while(s!==a);return s},splat:u,stableSort:function(s,r){let a,d,n=s.length;for(d=0;d<n;d++)s[d].safeI=d;for(s.sort(function(h,c){return(a=r(h,c))===0?h.safeI-c.safeI:a}),d=0;d<n;d++)delete s[d].safeI},syncTimeout:function(s,r,a){return r>0?setTimeout(s,r,a):(s.call(0,a),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:l,useSerialIds:function(s){return T=f(s,T)},wrap:function(s,r,a){let d=s[r];s[r]=function(){let n=arguments,h=this;return a.apply(this,[function(){return d.apply(h,arguments.length?arguments:n)}].concat([].slice.call(arguments)))}}}}),O(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),O(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),O(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{win:G}=m,{defined:$,error:q,extend:Z,isNumber:Q,isObject:Y,merge:F,objectEach:W,pad:k,pick:E,splat:M,timeUnits:v}=T,o=m.isSafari&&G.Intl&&G.Intl.DateTimeFormat.prototype.formatRange,u=m.isSafari&&G.Intl&&!G.Intl.DateTimeFormat.prototype.formatRange;class x{constructor(p){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=G.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(p)}get(p,b){if(this.variableTimezone||this.timezoneOffset){let I=b.getTime(),B=I-this.getTimezoneOffset(b);b.setTime(B);let A=b["getUTC"+p]();return b.setTime(I),A}return this.useUTC?b["getUTC"+p]():b["get"+p]()}set(p,b,I){if(this.variableTimezone||this.timezoneOffset){if(p==="Milliseconds"||p==="Seconds"||p==="Minutes"&&this.getTimezoneOffset(b)%36e5==0)return b["setUTC"+p](I);let B=this.getTimezoneOffset(b),A=b.getTime()-B;b.setTime(A),b["setUTC"+p](I);let g=this.getTimezoneOffset(b);return A=b.getTime()+g,b.setTime(A)}return this.useUTC||o&&p==="FullYear"?b["setUTC"+p](I):b["set"+p](I)}update(p={}){let b=E(p.useUTC,!0);this.options=p=F(!0,this.options,p),this.Date=p.Date||G.Date||Date,this.useUTC=b,this.timezoneOffset=b&&p.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=b&&!!(p.getTimezoneOffset||p.timezone)}makeTime(p,b,I,B,A,g){let S,l,s;return this.useUTC?(S=this.Date.UTC.apply(0,arguments),l=this.getTimezoneOffset(S),S+=l,l!==(s=this.getTimezoneOffset(S))?S+=s-l:l-36e5!==this.getTimezoneOffset(S-36e5)||u||(S-=36e5)):S=new this.Date(p,b,E(I,1),E(B,0),E(A,0),E(g,0)).getTime(),S}timezoneOffsetFunction(){let p=this,b=this.options,I=b.getTimezoneOffset;return this.useUTC?b.timezone?B=>{try{let A=`shortOffset,${b.timezone||""}`,[g,S,l,s,r=0]=(x.formatCache[A]=x.formatCache[A]||Intl.DateTimeFormat("en",{timeZone:b.timezone,timeZoneName:"shortOffset"})).format(B).split(/(GMT|:)/).map(Number),a=-(36e5*(l+r/60));if(Q(a))return a}catch{q(34)}return 0}:this.useUTC&&I?B=>6e4*I(B.valueOf()):()=>6e4*(p.timezoneOffset||0):B=>6e4*new Date(B.toString()).getTimezoneOffset()}dateFormat(p,b,I){if(!$(b)||isNaN(b))return m.defaultOptions.lang&&m.defaultOptions.lang.invalidDate||"";p=E(p,"%Y-%m-%d %H:%M:%S");let B=this,A=new this.Date(b),g=this.get("Hours",A),S=this.get("Day",A),l=this.get("Date",A),s=this.get("Month",A),r=this.get("FullYear",A),a=m.defaultOptions.lang,d=a&&a.weekdays,n=a&&a.shortWeekdays;return W(Z({a:n?n[S]:d[S].substr(0,3),A:d[S],d:k(l),e:k(l,2," "),w:S,b:a.shortMonths[s],B:a.months[s],m:k(s+1),o:s+1,y:r.toString().substr(2,2),Y:r,H:k(g),k:g,I:k(g%12||12),l:g%12||12,M:k(this.get("Minutes",A)),p:g<12?"AM":"PM",P:g<12?"am":"pm",S:k(this.get("Seconds",A)),L:k(Math.floor(b%1e3),3)},m.dateFormats),function(h,c){for(;p.indexOf("%"+c)!==-1;)p=p.replace("%"+c,typeof h=="function"?h.call(B,b):h)}),I?p.substr(0,1).toUpperCase()+p.substr(1):p}resolveDTLFormat(p){return Y(p,!0)?p:{main:(p=M(p))[0],from:p[1],to:p[2]}}getTimeTicks(p,b,I,B){let A,g,S,l,s=this,r=s.Date,a=[],d={},n=new r(b),h=p.unitRange,c=p.count||1;if(B=E(B,1),$(b)){s.set("Milliseconds",n,h>=v.second?0:c*Math.floor(s.get("Milliseconds",n)/c)),h>=v.second&&s.set("Seconds",n,h>=v.minute?0:c*Math.floor(s.get("Seconds",n)/c)),h>=v.minute&&s.set("Minutes",n,h>=v.hour?0:c*Math.floor(s.get("Minutes",n)/c)),h>=v.hour&&s.set("Hours",n,h>=v.day?0:c*Math.floor(s.get("Hours",n)/c)),h>=v.day&&s.set("Date",n,h>=v.month?1:Math.max(1,c*Math.floor(s.get("Date",n)/c))),h>=v.month&&(s.set("Month",n,h>=v.year?0:c*Math.floor(s.get("Month",n)/c)),g=s.get("FullYear",n)),h>=v.year&&(g-=g%c,s.set("FullYear",n,g)),h===v.week&&(l=s.get("Day",n),s.set("Date",n,s.get("Date",n)-l+B+(l<B?-7:0))),g=s.get("FullYear",n);let L=s.get("Month",n),z=s.get("Date",n),w=s.get("Hours",n);b=n.getTime(),(s.variableTimezone||!s.useUTC)&&$(I)&&(S=I-b>4*v.month||s.getTimezoneOffset(b)!==s.getTimezoneOffset(I));let R=n.getTime();for(A=1;R<I;)a.push(R),h===v.year?R=s.makeTime(g+A*c,0):h===v.month?R=s.makeTime(g,L+A*c):S&&(h===v.day||h===v.week)?R=s.makeTime(g,L,z+A*c*(h===v.day?1:7)):S&&h===v.hour&&c>1?R=s.makeTime(g,L,z,w+A*c):R+=h*c,A++;a.push(R),h<=v.hour&&a.length<1e4&&a.forEach(function(V){V%18e5==0&&s.dateFormat("%H%M%S%L",V)==="000000000"&&(d[V]="day")})}return a.info=Z(p,{higherRanks:d,totalRange:h*c}),a}getDateFormat(p,b,I,B){let A=this.dateFormat("%m-%d %H:%M:%S.%L",b),g="01-01 00:00:00.000",S={millisecond:15,second:12,minute:9,hour:6,day:3},l="millisecond",s=l;for(l in v){if(p===v.week&&+this.dateFormat("%w",b)===I&&A.substr(6)===g.substr(6)){l="week";break}if(v[l]>p){l=s;break}if(S[l]&&A.substr(S[l])!==g.substr(S[l]))break;l!=="week"&&(s=l)}return this.resolveDTLFormat(B[l]).main}}return x.formatCache={},x}),O(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{isTouchDevice:Z}=T,{fireEvent:Q,merge:Y}=q,F={colors:G.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:m,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:k=>Math.sqrt(1-Math.pow(k-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:Z?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">â—</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};F.chart.styledMode=!1;let W=new $(F.time);return{defaultOptions:F,defaultTime:W,getOptions:function(){return F},setOptions:function(k){return Q(T,"setOptions",{options:k}),Y(!0,F,k),(k.time||k.global)&&(T.time?T.time.update(Y(F.global,F.time,k.global,k.time)):T.time=W),F}}}),O(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{isNumber:G,merge:$,pInt:q}=T;class Z{static parse(Y){return Y?new Z(Y):Z.None}constructor(Y){let F,W,k,E;this.rgba=[NaN,NaN,NaN,NaN],this.input=Y;let M=m.Color;if(M&&M!==Z)return new M(Y);if(typeof Y=="object"&&Y.stops!==void 0)this.stops=Y.stops.map(v=>new Z(v[1]));else if(typeof Y=="string"){if(this.input=Y=Z.names[Y.toLowerCase()]||Y,Y.charAt(0)==="#"){let v=Y.length,o=parseInt(Y.substr(1),16);v===7?W=[(16711680&o)>>16,(65280&o)>>8,255&o,1]:v===4&&(W=[(3840&o)>>4|(3840&o)>>8,(240&o)>>4|240&o,(15&o)<<4|15&o,1])}if(!W)for(k=Z.parsers.length;k--&&!W;)(F=(E=Z.parsers[k]).regex.exec(Y))&&(W=E.parse(F))}W&&(this.rgba=W)}get(Y){let F=this.input,W=this.rgba;if(typeof F=="object"&&this.stops!==void 0){let k=$(F);return k.stops=[].slice.call(k.stops),this.stops.forEach((E,M)=>{k.stops[M]=[k.stops[M][0],E.get(Y)]}),k}return W&&G(W[0])?Y!=="rgb"&&(Y||W[3]!==1)?Y==="a"?`${W[3]}`:"rgba("+W.join(",")+")":"rgb("+W[0]+","+W[1]+","+W[2]+")":F}brighten(Y){let F=this.rgba;if(this.stops)this.stops.forEach(function(W){W.brighten(Y)});else if(G(Y)&&Y!==0)for(let W=0;W<3;W++)F[W]+=q(255*Y),F[W]<0&&(F[W]=0),F[W]>255&&(F[W]=255);return this}setOpacity(Y){return this.rgba[3]=Y,this}tweenTo(Y,F){let W=this.rgba,k=Y.rgba;if(!G(W[0])||!G(k[0]))return Y.input||"none";let E=k[3]!==1||W[3]!==1;return(E?"rgba(":"rgb(")+Math.round(k[0]+(W[0]-k[0])*(1-F))+","+Math.round(k[1]+(W[1]-k[1])*(1-F))+","+Math.round(k[2]+(W[2]-k[2])*(1-F))+(E?","+(k[3]+(W[3]-k[3])*(1-F)):"")+")"}}return Z.names={white:"#ffffff",black:"#000000"},Z.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(Q){return[q(Q[1]),q(Q[2]),q(Q[3]),parseFloat(Q[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(Q){return[q(Q[1]),q(Q[2]),q(Q[3]),1]}}],Z.None=new Z(""),Z}),O(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{parse:$}=m,{win:q}=T,{isNumber:Z,objectEach:Q}=G;class Y{constructor(W,k,E){this.pos=NaN,this.options=k,this.elem=W,this.prop=E}dSetter(){let W=this.paths,k=W&&W[0],E=W&&W[1],M=this.now||0,v=[];if(M!==1&&k&&E)if(k.length===E.length&&M<1)for(let o=0;o<E.length;o++){let u=k[o],x=E[o],f=[];for(let p=0;p<x.length;p++){let b=u[p],I=x[p];Z(b)&&Z(I)&&!(x[0]==="A"&&(p===4||p===5))?f[p]=b+M*(I-b):f[p]=I}v.push(f)}else v=E;else v=this.toD||[];this.elem.attr("d",v,void 0,!0)}update(){let W=this.elem,k=this.prop,E=this.now,M=this.options.step;this[k+"Setter"]?this[k+"Setter"]():W.attr?W.element&&W.attr(k,E,null,!0):W.style[k]=E+this.unit,M&&M.call(W,E,this)}run(W,k,E){let M=this,v=M.options,o=function(f){return!o.stopped&&M.step(f)},u=q.requestAnimationFrame||function(f){setTimeout(f,13)},x=function(){for(let f=0;f<Y.timers.length;f++)Y.timers[f]()||Y.timers.splice(f--,1);Y.timers.length&&u(x)};W!==k||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=W,this.end=k,this.unit=E,this.now=this.start,this.pos=0,o.elem=this.elem,o.prop=this.prop,o()&&Y.timers.push(o)===1&&u(x)):(delete v.curAnim[this.prop],v.complete&&Object.keys(v.curAnim).length===0&&v.complete.call(this.elem))}step(W){let k,E,M=+new Date,v=this.options,o=this.elem,u=v.complete,x=v.duration,f=v.curAnim;return o.attr&&!o.element?k=!1:W||M>=x+this.startTime?(this.now=this.end,this.pos=1,this.update(),f[this.prop]=!0,E=!0,Q(f,function(p){p!==!0&&(E=!1)}),E&&u&&u.call(o),k=!1):(this.pos=v.easing((M-this.startTime)/x),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0),k}initPath(W,k,E){let M=W.startX,v=W.endX,o=E.slice(),u=W.isArea,x=u?2:1,f=k&&E.length>k.length&&E.hasStackedCliffs,p,b,I,B,A=k&&k.slice();if(!A||f)return[o,o];function g(l,s){for(;l.length<b;){let r=l[0],a=s[b-l.length];if(a&&r[0]==="M"&&(a[0]==="C"?l[0]=["C",r[1],r[2],r[1],r[2],r[1],r[2]]:l[0]=["L",r[1],r[2]]),l.unshift(r),u){let d=l.pop();l.push(l[l.length-1],d)}}}function S(l){for(;l.length<b;){let s=l[Math.floor(l.length/x)-1].slice();if(s[0]==="C"&&(s[1]=s[5],s[2]=s[6]),u){let r=l[Math.floor(l.length/x)].slice();l.splice(l.length/2,0,s,r)}else l.push(s)}}if(M&&v&&v.length){for(I=0;I<M.length;I++){if(M[I]===v[0]){p=I;break}if(M[0]===v[v.length-M.length+I]){p=I,B=!0;break}if(M[M.length-1]===v[v.length-M.length+I]){p=M.length-I;break}}p===void 0&&(A=[])}return A.length&&Z(p)&&(b=o.length+p*x,B?(g(A,o),S(o)):(g(o,A),S(A))),[A,o]}fillSetter(){Y.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,$(this.start).tweenTo($(this.end),this.pos),void 0,!0)}}return Y.timers=[],Y}),O(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(m,T){let{defined:G,getStyle:$,isArray:q,isNumber:Z,isObject:Q,merge:Y,objectEach:F,pick:W}=T;function k(M){return Q(M)?Y({duration:500,defer:0},M):{duration:M?500:0,defer:0}}function E(M,v){let o=m.timers.length;for(;o--;)m.timers[o].elem!==M||v&&v!==m.timers[o].prop||(m.timers[o].stopped=!0)}return{animate:function(M,v,o){let u,x="",f,p,b;Q(o)||(b=arguments,o={duration:b[2],easing:b[3],complete:b[4]}),Z(o.duration)||(o.duration=400),o.easing=typeof o.easing=="function"?o.easing:Math[o.easing]||Math.easeInOutSine,o.curAnim=Y(v),F(v,function(I,B){E(M,B),p=new m(M,o,B),f=void 0,B==="d"&&q(v.d)?(p.paths=p.initPath(M,M.pathArray,v.d),p.toD=v.d,u=0,f=1):M.attr?u=M.attr(B):(u=parseFloat($(M,B))||0,B!=="opacity"&&(x="px")),f||(f=I),typeof f=="string"&&f.match("px")&&(f=f.replace(/px/g,"")),p.run(u,f,x)})},animObject:k,getDeferredAnimation:function(M,v,o){let u=k(v),x=o?[o]:M.series,f=0,p=0;return x.forEach(b=>{let I=k(b.options.animation);f=Q(v)&&G(v.defer)?u.defer:Math.max(f,I.duration+I.defer),p=Math.min(u.duration,I.duration)}),M.renderer.forExport&&(f=0),{defer:Math.max(0,f-p),duration:Math.min(f,p)}},setAnimation:function(M,v){v.renderer.globalAnimation=W(M,v.options.chart.animation,!0)},stop:E}}),O(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{SVG_NS:G,win:$}=m,{attr:q,createElement:Z,css:Q,error:Y,isFunction:F,isString:W,objectEach:k,splat:E}=T,{trustedTypes:M}=$,v=M&&F(M.createPolicy)&&M.createPolicy("highcharts",{createHTML:f=>f}),o=v?v.createHTML(""):"",u=function(){try{return!!new DOMParser().parseFromString(o,"text/html")}catch{return!1}}();class x{static filterUserAttributes(p){return k(p,(b,I)=>{let B=!0;x.allowedAttributes.indexOf(I)===-1&&(B=!1),["background","dynsrc","href","lowsrc","src"].indexOf(I)!==-1&&(B=W(b)&&x.allowedReferences.some(A=>b.indexOf(A)===0)),B||(Y(33,!1,void 0,{"Invalid attribute in config":`${I}`}),delete p[I]),W(b)&&p[I]&&(p[I]=b.replace(/</g,"<"))}),p}static parseStyle(p){return p.split(";").reduce((b,I)=>{let B=I.split(":").map(g=>g.trim()),A=B.shift();return A&&B.length&&(b[A.replace(/-([a-z])/g,g=>g[1].toUpperCase())]=B.join(":")),b},{})}static setElementHTML(p,b){p.innerHTML=x.emptyHTML,b&&new x(b).addToDOM(p)}constructor(p){this.nodes=typeof p=="string"?this.parseMarkup(p):p}addToDOM(p){return function b(I,B){let A;return E(I).forEach(function(g){let S,l=g.tagName,s=g.textContent?m.doc.createTextNode(g.textContent):void 0,r=x.bypassHTMLFiltering;if(l)if(l==="#text")S=s;else if(x.allowedTags.indexOf(l)!==-1||r){let a=l==="svg"?G:B.namespaceURI||G,d=m.doc.createElementNS(a,l),n=g.attributes||{};k(g,function(h,c){c!=="tagName"&&c!=="attributes"&&c!=="children"&&c!=="style"&&c!=="textContent"&&(n[c]=h)}),q(d,r?n:x.filterUserAttributes(n)),g.style&&Q(d,g.style),s&&d.appendChild(s),b(g.children||[],d),S=d}else Y(33,!1,void 0,{"Invalid tagName in config":l});S&&B.appendChild(S),A=S}),A}(this.nodes,p)}parseMarkup(p){let b,I=[];if(p=p.trim().replace(/ style=(["'])/g," data-style=$1"),u)b=new DOMParser().parseFromString(v?v.createHTML(p):p,"text/html");else{let A=Z("div");A.innerHTML=p,b={body:A}}let B=(A,g)=>{let S=A.nodeName.toLowerCase(),l={tagName:S};S==="#text"&&(l.textContent=A.textContent||"");let s=A.attributes;if(s){let r={};[].forEach.call(s,a=>{a.name==="data-style"?l.style=x.parseStyle(a.value):r[a.name]=a.value}),l.attributes=r}if(A.childNodes.length){let r=[];[].forEach.call(A.childNodes,a=>{B(a,r)}),r.length&&(l.children=r)}g.push(l)};return[].forEach.call(b.body.childNodes,A=>B(A,I)),I}}return x.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],x.allowedReferences=["https://","http://","mailto:","/","../","./","#"],x.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],x.emptyHTML=o,x.bypassHTMLFiltering=!1,x}),O(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(m,T){let{defaultOptions:G,defaultTime:$}=m,{extend:q,getNestedProperty:Z,isArray:Q,isNumber:Y,isObject:F,pick:W,pInt:k}=T,E={add:(o,u)=>o+u,divide:(o,u)=>u!==0?o/u:"",eq:(o,u)=>o==u,each:function(o){let u=arguments[arguments.length-1];return!!Q(o)&&o.map((x,f)=>M(u.body,q(F(x)?x:{"@this":x},{"@index":f,"@first":f===0,"@last":f===o.length-1}))).join("")},ge:(o,u)=>o>=u,gt:(o,u)=>o>u,if:o=>!!o,le:(o,u)=>o<=u,lt:(o,u)=>o<u,multiply:(o,u)=>o*u,ne:(o,u)=>o!=u,subtract:(o,u)=>o-u,unless:o=>!o};function M(o="",u,x){let f=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,p=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,b=[],I=/f$/,B=/\.(\d)/,A=G.lang,g=x&&x.time||$,S=x&&x.numberFormatter||v,l=(n="")=>{let h;return n==="true"||n!=="false"&&((h=Number(n)).toString()===n?h:Z(n,u))},s,r,a=0,d;for(;(s=f.exec(o))!==null;){let n=p.exec(s[1]);n&&(s=n,d=!0),r&&r.isBlock||(r={ctx:u,expression:s[1],find:s[0],isBlock:s[1].charAt(0)==="#",start:s.index,startInner:s.index+s[0].length,length:s[0].length});let h=s[1].split(" ")[0].replace("#","");E[h]&&(r.isBlock&&h===r.fn&&a++,r.fn||(r.fn=h));let c=s[1]==="else";if(r.isBlock&&r.fn&&(s[1]===`/${r.fn}`||c))if(a)!c&&a--;else{let L=r.startInner,z=o.substr(L,s.index-L);r.body===void 0?(r.body=z,r.startInner=s.index+s[0].length):r.elseBody=z,r.find+=z+s[0],c||(b.push(r),r=void 0)}else r.isBlock||b.push(r);if(n&&!(r!=null&&r.isBlock))break}return b.forEach(n=>{let h,c,{body:L,elseBody:z,expression:w,fn:R}=n;if(R){let V=[n],X=w.split(" ");for(c=E[R].length;c--;)V.unshift(l(X[c+1]));h=E[R].apply(u,V),n.isBlock&&typeof h=="boolean"&&(h=M(h?L:z,u,x))}else{let V=w.split(":");if(h=l(V.shift()||""),V.length&&typeof h=="number"){let X=V.join(":");if(I.test(X)){let J=parseInt((X.match(B)||["","-1"])[1],10);h!==null&&(h=S(h,J,A.decimalPoint,X.indexOf(",")>-1?A.thousandsSep:""))}else h=g.dateFormat(X,h)}}o=o.replace(n.find,W(h,""))}),d?M(o,u,x):o}function v(o,u,x,f){let p,b;o=+o||0,u=+u;let I=G.lang,B=(o.toString().split(".")[1]||"").split("e")[0].length,A=o.toString().split("e"),g=u;u===-1?u=Math.min(B,20):Y(u)?u&&A[1]&&A[1]<0&&((b=u+ +A[1])>=0?(A[0]=(+A[0]).toExponential(b).split("e")[0],u=b):(A[0]=A[0].split(".")[0]||0,o=u<20?(A[0]*Math.pow(10,A[1])).toFixed(u):0,A[1]=0)):u=2;let S=(Math.abs(A[1]?A[0]:o)+Math.pow(10,-Math.max(u,B)-1)).toFixed(u),l=String(k(S)),s=l.length>3?l.length%3:0;return x=W(x,I.decimalPoint),f=W(f,I.thousandsSep),p=(o<0?"-":"")+(s?l.substr(0,s)+f:""),0>+A[1]&&!g?p="0":p+=l.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+f),u?p+=x+S.slice(-u):+p==0&&(p="0"),A[1]&&+p!=0&&(p+="e"+A[1]),p}return{dateFormat:function(o,u,x){return $.dateFormat(o,u,x)},format:M,helpers:E,numberFormat:v}}),O(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(m){var T,G;let $;return(G=T||(T={})).rendererTypes={},G.getRendererType=function(q=$){return G.rendererTypes[q]||G.rendererTypes[$]},G.registerRendererType=function(q,Z,Q){G.rendererTypes[q]=Z,(!$||Q)&&($=q,m.Renderer=Z)},T}),O(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(m){var T;let{clamp:G,pick:$,pushUnique:q,stableSort:Z}=m;return(T||(T={})).distribute=function Q(Y,F,W){let k=Y,E=k.reducedLen||F,M=(l,s)=>l.target-s.target,v=[],o=Y.length,u=[],x=v.push,f,p,b,I=!0,B,A,g=0,S;for(f=o;f--;)g+=Y[f].size;if(g>E){for(Z(Y,(l,s)=>(s.rank||0)-(l.rank||0)),b=(S=Y[0].rank===Y[Y.length-1].rank)?o/2:-1,p=S?b:o-1;b&&g>E;)B=Y[f=Math.floor(p)],q(u,f)&&(g-=B.size),p+=b,S&&p>=Y.length&&(b/=2,p=b);u.sort((l,s)=>s-l).forEach(l=>x.apply(v,Y.splice(l,1)))}for(Z(Y,M),Y=Y.map(l=>({size:l.size,targets:[l.target],align:$(l.align,.5)}));I;){for(f=Y.length;f--;)B=Y[f],A=(Math.min.apply(0,B.targets)+Math.max.apply(0,B.targets))/2,B.pos=G(A-B.size*B.align,0,F-B.size);for(f=Y.length,I=!1;f--;)f>0&&Y[f-1].pos+Y[f-1].size>Y[f].pos&&(Y[f-1].size+=Y[f].size,Y[f-1].targets=Y[f-1].targets.concat(Y[f].targets),Y[f-1].align=.5,Y[f-1].pos+Y[f-1].size>F&&(Y[f-1].pos=F-Y[f-1].size),Y.splice(f,1),I=!0)}return x.apply(k,v),f=0,Y.some(l=>{let s=0;return(l.targets||[]).some(()=>(k[f].pos=l.pos+s,W!==void 0&&Math.abs(k[f].pos-k[f].target)>W?(k.slice(0,f+1).forEach(r=>delete r.pos),k.reducedLen=(k.reducedLen||F)-.1*F,k.reducedLen>.1*F&&Q(k,F,W),!0):(s+=k[f].size,f++,!1)))}),Z(k,M),k},T}),O(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{animate:q,animObject:Z,stop:Q}=m,{deg2rad:Y,doc:F,svg:W,SVG_NS:k,win:E}=G,{addEvent:M,attr:v,createElement:o,crisp:u,css:x,defined:f,erase:p,extend:b,fireEvent:I,isArray:B,isFunction:A,isObject:g,isString:S,merge:l,objectEach:s,pick:r,pInt:a,pushUnique:d,replaceNested:n,syncTimeout:h,uniqueKey:c}=$;class L{_defaultGetter(w){let R=r(this[w+"Value"],this[w],this.element?this.element.getAttribute(w):null,0);return/^-?[\d\.]+$/.test(R)&&(R=parseFloat(R)),R}_defaultSetter(w,R,V){V.setAttribute(R,w)}add(w){let R,V=this.renderer,X=this.element;return w&&(this.parentGroup=w),this.textStr!==void 0&&this.element.nodeName==="text"&&V.buildText(this),this.added=!0,(!w||w.handleZ||this.zIndex)&&(R=this.zIndexSetter()),R||(w?w.element:V.box).appendChild(X),this.onAdd&&this.onAdd(),this}addClass(w,R){let V=R?"":this.attr("class")||"";return(w=(w||"").split(/ /g).reduce(function(X,J){return V.indexOf(J)===-1&&X.push(J),X},V?[V]:[]).join(" "))!==V&&this.attr("class",w),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(w,R,V,X=!0){let J,P,C,N,_={},y=this.renderer,D=y.alignedObjects,j=!!w;w?(this.alignOptions=w,this.alignByTranslate=R,this.alignTo=V):(w=this.alignOptions||{},R=this.alignByTranslate,V=this.alignTo);let H=!V||S(V)?V||"renderer":void 0;H&&(j&&d(D,this),V=void 0);let U=r(V,y[H],y),K=w.align,et=w.verticalAlign;return J=(U.x||0)+(w.x||0),P=(U.y||0)+(w.y||0),K==="right"?C=1:K==="center"&&(C=2),C&&(J+=((U.width||0)-(w.width||0))/C),_[R?"translateX":"x"]=Math.round(J),et==="bottom"?N=1:et==="middle"&&(N=2),N&&(P+=((U.height||0)-(w.height||0))/N),_[R?"translateY":"y"]=Math.round(P),X&&(this[this.placed?"animate":"attr"](_),this.placed=!0),this.alignAttr=_,this}alignSetter(w){let R={left:"start",center:"middle",right:"end"};R[w]&&(this.alignValue=w,this.element.setAttribute("text-anchor",R[w]))}animate(w,R,V){let X=Z(r(R,this.renderer.globalAnimation,!0)),J=X.defer;return F.hidden&&(X.duration=0),X.duration!==0?(V&&(X.complete=V),h(()=>{this.element&&q(this,w,X)},J)):(this.attr(w,void 0,V||X.complete),s(w,function(P,C){X.step&&X.step.call(this,P,{prop:C,pos:1,elem:this})},this)),this}applyTextOutline(w){let R=this.element;w.indexOf("contrast")!==-1&&(w=w.replace(/contrast/g,this.renderer.getContrast(R.style.fill)));let V=w.split(" "),X=V[V.length-1],J=V[0];if(J&&J!=="none"&&G.svg){this.fakeTS=!0,J=J.replace(/(^[\d\.]+)(.*?)$/g,function(y,D,j){return 2*Number(D)+j}),this.removeTextOutline();let P=F.createElementNS(k,"tspan");v(P,{class:"highcharts-text-outline",fill:X,stroke:X,"stroke-width":J,"stroke-linejoin":"round"});let C=R.querySelector("textPath")||R;[].forEach.call(C.childNodes,y=>{let D=y.cloneNode(!0);D.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(j=>D.removeAttribute(j)),P.appendChild(D)});let N=0;[].forEach.call(C.querySelectorAll("text tspan"),y=>{N+=Number(y.getAttribute("dy"))});let _=F.createElementNS(k,"tspan");_.textContent="​",v(_,{x:Number(R.getAttribute("x")),dy:-N}),P.appendChild(_),C.insertBefore(P,C.firstChild)}}attr(w,R,V,X){let{element:J}=this,P=L.symbolCustomAttribs,C,N,_=this,y;return typeof w=="string"&&R!==void 0&&(C=w,(w={})[C]=R),typeof w=="string"?_=(this[w+"Getter"]||this._defaultGetter).call(this,w,J):(s(w,function(D,j){y=!1,X||Q(this,j),this.symbolName&&P.indexOf(j)!==-1&&(N||(this.symbolAttr(w),N=!0),y=!0),this.rotation&&(j==="x"||j==="y")&&(this.doTransform=!0),y||(this[j+"Setter"]||this._defaultSetter).call(this,D,j,J)},this),this.afterSetters()),V&&V.call(this),_}clip(w){if(w&&!w.clipPath){let R=c()+"-",V=this.renderer.createElement("clipPath").attr({id:R}).add(this.renderer.defs);b(w,{clipPath:V,id:R,count:0}),w.add(V)}return this.attr("clip-path",w?`url(${this.renderer.url}#${w.id})`:"none")}crisp(w,R){R=Math.round(R||w.strokeWidth||0);let V=w.x||this.x||0,X=w.y||this.y||0,J=(w.width||this.width||0)+V,P=(w.height||this.height||0)+X,C=u(V,R),N=u(X,R);return b(w,{x:C,y:N,width:u(J,R)-C,height:u(P,R)-N}),f(w.strokeWidth)&&(w.strokeWidth=R),w}complexColor(w,R,V){let X=this.renderer,J,P,C,N,_,y,D,j,H,U,K=[],et;I(this.renderer,"complexColor",{args:arguments},function(){if(w.radialGradient?P="radialGradient":w.linearGradient&&(P="linearGradient"),P){if(C=w[P],_=X.gradients,y=w.stops,H=V.radialReference,B(C)&&(w[P]=C={x1:C[0],y1:C[1],x2:C[2],y2:C[3],gradientUnits:"userSpaceOnUse"}),P==="radialGradient"&&H&&!f(C.gradientUnits)&&(N=C,C=l(C,X.getRadialAttr(H,N),{gradientUnits:"userSpaceOnUse"})),s(C,function(rt,nt){nt!=="id"&&K.push(nt,rt)}),s(y,function(rt){K.push(rt)}),_[K=K.join(",")])U=_[K].attr("id");else{C.id=U=c();let rt=_[K]=X.createElement(P).attr(C).add(X.defs);rt.radAttr=N,rt.stops=[],y.forEach(function(nt){nt[1].indexOf("rgba")===0?(D=(J=T.parse(nt[1])).get("rgb"),j=J.get("a")):(D=nt[1],j=1);let lt=X.createElement("stop").attr({offset:nt[0],"stop-color":D,"stop-opacity":j}).add(rt);rt.stops.push(lt)})}et="url("+X.url+"#"+U+")",V.setAttribute(R,et),V.gradient=K,w.toString=function(){return et}}})}css(w){let R=this.styles,V={},X=this.element,J,P=!R;if(R&&s(w,function(C,N){R&&R[N]!==C&&(V[N]=C,P=!0)}),P){R&&(w=b(R,V)),w.width===null||w.width==="auto"?delete this.textWidth:X.nodeName.toLowerCase()==="text"&&w.width&&(J=this.textWidth=a(w.width)),b(this.styles,w),J&&!W&&this.renderer.forExport&&delete w.width;let C=l(w);X.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(N=>C&&delete C[N]),C.color&&(C.fill=C.color)),x(X,C)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),w.textOutline&&this.applyTextOutline(w.textOutline)),this}dashstyleSetter(w){let R,V=this["stroke-width"];if(V==="inherit"&&(V=1),w=w&&w.toLowerCase()){let X=w.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(R=X.length;R--;)X[R]=""+a(X[R])*r(V,NaN);w=X.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",w)}}destroy(){var N;let w=this,R=w.element||{},V=w.renderer,X=R.ownerSVGElement,J=R.nodeName==="SPAN"&&w.parentGroup||void 0,P,C;if(R.onclick=R.onmouseout=R.onmouseover=R.onmousemove=R.point=null,Q(w),w.clipPath&&X){let _=w.clipPath;[].forEach.call(X.querySelectorAll("[clip-path],[CLIP-PATH]"),function(y){y.getAttribute("clip-path").indexOf(_.element.id)>-1&&y.removeAttribute("clip-path")}),w.clipPath=_.destroy()}if(w.connector=(N=w.connector)==null?void 0:N.destroy(),w.stops){for(C=0;C<w.stops.length;C++)w.stops[C].destroy();w.stops.length=0,w.stops=void 0}for(w.safeRemoveChild(R);J&&J.div&&J.div.childNodes.length===0;)P=J.parentGroup,w.safeRemoveChild(J.div),delete J.div,J=P;w.alignOptions&&p(V.alignedObjects,w),s(w,function(_,y){w[y]&&w[y].parentGroup===w&&w[y].destroy&&w[y].destroy(),delete w[y]})}dSetter(w,R,V){B(w)&&(typeof w[0]=="string"&&(w=this.renderer.pathToSegments(w)),this.pathArray=w,w=w.reduce((X,J,P)=>J&&J.join?(P?X+" ":"")+J.join(" "):(J||"").toString(),"")),/(NaN| {2}|^$)/.test(w)&&(w="M 0 0"),this[R]!==w&&(V.setAttribute(R,w),this[R]=w)}fillSetter(w,R,V){typeof w=="string"?V.setAttribute(R,w):w&&this.complexColor(w,R,V)}hrefSetter(w,R,V){V.setAttributeNS("http://www.w3.org/1999/xlink",R,w)}getBBox(w,R){let V,X,J,P,{alignValue:C,element:N,renderer:_,styles:y,textStr:D}=this,{cache:j,cacheKeys:H}=_,U=N.namespaceURI===this.SVG_NS,K=r(R,this.rotation,0),et=_.styledMode?N&&L.prototype.getStyle.call(N,"font-size"):y.fontSize;if(f(D)&&((P=D.toString()).indexOf("<")===-1&&(P=P.replace(/\d/g,"0")),P+=["",_.rootFontSize,et,K,this.textWidth,C,y.textOverflow,y.fontWeight].join(",")),P&&!w&&(V=j[P]),!V||V.polygon){if(U||_.forExport){try{J=this.fakeTS&&function(nt){let lt=N.querySelector(".highcharts-text-outline");lt&&x(lt,{display:nt})},A(J)&&J("none"),V=N.getBBox?b({},N.getBBox()):{width:N.offsetWidth,height:N.offsetHeight,x:0,y:0},A(J)&&J("")}catch{}(!V||V.width<0)&&(V={x:0,y:0,width:0,height:0})}else V=this.htmlGetBBox();X=V.height,U&&(V.height=X={"11px,17":14,"13px,20":16}[`${et||""},${Math.round(X)}`]||X),K&&(V=this.getRotatedBox(V,K));let rt={bBox:V};I(this,"afterGetBBox",rt),V=rt.bBox}if(P&&(D===""||V.height>0)){for(;H.length>250;)delete j[H.shift()];j[P]||H.push(P),j[P]=V}return V}getRotatedBox(w,R){let{x:V,y:X,width:J,height:P}=w,{alignValue:C,translateY:N,rotationOriginX:_=0,rotationOriginY:y=0}=this,D={right:1,center:.5}[C||0]||0,j=Number(this.element.getAttribute("y")||0)-(N?0:X),H=R*Y,U=(R-90)*Y,K=Math.cos(H),et=Math.sin(H),rt=J*K,nt=J*et,lt=Math.cos(U),ht=Math.sin(U),[[it,tt],[st,ot]]=[_,y].map(Ct=>[Ct-Ct*K,Ct*et]),at=V+D*(J-rt)+it+ot+j*lt,ct=at+rt,dt=ct-P*lt,ut=dt-rt,pt=X+j-D*nt-tt+st+j*ht,gt=pt+nt,ft=gt-P*ht,mt=ft-nt,xt=Math.min(at,ct,dt,ut),vt=Math.min(pt,gt,ft,mt),bt=Math.max(at,ct,dt,ut)-xt,yt=Math.max(pt,gt,ft,mt)-vt;return{x:xt,y:vt,width:bt,height:yt,polygon:[[at,pt],[ct,gt],[dt,ft],[ut,mt]]}}getStyle(w){return E.getComputedStyle(this.element||this,"").getPropertyValue(w)}hasClass(w){return(""+this.attr("class")).split(" ").indexOf(w)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(w,R){this.onEvents={},this.opacity=1,this.SVG_NS=k,this.element=R==="span"||R==="body"?o(R):F.createElementNS(this.SVG_NS,R),this.renderer=w,this.styles={},I(this,"afterInit")}on(w,R){let{onEvents:V}=this;return V[w]&&V[w](),V[w]=M(this.element,w,R),this}opacitySetter(w,R,V){let X=Number(Number(w).toFixed(3));this.opacity=X,V.setAttribute(R,X)}reAlign(){var w;(w=this.alignOptions)!=null&&w.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(w){return this.attr("class",(""+this.attr("class")).replace(S(w)?RegExp(`(^| )${w}( |$)`):w," ").replace(/ +/g," ").trim())}removeTextOutline(){let w=this.element.querySelector("tspan.highcharts-text-outline");w&&this.safeRemoveChild(w)}safeRemoveChild(w){let R=w.parentNode;R&&R.removeChild(w)}setRadialReference(w){let R=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=w,R&&R.radAttr&&R.animate(this.renderer.getRadialAttr(w,R.radAttr)),this}shadow(w){var J;let{renderer:R}=this,V=l(((J=this.parentGroup)==null?void 0:J.rotation)===90?{offsetX:-1,offsetY:-1}:{},g(w)?w:{}),X=R.shadowDefinition(V);return this.attr({filter:w?`url(${R.url}#${X})`:"none"})}show(w=!0){return this.attr({visibility:w?"inherit":"visible"})}"stroke-widthSetter"(w,R,V){this[R]=w,V.setAttribute(R,w)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let w=this.getStyle("stroke-width"),R=0,V;return/px$/.test(w)?R=a(w):w!==""&&(v(V=F.createElementNS(k,"rect"),{width:w,"stroke-width":0}),this.element.parentNode.appendChild(V),R=V.getBBox().width,V.parentNode.removeChild(V)),R}symbolAttr(w){let R=this;L.symbolCustomAttribs.forEach(function(V){R[V]=r(w[V],R[V])}),R.attr({d:R.renderer.symbols[R.symbolName](R.x,R.y,R.width,R.height,R)})}textSetter(w){w!==this.textStr&&(delete this.textPxLength,this.textStr=w,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(w){let R=this.element,V=R.getElementsByTagName("title")[0]||F.createElementNS(this.SVG_NS,"title");R.insertBefore?R.insertBefore(V,R.firstChild):R.appendChild(V),V.textContent=n(r(w,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let w=this.element;return w.parentNode.appendChild(w),this}translate(w,R){return this.attr({translateX:w,translateY:R})}updateTransform(w="transform"){var j;let{element:R,matrix:V,rotation:X=0,rotationOriginX:J,rotationOriginY:P,scaleX:C,scaleY:N,translateX:_=0,translateY:y=0}=this,D=["translate("+_+","+y+")"];f(V)&&D.push("matrix("+V.join(",")+")"),X&&(D.push("rotate("+X+" "+r(J,R.getAttribute("x"),0)+" "+r(P,R.getAttribute("y")||0)+")"),((j=this.text)==null?void 0:j.element.tagName)==="SPAN"&&this.text.attr({rotation:X,rotationOriginX:(J||0)-this.padding,rotationOriginY:(P||0)-this.padding})),(f(C)||f(N))&&D.push("scale("+r(C,1)+" "+r(N,1)+")"),D.length&&!(this.text||this).textPath&&R.setAttribute(w,D.join(" "))}visibilitySetter(w,R,V){w==="inherit"?V.removeAttribute(R):this[R]!==w&&V.setAttribute(R,w),this[R]=w}xGetter(w){return this.element.nodeName==="circle"&&(w==="x"?w="cx":w==="y"&&(w="cy")),this._defaultGetter(w)}zIndexSetter(w,R){let V=this.renderer,X=this.parentGroup,J=(X||V).element||V.box,P=this.element,C=J===V.box,N,_,y,D=!1,j,H=this.added,U;if(f(w)?(P.setAttribute("data-z-index",w),w=+w,this[R]===w&&(H=!1)):f(this[R])&&P.removeAttribute("data-z-index"),this[R]=w,H){for((w=this.zIndex)&&X&&(X.handleZ=!0),U=(N=J.childNodes).length-1;U>=0&&!D;U--)j=!f(y=(_=N[U]).getAttribute("data-z-index")),_!==P&&(w<0&&j&&!C&&!U?(J.insertBefore(P,N[U]),D=!0):(a(y)<=w||j&&(!f(w)||w>=0))&&(J.insertBefore(P,N[U+1]),D=!0));D||(J.insertBefore(P,N[C?3:0]),D=!0)}return D}}return L.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],L.prototype.strokeSetter=L.prototype.fillSetter,L.prototype.yGetter=L.prototype.xGetter,L.prototype.matrixSetter=L.prototype.rotationOriginXSetter=L.prototype.rotationOriginYSetter=L.prototype.rotationSetter=L.prototype.scaleXSetter=L.prototype.scaleYSetter=L.prototype.translateXSetter=L.prototype.translateYSetter=L.prototype.verticalAlignSetter=function(z,w){this[w]=z,this.doTransform=!0},L}),O(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T){let{defined:G,extend:$,isNumber:q,merge:Z,pick:Q,removeEvent:Y}=T;class F extends m{constructor(k,E,M,v,o,u,x,f,p,b){let I;super(k,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=E,this.x=M,this.y=v,this.anchorX=u,this.anchorY=x,this.baseline=p,this.className=b,this.addClass(b==="button"?"highcharts-no-tooltip":"highcharts-label"),b&&this.addClass("highcharts-"+b),this.text=k.text(void 0,0,0,f).attr({zIndex:1}),typeof o=="string"&&((I=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=F.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=k.styledMode||I,this.deferredAttr={},this.alignFactor=0}alignSetter(k){let E={left:0,center:.5,right:1}[k];E!==this.alignFactor&&(this.alignFactor=E,this.bBox&&q(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(k,E){this.anchorX=k,this.boxAttr(E,Math.round(k)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(k,E){this.anchorY=k,this.boxAttr(E,k-this.ySetting)}boxAttr(k,E){this.box?this.box.attr(k,E):this.deferredAttr[k]=E}css(k){if(k){let E={};k=Z(k),F.textProps.forEach(M=>{k[M]!==void 0&&(E[M]=k[M],delete k[M])}),this.text.css(E),"fontSize"in E||"fontWeight"in E?this.updateTextPadding():("width"in E||"textOverflow"in E)&&this.updateBoxSize()}return m.prototype.css.call(this,k)}destroy(){Y(this.element,"mouseenter"),Y(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),m.prototype.destroy.call(this)}fillSetter(k,E){k&&(this.needsBox=!0),this.fill=k,this.boxAttr(E,k)}getBBox(k,E){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:M,height:v=0,translateX:o=0,translateY:u=0,width:x=0}=this,f=Q(this.paddingLeft,M),p=E??(this.rotation||0),b={width:x,height:v,x:o+this.bBox.x-f,y:u+this.bBox.y-M+this.baselineOffset};return p&&(b=this.getRotatedBox(b,p)),b}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(k){this.heightSetting=k,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:Q(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&G(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(k,E){q(k)?k!==this[E]&&(this[E]=k,this.updateTextPadding()):this[E]=void 0}rSetter(k,E){this.boxAttr(E,k)}strokeSetter(k,E){this.stroke=k,this.boxAttr(E,k)}"stroke-widthSetter"(k,E){k&&(this.needsBox=!0),this["stroke-width"]=k,this.boxAttr(E,k)}"text-alignSetter"(k){this.textAlign=k}textSetter(k){k!==void 0&&this.text.attr({text:k}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let k,E=this.text,M={},v=this.padding,o=this.bBox=(!q(this.widthSetting)||!q(this.heightSetting)||this.textAlign)&&G(E.textStr)?E.getBBox(void 0,0):F.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*v;let u=this.renderer.fontMetrics(E);if(this.baselineOffset=v+Math.min((this.text.firstLineMetrics||u).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-u.h)/2),this.needsBox&&!E.textPath){if(!this.box){let x=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();x.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),x.add(this)}k=this.getCrispAdjust(),M.x=k,M.y=(this.baseline?-this.baselineOffset:0)+k,M.width=Math.round(this.width),M.height=Math.round(this.height),this.box.attr($(M,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let k=this.text;if(!k.textPath){this.updateBoxSize();let E=this.baseline?0:this.baselineOffset,M=Q(this.paddingLeft,this.padding);G(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(M+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(M!==k.x||E!==k.y)&&(k.attr("x",M),k.hasBoxWidthChanged&&(this.bBox=k.getBBox(!0)),E!==void 0&&k.attr("y",E)),k.x=M,k.y=E}}widthSetter(k){this.widthSetting=q(k)?k:void 0,this.doUpdate=!0}getPaddedWidth(){let k=this.padding,E=Q(this.paddingLeft,k),M=Q(this.paddingRight,k);return(this.widthSetting||this.bBox.width||0)+E+M}xSetter(k){this.x=k,this.alignFactor&&(k-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(k),this.attr("translateX",this.xSetting)}ySetter(k){this.ySetting=this.y=Math.round(k),this.attr("translateY",this.ySetting)}}return F.emptyBBox={width:0,height:0,x:0,y:0},F.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],F}),O(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(m){let{defined:T,isNumber:G,pick:$}=m;function q(Y,F,W,k,E){let M=[];if(E){let v=E.start||0,o=$(E.r,W),u=$(E.r,k||W),x=2e-4/Math.max(o,1),f=Math.abs((E.end||0)-v-2*Math.PI)<x,p=(E.end||0)-x,b=E.innerR,I=$(E.open,f),B=Math.cos(v),A=Math.sin(v),g=Math.cos(p),S=Math.sin(p),l=$(E.longArc,p-v-Math.PI<x?0:1),s=["A",o,u,0,l,$(E.clockwise,1),Y+o*g,F+u*S];s.params={start:v,end:p,cx:Y,cy:F},M.push(["M",Y+o*B,F+u*A],s),T(b)&&((s=["A",b,b,0,l,T(E.clockwise)?1-E.clockwise:0,Y+b*B,F+b*A]).params={start:p,end:v,cx:Y,cy:F},M.push(I?["M",Y+b*g,F+b*S]:["L",Y+b*g,F+b*S],s)),I||M.push(["Z"])}return M}function Z(Y,F,W,k,E){return E&&E.r?Q(Y,F,W,k,E):[["M",Y,F],["L",Y+W,F],["L",Y+W,F+k],["L",Y,F+k],["Z"]]}function Q(Y,F,W,k,E){let M=(E==null?void 0:E.r)||0;return[["M",Y+M,F],["L",Y+W-M,F],["A",M,M,0,0,1,Y+W,F+M],["L",Y+W,F+k-M],["A",M,M,0,0,1,Y+W-M,F+k],["L",Y+M,F+k],["A",M,M,0,0,1,Y,F+k-M],["L",Y,F+M],["A",M,M,0,0,1,Y+M,F],["Z"]]}return{arc:q,callout:function(Y,F,W,k,E){let M=Math.min(E&&E.r||0,W,k),v=M+6,o=E&&E.anchorX,u=E&&E.anchorY||0,x=Q(Y,F,W,k,{r:M});if(!G(o)||o<W&&o>0&&u<k&&u>0)return x;if(Y+o>W-v)if(u>F+v&&u<F+k-v)x.splice(3,1,["L",Y+W,u-6],["L",Y+W+6,u],["L",Y+W,u+6],["L",Y+W,F+k-M]);else if(o<W){let f=u<F+v,p=f?F:F+k;x.splice(f?2:5,0,["L",o,u],["L",Y+W-M,p])}else x.splice(3,1,["L",Y+W,k/2],["L",o,u],["L",Y+W,k/2],["L",Y+W,F+k-M]);else if(Y+o<v)if(u>F+v&&u<F+k-v)x.splice(7,1,["L",Y,u+6],["L",Y-6,u],["L",Y,u-6],["L",Y,F+M]);else if(o>0){let f=u<F+v,p=f?F:F+k;x.splice(f?1:6,0,["L",o,u],["L",Y+M,p])}else x.splice(7,1,["L",Y,k/2],["L",o,u],["L",Y,k/2],["L",Y,F+M]);else u>k&&o<W-v?x.splice(5,1,["L",o+6,F+k],["L",o,F+k+6],["L",o-6,F+k],["L",Y+M,F+k]):u<0&&o>v&&x.splice(1,1,["L",o-6,F],["L",o,F-6],["L",o+6,F],["L",W-M,F]);return x},circle:function(Y,F,W,k){return q(Y+W/2,F+k/2,W/2,k/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(Y,F,W,k){return[["M",Y+W/2,F],["L",Y+W,F+k/2],["L",Y+W/2,F+k],["L",Y,F+k/2],["Z"]]},rect:Z,roundedRect:Q,square:Z,triangle:function(Y,F,W,k){return[["M",Y+W/2,F],["L",Y+W,F+k],["L",Y,F+k],["Z"]]},"triangle-down":function(Y,F,W,k){return[["M",Y,F],["L",Y+W,F],["L",Y+W/2,F+k],["Z"]]}}}),O(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{doc:$,SVG_NS:q,win:Z}=T,{attr:Q,extend:Y,fireEvent:F,isString:W,objectEach:k,pick:E}=G;return class{constructor(M){let v=M.styles;this.renderer=M.renderer,this.svgElement=M,this.width=M.textWidth,this.textLineHeight=v&&v.lineHeight,this.textOutline=v&&v.textOutline,this.ellipsis=!!(v&&v.textOverflow==="ellipsis"),this.noWrap=!!(v&&v.whiteSpace==="nowrap")}buildSVG(){let M=this.svgElement,v=M.element,o=M.renderer,u=E(M.textStr,"").toString(),x=u.indexOf("<")!==-1,f=v.childNodes,p=!M.added&&o.box,b=[u,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,M.getStyle("font-size"),this.width].join(",");if(b!==M.textCache){M.textCache=b,delete M.actualWidth;for(let I=f.length;I--;)v.removeChild(f[I]);if(x||this.ellipsis||this.width||M.textPath||u.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(u))){if(u!==""){p&&p.appendChild(v);let I=new m(u);this.modifyTree(I.nodes),I.addToDOM(v),this.modifyDOM(),this.ellipsis&&(v.textContent||"").indexOf("…")!==-1&&M.attr("title",this.unescapeEntities(M.textStr||"",["<",">"])),p&&p.removeChild(v)}}else v.appendChild($.createTextNode(this.unescapeEntities(u)));W(this.textOutline)&&M.applyTextOutline&&M.applyTextOutline(this.textOutline)}}modifyDOM(){let M,v=this.svgElement,o=Q(v.element,"x");for(v.firstLineMetrics=void 0;(M=v.element.firstChild)&&/^[\s\u200B]*$/.test(M.textContent||" ");)v.element.removeChild(M);[].forEach.call(v.element.querySelectorAll("tspan.highcharts-br"),(p,b)=>{p.nextSibling&&p.previousSibling&&(b===0&&p.previousSibling.nodeType===1&&(v.firstLineMetrics=v.renderer.fontMetrics(p.previousSibling)),Q(p,{dy:this.getLineHeight(p.nextSibling),x:o}))});let u=this.width||0;if(!u)return;let x=(p,b)=>{let I=p.textContent||"",B=I.replace(/([^\^])-/g,"$1- ").split(" "),A=!this.noWrap&&(B.length>1||v.element.childNodes.length>1),g=this.getLineHeight(b),S=0,l=v.actualWidth;if(this.ellipsis)I&&this.truncate(p,I,void 0,0,Math.max(0,u-.8*g),(s,r)=>s.substring(0,r)+"…");else if(A){let s=[],r=[];for(;b.firstChild&&b.firstChild!==p;)r.push(b.firstChild),b.removeChild(b.firstChild);for(;B.length;)B.length&&!this.noWrap&&S>0&&(s.push(p.textContent||""),p.textContent=B.join(" ").replace(/- /g,"-")),this.truncate(p,void 0,B,S===0&&l||0,u,(a,d)=>B.slice(0,d).join(" ").replace(/- /g,"-")),l=v.actualWidth,S++;r.forEach(a=>{b.insertBefore(a,p)}),s.forEach(a=>{b.insertBefore($.createTextNode(a),p);let d=$.createElementNS(q,"tspan");d.textContent="​",Q(d,{dy:g,x:o}),b.insertBefore(d,p)})}},f=p=>{[].slice.call(p.childNodes).forEach(b=>{b.nodeType===Z.Node.TEXT_NODE?x(b,p):(b.className.baseVal.indexOf("highcharts-br")!==-1&&(v.actualWidth=0),f(b))})};f(v.element)}getLineHeight(M){let v=M.nodeType===Z.Node.TEXT_NODE?M.parentElement:M;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(v||this.svgElement.element).h}modifyTree(M){let v=(o,u)=>{let{attributes:x={},children:f,style:p={},tagName:b}=o,I=this.renderer.styledMode;if(b==="b"||b==="strong"?I?x.class="highcharts-strong":p.fontWeight="bold":(b==="i"||b==="em")&&(I?x.class="highcharts-emphasized":p.fontStyle="italic"),p&&p.color&&(p.fill=p.color),b==="br"){x.class="highcharts-br",o.textContent="​";let B=M[u+1];B&&B.textContent&&(B.textContent=B.textContent.replace(/^ +/gm,""))}else b==="a"&&f&&f.some(B=>B.tagName==="#text")&&(o.children=[{children:f,tagName:"tspan"}]);b!=="#text"&&b!=="a"&&(o.tagName="tspan"),Y(o,{attributes:x,style:p}),f&&f.filter(B=>B.tagName!=="#text").forEach(v)};M.forEach(v),F(this.svgElement,"afterModifyTree",{nodes:M})}truncate(M,v,o,u,x,f){let p,b,I=this.svgElement,{rotation:B}=I,A=[],g=o?1:0,S=(v||o||"").length,l=S,s=function(r,a){let d=a||r,n=M.parentNode;if(n&&A[d]===void 0&&n.getSubStringLength)try{A[d]=u+n.getSubStringLength(0,o?d+1:d)}catch{}return A[d]};if(I.rotation=0,u+(b=s(M.textContent.length))>x){for(;g<=S;)l=Math.ceil((g+S)/2),o&&(p=f(o,l)),b=s(l,p&&p.length-1),g===S?g=S+1:b>x?S=l-1:g=l;S===0?M.textContent="":v&&S===v.length-1||(M.textContent=p||f(v||o,l))}o&&o.splice(0,l),I.actualWidth=b,I.rotation=B}unescapeEntities(M,v){return k(this.renderer.escapes,function(o,u){v&&v.indexOf(o)!==-1||(M=M.toString().replace(RegExp(o,"g"),u))}),M}}}),O(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F,W){let k,{defaultOptions:E}=T,{charts:M,deg2rad:v,doc:o,isFirefox:u,isMS:x,isWebKit:f,noop:p,SVG_NS:b,symbolSizes:I,win:B}=$,{addEvent:A,attr:g,createElement:S,crisp:l,css:s,defined:r,destroyObjectProperties:a,extend:d,isArray:n,isNumber:h,isObject:c,isString:L,merge:z,pick:w,pInt:R,replaceNested:V,uniqueKey:X}=W;class J{constructor(C,N,_,y,D,j,H){let U,K,et=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),rt=et.element;H||et.css(this.getStyle(y||{})),C.appendChild(rt),g(C,"dir","ltr"),C.innerHTML.indexOf("xmlns")===-1&&g(rt,"xmlns",this.SVG_NS),this.box=rt,this.boxWrapper=et,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(o.createTextNode("Created with Highcharts 11.4.6")),this.defs=this.createElement("defs").add(),this.allowHTML=j,this.forExport=D,this.styledMode=H,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=et.getStyle("font-size"),this.setSize(N,_,!1),u&&C.getBoundingClientRect&&((U=function(){s(C,{left:0,top:0}),K=C.getBoundingClientRect(),s(C,{left:Math.ceil(K.left)-K.left+"px",top:Math.ceil(K.top)-K.top+"px"})})(),this.unSubPixelFix=A(B,"resize",U))}definition(C){return new m([C]).addToDOM(this.defs.element)}getReferenceURL(){if((u||f)&&o.getElementsByTagName("base").length){if(!r(k)){let C=X(),N=new m([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:C},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${C})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(o.body);s(N,{position:"fixed",top:0,left:0,zIndex:9e5});let _=o.elementFromPoint(6,6);k=(_&&_.id)==="hitme",o.body.removeChild(N)}if(k)return V(B.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(C){return this.style=d({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},C),this.style}setStyle(C){this.boxWrapper.css(this.getStyle(C))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let C=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),a(this.gradients||{}),this.gradients=null,this.defs=C.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(C){return new this.Element(this,C)}getRadialAttr(C,N){return{cx:C[0]-C[2]/2+(N.cx||0)*C[2],cy:C[1]-C[2]/2+(N.cy||0)*C[2],r:(N.r||0)*C[2]}}shadowDefinition(C){let N=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(C).map(y=>`${y}-${C[y]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),_=z({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},C);return this.defs.element.querySelector(`#${N}`)||this.definition({tagName:"filter",attributes:{id:N,filterUnits:_.filterUnits},children:this.getShadowFilterContent(_)}),N}getShadowFilterContent(C){return[{tagName:"feDropShadow",attributes:{dx:C.offsetX,dy:C.offsetY,"flood-color":C.color,"flood-opacity":Math.min(5*C.opacity,1),stdDeviation:C.width/2}}]}buildText(C){new F(C).buildSVG()}getContrast(C){let N=G.parse(C).rgba.map(y=>{let D=y/255;return D<=.03928?D/12.92:Math.pow((D+.055)/1.055,2.4)}),_=.2126*N[0]+.7152*N[1]+.0722*N[2];return 1.05/(_+.05)>(_+.05)/.05?"#FFFFFF":"#000000"}button(C,N,_,y,D={},j,H,U,K,et){let rt=this.label(C,N,_,K,void 0,void 0,et,void 0,"button"),nt=this.styledMode,lt=arguments,ht=0;D=z(E.global.buttonTheme,D),nt&&(delete D.fill,delete D.stroke,delete D["stroke-width"]);let it=D.states||{},tt=D.style||{};delete D.states,delete D.style;let st=[m.filterUserAttributes(D)],ot=[tt];return nt||["hover","select","disabled"].forEach((at,ct)=>{st.push(z(st[0],m.filterUserAttributes(lt[ct+5]||it[at]||{}))),ot.push(st[ct+1].style),delete st[ct+1].style}),A(rt.element,x?"mouseover":"mouseenter",function(){ht!==3&&rt.setState(1)}),A(rt.element,x?"mouseout":"mouseleave",function(){ht!==3&&rt.setState(ht)}),rt.setState=(at=0)=>{if(at!==1&&(rt.state=ht=at),rt.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][at]),!nt){rt.attr(st[at]);let ct=ot[at];c(ct)&&rt.css(ct)}},rt.attr(st[0]),!nt&&(rt.css(d({cursor:"default"},tt)),et&&rt.text.css({pointerEvents:"none"})),rt.on("touchstart",at=>at.stopPropagation()).on("click",function(at){ht!==3&&y.call(rt,at)})}crispLine(C,N){let[_,y]=C;return r(_[1])&&_[1]===y[1]&&(_[1]=y[1]=l(_[1],N)),r(_[2])&&_[2]===y[2]&&(_[2]=y[2]=l(_[2],N)),C}path(C){let N=this.styledMode?{}:{fill:"none"};return n(C)?N.d=C:c(C)&&d(N,C),this.createElement("path").attr(N)}circle(C,N,_){let y=c(C)?C:C===void 0?{}:{x:C,y:N,r:_},D=this.createElement("circle");return D.xSetter=D.ySetter=function(j,H,U){U.setAttribute("c"+H,j)},D.attr(y)}arc(C,N,_,y,D,j){let H;c(C)?(N=(H=C).y,_=H.r,y=H.innerR,D=H.start,j=H.end,C=H.x):H={innerR:y,start:D,end:j};let U=this.symbol("arc",C,N,_,_,H);return U.r=_,U}rect(C,N,_,y,D,j){let H=c(C)?C:C===void 0?{}:{x:C,y:N,r:D,width:Math.max(_||0,0),height:Math.max(y||0,0)},U=this.createElement("rect");return this.styledMode||(j!==void 0&&(H["stroke-width"]=j,d(H,U.crisp(H))),H.fill="none"),U.rSetter=function(K,et,rt){U.r=K,g(rt,{rx:K,ry:K})},U.rGetter=function(){return U.r||0},U.attr(H)}roundedRect(C){return this.symbol("roundedRect").attr(C)}setSize(C,N,_){this.width=C,this.height=N,this.boxWrapper.animate({width:C,height:N},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(_,!0)?void 0:0}),this.alignElements()}g(C){let N=this.createElement("g");return C?N.attr({class:"highcharts-"+C}):N}image(C,N,_,y,D,j){let H={preserveAspectRatio:"none"};h(N)&&(H.x=N),h(_)&&(H.y=_),h(y)&&(H.width=y),h(D)&&(H.height=D);let U=this.createElement("image").attr(H),K=function(et){U.attr({href:C}),j.call(U,et)};if(j){U.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let et=new B.Image;A(et,"load",K),et.src=C,et.complete&&K({})}else U.attr({href:C});return U}symbol(C,N,_,y,D,j){let H,U,K,et,rt=this,nt=/^url\((.*?)\)$/,lt=nt.test(C),ht=!lt&&(this.symbols[C]?C:"circle"),it=ht&&this.symbols[ht];if(it)typeof N=="number"&&(U=it.call(this.symbols,N||0,_||0,y||0,D||0,j)),H=this.path(U),rt.styledMode||H.attr("fill","none"),d(H,{symbolName:ht||void 0,x:N,y:_,width:y,height:D}),j&&d(H,j);else if(lt){K=C.match(nt)[1];let tt=H=this.image(K);tt.imgwidth=w(j&&j.width,I[K]&&I[K].width),tt.imgheight=w(j&&j.height,I[K]&&I[K].height),et=st=>st.attr({width:st.width,height:st.height}),["width","height"].forEach(st=>{tt[`${st}Setter`]=function(ot,at){this[at]=ot;let{alignByTranslate:ct,element:dt,width:ut,height:pt,imgwidth:gt,imgheight:ft}=this,mt=at==="width"?gt:ft,xt=1;j&&j.backgroundSize==="within"&&ut&&pt&>&&ft?(xt=Math.min(ut/gt,pt/ft),g(dt,{width:Math.round(gt*xt),height:Math.round(ft*xt)})):dt&&mt&&dt.setAttribute(at,mt),!ct&>&&ft&&this.translate(((ut||0)-gt*xt)/2,((pt||0)-ft*xt)/2)}}),r(N)&&tt.attr({x:N,y:_}),tt.isImg=!0,r(tt.imgwidth)&&r(tt.imgheight)?et(tt):(tt.attr({width:0,height:0}),S("img",{onload:function(){let st=M[rt.chartIndex];this.width===0&&(s(this,{position:"absolute",top:"-999em"}),o.body.appendChild(this)),I[K]={width:this.width,height:this.height},tt.imgwidth=this.width,tt.imgheight=this.height,tt.element&&et(tt),this.parentNode&&this.parentNode.removeChild(this),rt.imgCount--,rt.imgCount||!st||st.hasLoaded||st.onload()},src:K}),this.imgCount++)}return H}clipRect(C,N,_,y){return this.rect(C,N,_,y,0)}text(C,N,_,y){let D={};if(y&&(this.allowHTML||!this.forExport))return this.html(C,N,_);D.x=Math.round(N||0),_&&(D.y=Math.round(_)),r(C)&&(D.text=C);let j=this.createElement("text").attr(D);return y&&(!this.forExport||this.allowHTML)||(j.xSetter=function(H,U,K){let et=K.getElementsByTagName("tspan"),rt=K.getAttribute(U);for(let nt=0,lt;nt<et.length;nt++)(lt=et[nt]).getAttribute(U)===rt&<.setAttribute(U,H);K.setAttribute(U,H)}),j}fontMetrics(C){let N=R(Z.prototype.getStyle.call(C,"font-size")||0),_=N<24?N+3:Math.round(1.2*N),y=Math.round(.8*_);return{h:_,b:y,f:N}}rotCorr(C,N,_){let y=C;return N&&_&&(y=Math.max(y*Math.cos(N*v),4)),{x:-C/3*Math.sin(N*v),y}}pathToSegments(C){let N=[],_=[],y={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let D=0;D<C.length;D++)L(_[0])&&h(C[D])&&_.length===y[_[0].toUpperCase()]&&C.splice(D,0,_[0].replace("M","L").replace("m","l")),typeof C[D]=="string"&&(_.length&&N.push(_.slice(0)),_.length=0),_.push(C[D]);return N.push(_.slice(0)),N}label(C,N,_,y,D,j,H,U,K){return new Q(this,C,N,_,y,D,j,H,U,K)}alignElements(){this.alignedObjects.forEach(C=>C.align())}}return d(J.prototype,{Element:Z,SVG_NS:b,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:Y,draw:p}),q.registerRendererType("svg",J,!0),J}),O(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{composed:q}=T,{attr:Z,css:Q,createElement:Y,defined:F,extend:W,pInt:k,pushUnique:E}=$;function M(x,f,p){var I;let b=((I=this.div)==null?void 0:I.style)||p.style;G.prototype[`${f}Setter`].call(this,x,f,p),b&&(b[f]=x)}let v=(x,f)=>{var p;if(!x.div){let b=Z(x.element,"class"),I=x.css,B=Y("div",b?{className:b}:void 0,{position:"absolute",left:`${x.translateX||0}px`,top:`${x.translateY||0}px`,...x.styles,display:x.display,opacity:x.opacity,visibility:x.visibility},((p=x.parentGroup)==null?void 0:p.div)||f);x.classSetter=(A,g,S)=>{S.setAttribute("class",A),B.className=A},x.translateXSetter=x.translateYSetter=(A,g)=>{x[g]=A,B.style[g==="translateX"?"left":"top"]=`${A}px`,x.doTransform=!0},x.opacitySetter=x.visibilitySetter=M,x.css=A=>(I.call(x,A),A.cursor&&(B.style.cursor=A.cursor),A.pointerEvents&&(B.style.pointerEvents=A.pointerEvents),x),x.on=function(){return G.prototype.on.apply({element:B,onEvents:x.onEvents},arguments),x},x.div=B}return x.div};class o extends G{static compose(f){E(q,this.compose)&&(f.prototype.html=function(p,b,I){return new o(this,"span").attr({text:p,x:Math.round(b),y:Math.round(I)})})}constructor(f,p){super(f,p),this.css({position:"absolute",...f.styledMode?{}:{fontFamily:f.style.fontFamily,fontSize:f.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(f,p,b){this.xCorr=-f*b,this.yCorr=-p}css(f){let p,{element:b}=this,I=b.tagName==="SPAN"&&f&&"width"in f,B=I&&f.width;return I&&(delete f.width,this.textWidth=k(B)||void 0,p=!0),(f==null?void 0:f.textOverflow)==="ellipsis"&&(f.whiteSpace="nowrap",f.overflow="hidden"),W(this.styles,f),Q(b,f),p&&this.updateTransform(),this}htmlGetBBox(){let{element:f}=this;return{x:f.offsetLeft,y:f.offsetTop,width:f.offsetWidth,height:f.offsetHeight}}updateTransform(){var h;if(!this.added){this.alignOnAdd=!0;return}let{element:f,renderer:p,rotation:b,rotationOriginX:I,rotationOriginY:B,styles:A,textAlign:g="left",textWidth:S,translateX:l=0,translateY:s=0,x:r=0,y:a=0}=this,d={left:0,center:.5,right:1}[g],n=A.whiteSpace;if(Q(f,{marginLeft:`${l}px`,marginTop:`${s}px`}),f.tagName==="SPAN"){let c=[b,g,f.innerHTML,S,this.textAlign].join(","),L=-(((h=this.parentGroup)==null?void 0:h.padding)*1)||0,z,w=!1;if(S!==this.oldTextWidth){let P=this.textPxLength?this.textPxLength:(Q(f,{width:"",whiteSpace:n||"nowrap"}),f.offsetWidth),C=S||0;(C>this.oldTextWidth||P>C)&&(/[ \-]/.test(f.textContent||f.innerText)||f.style.textOverflow==="ellipsis")&&(Q(f,{width:P>C||b?S+"px":"auto",display:"block",whiteSpace:n||"normal"}),this.oldTextWidth=S,w=!0)}this.hasBoxWidthChanged=w,c!==this.cTT&&(z=p.fontMetrics(f).b,F(b)&&(b!==(this.oldRotation||0)||g!==this.oldAlign)&&this.setSpanRotation(b,L,L),this.getSpanCorrection(!F(b)&&this.textPxLength||f.offsetWidth,z,d));let{xCorr:R=0,yCorr:V=0}=this,X=(I??r)-R-r-L,J=(B??a)-V-a-L;Q(f,{left:`${r+R}px`,top:`${a+V}px`,transformOrigin:`${X}px ${J}px`}),this.cTT=c,this.oldRotation=b,this.oldAlign=g}}setSpanRotation(f,p,b){Q(this.element,{transform:`rotate(${f}deg)`,transformOrigin:`${p}% ${b}px`})}add(f){let p,b=this.renderer.box.parentNode,I=[];if(this.parentGroup=f,f&&!(p=f.div)){let B=f;for(;B;)I.push(B),B=B.parentGroup;for(let A of I.reverse())p=v(A,b)}return(p||b).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(f){f!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,m.setElementHTML(this.element,f??""),this.textStr=f,this.doTransform=!0)}alignSetter(f){this.alignValue=this.textAlign=f,this.doTransform=!0}xSetter(f,p){this[p]=f,this.doTransform=!0}}let u=o.prototype;return u.visibilitySetter=u.opacitySetter=M,u.ySetter=u.rotationSetter=u.rotationOriginXSetter=u.rotationOriginYSetter=u.xSetter,o}),O(e,"Core/Axis/AxisDefaults.js",[],function(){var m,T;return(T=m||(m={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},T.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:G}=this.axis.chart;return G(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},m}),O(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,isFunction:$,objectEach:q,removeEvent:Z}=m;return(T||(T={})).registerEventOptions=function(Q,Y){Q.eventOptions=Q.eventOptions||{},q(Y.events,function(F,W){Q.eventOptions[W]!==F&&(Q.eventOptions[W]&&(Z(Q,W,Q.eventOptions[W]),delete Q.eventOptions[W]),$(F)&&(Q.eventOptions[W]=F,G(Q,W,F,{order:0})))})},T}),O(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{deg2rad:$}=T,{clamp:q,correctFloat:Z,defined:Q,destroyObjectProperties:Y,extend:F,fireEvent:W,isNumber:k,merge:E,objectEach:M,pick:v}=G;return class{constructor(o,u,x,f,p){this.isNew=!0,this.isNewLabel=!0,this.axis=o,this.pos=u,this.type=x||"",this.parameters=p||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,W(this,"init"),x||f||this.addLabel()}addLabel(){let o=this,u=o.axis,x=u.options,f=u.chart,p=u.categories,b=u.logarithmic,I=u.names,B=o.pos,A=v(o.options&&o.options.labels,x.labels),g=u.tickPositions,S=B===g[0],l=B===g[g.length-1],s=(!A.step||A.step===1)&&u.tickInterval===1,r=g.info,a=o.label,d,n,h,c=this.parameters.category||(p?v(p[B],I[B],B):B);b&&k(c)&&(c=Z(b.lin2log(c))),u.dateTime&&(r?d=(n=f.time.resolveDTLFormat(x.dateTimeLabelFormats[!x.grid&&r.higherRanks[B]||r.unitName])).main:k(c)&&(d=u.dateTime.getXDateFormat(c,x.dateTimeLabelFormats||{}))),o.isFirst=S,o.isLast=l;let L={axis:u,chart:f,dateTimeLabelFormat:d,isFirst:S,isLast:l,pos:B,tick:o,tickPositionInfo:r,value:c};W(this,"labelFormat",L);let z=V=>A.formatter?A.formatter.call(V,V):A.format?(V.text=u.defaultLabelFormatter.call(V),m.format(A.format,V,f)):u.defaultLabelFormatter.call(V),w=z.call(L,L),R=n&&n.list;R?o.shortenLabel=function(){for(h=0;h<R.length;h++)if(F(L,{dateTimeLabelFormat:R[h]}),a.attr({text:z.call(L,L)}),a.getBBox().width<u.getSlotWidth(o)-2*(A.padding||0))return;a.attr({text:""})}:o.shortenLabel=void 0,s&&u._addedPlotLB&&o.moveLabel(w,A),Q(a)||o.movedLabel?a&&a.textStr!==w&&!s&&(!a.textWidth||A.style.width||a.styles.width||a.css({width:null}),a.attr({text:w}),a.textPxLength=a.getBBox().width):(o.label=a=o.createLabel(w,A),o.rotation=0)}createLabel(o,u,x){let f=this.axis,p=f.chart,b=Q(o)&&u.enabled?p.renderer.text(o,x==null?void 0:x.x,x==null?void 0:x.y,u.useHTML).add(f.labelGroup):void 0;return b&&(p.styledMode||b.css(E(u.style)),b.textPxLength=b.getBBox().width),b}destroy(){Y(this,this.axis)}getPosition(o,u,x,f){let p=this.axis,b=p.chart,I=f&&b.oldChartHeight||b.chartHeight,B={x:o?Z(p.translate(u+x,void 0,void 0,f)+p.transB):p.left+p.offset+(p.opposite?(f&&b.oldChartWidth||b.chartWidth)-p.right-p.left:0),y:o?I-p.bottom+p.offset-(p.opposite?p.height:0):Z(I-p.translate(u+x,void 0,void 0,f)-p.transB)};return B.y=q(B.y,-1e5,1e5),W(this,"afterGetPosition",{pos:B}),B}getLabelPosition(o,u,x,f,p,b,I,B){let A,g,S=this.axis,l=S.transA,s=S.isLinked&&S.linkedParent?S.linkedParent.reversed:S.reversed,r=S.staggerLines,a=S.tickRotCorr||{x:0,y:0},d=f||S.reserveSpaceDefault?0:-S.labelOffset*(S.labelAlign==="center"?.5:1),n=p.distance,h={};return A=S.side===0?x.rotation?-n:-x.getBBox().height:S.side===2?a.y+n:Math.cos(x.rotation*$)*(a.y-x.getBBox(!1,0).height/2),Q(p.y)&&(A=S.side===0&&S.horiz?p.y+A:p.y),o=o+v(p.x,[0,1,0,-1][S.side]*n)+d+a.x-(b&&f?b*l*(s?-1:1):0),u=u+A-(b&&!f?b*l*(s?1:-1):0),r&&(g=I/(B||1)%r,S.opposite&&(g=r-g-1),u+=g*(S.labelOffset/r)),h.x=o,h.y=Math.round(u),W(this,"afterGetLabelPosition",{pos:h,tickmarkOffset:b,index:I}),h}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(o,u,x,f,p=!1,b){return b.crispLine([["M",o,u],["L",o+(p?0:-x),u+(p?x:0)]],f)}handleOverflow(o){let u=this.axis,x=u.options.labels,f=o.x,p=u.chart.chartWidth,b=u.chart.spacing,I=v(u.labelLeft,Math.min(u.pos,b[3])),B=v(u.labelRight,Math.max(u.isRadial?0:u.pos+u.len,p-b[1])),A=this.label,g=this.rotation,S={left:0,center:.5,right:1}[u.labelAlign||A.attr("align")],l=A.getBBox().width,s=u.getSlotWidth(this),r={},a=s,d=1,n,h,c;g||x.overflow!=="justify"?g<0&&f-S*l<I?c=Math.round(f/Math.cos(g*$)-I):g>0&&f+S*l>B&&(c=Math.round((p-f)/Math.cos(g*$))):(n=f-S*l,h=f+(1-S)*l,n<I?a=o.x+a*(1-S)-I:h>B&&(a=B-o.x+a*S,d=-1),(a=Math.min(s,a))<s&&u.labelAlign==="center"&&(o.x+=d*(s-a-S*(s-Math.min(l,a)))),(l>a||u.autoRotation&&(A.styles||{}).width)&&(c=a)),c&&(this.shortenLabel?this.shortenLabel():(r.width=Math.floor(c)+"px",(x.style||{}).textOverflow||(r.textOverflow="ellipsis"),A.css(r)))}moveLabel(o,u){let x=this,f=x.label,p=x.axis,b=!1,I;f&&f.textStr===o?(x.movedLabel=f,b=!0,delete x.label):M(p.ticks,function(B){b||B.isNew||B===x||!B.label||B.label.textStr!==o||(x.movedLabel=B.label,b=!0,B.labelPos=x.movedLabel.xy,delete B.label)}),!b&&(x.labelPos||f)&&(I=x.labelPos||f.xy,x.movedLabel=x.createLabel(o,u,I),x.movedLabel&&x.movedLabel.attr({opacity:0}))}render(o,u,x){let f=this.axis,p=f.horiz,b=this.pos,I=v(this.tickmarkOffset,f.tickmarkOffset),B=this.getPosition(p,b,I,u),A=B.x,g=B.y,S=f.pos,l=S+f.len,s=p?A:g;!f.chart.polar&&this.isNew&&(Z(s)<S||s>l)&&(x=0);let r=v(x,this.label&&this.label.newOpacity,1);x=v(x,1),this.isActive=!0,this.renderGridLine(u,x),this.renderMark(B,x),this.renderLabel(B,u,r,o),this.isNew=!1,W(this,"afterRender")}renderGridLine(o,u){let x=this.axis,f=x.options,p={},b=this.pos,I=this.type,B=v(this.tickmarkOffset,x.tickmarkOffset),A=x.chart.renderer,g=this.gridLine,S,l=f.gridLineWidth,s=f.gridLineColor,r=f.gridLineDashStyle;this.type==="minor"&&(l=f.minorGridLineWidth,s=f.minorGridLineColor,r=f.minorGridLineDashStyle),g||(x.chart.styledMode||(p.stroke=s,p["stroke-width"]=l||0,p.dashstyle=r),I||(p.zIndex=1),o&&(u=0),this.gridLine=g=A.path().attr(p).addClass("highcharts-"+(I?I+"-":"")+"grid-line").add(x.gridGroup)),g&&(S=x.getPlotLinePath({value:b+B,lineWidth:g.strokeWidth(),force:"pass",old:o,acrossPanes:!1}))&&g[o||this.isNew?"attr":"animate"]({d:S,opacity:u})}renderMark(o,u){let x=this.axis,f=x.options,p=x.chart.renderer,b=this.type,I=x.tickSize(b?b+"Tick":"tick"),B=o.x,A=o.y,g=v(f[b!=="minor"?"tickWidth":"minorTickWidth"],!b&&x.isXAxis?1:0),S=f[b!=="minor"?"tickColor":"minorTickColor"],l=this.mark,s=!l;I&&(x.opposite&&(I[0]=-I[0]),l||(this.mark=l=p.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(x.axisGroup),x.chart.styledMode||l.attr({stroke:S,"stroke-width":g})),l[s?"attr":"animate"]({d:this.getMarkPath(B,A,I[0],l.strokeWidth(),x.horiz,p),opacity:u}))}renderLabel(o,u,x,f){let p=this.axis,b=p.horiz,I=p.options,B=this.label,A=I.labels,g=A.step,S=v(this.tickmarkOffset,p.tickmarkOffset),l=o.x,s=o.y,r=!0;B&&k(l)&&(B.xy=o=this.getLabelPosition(l,s,B,b,A,S,f,g),(!this.isFirst||this.isLast||I.showFirstLabel)&&(!this.isLast||this.isFirst||I.showLastLabel)?!b||A.step||A.rotation||u||x===0||this.handleOverflow(o):r=!1,g&&f%g&&(r=!1),r&&k(o.y)?(o.opacity=x,B[this.isNewLabel?"attr":"animate"](o).show(!0),this.isNewLabel=!1):(B.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let o=this.label,u=this.axis;o&&!this.isNew&&(o.animate({opacity:0},void 0,o.destroy),delete this.label),u.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),O(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y){let{animObject:F}=m,{xAxis:W,yAxis:k}=T,{defaultOptions:E}=$,{registerEventOptions:M}=q,{deg2rad:v}=Z,{arrayMax:o,arrayMin:u,clamp:x,correctFloat:f,defined:p,destroyObjectProperties:b,erase:I,error:B,extend:A,fireEvent:g,getClosestDistance:S,insertItem:l,isArray:s,isNumber:r,isString:a,merge:d,normalizeTickInterval:n,objectEach:h,pick:c,relativeLength:L,removeEvent:z,splat:w,syncTimeout:R}=Y,V=(J,P)=>n(P,void 0,void 0,c(J.options.allowDecimals,P<.5||J.tickAmount!==void 0),!!J.tickAmount);A(E,{xAxis:W,yAxis:d(W,k)});class X{constructor(P,C,N){this.init(P,C,N)}init(P,C,N=this.coll){let _=N==="xAxis",y=this.isZAxis||(P.inverted?!_:_);this.chart=P,this.horiz=y,this.isXAxis=_,this.coll=N,g(this,"init",{userOptions:C}),this.opposite=c(C.opposite,this.opposite),this.side=c(C.side,this.side,y?this.opposite?0:2:this.opposite?1:3),this.setOptions(C);let D=this.options,j=D.labels,H=D.type;this.userOptions=C,this.minPixelPadding=0,this.reversed=c(D.reversed,this.reversed),this.visible=D.visible,this.zoomEnabled=D.zoomEnabled,this.hasNames=H==="category"||D.categories===!0,this.categories=s(D.categories)&&D.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=p(D.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=D.minRange||D.maxZoom,this.range=D.range,this.offset=D.offset||0,this.max=void 0,this.min=void 0;let U=c(D.crosshair,w(P.options.tooltip.crosshairs)[_?0:1]);this.crosshair=U===!0?{}:U,P.axes.indexOf(this)===-1&&(_?P.axes.splice(P.xAxis.length,0,this):P.axes.push(this),l(this,P[this.coll])),P.orderItems(this.coll),this.series=this.series||[],P.inverted&&!this.isZAxis&&_&&!p(this.reversed)&&(this.reversed=!0),this.labelRotation=r(j.rotation)?j.rotation:void 0,M(this,D),g(this,"afterInit")}setOptions(P){let C=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=d(C,E[this.coll],P),g(this,"afterSetOptions",{userOptions:P})}defaultLabelFormatter(){let P=this.axis,{numberFormatter:C}=this.chart,N=r(this.value)?this.value:NaN,_=P.chart.time,y=P.categories,D=this.dateTimeLabelFormat,j=E.lang,H=j.numericSymbols,U=j.numericSymbolMagnitude||1e3,K=P.logarithmic?Math.abs(N):P.tickInterval,et=H&&H.length,rt,nt;if(y)nt=`${this.value}`;else if(D)nt=_.dateFormat(D,N);else if(et&&H&&K>=1e3)for(;et--&&nt===void 0;)K>=(rt=Math.pow(U,et+1))&&10*N%rt==0&&H[et]!==null&&N!==0&&(nt=C(N/rt,-1)+H[et]);return nt===void 0&&(nt=Math.abs(N)>=1e4?C(N,-1):C(N,-1,void 0,"")),nt}getSeriesExtremes(){let P,C=this;g(this,"getSeriesExtremes",null,function(){C.hasVisibleSeries=!1,C.dataMin=C.dataMax=C.threshold=void 0,C.softThreshold=!C.isXAxis,C.series.forEach(N=>{if(N.reserveSpace()){let _=N.options,y,D=_.threshold,j,H;if(C.hasVisibleSeries=!0,C.positiveValuesOnly&&0>=(D||0)&&(D=void 0),C.isXAxis)(y=N.xData)&&y.length&&(y=C.logarithmic?y.filter(U=>U>0):y,j=(P=N.getXExtremes(y)).min,H=P.max,r(j)||j instanceof Date||(y=y.filter(r),j=(P=N.getXExtremes(y)).min,H=P.max),y.length&&(C.dataMin=Math.min(c(C.dataMin,j),j),C.dataMax=Math.max(c(C.dataMax,H),H)));else{let U=N.applyExtremes();r(U.dataMin)&&(j=U.dataMin,C.dataMin=Math.min(c(C.dataMin,j),j)),r(U.dataMax)&&(H=U.dataMax,C.dataMax=Math.max(c(C.dataMax,H),H)),p(D)&&(C.threshold=D),(!_.softThreshold||C.positiveValuesOnly)&&(C.softThreshold=!1)}}})}),g(this,"afterGetSeriesExtremes")}translate(P,C,N,_,y,D){var ht;let j=this.linkedParent||this,H=_&&j.old?j.old.min:j.min;if(!r(H))return NaN;let U=j.minPixelPadding,K=(j.isOrdinal||((ht=j.brokenAxis)==null?void 0:ht.hasBreaks)||j.logarithmic&&y)&&j.lin2val,et=1,rt=0,nt=_&&j.old?j.old.transA:j.transA,lt=0;return nt||(nt=j.transA),N&&(et*=-1,rt=j.len),j.reversed&&(et*=-1,rt-=et*(j.sector||j.len)),C?(lt=(P=P*et+rt-U)/nt+H,K&&(lt=j.lin2val(lt))):(K&&(P=j.val2lin(P)),lt=et*(P-H)*nt+rt+et*U+(r(D)?nt*D:0),j.isRadial||(lt=f(lt))),lt}toPixels(P,C){return this.translate(P,!1,!this.horiz,void 0,!0)+(C?0:this.pos)}toValue(P,C){return this.translate(P-(C?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(P){let C=this,N=C.chart,_=C.left,y=C.top,D=P.old,j=P.value,H=P.lineWidth,U=D&&N.oldChartHeight||N.chartHeight,K=D&&N.oldChartWidth||N.chartWidth,et=C.transB,rt=P.translatedValue,nt=P.force,lt,ht,it,tt,st;function ot(ct,dt,ut){return nt!=="pass"&&(ct<dt||ct>ut)&&(nt?ct=x(ct,dt,ut):st=!0),ct}let at={value:j,lineWidth:H,old:D,force:nt,acrossPanes:P.acrossPanes,translatedValue:rt};return g(this,"getPlotLinePath",at,function(ct){lt=it=(rt=x(rt=c(rt,C.translate(j,void 0,void 0,D)),-1e5,1e5))+et,ht=tt=U-rt-et,r(rt)?C.horiz?(ht=y,tt=U-C.bottom+(C.options.isInternal?0:N.scrollablePixelsY||0),lt=it=ot(lt,_,_+C.width)):(lt=_,it=K-C.right+(N.scrollablePixelsX||0),ht=tt=ot(ht,y,y+C.height)):(st=!0,nt=!1),ct.path=st&&!nt?void 0:N.renderer.crispLine([["M",lt,ht],["L",it,tt]],H||1)}),at.path}getLinearTickPositions(P,C,N){let _,y,D,j=f(Math.floor(C/P)*P),H=f(Math.ceil(N/P)*P),U=[];if(f(j+P)===j&&(D=20),this.single)return[C];for(_=j;_<=H&&(U.push(_),(_=f(_+P,D))!==y);)y=_;return U}getMinorTickInterval(){let{minorTicks:P,minorTickInterval:C}=this.options;return P===!0?c(C,"auto"):P!==!1?C:void 0}getMinorTickPositions(){let P=this.options,C=this.tickPositions,N=this.minorTickInterval,_=this.pointRangePadding||0,y=(this.min||0)-_,D=(this.max||0)+_,j=D-y,H=[],U;if(j&&j/N<this.len/3){let K=this.logarithmic;if(K)this.paddedTicks.forEach(function(et,rt,nt){rt&&H.push.apply(H,K.getLogTickPositions(N,nt[rt-1],nt[rt],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")H=H.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(N),y,D,P.startOfWeek));else for(U=y+(C[0]-y)%N;U<=D&&U!==H[0];U+=N)H.push(U)}return H.length!==0&&this.trimTicks(H),H}adjustForMinRange(){let P=this.options,C=this.logarithmic,{max:N,min:_,minRange:y}=this,D,j,H,U;this.isXAxis&&y===void 0&&!C&&(y=p(P.min)||p(P.max)||p(P.floor)||p(P.ceiling)?null:Math.min(5*(S(this.series.map(K=>{var et;return(K.xIncrement?(et=K.xData)==null?void 0:et.slice(0,2):K.xData)||[]}))||0),this.dataMax-this.dataMin)),r(N)&&r(_)&&r(y)&&N-_<y&&(j=this.dataMax-this.dataMin>=y,D=(y-N+_)/2,H=[_-D,c(P.min,_-D)],j&&(H[2]=C?C.log2lin(this.dataMin):this.dataMin),U=[(_=o(H))+y,c(P.max,_+y)],j&&(U[2]=C?C.log2lin(this.dataMax):this.dataMax),(N=u(U))-_<y&&(H[0]=N-y,H[1]=c(P.min,N-y),_=o(H))),this.minRange=y,this.min=_,this.max=N}getClosest(){let P,C;if(this.categories)C=1;else{let N=[];this.series.forEach(function(_){var D;let y=_.closestPointRange;((D=_.xData)==null?void 0:D.length)===1?N.push(_.xData[0]):!_.noSharedTooltip&&p(y)&&_.reserveSpace()&&(C=p(C)?Math.min(C,y):y)}),N.length&&(N.sort((_,y)=>_-y),P=S([N]))}return P&&C?Math.min(P,C):P||C}nameToX(P){let C=s(this.options.categories),N=C?this.categories:this.names,_=P.options.x,y;return P.series.requireSorting=!1,p(_)||(_=this.options.uniqueNames&&N?C?N.indexOf(P.name):c(N.keys[P.name],-1):P.series.autoIncrement()),_===-1?!C&&N&&(y=N.length):y=_,y!==void 0?(this.names[y]=P.name,this.names.keys[P.name]=y):P.x&&(y=P.x),y}updateNames(){let P=this,C=this.names;C.length>0&&(Object.keys(C.keys).forEach(function(N){delete C.keys[N]}),C.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(N=>{N.xIncrement=null,(!N.points||N.isDirtyData)&&(P.max=Math.max(P.max,N.xData.length-1),N.processData(),N.generatePoints()),N.data.forEach(function(_,y){let D;_!=null&&_.options&&_.name!==void 0&&(D=P.nameToX(_))!==void 0&&D!==_.x&&(_.x=D,N.xData[y]=D)})}))}setAxisTranslation(){let P=this,C=P.max-P.min,N=P.linkedParent,_=!!P.categories,y=P.isXAxis,D=P.axisPointRange||0,j,H=0,U=0,K,et=P.transA;(y||_||D)&&(j=P.getClosest(),N?(H=N.minPointOffset,U=N.pointRangePadding):P.series.forEach(function(rt){let nt=_?1:y?c(rt.options.pointRange,j,0):P.axisPointRange||0,lt=rt.options.pointPlacement;if(D=Math.max(D,nt),!P.single||_){let ht=rt.is("xrange")?!y:y;H=Math.max(H,ht&&a(lt)?0:nt/2),U=Math.max(U,ht&<==="on"?0:nt)}}),K=P.ordinal&&P.ordinal.slope&&j?P.ordinal.slope/j:1,P.minPointOffset=H*=K,P.pointRangePadding=U*=K,P.pointRange=Math.min(D,P.single&&_?1:C),y&&j&&(P.closestPointRange=j)),P.translationSlope=P.transA=et=P.staticScale||P.len/(C+U||1),P.transB=P.horiz?P.left:P.bottom,P.minPixelPadding=et*H,g(this,"afterSetAxisTranslation")}minFromRange(){let{max:P,min:C}=this;return r(P)&&r(C)&&P-C||void 0}setTickInterval(P){var bt,yt,Ct,kt;let{categories:C,chart:N,dataMax:_,dataMin:y,dateTime:D,isXAxis:j,logarithmic:H,options:U,softThreshold:K}=this,et=r(this.threshold)?this.threshold:void 0,rt=this.minRange||0,{ceiling:nt,floor:lt,linkedTo:ht,softMax:it,softMin:tt}=U,st=r(ht)&&((bt=N[this.coll])==null?void 0:bt[ht]),ot=U.tickPixelInterval,at=U.maxPadding,ct=U.minPadding,dt=0,ut,pt=r(U.tickInterval)&&U.tickInterval>=0?U.tickInterval:void 0,gt,ft,mt,xt;if(D||C||st||this.getTickAmount(),mt=c(this.userMin,U.min),xt=c(this.userMax,U.max),st?(this.linkedParent=st,ut=st.getExtremes(),this.min=c(ut.min,ut.dataMin),this.max=c(ut.max,ut.dataMax),U.type!==st.options.type&&B(11,!0,N)):(K&&p(et)&&r(_)&&r(y)&&(y>=et?(gt=et,ct=0):_<=et&&(ft=et,at=0)),this.min=c(mt,gt,y),this.max=c(xt,ft,_)),r(this.max)&&r(this.min)&&(H&&(this.positiveValuesOnly&&!P&&0>=Math.min(this.min,c(y,this.min))&&B(10,!0,N),this.min=f(H.log2lin(this.min),16),this.max=f(H.log2lin(this.max),16)),this.range&&r(y)&&(this.userMin=this.min=mt=Math.max(y,this.minFromRange()||0),this.userMax=xt=this.max,this.range=void 0)),g(this,"foundExtremes"),this.adjustForMinRange(),r(this.min)&&r(this.max)){if(!r(this.userMin)&&r(tt)&&tt<this.min&&(this.min=mt=tt),!r(this.userMax)&&r(it)&&it>this.max&&(this.max=xt=it),C||this.axisPointRange||(yt=this.stacking)!=null&&yt.usePercentage||st||!(dt=this.max-this.min)||(!p(mt)&&ct&&(this.min-=dt*ct),p(xt)||!at||(this.max+=dt*at)),!r(this.userMin)&&r(lt)&&(this.min=Math.max(this.min,lt)),!r(this.userMax)&&r(nt)&&(this.max=Math.min(this.max,nt)),K&&r(y)&&r(_)){let Mt=et||0;!p(mt)&&this.min<Mt&&y>=Mt?this.min=U.minRange?Math.min(Mt,this.max-rt):Mt:!p(xt)&&this.max>Mt&&_<=Mt&&(this.max=U.minRange?Math.max(Mt,this.min+rt):Mt)}!N.polar&&this.min>this.max&&(p(U.min)?this.max=this.min:p(U.max)&&(this.min=this.max)),dt=this.max-this.min}if(this.min!==this.max&&r(this.min)&&r(this.max)?st&&!pt&&ot===st.options.tickPixelInterval?this.tickInterval=pt=st.tickInterval:this.tickInterval=c(pt,this.tickAmount?dt/Math.max(this.tickAmount-1,1):void 0,C?1:dt*ot/Math.max(this.len,ot)):this.tickInterval=1,j&&!P){let Mt=this.min!==((Ct=this.old)==null?void 0:Ct.min)||this.max!==((kt=this.old)==null?void 0:kt.max);this.series.forEach(function(Pt){var Tt;Pt.forceCrop=(Tt=Pt.forceCropping)==null?void 0:Tt.call(Pt),Pt.processData(Mt)}),g(this,"postProcessData",{hasExtremesChanged:Mt})}this.setAxisTranslation(),g(this,"initialAxisTranslation"),this.pointRange&&!pt&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let vt=c(U.minTickInterval,D&&!this.series.some(Mt=>Mt.noSharedTooltip)?this.closestPointRange:0);!pt&&this.tickInterval<vt&&(this.tickInterval=vt),D||H||pt||(this.tickInterval=V(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){var K,et;let P=this.options,C=P.tickPositions,N=P.tickPositioner,_=this.getMinorTickInterval(),y=!this.isPanning,D=y&&P.startOnTick,j=y&&P.endOnTick,H=[],U;if(this.tickmarkOffset=this.categories&&P.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.minorTickInterval=_==="auto"&&this.tickInterval?this.tickInterval/P.minorTicksPerMajor:_,this.single=this.min===this.max&&p(this.min)&&!this.tickAmount&&(this.min%1==0||P.allowDecimals!==!1),C)H=C.slice();else if(r(this.min)&&r(this.max)){if(!((K=this.ordinal)!=null&&K.positions)&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))H=[this.min,this.max],B(19,!1,this.chart);else if(this.dateTime)H=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,P.units),this.min,this.max,P.startOfWeek,(et=this.ordinal)==null?void 0:et.positions,this.closestPointRange,!0);else if(this.logarithmic)H=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let rt=this.tickInterval,nt=rt;for(;nt<=2*rt&&(H=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&H.length>this.tickAmount);)this.tickInterval=V(this,nt*=1.1)}H.length>this.len&&(H=[H[0],H[H.length-1]])[0]===H[1]&&(H.length=1),N&&(this.tickPositions=H,(U=N.apply(this,[this.min,this.max]))&&(H=U))}this.tickPositions=H,this.paddedTicks=H.slice(0),this.trimTicks(H,D,j),!this.isLinked&&r(this.min)&&r(this.max)&&(this.single&&H.length<2&&!this.categories&&!this.series.some(rt=>rt.is("heatmap")&&rt.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),C||U||this.adjustTickAmount()),g(this,"afterSetTickPositions")}trimTicks(P,C,N){let _=P[0],y=P[P.length-1],D=!this.isOrdinal&&this.minPointOffset||0;if(g(this,"trimTicks"),!this.isLinked){if(C&&_!==-1/0)this.min=_;else for(;this.min-D>P[0];)P.shift();if(N)this.max=y;else for(;this.max+D<P[P.length-1];)P.pop();P.length===0&&p(_)&&!this.options.tickPositions&&P.push((y+_)/2)}}alignToOthers(){let P,C=this,N=C.chart,_=[this],y=C.options,D=N.options.chart,j=this.coll==="yAxis"&&D.alignThresholds,H=[];if(C.thresholdAlignment=void 0,(D.alignTicks!==!1&&y.alignTicks||j)&&y.startOnTick!==!1&&y.endOnTick!==!1&&!C.logarithmic){let U=et=>{let{horiz:rt,options:nt}=et;return[rt?nt.left:nt.top,nt.width,nt.height,nt.pane].join(",")},K=U(this);N[this.coll].forEach(function(et){let{series:rt}=et;rt.length&&rt.some(nt=>nt.visible)&&et!==C&&U(et)===K&&(P=!0,_.push(et))})}if(P&&j){_.forEach(K=>{let et=K.getThresholdAlignment(C);r(et)&&H.push(et)});let U=H.length>1?H.reduce((K,et)=>K+=et,0)/H.length:void 0;_.forEach(K=>{K.thresholdAlignment=U})}return P}getThresholdAlignment(P){if((!r(this.dataMin)||this!==P&&this.series.some(C=>C.isDirty||C.isDirtyData))&&this.getSeriesExtremes(),r(this.threshold)){let C=x((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(C=1-C),C}}getTickAmount(){let P=this.options,C=P.tickPixelInterval,N=P.tickAmount;p(P.tickInterval)||N||!(this.len<C)||this.isRadial||this.logarithmic||!P.startOnTick||!P.endOnTick||(N=2),!N&&this.alignToOthers()&&(N=Math.ceil(this.len/C)+1),N<4&&(this.finalTickAmt=N,N=5),this.tickAmount=N}adjustTickAmount(){let P=this,{finalTickAmt:C,max:N,min:_,options:y,tickPositions:D,tickAmount:j,thresholdAlignment:H}=P,U=D==null?void 0:D.length,K=c(P.threshold,P.softThreshold?0:null),et,rt,nt=P.tickInterval,lt,ht=()=>D.push(f(D[D.length-1]+nt)),it=()=>D.unshift(f(D[0]-nt));if(r(H)&&(lt=H<.5?Math.ceil(H*(j-1)):Math.floor(H*(j-1)),y.reversed&&(lt=j-1-lt)),P.hasData()&&r(_)&&r(N)){let tt=()=>{P.transA*=(U-1)/(j-1),P.min=y.startOnTick?D[0]:Math.min(_,D[0]),P.max=y.endOnTick?D[D.length-1]:Math.max(N,D[D.length-1])};if(r(lt)&&r(P.threshold)){for(;D[lt]!==K||D.length!==j||D[0]>_||D[D.length-1]<N;){for(D.length=0,D.push(P.threshold);D.length<j;)D[lt]===void 0||D[lt]>P.threshold?it():ht();if(nt>8*P.tickInterval)break;nt*=2}tt()}else if(U<j){for(;D.length<j;)D.length%2||_===K?ht():it();tt()}if(p(C)){for(rt=et=D.length;rt--;)(C===3&&rt%2==1||C<=2&&rt>0&&rt<et-1)&&D.splice(rt,1);P.finalTickAmt=void 0}}}setScale(){var D,j;let{coll:P,stacking:C}=this,N=!1,_=!1;this.series.forEach(H=>{N=N||H.isDirtyData||H.isDirty,_=_||H.xAxis&&H.xAxis.isDirty||!1}),this.setAxisSize();let y=this.len!==(this.old&&this.old.len);y||N||_||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(C&&P==="yAxis"&&C.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),C&&P==="xAxis"&&C.buildStacks(),this.isDirty||(this.isDirty=y||this.min!==((D=this.old)==null?void 0:D.min)||this.max!==((j=this.old)==null?void 0:j.max))):C&&C.cleanStacks(),N&&delete this.allExtremes,g(this,"afterSetScale")}setExtremes(P,C,N=!0,_,y){this.series.forEach(D=>{delete D.kdTree}),g(this,"setExtremes",y=A(y,{min:P,max:C}),D=>{this.userMin=D.min,this.userMax=D.max,this.eventArgs=D,N&&this.chart.redraw(_)})}setAxisSize(){let P=this.chart,C=this.options,N=C.offsets||[0,0,0,0],_=this.horiz,y=this.width=Math.round(L(c(C.width,P.plotWidth-N[3]+N[1]),P.plotWidth)),D=this.height=Math.round(L(c(C.height,P.plotHeight-N[0]+N[2]),P.plotHeight)),j=this.top=Math.round(L(c(C.top,P.plotTop+N[0]),P.plotHeight,P.plotTop)),H=this.left=Math.round(L(c(C.left,P.plotLeft+N[3]),P.plotWidth,P.plotLeft));this.bottom=P.chartHeight-D-j,this.right=P.chartWidth-y-H,this.len=Math.max(_?y:D,0),this.pos=_?H:j}getExtremes(){let P=this.logarithmic;return{min:P?f(P.lin2log(this.min)):this.min,max:P?f(P.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(P){let C=this.logarithmic,N=C?C.lin2log(this.min):this.min,_=C?C.lin2log(this.max):this.max;return P===null||P===-1/0?P=N:P===1/0?P=_:N>P?P=N:_<P&&(P=_),this.translate(P,0,1,0,1)}autoLabelAlign(P){let C=(c(P,0)-90*this.side+720)%360,N={align:"center"};return g(this,"autoLabelAlign",N,function(_){C>15&&C<165?_.align="right":C>195&&C<345&&(_.align="left")}),N.align}tickSize(P){let C=this.options,N=c(C[P==="tick"?"tickWidth":"minorTickWidth"],P==="tick"&&this.isXAxis&&!this.categories?1:0),_=C[P==="tick"?"tickLength":"minorTickLength"],y;N&&_&&(C[P+"Position"]==="inside"&&(_=-_),y=[_,N]);let D={tickSize:y};return g(this,"afterTickSize",D),D.tickSize}labelMetrics(){let P=this.chart.renderer,C=this.ticks,N=C[Object.keys(C)[0]]||{};return this.chart.renderer.fontMetrics(N.label||N.movedLabel||P.box)}unsquish(){let P=this.options.labels,C=P.padding||0,N=this.horiz,_=this.tickInterval,y=this.len/(((this.categories?1:0)+this.max-this.min)/_),D=P.rotation,j=f(.8*this.labelMetrics().h),H=Math.max(this.max-this.min,0),U=function(lt){let ht=(lt+2*C)/(y||1);return(ht=ht>1?Math.ceil(ht):1)*_>H&<!==1/0&&y!==1/0&&H&&(ht=Math.ceil(H/_)),f(ht*_)},K=_,et,rt=Number.MAX_VALUE,nt;if(N){if(!P.staggerLines&&(r(D)?nt=[D]:y<P.autoRotationLimit&&(nt=P.autoRotation)),nt){let lt,ht;for(let it of nt)(it===D||it&&it>=-90&&it<=90)&&(ht=(lt=U(Math.abs(j/Math.sin(v*it))))+Math.abs(it/360))<rt&&(rt=ht,et=it,K=lt)}}else K=U(.75*j);return this.autoRotation=nt,this.labelRotation=c(et,r(D)?D:0),P.step?_:K}getSlotWidth(P){let C=this.chart,N=this.horiz,_=this.options.labels,y=Math.max(this.tickPositions.length-(this.categories?0:1),1),D=C.margin[3];if(P&&r(P.slotWidth))return P.slotWidth;if(N&&_.step<2)return _.rotation?0:(this.staggerLines||1)*this.len/y;if(!N){let j=_.style.width;if(j!==void 0)return parseInt(String(j),10);if(D)return D-C.spacing[3]}return .33*C.chartWidth}renderUnsquish(){let P=this.chart,C=P.renderer,N=this.tickPositions,_=this.ticks,y=this.options.labels,D=y.style,j=this.horiz,H=this.getSlotWidth(),U=Math.max(1,Math.round(H-(j?2*(y.padding||0):y.distance||0))),K={},et=this.labelMetrics(),rt=D.textOverflow,nt,lt,ht=0,it,tt;if(a(y.rotation)||(K.rotation=y.rotation||0),N.forEach(function(st){let ot=_[st];ot.movedLabel&&ot.replaceMovedLabel(),ot&&ot.label&&ot.label.textPxLength>ht&&(ht=ot.label.textPxLength)}),this.maxLabelLength=ht,this.autoRotation)ht>U&&ht>et.h?K.rotation=this.labelRotation:this.labelRotation=0;else if(H&&(nt=U,!rt))for(lt="clip",tt=N.length;!j&&tt--;)(it=_[N[tt]].label)&&(it.styles.textOverflow==="ellipsis"?it.css({textOverflow:"clip"}):it.textPxLength>H&&it.css({width:H+"px"}),it.getBBox().height>this.len/N.length-(et.h-et.f)&&(it.specificTextOverflow="ellipsis"));K.rotation&&(nt=ht>.5*P.chartHeight?.33*P.chartHeight:ht,rt||(lt="ellipsis")),this.labelAlign=y.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(K.align=this.labelAlign),N.forEach(function(st){let ot=_[st],at=ot&&ot.label,ct=D.width,dt={};at&&(at.attr(K),ot.shortenLabel?ot.shortenLabel():nt&&!ct&&D.whiteSpace!=="nowrap"&&(nt<at.textPxLength||at.element.tagName==="SPAN")?(dt.width=nt+"px",rt||(dt.textOverflow=at.specificTextOverflow||lt),at.css(dt)):!at.styles.width||dt.width||ct||at.css({width:null}),delete at.specificTextOverflow,ot.rotation=K.rotation)},this),this.tickRotCorr=C.rotCorr(et.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(P){return P.hasData()})||this.options.showEmpty&&p(this.min)&&p(this.max)}addTitle(P){let C,N=this.chart.renderer,_=this.horiz,y=this.opposite,D=this.options.title,j=this.chart.styledMode;this.axisTitle||((C=D.textAlign)||(C=(_?{low:"left",middle:"center",high:"right"}:{low:y?"right":"left",middle:"center",high:y?"left":"right"})[D.align]),this.axisTitle=N.text(D.text||"",0,0,D.useHTML).attr({zIndex:7,rotation:D.rotation||0,align:C}).addClass("highcharts-axis-title"),j||this.axisTitle.css(d(D.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),j||D.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[P?"show":"hide"](P)}generateTick(P){let C=this.ticks;C[P]?C[P].addLabel():C[P]=new Q(this,P)}createGroups(){let{axisParent:P,chart:C,coll:N,options:_}=this,y=C.renderer,D=(j,H,U)=>y.g(j).attr({zIndex:U}).addClass(`highcharts-${N.toLowerCase()}${H} `+(this.isRadial?`highcharts-radial-axis${H} `:"")+(_.className||"")).add(P);this.axisGroup||(this.gridGroup=D("grid","-grid",_.gridZIndex),this.axisGroup=D("axis","",_.zIndex),this.labelGroup=D("axis-labels","-labels",_.labels.zIndex))}getOffset(){let P=this,{chart:C,horiz:N,options:_,side:y,ticks:D,tickPositions:j,coll:H}=P,U=C.inverted&&!P.isZAxis?[1,0,3,2][y]:y,K=P.hasData(),et=_.title,rt=_.labels,nt=r(_.crossing),lt=C.axisOffset,ht=C.clipOffset,it=[-1,1,1,-1][y],tt,st=0,ot,at=0,ct=0,dt,ut;if(P.showAxis=tt=K||_.showEmpty,P.staggerLines=P.horiz&&rt.staggerLines||void 0,P.createGroups(),K||P.isLinked?(j.forEach(function(pt){P.generateTick(pt)}),P.renderUnsquish(),P.reserveSpaceDefault=y===0||y===2||{1:"left",3:"right"}[y]===P.labelAlign,c(rt.reserveSpace,!nt&&null,P.labelAlign==="center"||null,P.reserveSpaceDefault)&&j.forEach(function(pt){ct=Math.max(D[pt].getLabelSize(),ct)}),P.staggerLines&&(ct*=P.staggerLines),P.labelOffset=ct*(P.opposite?-1:1)):h(D,function(pt,gt){pt.destroy(),delete D[gt]}),et!=null&&et.text&&et.enabled!==!1&&(P.addTitle(tt),tt&&!nt&&et.reserveSpace!==!1&&(P.titleOffset=st=P.axisTitle.getBBox()[N?"height":"width"],at=p(ot=et.offset)?0:c(et.margin,N?5:10))),P.renderLine(),P.offset=it*c(_.offset,lt[y]?lt[y]+(_.margin||0):0),P.tickRotCorr=P.tickRotCorr||{x:0,y:0},ut=y===0?-P.labelMetrics().h:y===2?P.tickRotCorr.y:0,dt=Math.abs(ct)+at,ct&&(dt-=ut,dt+=it*(N?c(rt.y,P.tickRotCorr.y+it*rt.distance):c(rt.x,it*rt.distance))),P.axisTitleMargin=c(ot,dt),P.getMaxLabelDimensions&&(P.maxLabelDimensions=P.getMaxLabelDimensions(D,j)),H!=="colorAxis"&&ht){let pt=this.tickSize("tick");lt[y]=Math.max(lt[y],(P.axisTitleMargin||0)+st+it*P.offset,dt,j&&j.length&&pt?pt[0]+it*P.offset:0);let gt=!P.axisLine||_.offset?0:P.axisLine.strokeWidth()/2;ht[U]=Math.max(ht[U],gt)}g(this,"afterGetOffset")}getLinePath(P){let C=this.chart,N=this.opposite,_=this.offset,y=this.horiz,D=this.left+(N?this.width:0)+_,j=C.chartHeight-this.bottom-(N?this.height:0)+_;return N&&(P*=-1),C.renderer.crispLine([["M",y?this.left:D,y?j:this.top],["L",y?C.chartWidth-this.right:D,y?j:C.chartHeight-this.bottom]],P)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(P){let C=this.horiz,N=this.left,_=this.top,y=this.len,D=this.options.title,j=C?N:_,H=this.opposite,U=this.offset,K=D.x,et=D.y,rt=this.chart.renderer.fontMetrics(P),nt=P?Math.max(P.getBBox(!1,0).height-rt.h-1,0):0,lt={low:j+(C?0:y),middle:j+y/2,high:j+(C?y:0)}[D.align],ht=(C?_+this.height:N)+(C?1:-1)*(H?-1:1)*(this.axisTitleMargin||0)+[-nt,nt,rt.f,-nt][this.side],it={x:C?lt+K:ht+(H?this.width:0)+U+K,y:C?ht+et-(H?this.height:0)+U:lt+et};return g(this,"afterGetTitlePosition",{titlePosition:it}),it}renderMinorTick(P,C){let N=this.minorTicks;N[P]||(N[P]=new Q(this,P,"minor")),C&&N[P].isNew&&N[P].render(null,!0),N[P].render(null,!1,1)}renderTick(P,C,N){let _=this.isLinked,y=this.ticks;(!_||P>=this.min&&P<=this.max||this.grid&&this.grid.isColumn)&&(y[P]||(y[P]=new Q(this,P)),N&&y[P].isNew&&y[P].render(C,!0,-1),y[P].render(C))}render(){let P,C,N=this,_=N.chart,y=N.logarithmic,D=_.renderer,j=N.options,H=N.isLinked,U=N.tickPositions,K=N.axisTitle,et=N.ticks,rt=N.minorTicks,nt=N.alternateBands,lt=j.stackLabels,ht=j.alternateGridColor,it=j.crossing,tt=N.tickmarkOffset,st=N.axisLine,ot=N.showAxis,at=F(D.globalAnimation);if(N.labelEdge.length=0,N.overlap=!1,[et,rt,nt].forEach(function(ct){h(ct,function(dt){dt.isActive=!1})}),r(it)){let ct=this.isXAxis?_.yAxis[0]:_.xAxis[0],dt=[1,-1,-1,1][this.side];if(ct){let ut=ct.toPixels(it,!0);N.horiz&&(ut=ct.len-ut),N.offset=dt*ut}}if(N.hasData()||H){let ct=N.chart.hasRendered&&N.old&&r(N.old.min);N.minorTickInterval&&!N.categories&&N.getMinorTickPositions().forEach(function(dt){N.renderMinorTick(dt,ct)}),U.length&&(U.forEach(function(dt,ut){N.renderTick(dt,ut,ct)}),tt&&(N.min===0||N.single)&&(et[-1]||(et[-1]=new Q(N,-1,null,!0)),et[-1].render(-1))),ht&&U.forEach(function(dt,ut){C=U[ut+1]!==void 0?U[ut+1]+tt:N.max-tt,ut%2==0&&dt<N.max&&C<=N.max+(_.polar?-tt:tt)&&(nt[dt]||(nt[dt]=new Z.PlotLineOrBand(N,{})),P=dt+tt,nt[dt].options={from:y?y.lin2log(P):P,to:y?y.lin2log(C):C,color:ht,className:"highcharts-alternate-grid"},nt[dt].render(),nt[dt].isActive=!0)}),N._addedPlotLB||(N._addedPlotLB=!0,(j.plotLines||[]).concat(j.plotBands||[]).forEach(function(dt){N.addPlotBandOrLine(dt)}))}[et,rt,nt].forEach(function(ct){let dt=[],ut=at.duration;h(ct,function(pt,gt){pt.isActive||(pt.render(gt,!1,0),pt.isActive=!1,dt.push(gt))}),R(function(){let pt=dt.length;for(;pt--;)ct[dt[pt]]&&!ct[dt[pt]].isActive&&(ct[dt[pt]].destroy(),delete ct[dt[pt]])},ct!==nt&&_.hasRendered&&ut?ut:0)}),st&&(st[st.isPlaced?"animate":"attr"]({d:this.getLinePath(st.strokeWidth())}),st.isPlaced=!0,st[ot?"show":"hide"](ot)),K&&ot&&(K[K.isNew?"attr":"animate"](N.getTitlePosition(K)),K.isNew=!1),lt&<.enabled&&N.stacking&&N.stacking.renderStackTotals(),N.old={len:N.len,max:N.max,min:N.min,transA:N.transA,userMax:N.userMax,userMin:N.userMin},N.isDirty=!1,g(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(P){P.render()})),this.series.forEach(function(P){P.isDirty=!0})}getKeepProps(){return this.keepProps||X.keepProps}destroy(P){let C=this,N=C.plotLinesAndBands,_=this.eventOptions;if(g(this,"destroy",{keepEvents:P}),P||z(C),[C.ticks,C.minorTicks,C.alternateBands].forEach(function(y){b(y)}),N){let y=N.length;for(;y--;)N[y].destroy()}for(let y in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(D){C[D]&&(C[D]=C[D].destroy())}),C.plotLinesAndBandsGroups)C.plotLinesAndBandsGroups[y]=C.plotLinesAndBandsGroups[y].destroy();h(C,function(y,D){C.getKeepProps().indexOf(D)===-1&&delete C[D]}),this.eventOptions=_}drawCrosshair(P,C){let N=this.crosshair,_=c(N&&N.snap,!0),y=this.chart,D,j,H,U=this.cross,K;if(g(this,"drawCrosshair",{e:P,point:C}),P||(P=this.cross&&this.cross.e),N&&(p(C)||!_)!==!1){if(_?p(C)&&(j=c(this.coll!=="colorAxis"?C.crosshairPos:null,this.isXAxis?C.plotX:this.len-C.plotY)):j=P&&(this.horiz?P.chartX-this.pos:this.len-P.chartY+this.pos),p(j)&&(K={value:C&&(this.isXAxis?C.x:c(C.stackY,C.y)),translatedValue:j},y.polar&&A(K,{isCrosshair:!0,chartX:P&&P.chartX,chartY:P&&P.chartY,point:C}),D=this.getPlotLinePath(K)||null),!p(D)){this.hideCrosshair();return}H=this.categories&&!this.isRadial,U||(this.cross=U=y.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(H?"category ":"thin ")+(N.className||"")).attr({zIndex:c(N.zIndex,2)}).add(),!y.styledMode&&(U.attr({stroke:N.color||(H?G.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":c(N.width,1)}).css({"pointer-events":"none"}),N.dashStyle&&U.attr({dashstyle:N.dashStyle}))),U.show().attr({d:D}),H&&!N.width&&U.attr({"stroke-width":this.transA}),this.cross.e=P}else this.hideCrosshair();g(this,"afterDrawCrosshair",{e:P,point:C})}hideCrosshair(){this.cross&&this.cross.hide(),g(this,"afterHideCrosshair")}update(P,C){let N=this.chart;P=d(this.userOptions,P),this.destroy(!0),this.init(N,P),N.isDirtyBox=!0,c(C,!0)&&N.redraw()}remove(P){let C=this.chart,N=this.coll,_=this.series,y=_.length;for(;y--;)_[y]&&_[y].remove(!1);I(C.axes,this),I(C[N]||[],this),C.orderItems(N),this.destroy(),C.isDirtyBox=!0,c(P,!0)&&C.redraw()}setTitle(P,C){this.update({title:P},C)}setCategories(P,C){this.update({categories:P},C)}}return X.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],X}),O(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,getMagnitude:$,normalizeTickInterval:q,timeUnits:Z}=m;return function(Q){function Y(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function F(){if(this.options.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new W(this))}Q.compose=function(k){return k.keepProps.includes("dateTime")||(k.keepProps.push("dateTime"),k.prototype.getTimeTicks=Y,G(k,"afterSetOptions",F)),k};class W{constructor(E){this.axis=E}normalizeTimeTickInterval(E,M){let v=M||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],o=v[v.length-1],u=Z[o[0]],x=o[1],f;for(f=0;f<v.length&&(u=Z[(o=v[f])[0]],x=o[1],!v[f+1]||!(E<=(u*x[x.length-1]+Z[v[f+1][0]])/2));f++);u===Z.year&&E<5*u&&(x=[1,2,5]);let p=q(E/u,x,o[0]==="year"?Math.max($(E/u),1):1);return{unitRange:u,count:p,unitName:o[0]}}getXDateFormat(E,M){let{axis:v}=this,o=v.chart.time;return v.closestPointRange?o.getDateFormat(v.closestPointRange,E,v.options.startOfWeek,M)||o.resolveDTLFormat(M.year).main:o.resolveDTLFormat(M.day).main}}Q.Additions=W}(T||(T={})),T}),O(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{addEvent:G,normalizeTickInterval:$,pick:q}=m;return function(Z){function Q(W){let k=W.userOptions,E=this.logarithmic;k.type!=="logarithmic"?this.logarithmic=void 0:E||(E=this.logarithmic=new F(this))}function Y(){let W=this.logarithmic;W&&(this.lin2val=function(k){return W.lin2log(k)},this.val2lin=function(k){return W.log2lin(k)})}Z.compose=function(W){return W.keepProps.includes("logarithmic")||(W.keepProps.push("logarithmic"),G(W,"init",Q),G(W,"afterInit",Y)),W};class F{constructor(k){this.axis=k}getLogTickPositions(k,E,M,v){let o=this.axis,u=o.len,x=o.options,f=[];if(v||(this.minorAutoInterval=void 0),k>=.5)k=Math.round(k),f=o.getLinearTickPositions(k,E,M);else if(k>=.08){let p,b,I,B,A,g,S,l=Math.floor(E);for(p=k>.3?[1,2,4]:k>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],b=l;b<M+1&&!S;b++)for(I=0,B=p.length;I<B&&!S;I++)(A=this.log2lin(this.lin2log(b)*p[I]))>E&&(!v||g<=M)&&g!==void 0&&f.push(g),g>M&&(S=!0),g=A}else{let p=this.lin2log(E),b=this.lin2log(M),I=v?o.getMinorTickInterval():x.tickInterval,B=x.tickPixelInterval/(v?5:1),A=v?u/o.tickPositions.length:u;k=$(k=q(I==="auto"?null:I,this.minorAutoInterval,(b-p)*B/(A||1))),f=o.getLinearTickPositions(k,p,b).map(this.log2lin),v||(this.minorAutoInterval=k/5)}return v||(o.tickInterval=k),f}lin2log(k){return Math.pow(10,k)}log2lin(k){return Math.log(k)/Math.LN10}}Z.Additions=F}(T||(T={})),T}),O(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(m){var T;let{erase:G,extend:$,isNumber:q}=m;return function(Z){let Q;function Y(o){return this.addPlotBandOrLine(o,"plotBands")}function F(o,u){let x=this.userOptions,f=new Q(this,o);if(this.visible&&(f=f.render()),f){if(this._addedPlotLB||(this._addedPlotLB=!0,(x.plotLines||[]).concat(x.plotBands||[]).forEach(p=>{this.addPlotBandOrLine(p)})),u){let p=x[u]||[];p.push(o),x[u]=p}this.plotLinesAndBands.push(f)}return f}function W(o){return this.addPlotBandOrLine(o,"plotLines")}function k(o,u,x){x=x||this.options;let f=this.getPlotLinePath({value:u,force:!0,acrossPanes:x.acrossPanes}),p=[],b=this.horiz,I=!q(this.min)||!q(this.max)||o<this.min&&u<this.min||o>this.max&&u>this.max,B=this.getPlotLinePath({value:o,force:!0,acrossPanes:x.acrossPanes}),A,g=1,S;if(B&&f)for(I&&(S=B.toString()===f.toString(),g=0),A=0;A<B.length;A+=2){let l=B[A],s=B[A+1],r=f[A],a=f[A+1];(l[0]==="M"||l[0]==="L")&&(s[0]==="M"||s[0]==="L")&&(r[0]==="M"||r[0]==="L")&&(a[0]==="M"||a[0]==="L")&&(b&&r[1]===l[1]?(r[1]+=g,a[1]+=g):b||r[2]!==l[2]||(r[2]+=g,a[2]+=g),p.push(["M",l[1],l[2]],["L",s[1],s[2]],["L",a[1],a[2]],["L",r[1],r[2]],["Z"])),p.isFlat=S}return p}function E(o){this.removePlotBandOrLine(o)}function M(o){let u=this.plotLinesAndBands,x=this.options,f=this.userOptions;if(u){let p=u.length;for(;p--;)u[p].id===o&&u[p].destroy();[x.plotLines||[],f.plotLines||[],x.plotBands||[],f.plotBands||[]].forEach(function(b){for(p=b.length;p--;)(b[p]||{}).id===o&&G(b,b[p])})}}function v(o){this.removePlotBandOrLine(o)}Z.compose=function(o,u){let x=u.prototype;return x.addPlotBand||(Q=o,$(x,{addPlotBand:Y,addPlotLine:W,addPlotBandOrLine:F,getPlotBandPath:k,removePlotBand:E,removePlotLine:v,removePlotBandOrLine:M})),u}}(T||(T={})),T}),O(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(m,T){let{arrayMax:G,arrayMin:$,defined:q,destroyObjectProperties:Z,erase:Q,fireEvent:Y,merge:F,objectEach:W,pick:k}=T;class E{static compose(v){return m.compose(E,v)}constructor(v,o){this.axis=v,this.options=o,this.id=o.id}render(){Y(this,"render");let{axis:v,options:o}=this,{horiz:u,logarithmic:x}=v,{color:f,events:p,zIndex:b=0}=o,I={},B=v.chart.renderer,A=o.to,g=o.from,S=o.value,l=o.borderWidth,s=o.label,{label:r,svgElem:a}=this,d=[],n,h=q(g)&&q(A),c=q(S),L=!a,z={class:"highcharts-plot-"+(h?"band ":"line ")+(o.className||"")},w=h?"bands":"lines";if(!v.chart.styledMode&&(c?(z.stroke=f||"#999999",z["stroke-width"]=k(o.width,1),o.dashStyle&&(z.dashstyle=o.dashStyle)):h&&(z.fill=f||"#e6e9ff",l&&(z.stroke=o.borderColor,z["stroke-width"]=l))),I.zIndex=b,w+="-"+b,(n=v.plotLinesAndBandsGroups[w])||(v.plotLinesAndBandsGroups[w]=n=B.g("plot-"+w).attr(I).add()),a||(this.svgElem=a=B.path().attr(z).add(n)),q(S))d=v.getPlotLinePath({value:(x==null?void 0:x.log2lin(S))??S,lineWidth:a.strokeWidth(),acrossPanes:o.acrossPanes});else{if(!(q(g)&&q(A)))return;d=v.getPlotBandPath((x==null?void 0:x.log2lin(g))??g,(x==null?void 0:x.log2lin(A))??A,o)}return!this.eventsAdded&&p&&(W(p,(R,V)=>{a==null||a.on(V,X=>{p[V].apply(this,[X])})}),this.eventsAdded=!0),(L||!a.d)&&(d!=null&&d.length)?a.attr({d}):a&&(d?(a.show(),a.animate({d})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))),s&&(q(s.text)||q(s.formatter))&&(d!=null&&d.length)&&v.width>0&&v.height>0&&!d.isFlat?(s=F({align:u&&h?"center":void 0,x:u?!h&&4:10,verticalAlign:!u&&h?"middle":void 0,y:u?h?16:10:h?6:-4,rotation:u&&!h?90:0},s),this.renderLabel(s,d,h,b)):r&&r.hide(),this}renderLabel(v,o,u,x){let f=this.axis,p=f.chart.renderer,b=this.label;b||(this.label=b=p.text(this.getLabelText(v),0,0,v.useHTML).attr({align:v.textAlign||v.align,rotation:v.rotation,class:"highcharts-plot-"+(u?"band":"line")+"-label "+(v.className||""),zIndex:x}),f.chart.styledMode||b.css(F({fontSize:"0.8em",textOverflow:"ellipsis"},v.style)),b.add());let I=o.xBounds||[o[0][1],o[1][1],u?o[2][1]:o[0][1]],B=o.yBounds||[o[0][2],o[1][2],u?o[2][2]:o[0][2]],A=$(I),g=$(B);if(b.align(v,!1,{x:A,y:g,width:G(I)-A,height:G(B)-g}),!b.alignValue||b.alignValue==="left"){let S=v.clip?f.width:f.chart.chartWidth;b.css({width:(b.rotation===90?f.height-(b.alignAttr.y-f.top):S-(b.alignAttr.x-f.left))+"px"})}b.show(!0)}getLabelText(v){return q(v.formatter)?v.formatter.call(this):v.text}destroy(){Q(this.axis.plotLinesAndBands,this),delete this.axis,Z(this)}}return E}),O(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z){var Q;let{animObject:Y}=m,{format:F}=T,{composed:W,doc:k,isSafari:E}=G,{distribute:M}=$,{addEvent:v,clamp:o,css:u,discardElement:x,extend:f,fireEvent:p,isArray:b,isNumber:I,isString:B,merge:A,pick:g,pushUnique:S,splat:l,syncTimeout:s}=Z;class r{constructor(d,n,h){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=d,this.init(d,n),this.pointer=h}bodyFormatter(d){return d.map(function(n){let h=n.series.tooltipOptions;return(h[(n.point.formatPrefix||"point")+"Formatter"]||n.point.tooltipFormatter).call(n.point,h[(n.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(d){this.chart.series.forEach(function(n){let h=n&&n.tt;h&&(!h.isActive||d?n.tt=h.destroy():h.isActive=!1)})}defaultFormatter(d){let n,h=this.points||l(this);return(n=(n=[d.tooltipFooterHeaderFormatter(h[0])]).concat(d.bodyFormatter(h))).push(d.tooltipFooterHeaderFormatter(h[0],!0)),n}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),x(this.container)),Z.clearTimeout(this.hideTimer)}getAnchor(d,n){let h,{chart:c,pointer:L}=this,z=c.inverted,w=c.plotTop,R=c.plotLeft;if((d=l(d))[0].series&&d[0].series.yAxis&&!d[0].series.yAxis.options.reversedStacks&&(d=d.slice().reverse()),this.followPointer&&n)n.chartX===void 0&&(n=L.normalize(n)),h=[n.chartX-R,n.chartY-w];else if(d[0].tooltipPos)h=d[0].tooltipPos;else{let V=0,X=0;d.forEach(function(J){let P=J.pos(!0);P&&(V+=P[0],X+=P[1])}),V/=d.length,X/=d.length,this.shared&&d.length>1&&n&&(z?V=n.chartX:X=n.chartY),h=[V-R,X-w]}return h.map(Math.round)}getClassName(d,n,h){let c=this.options,L=d.series,z=L.options;return[c.className,"highcharts-label",h&&"highcharts-tooltip-header",n?"highcharts-tooltip-box":"highcharts-tooltip",!h&&"highcharts-color-"+g(d.colorIndex,L.colorIndex),z&&z.className].filter(B).join(" ")}getLabel(){let d=this,n=this.chart.styledMode,h=this.options,c=this.split&&this.allowShared,L=this.container,z=this.chart.renderer;if(this.label){let w=!this.label.hasClass("highcharts-label");(!c&&w||c&&!w)&&this.destroy()}if(!this.label){if(this.outside){let w=this.chart.options.chart.style,R=q.getRendererType();this.container=L=G.doc.createElement("div"),L.className="highcharts-tooltip-container",u(L,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(w&&w.zIndex||0)+3)}),this.renderer=z=new R(L,0,0,w,void 0,void 0,z.styledMode)}if(c?this.label=z.g("tooltip"):(this.label=z.label("",0,0,h.shape,void 0,void 0,h.useHTML,void 0,"tooltip").attr({padding:h.padding,r:h.borderRadius}),n||this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth||0}).css(h.style).css({pointerEvents:h.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),d.outside){let w=this.label;[w.xSetter,w.ySetter].forEach((R,V)=>{w[V?"ySetter":"xSetter"]=X=>{R.call(w,d.distance),w[V?"y":"x"]=X,L&&(L.style[V?"top":"left"]=`${X}px`)}})}this.label.attr({zIndex:8}).shadow(h.shadow).add()}return L&&!L.parentElement&&G.doc.body.appendChild(L),this.label}getPlayingField(){let{body:d,documentElement:n}=k,{chart:h,distance:c,outside:L}=this;return{width:L?Math.max(d.scrollWidth,n.scrollWidth,d.offsetWidth,n.offsetWidth,n.clientWidth)-2*c:h.chartWidth,height:L?Math.max(d.scrollHeight,n.scrollHeight,d.offsetHeight,n.offsetHeight,n.clientHeight):h.chartHeight}}getPosition(d,n,h){var at,ct;let{distance:c,chart:L,outside:z,pointer:w}=this,{inverted:R,plotLeft:V,plotTop:X,polar:J}=L,{plotX:P=0,plotY:C=0}=h,N={},_=R&&h.h||0,{height:y,width:D}=this.getPlayingField(),j=w.getChartPosition(),H=dt=>dt*j.scaleX,U=dt=>dt*j.scaleY,K=dt=>{let ut=dt==="x";return[dt,ut?D:y,ut?d:n].concat(z?[ut?H(d):U(n),ut?j.left-c+H(P+V):j.top-c+U(C+X),0,ut?D:y]:[ut?d:n,ut?P+V:C+X,ut?V:X,ut?V+L.plotWidth:X+L.plotHeight])},et=K("y"),rt=K("x"),nt,lt=!!h.negative;!J&&((ct=(at=L.hoverSeries)==null?void 0:at.yAxis)!=null&&ct.reversed)&&(lt=!lt);let ht=!this.followPointer&&g(h.ttBelow,!J&&!R===lt),it=function(dt,ut,pt,gt,ft,mt,xt){let vt=z?dt==="y"?U(c):H(c):c,bt=(pt-gt)/2,yt=gt<ft-c,Ct=ft+c+gt<ut,kt=ft-vt-pt+bt,Mt=ft+vt-bt;if(ht&&Ct)N[dt]=Mt;else if(!ht&&yt)N[dt]=kt;else if(yt)N[dt]=Math.min(xt-gt,kt-_<0?kt:kt-_);else{if(!Ct)return!1;N[dt]=Math.max(mt,Mt+_+pt>ut?Mt:Mt+_)}},tt=function(dt,ut,pt,gt,ft){if(ft<c||ft>ut-c)return!1;ft<pt/2?N[dt]=1:ft>ut-gt/2?N[dt]=ut-gt-2:N[dt]=ft-pt/2},st=function(dt){[et,rt]=[rt,et],nt=dt},ot=()=>{it.apply(0,et)!==!1?tt.apply(0,rt)!==!1||nt||(st(!0),ot()):nt?N.x=N.y=0:(st(!0),ot())};return(R&&!J||this.len>1)&&st(),ot(),N}hide(d){let n=this;Z.clearTimeout(this.hideTimer),d=g(d,this.options.hideDelay),this.isHidden||(this.hideTimer=s(function(){let h=n.getLabel();n.getLabel().animate({opacity:0},{duration:d&&150,complete:()=>{h.hide(),n.container&&n.container.remove()}}),n.isHidden=!0},d))}init(d,n){this.chart=d,this.options=n,this.crosshairs=[],this.isHidden=!0,this.split=n.split&&!d.inverted&&!d.polar,this.shared=n.shared||this.split,this.outside=g(n.outside,!!(d.scrollablePixelsX||d.scrollablePixelsY))}shouldStickOnContact(d){return!!(!this.followPointer&&this.options.stickOnContact&&(!d||this.pointer.inClass(d.target,"highcharts-tooltip")))}move(d,n,h,c){let L=this,z=Y(!L.isHidden&&L.options.animation),w=L.followPointer||(L.len||0)>1,R={x:d,y:n};w||(R.anchorX=h,R.anchorY=c),z.step=()=>L.drawTracker(),L.getLabel().animate(R,z)}refresh(d,n){let{chart:h,options:c,pointer:L,shared:z}=this,w=l(d),R=w[0],V=[],X=c.format,J=c.formatter||this.defaultFormatter,P=h.styledMode,C={};if(!c.enabled||!R.series)return;Z.clearTimeout(this.hideTimer),this.allowShared=!(!b(d)&&d.series&&d.series.noSharedTooltip),this.followPointer=!this.split&&R.series.tooltipOptions.followPointer;let N=this.getAnchor(d,n),_=N[0],y=N[1];z&&this.allowShared?(L.applyInactiveState(w),w.forEach(function(H){H.setState("hover"),V.push(H.getLabelConfig())}),(C=R.getLabelConfig()).points=V):C=R.getLabelConfig(),this.len=V.length;let D=B(X)?F(X,C,h):J.call(C,this),j=R.series;if(this.distance=g(j.tooltipOptions.distance,16),D===!1)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(D,w);else{let H=_,U=y;if(n&&L.isDirectTouch&&(H=n.chartX-h.plotLeft,U=n.chartY-h.plotTop),h.polar||j.options.clip===!1||w.some(K=>L.isDirectTouch||K.series.shouldShowTooltip(H,U))){let K=this.getLabel();(!c.style.width||P)&&K.css({width:(this.outside?this.getPlayingField():h.spacingBox).width+"px"}),K.attr({class:this.getClassName(R),text:D&&D.join?D.join(""):D}),P||K.attr({stroke:c.borderColor||R.color||j.color||"#666666"}),this.updatePosition({plotX:_,plotY:y,negative:R.negative,ttBelow:R.ttBelow,h:N[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}p(this,"refresh")}renderSplit(d,n){var ut;let h=this,{chart:c,chart:{chartWidth:L,chartHeight:z,plotHeight:w,plotLeft:R,plotTop:V,scrollablePixelsY:X=0,scrollablePixelsX:J,styledMode:P},distance:C,options:N,options:{positioner:_},pointer:y}=h,{scrollLeft:D=0,scrollTop:j=0}=((ut=c.scrollablePlotArea)==null?void 0:ut.scrollingContainer)||{},H=h.outside&&typeof J!="number"?k.documentElement.getBoundingClientRect():{left:D,right:D+L,top:j,bottom:j+z},U=h.getLabel(),K=this.renderer||c.renderer,et=!!(c.xAxis[0]&&c.xAxis[0].opposite),{left:rt,top:nt}=y.getChartPosition(),lt=V+j,ht=0,it=w-X;function tt(pt,gt,ft,mt,xt=!0){let vt,bt;return ft?(vt=et?0:it,bt=o(pt-mt/2,H.left,H.right-mt-(h.outside?rt:0))):(vt=gt-lt,bt=o(bt=xt?pt-mt-C:pt+C,xt?bt:H.left,H.right)),{x:bt,y:vt}}B(d)&&(d=[!1,d]);let st=d.slice(0,n.length+1).reduce(function(pt,gt,ft){if(gt!==!1&>!==""){let mt=n[ft-1]||{isHeader:!0,plotX:n[0].plotX,plotY:w,series:{}},xt=mt.isHeader,vt=xt?h:mt.series,bt=vt.tt=function(Pt,Tt,Ot){let Et=Pt,{isHeader:Nt,series:ee}=Tt;if(!Et){let Vt={padding:N.padding,r:N.borderRadius};P||(Vt.fill=N.backgroundColor,Vt["stroke-width"]=N.borderWidth??1),Et=K.label("",0,0,N[Nt?"headerShape":"shape"],void 0,void 0,N.useHTML).addClass(h.getClassName(Tt,!0,Nt)).attr(Vt).add(U)}return Et.isActive=!0,Et.attr({text:Ot}),P||Et.css(N.style).attr({stroke:N.borderColor||Tt.color||ee.color||"#333333"}),Et}(vt.tt,mt,gt.toString()),yt=bt.getBBox(),Ct=yt.width+bt.strokeWidth();xt&&(ht=yt.height,it+=ht,et&&(lt-=ht));let{anchorX:kt,anchorY:Mt}=function(Pt){let Tt,Ot,{isHeader:Et,plotX:Nt=0,plotY:ee=0,series:Vt}=Pt;if(Et)Tt=Math.max(R+Nt,R),Ot=V+w/2;else{let{xAxis:Oe,yAxis:Dt}=Vt;Tt=Oe.pos+o(Nt,-C,Oe.len+C),Vt.shouldShowTooltip(0,Dt.pos-V+ee,{ignoreX:!0})&&(Ot=Dt.pos+ee)}return{anchorX:Tt=o(Tt,H.left-C,H.right+C),anchorY:Ot}}(mt);if(typeof Mt=="number"){let Pt=yt.height+1,Tt=_?_.call(h,Ct,Pt,mt):tt(kt,Mt,xt,Ct);pt.push({align:_?0:void 0,anchorX:kt,anchorY:Mt,boxWidth:Ct,point:mt,rank:g(Tt.rank,xt?1:0),size:Pt,target:Tt.y,tt:bt,x:Tt.x})}else bt.isActive=!1}return pt},[]);!_&&st.some(pt=>{let{outside:gt}=h,ft=(gt?rt:0)+pt.anchorX;return ft<H.left&&ft+pt.boxWidth<H.right||ft<rt-H.left+pt.boxWidth&&H.right-ft>ft})&&(st=st.map(pt=>{let{x:gt,y:ft}=tt(pt.anchorX,pt.anchorY,pt.point.isHeader,pt.boxWidth,!1);return f(pt,{target:ft,x:gt})})),h.cleanSplit(),M(st,it);let ot={left:rt,right:rt};st.forEach(function(pt){let{x:gt,boxWidth:ft,isHeader:mt}=pt;!mt&&(h.outside&&rt+gt<ot.left&&(ot.left=rt+gt),!mt&&h.outside&&ot.left+ft>ot.right&&(ot.right=rt+gt))}),st.forEach(function(pt){let{x:gt,anchorX:ft,anchorY:mt,pos:xt,point:{isHeader:vt}}=pt,bt={visibility:xt===void 0?"hidden":"inherit",x:gt,y:(xt||0)+lt,anchorX:ft,anchorY:mt};if(h.outside&><ft){let yt=rt-ot.left;yt>0&&(vt||(bt.x=gt+yt,bt.anchorX=ft+yt),vt&&(bt.x=(ot.right-ot.left)/2,bt.anchorX=ft+yt))}pt.tt.attr(bt)});let{container:at,outside:ct,renderer:dt}=h;if(ct&&at&&dt){let{width:pt,height:gt,x:ft,y:mt}=U.getBBox();dt.setSize(pt+ft,gt+mt,!1),at.style.left=ot.left+"px",at.style.top=nt+"px"}E&&U.attr({opacity:U.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let d=this.chart,n=this.label,h=this.shared?d.hoverPoints:d.hoverPoint;if(!n||!h)return;let c={x:0,y:0,width:0,height:0},L=this.getAnchor(h),z=n.getBBox();L[0]+=d.plotLeft-(n.translateX||0),L[1]+=d.plotTop-(n.translateY||0),c.x=Math.min(0,L[0]),c.y=Math.min(0,L[1]),c.width=L[0]<0?Math.max(Math.abs(L[0]),z.width-L[0]):Math.max(Math.abs(L[0]),z.width),c.height=L[1]<0?Math.max(Math.abs(L[1]),z.height-Math.abs(L[1])):Math.max(Math.abs(L[1]),z.height),this.tracker?this.tracker.attr(c):(this.tracker=n.renderer.rect(c).addClass("highcharts-tracker").add(n),d.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(d){return d.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(d,n){let h=d.series,c=h.tooltipOptions,L=h.xAxis,z=L&&L.dateTime,w={isFooter:n,labelConfig:d},R=c.xDateFormat,V=c[n?"footerFormat":"headerFormat"];return p(this,"headerFormatter",w,function(X){z&&!R&&I(d.key)&&(R=z.getXDateFormat(d.key,c.dateTimeLabelFormats)),z&&R&&(d.point&&d.point.tooltipDateKeys||["key"]).forEach(function(J){V=V.replace("{point."+J+"}","{point."+J+":"+R+"}")}),h.chart.styledMode&&(V=this.styledModeFormat(V)),X.text=F(V,{point:d,series:h},this.chart)}),w.text}update(d){this.destroy(),this.init(this.chart,A(!0,this.options,d))}updatePosition(d){let{chart:n,container:h,distance:c,options:L,pointer:z,renderer:w}=this,{height:R=0,width:V=0}=this.getLabel(),{left:X,top:J,scaleX:P,scaleY:C}=z.getChartPosition(),N=(L.positioner||this.getPosition).call(this,V,R,d),_=(d.plotX||0)+n.plotLeft,y=(d.plotY||0)+n.plotTop,D;w&&h&&(L.positioner&&(N.x+=X-c,N.y+=J-c),D=(L.borderWidth||0)+2*c+2,w.setSize(V+D,R+D,!1),(P!==1||C!==1)&&(u(h,{transform:`scale(${P}, ${C})`}),_*=P,y*=C),_+=X-N.x,y+=J-N.y),this.move(Math.round(N.x),Math.round(N.y||0),_,y)}}return(Q=r||(r={})).compose=function(a){S(W,"Core.Tooltip")&&v(a,"afterInit",function(){let d=this.chart;d.options.tooltip&&(d.tooltip=new Q(d,d.options.tooltip,this))})},r}),O(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{animObject:Z}=T,{defaultOptions:Q}=G,{format:Y}=$,{addEvent:F,crisp:W,erase:k,extend:E,fireEvent:M,getNestedProperty:v,isArray:o,isFunction:u,isNumber:x,isObject:f,merge:p,pick:b,syncTimeout:I,removeEvent:B,uniqueKey:A}=q;class g{animateBeforeDestroy(){let l=this,s={x:l.startXPos,opacity:0},r=l.getGraphicalProps();r.singular.forEach(function(a){l[a]=l[a].animate(a==="dataLabel"?{x:l[a].startXPos,y:l[a].startYPos,opacity:0}:s)}),r.plural.forEach(function(a){l[a].forEach(function(d){d.element&&d.animate(E({x:l.startXPos},d.startYPos?{x:d.startXPos,y:d.startYPos}:{}))})})}applyOptions(l,s){let r=this.series,a=r.options.pointValKey||r.pointValKey;return E(this,l=g.prototype.optionsToObject.call(this,l)),this.options=this.options?E(this.options,l):l,l.group&&delete this.group,l.dataLabels&&delete this.dataLabels,a&&(this.y=g.prototype.getNestedProperty.call(this,a)),this.selected&&(this.state="select"),"name"in this&&s===void 0&&r.xAxis&&r.xAxis.hasNames&&(this.x=r.xAxis.nameToX(this)),this.x===void 0&&r?this.x=s??r.autoIncrement():x(l.x)&&r.options.relativeXValue&&(this.x=r.autoIncrement(l.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let l=this,s=l.series,r=s.chart,a=s.options.dataSorting,d=r.hoverPoints,n=Z(l.series.chart.renderer.globalAnimation),h=()=>{for(let c in(l.graphic||l.graphics||l.dataLabel||l.dataLabels)&&(B(l),l.destroyElements()),l)delete l[c]};l.legendItem&&r.legend.destroyItem(l),d&&(l.setState(),k(d,l),d.length||(r.hoverPoints=null)),l===r.hoverPoint&&l.onMouseOut(),a&&a.enabled?(this.animateBeforeDestroy(),I(h,n.duration)):h(),r.pointCount--}this.destroyed=!0}destroyElements(l){let s=this,r=s.getGraphicalProps(l);r.singular.forEach(function(a){s[a]=s[a].destroy()}),r.plural.forEach(function(a){s[a].forEach(function(d){d&&d.element&&d.destroy()}),delete s[a]})}firePointEvent(l,s,r){let a=this,d=this.series.options;a.manageEvent(l),l==="click"&&d.allowPointSelect&&(r=function(n){!a.destroyed&&a.select&&a.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),M(a,l,s,r)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(l){let s,r,a=this,d=[],n={singular:[],plural:[]};for((l=l||{graphic:1,dataLabel:1}).graphic&&d.push("graphic","connector"),l.dataLabel&&d.push("dataLabel","dataLabelPath","dataLabelUpper"),r=d.length;r--;)a[s=d[r]]&&n.singular.push(s);return["graphic","dataLabel"].forEach(function(h){let c=h+"s";l[h]&&a[c]&&n.plural.push(c)}),n}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(l){return l?l.indexOf("custom.")===0?v(l,this.options):this[l]:void 0}getZone(){let l=this.series,s=l.zones,r=l.zoneAxis||"y",a,d=0;for(a=s[0];this[r]>=a.value;)a=s[++d];return this.nonZonedColor||(this.nonZonedColor=this.color),a&&a.color&&!this.options.color?this.color=a.color:this.color=this.nonZonedColor,a}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(l,s,r){this.formatPrefix="point",this.visible=!0,this.series=l,this.applyOptions(s,r),this.id??(this.id=A()),this.resolveColor(),l.chart.pointCount++,M(this,"afterInit")}isValid(){return(x(this.x)||this.x instanceof Date)&&x(this.y)}optionsToObject(l){let s=this.series,r=s.options.keys,a=r||s.pointArrayMap||["y"],d=a.length,n={},h,c=0,L=0;if(x(l)||l===null)n[a[0]]=l;else if(o(l))for(!r&&l.length>d&&((h=typeof l[0])=="string"?n.name=l[0]:h==="number"&&(n.x=l[0]),c++);L<d;)r&&l[c]===void 0||(a[L].indexOf(".")>0?g.prototype.setNestedProperty(n,l[c],a[L]):n[a[L]]=l[c]),c++,L++;else typeof l=="object"&&(n=l,l.dataLabels&&(s.hasDataLabels=()=>!0),l.marker&&(s._hasPointMarkers=!0));return n}pos(l,s=this.plotY){if(!this.destroyed){let{plotX:r,series:a}=this,{chart:d,xAxis:n,yAxis:h}=a,c=0,L=0;if(x(r)&&x(s))return l&&(c=n?n.pos:d.plotLeft,L=h?h.pos:d.plotTop),d.inverted&&n&&h?[h.len-s+L,n.len-r+c]:[r+c,s+L]}}resolveColor(){let l=this.series,s=l.chart.options.chart,r=l.chart.styledMode,a,d,n=s.colorCount,h;delete this.nonZonedColor,l.options.colorByPoint?(r||(a=(d=l.options.colors||l.chart.options.colors)[l.colorCounter],n=d.length),h=l.colorCounter,l.colorCounter++,l.colorCounter===n&&(l.colorCounter=0)):(r||(a=l.color),h=l.colorIndex),this.colorIndex=b(this.options.colorIndex,h),this.color=b(this.options.color,a)}setNestedProperty(l,s,r){return r.split(".").reduce(function(a,d,n,h){let c=h.length-1===n;return a[d]=c?s:f(a[d],!0)?a[d]:{},a[d]},l),l}shouldDraw(){return!this.isNull}tooltipFormatter(l){let s=this.series,r=s.tooltipOptions,a=b(r.valueDecimals,""),d=r.valuePrefix||"",n=r.valueSuffix||"";return s.chart.styledMode&&(l=s.chart.tooltip.styledModeFormat(l)),(s.pointArrayMap||["y"]).forEach(function(h){h="{point."+h,(d||n)&&(l=l.replace(RegExp(h+"}","g"),d+h+"}"+n)),l=l.replace(RegExp(h+"}","g"),h+":,."+a+"f}")}),Y(l,{point:this,series:this.series},s.chart)}update(l,s,r,a){let d,n=this,h=n.series,c=n.graphic,L=h.chart,z=h.options;function w(){n.applyOptions(l);let R=c&&n.hasMockGraphic,V=n.y===null?!R:R;c&&V&&(n.graphic=c.destroy(),delete n.hasMockGraphic),f(l,!0)&&(c&&c.element&&l&&l.marker&&l.marker.symbol!==void 0&&(n.graphic=c.destroy()),l!=null&&l.dataLabels&&n.dataLabel&&(n.dataLabel=n.dataLabel.destroy())),d=n.index,h.updateParallelArrays(n,d),z.data[d]=f(z.data[d],!0)||f(l,!0)?n.options:b(l,z.data[d]),h.isDirty=h.isDirtyData=!0,!h.fixedBox&&h.hasCartesianSeries&&(L.isDirtyBox=!0),z.legendType==="point"&&(L.isDirtyLegend=!0),s&&L.redraw(r)}s=b(s,!0),a===!1?w():n.firePointEvent("update",{options:l},w)}remove(l,s){this.series.removePoint(this.series.data.indexOf(this),l,s)}select(l,s){let r=this,a=r.series,d=a.chart;l=b(l,!r.selected),this.selectedStaging=l,r.firePointEvent(l?"select":"unselect",{accumulate:s},function(){r.selected=r.options.selected=l,a.options.data[a.data.indexOf(r)]=r.options,r.setState(l&&"select"),s||d.getSelectedPoints().forEach(function(n){let h=n.series;n.selected&&n!==r&&(n.selected=n.options.selected=!1,h.options.data[h.data.indexOf(n)]=n.options,n.setState(d.hoverPoints&&h.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(l){let{inverted:s,pointer:r}=this.series.chart;r&&(l=l?r.normalize(l):r.getChartCoordinatesFromPoint(this,s),r.runPointActions(l,this))}onMouseOut(){let l=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(l.hoverPoints||[]).forEach(function(s){s.setState()}),l.hoverPoints=l.hoverPoint=null}manageEvent(l){var a,d,n,h,c,L;let s=p(this.series.options.point,this.options),r=(a=s.events)==null?void 0:a[l];u(r)&&(!((d=this.hcEvents)!=null&&d[l])||((h=(n=this.hcEvents)==null?void 0:n[l])==null?void 0:h.map(z=>z.fn).indexOf(r))===-1)?((c=this.importedUserEvent)==null||c.call(this),this.importedUserEvent=F(this,l,r)):this.importedUserEvent&&!r&&((L=this.hcEvents)!=null&&L[l])&&(B(this,l),delete this.hcEvents[l],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(l,s){var j;let r=this.series,a=this.state,d=r.options.states[l||"normal"]||{},n=Q.plotOptions[r.type].marker&&r.options.marker,h=n&&n.enabled===!1,c=n&&n.states&&n.states[l||"normal"]||{},L=c.enabled===!1,z=this.marker||{},w=r.chart,R=n&&r.markerAttribs,V=r.halo,X,J,P,C=r.stateMarkerGraphic,N;if((l=l||"")===this.state&&!s||this.selected&&l!=="select"||d.enabled===!1||l&&(L||h&&c.enabled===!1)||l&&z.states&&z.states[l]&&z.states[l].enabled===!1)return;if(this.state=l,R&&(X=r.markerAttribs(this,l)),this.graphic&&!this.hasMockGraphic){if(a&&this.graphic.removeClass("highcharts-point-"+a),l&&this.graphic.addClass("highcharts-point-"+l),!w.styledMode){J=r.pointAttribs(this,l),P=b(w.options.chart.animation,d.animation);let H=J.opacity;r.options.inactiveOtherPoints&&x(H)&&(this.dataLabels||[]).forEach(function(U){U&&!U.hasClass("highcharts-data-label-hidden")&&(U.animate({opacity:H},P),U.connector&&U.connector.animate({opacity:H},P))}),this.graphic.animate(J,P)}X&&this.graphic.animate(X,b(w.options.chart.animation,c.animation,n.animation)),C&&C.hide()}else l&&c&&(N=z.symbol||r.symbol,C&&C.currentSymbol!==N&&(C=C.destroy()),X&&(C?C[s?"animate":"attr"]({x:X.x,y:X.y}):N&&(r.stateMarkerGraphic=C=w.renderer.symbol(N,X.x,X.y,X.width,X.height).add(r.markerGroup),C.currentSymbol=N)),!w.styledMode&&C&&this.state!=="inactive"&&C.attr(r.pointAttribs(this,l))),C&&(C[l&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0));let _=d.halo,y=this.graphic||C,D=y&&y.visibility||"inherit";_&&_.size&&y&&D!=="hidden"&&!this.isCluster?(V||(r.halo=V=w.renderer.path().add(y.parentGroup)),V.show()[s?"animate":"attr"]({d:this.haloPath(_.size)}),V.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,r.colorIndex)+(this.className?" "+this.className:""),visibility:D,zIndex:-1}),V.point=this,w.styledMode||V.attr(E({fill:this.color||r.color,"fill-opacity":_.opacity},m.filterUserAttributes(_.attributes||{})))):(j=V==null?void 0:V.point)!=null&&j.haloPath&&!V.point.destroyed&&V.animate({d:V.point.haloPath(0)},null,V.hide),M(this,"afterSetState",{state:l})}haloPath(l){let s=this.pos();return s?this.series.chart.renderer.symbols.circle(W(s[0],1)-l,s[1]-l,2*l,2*l):[]}}return g}),O(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){var $;let{parse:q}=m,{charts:Z,composed:Q,isTouchDevice:Y}=T,{addEvent:F,attr:W,css:k,extend:E,find:M,fireEvent:v,isNumber:o,isObject:u,objectEach:x,offset:f,pick:p,pushUnique:b,splat:I}=G;class B{applyInactiveState(g){let S=[],l;(g||[]).forEach(function(s){l=s.series,S.push(l),l.linkedParent&&S.push(l.linkedParent),l.linkedSeries&&(S=S.concat(l.linkedSeries)),l.navigatorSeries&&S.push(l.navigatorSeries)}),this.chart.series.forEach(function(s){S.indexOf(s)===-1?s.setState("inactive",!0):s.options.inactiveOtherPoints&&s.setAllPointsToState("inactive")})}destroy(){let g=this;this.eventsToUnbind.forEach(S=>S()),this.eventsToUnbind=[],!T.chartCount&&(B.unbindDocumentMouseUp&&(B.unbindDocumentMouseUp=B.unbindDocumentMouseUp()),B.unbindDocumentTouchEnd&&(B.unbindDocumentTouchEnd=B.unbindDocumentTouchEnd())),clearInterval(g.tooltipTimeout),x(g,function(S,l){g[l]=void 0})}getSelectionMarkerAttrs(g,S){let l={args:{chartX:g,chartY:S},attrs:{},shapeType:"rect"};return v(this,"getSelectionMarkerAttrs",l,s=>{let r,{chart:a,zoomHor:d,zoomVert:n}=this,{mouseDownX:h=0,mouseDownY:c=0}=a,L=s.attrs;L.x=a.plotLeft,L.y=a.plotTop,L.width=d?1:a.plotWidth,L.height=n?1:a.plotHeight,d&&(r=g-h,L.width=Math.max(1,Math.abs(r)),L.x=(r>0?0:r)+h),n&&(r=S-c,L.height=Math.max(1,Math.abs(r)),L.y=(r>0?0:r)+c)}),l}drag(g){let{chart:S}=this,{mouseDownX:l=0,mouseDownY:s=0}=S,{panning:r,panKey:a,selectionMarkerFill:d}=S.options.chart,n=S.plotLeft,h=S.plotTop,c=S.plotWidth,L=S.plotHeight,z=u(r)?r.enabled:r,w=a&&g[`${a}Key`],R=g.chartX,V=g.chartY,X,J=this.selectionMarker;if((!J||!J.touch)&&(R<n?R=n:R>n+c&&(R=n+c),V<h?V=h:V>h+L&&(V=h+L),this.hasDragged=Math.sqrt(Math.pow(l-R,2)+Math.pow(s-V,2)),this.hasDragged>10)){X=S.isInsidePlot(l-n,s-h,{visiblePlotOnly:!0});let{shapeType:P,attrs:C}=this.getSelectionMarkerAttrs(R,V);(S.hasCartesianSeries||S.mapView)&&this.hasZoom&&X&&!w&&!J&&(this.selectionMarker=J=S.renderer[P](),J.attr({class:"highcharts-selection-marker",zIndex:7}).add(),S.styledMode||J.attr({fill:d||q("#334eff").setOpacity(.25).get()})),J&&J.attr(C),X&&!J&&z&&S.pan(g,r)}}dragStart(g){let S=this.chart;S.mouseIsDown=g.type,S.cancelClick=!1,S.mouseDownX=g.chartX,S.mouseDownY=g.chartY}getSelectionBox(g){let S={args:{marker:g},result:g.getBBox()};return v(this,"getSelectionBox",S),S.result}drop(g){let S,{chart:l,selectionMarker:s}=this;for(let r of l.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some(a=>a.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),S=!0));if(S&&l.redraw(),s&&g){if(this.hasDragged){let r=this.getSelectionBox(s);l.transform({axes:l.axes.filter(a=>a.zoomEnabled&&(a.coll==="xAxis"&&this.zoomX||a.coll==="yAxis"&&this.zoomY)),selection:{originalEvent:g,xAxis:[],yAxis:[],...r},from:r})}o(l.index)&&(this.selectionMarker=s.destroy())}l&&o(l.index)&&(k(l.container,{cursor:l._cursor}),l.cancelClick=this.hasDragged>10,l.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(g,S,l){let s;return g.forEach(function(r){let a=!(r.noSharedTooltip&&S)&&0>r.options.findNearestPointBy.indexOf("y"),d=r.searchPoint(l,a);u(d,!0)&&d.series&&(!u(s,!0)||function(n,h){var w,R;let c=n.distX-h.distX,L=n.dist-h.dist,z=((w=h.series.group)==null?void 0:w.zIndex)-((R=n.series.group)==null?void 0:R.zIndex);return c!==0&&S?c:L!==0?L:z!==0?z:n.series.index>h.series.index?-1:1}(s,d)>0)&&(s=d)}),s}getChartCoordinatesFromPoint(g,S){let{xAxis:l,yAxis:s}=g.series,r=g.shapeArgs;if(l&&s){let a=g.clientX??g.plotX??0,d=g.plotY||0;return g.isNode&&r&&o(r.x)&&o(r.y)&&(a=r.x,d=r.y),S?{chartX:s.len+s.pos-d,chartY:l.len+l.pos-a}:{chartX:a+l.pos,chartY:d+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:g}=this.chart,S=f(g);this.chartPosition={left:S.left,top:S.top,scaleX:1,scaleY:1};let{offsetHeight:l,offsetWidth:s}=g;return s>2&&l>2&&(this.chartPosition.scaleX=S.width/s,this.chartPosition.scaleY=S.height/l),this.chartPosition}getCoordinates(g){let S={xAxis:[],yAxis:[]};for(let l of this.chart.axes)S[l.isXAxis?"xAxis":"yAxis"].push({axis:l,value:l.toValue(g[l.horiz?"chartX":"chartY"])});return S}getHoverData(g,S,l,s,r,a){let d=[],n=function(w){return w.visible&&!(!r&&w.directTouch)&&p(w.options.enableMouseTracking,!0)},h=S,c,L={chartX:a?a.chartX:void 0,chartY:a?a.chartY:void 0,shared:r};v(this,"beforeGetHoverData",L),c=h&&!h.stickyTracking?[h]:l.filter(w=>w.stickyTracking&&(L.filter||n)(w));let z=s&&g||!a?g:this.findNearestKDPoint(c,r,a);return h=z&&z.series,z&&(r&&!h.noSharedTooltip?(c=l.filter(function(w){return L.filter?L.filter(w):n(w)&&!w.noSharedTooltip})).forEach(function(w){let R=M(w.points,function(V){return V.x===z.x&&!V.isNull});u(R)&&(w.boosted&&w.boost&&(R=w.boost.getPoint(R)),d.push(R))}):d.push(z)),v(this,"afterGetHoverData",L={hoverPoint:z}),{hoverPoint:L.hoverPoint,hoverSeries:h,hoverPoints:d}}getPointFromEvent(g){let S=g.target,l;for(;S&&!l;)l=S.point,S=S.parentNode;return l}onTrackerMouseOut(g){let S=this.chart,l=g.relatedTarget,s=S.hoverSeries;this.isDirectTouch=!1,!s||!l||s.stickyTracking||this.inClass(l,"highcharts-tooltip")||this.inClass(l,"highcharts-series-"+s.index)&&this.inClass(l,"highcharts-tracker")||s.onMouseOut()}inClass(g,S){let l=g,s;for(;l;){if(s=W(l,"class")){if(s.indexOf(S)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}l=l.parentElement}}constructor(g,S){var l;this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=S,this.chart=g,this.runChartClick=!!((l=S.chart.events)!=null&&l.click),this.pinchDown=[],this.setDOMEvents(),v(this,"afterInit")}normalize(g,S){let l=g.touches,s=l?l.length?l.item(0):p(l.changedTouches,g.changedTouches)[0]:g;S||(S=this.getChartPosition());let r=s.pageX-S.left,a=s.pageY-S.top;return E(g,{chartX:Math.round(r/=S.scaleX),chartY:Math.round(a/=S.scaleY)})}onContainerClick(g){let S=this.chart,l=S.hoverPoint,s=this.normalize(g),r=S.plotLeft,a=S.plotTop;!S.cancelClick&&(l&&this.inClass(s.target,"highcharts-tracker")?(v(l.series,"click",E(s,{point:l})),S.hoverPoint&&l.firePointEvent("click",s)):(E(s,this.getCoordinates(s)),S.isInsidePlot(s.chartX-r,s.chartY-a,{visiblePlotOnly:!0})&&v(S,"click",s)))}onContainerMouseDown(g){var l;let S=(1&(g.buttons||g.button))==1;g=this.normalize(g),T.isFirefox&&g.button!==0&&this.onContainerMouseMove(g),(g.button===void 0||S)&&(this.zoomOption(g),S&&((l=g.preventDefault)==null||l.call(g)),this.dragStart(g))}onContainerMouseLeave(g){let{pointer:S}=Z[p(B.hoverChartIndex,-1)]||{};g=this.normalize(g),this.onContainerMouseMove(g),S&&!this.inClass(g.relatedTarget,"highcharts-tooltip")&&(S.reset(),S.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(g){let S=this.chart,l=S.tooltip,s=this.normalize(g);this.setHoverChartIndex(g),(S.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!S.openMenu&&(this.inClass(s.target,"highcharts-tracker")||S.isInsidePlot(s.chartX-S.plotLeft,s.chartY-S.plotTop,{visiblePlotOnly:!0}))&&!(l&&l.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(g){this.onDocumentMouseUp(g)}onContainerTouchMove(g){this.touchSelect(g)?this.onContainerMouseMove(g):this.touch(g)}onContainerTouchStart(g){this.touchSelect(g)?this.onContainerMouseDown(g):(this.zoomOption(g),this.touch(g,!0))}onDocumentMouseMove(g){let S=this.chart,l=S.tooltip,s=this.chartPosition,r=this.normalize(g,s);!s||S.isInsidePlot(r.chartX-S.plotLeft,r.chartY-S.plotTop,{visiblePlotOnly:!0})||l&&l.shouldStickOnContact(r)||r.target!==S.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(g){var S,l;(l=(S=Z[p(B.hoverChartIndex,-1)])==null?void 0:S.pointer)==null||l.drop(g)}pinch(g){let S=this,{chart:l,hasZoom:s,lastTouches:r}=S,a=[].map.call(g.touches||[],L=>S.normalize(L)),d=a.length,n=d===1&&(S.inClass(g.target,"highcharts-tracker")&&l.runTrackerClick||S.runChartClick),h=l.tooltip,c=d===1&&p(h==null?void 0:h.options.followTouchMove,!0);d>1?S.initiated=!0:c&&(S.initiated=!1),s&&S.initiated&&!n&&g.cancelable!==!1&&g.preventDefault(),g.type==="touchstart"?(S.pinchDown=a,S.res=!0,l.mouseDownX=g.chartX):c?this.runPointActions(S.normalize(g)):r&&(v(l,"touchpan",{originalEvent:g,touches:a},()=>{let L=z=>{let w=z[0],R=z[1]||w;return{x:w.chartX,y:w.chartY,width:R.chartX-w.chartX,height:R.chartY-w.chartY}};l.transform({axes:l.axes.filter(z=>z.zoomEnabled&&(this.zoomHor&&z.horiz||this.zoomVert&&!z.horiz)),to:L(a),from:L(r),trigger:g.type})}),S.res&&(S.res=!1,this.reset(!1,0))),S.lastTouches=a}reset(g,S){let l=this.chart,s=l.hoverSeries,r=l.hoverPoint,a=l.hoverPoints,d=l.tooltip,n=d&&d.shared?a:r;g&&n&&I(n).forEach(function(h){h.series.isCartesian&&h.plotX===void 0&&(g=!1)}),g?d&&n&&I(n).length&&(d.refresh(n),d.shared&&a?a.forEach(function(h){h.setState(h.state,!0),h.series.isCartesian&&(h.series.xAxis.crosshair&&h.series.xAxis.drawCrosshair(null,h),h.series.yAxis.crosshair&&h.series.yAxis.drawCrosshair(null,h))}):r&&(r.setState(r.state,!0),l.axes.forEach(function(h){h.crosshair&&r.series[h.coll]===h&&h.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),a&&a.forEach(function(h){h.setState()}),s&&s.onMouseOut(),d&&d.hide(S),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),l.axes.forEach(function(h){h.hideCrosshair()}),l.hoverPoints=l.hoverPoint=void 0)}runPointActions(g,S,l){let s=this.chart,r=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,d=!!a&&a.shared,n=S||s.hoverPoint,h=n&&n.series||s.hoverSeries,c=(!g||g.type!=="touchmove")&&(!!S||h&&h.directTouch&&this.isDirectTouch),L=this.getHoverData(n,h,r,c,d,g);n=L.hoverPoint,h=L.hoverSeries;let z=L.hoverPoints,w=h&&h.tooltipOptions.followPointer&&!h.tooltipOptions.split,R=d&&h&&!h.noSharedTooltip;if(n&&(l||n!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEach(function(V){z.indexOf(V)===-1&&V.setState()}),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(z),(z||[]).forEach(function(V){V.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=z,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{a&&n&&a.refresh(R?z:n,g)})}else if(w&&a&&!a.isHidden){let V=a.getAnchor([{}],g);s.isInsidePlot(V[0],V[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:V[0],plotY:V[1]})}this.unDocMouseMove||(this.unDocMouseMove=F(s.container.ownerDocument,"mousemove",V=>{var X,J;return(J=(X=Z[B.hoverChartIndex??-1])==null?void 0:X.pointer)==null?void 0:J.onDocumentMouseMove(V)}),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(V){let X,J=p((V.crosshair||{}).snap,!0);!J||(X=s.hoverPoint)&&X.series[V.coll]===V||(X=M(z,P=>P.series&&P.series[V.coll]===V)),X||!J?V.drawCrosshair(g,X):V.hideCrosshair()})}setDOMEvents(){let g=this.chart.container,S=g.ownerDocument;g.onmousedown=this.onContainerMouseDown.bind(this),g.onmousemove=this.onContainerMouseMove.bind(this),g.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(F(g,"mouseenter",this.onContainerMouseEnter.bind(this)),F(g,"mouseleave",this.onContainerMouseLeave.bind(this))),B.unbindDocumentMouseUp||(B.unbindDocumentMouseUp=F(S,"mouseup",this.onDocumentMouseUp.bind(this)));let l=this.chart.renderTo.parentElement;for(;l&&l.tagName!=="BODY";)this.eventsToUnbind.push(F(l,"scroll",()=>{delete this.chartPosition})),l=l.parentElement;this.eventsToUnbind.push(F(g,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),F(g,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),B.unbindDocumentTouchEnd||(B.unbindDocumentTouchEnd=F(S,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),F(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){var r,a;if(!Y)return;let g=this.pointerCaptureEventsToUnbind,S=this.chart,l=S.container,s=p((r=S.options.tooltip)==null?void 0:r.followTouchMove,!0)&&S.series.some(d=>d.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(g.push(F(l,"pointerdown",d=>{var n,h;(n=d.target)!=null&&n.hasPointerCapture(d.pointerId)&&((h=d.target)==null||h.releasePointerCapture(d.pointerId))}),F(l,"pointermove",d=>{var n,h;(h=(n=S.pointer)==null?void 0:n.getPointFromEvent(d))==null||h.onMouseOver(d)})),S.styledMode||k(l,{"touch-action":"none"}),l.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(g.forEach(d=>d()),g.length=0,S.styledMode||k(l,{"touch-action":p((a=S.options.chart.style)==null?void 0:a["touch-action"],"manipulation")}),l.className=l.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(g){var s;let S=this.chart,l=T.charts[p(B.hoverChartIndex,-1)];if(l&&l!==S){let r={relatedTarget:S.container};g&&!(g!=null&&g.relatedTarget)&&(g={...r,...g}),(s=l.pointer)==null||s.onContainerMouseLeave(g||r)}l&&l.mouseIsDown||(B.hoverChartIndex=S.index)}touch(g,S){let l,{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),(g=this.normalize(g)).touches.length===1?s.isInsidePlot(g.chartX-s.plotLeft,g.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(S&&this.runPointActions(g),g.type==="touchmove"&&(l=!!r[0]&&Math.pow(r[0].chartX-g.chartX,2)+Math.pow(r[0].chartY-g.chartY,2)>=16),p(l,!0)&&this.pinch(g)):S&&this.reset():g.touches.length===2&&this.pinch(g)}touchSelect(g){return!!(this.chart.zooming.singleTouch&&g.touches&&g.touches.length===1)}zoomOption(g){let S=this.chart,l=S.inverted,s=S.zooming.type||"",r,a;/touch/.test(g.type)&&(s=p(S.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=a=/y/.test(s),this.zoomHor=r&&!l||a&&l,this.zoomVert=a&&!l||r&&l,this.hasZoom=r||a}}return($=B||(B={})).compose=function(A){b(Q,"Core.Pointer")&&F(A,"beforeRender",function(){this.pointer=new $(this,this.options)})},B}),O(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(m){var T;let{extend:G,merge:$,pick:q}=m;return function(Z){function Q(Y,F,W){var l;let k=this.legendItem=this.legendItem||{},{chart:E,options:M}=this,{baseline:v=0,symbolWidth:o,symbolHeight:u}=Y,x=this.symbol||"circle",f=u/2,p=E.renderer,b=k.group,I=v-Math.round(u*(W?.4:.3)),B={},A,g=M.marker,S=0;if(E.styledMode||(B["stroke-width"]=Math.min(M.lineWidth||0,24),M.dashStyle?B.dashstyle=M.dashStyle:M.linecap==="square"||(B["stroke-linecap"]="round")),k.line=p.path().addClass("highcharts-graph").attr(B).add(b),W&&(k.area=p.path().addClass("highcharts-area").add(b)),B["stroke-linecap"]&&(S=Math.min(k.line.strokeWidth(),o)/2),o){let s=[["M",S,I],["L",o-S,I]];k.line.attr({d:s}),(l=k.area)==null||l.attr({d:[...s,["L",o-S,v],["L",S,v]]})}if(g&&g.enabled!==!1&&o){let s=Math.min(q(g.radius,f),f);x.indexOf("url")===0&&(g=$(g,{width:u,height:u}),s=0),k.symbol=A=p.symbol(x,o/2-s,I-s,2*s,2*s,G({context:"legend"},g)).addClass("highcharts-point").add(b),A.isMarker=!0}}Z.areaMarker=function(Y,F){Q.call(this,Y,F,!0)},Z.lineMarker=Q,Z.rectangle=function(Y,F){let W=F.legendItem||{},k=Y.options,E=Y.symbolHeight,M=k.squareSymbol,v=M?E:Y.symbolWidth;W.symbol=this.chart.renderer.rect(M?(Y.symbolWidth-E)/2:0,Y.baseline-E+1,v,E,q(Y.options.symbolRadius,E/2)).addClass("highcharts-point").attr({zIndex:3}).add(W.group)}}(T||(T={})),T}),O(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:m}=this.series.chart;return typeof this.y!="number"?"":m(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),O(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{defaultOptions:Z}=T,{extend:Q,extendClass:Y,merge:F}=$;return function(W){function k(E,M){let v=Z.plotOptions||{},o=M.defaultOptions,u=M.prototype;return u.type=E,u.pointClass||(u.pointClass=G),!W.seriesTypes[E]&&(o&&(v[E]=o),W.seriesTypes[E]=M,!0)}W.seriesTypes=m.seriesTypes,W.registerSeriesType=k,W.seriesType=function(E,M,v,o,u){let x=Z.plotOptions||{};if(M=M||"",x[E]=F(x[M],v),delete W.seriesTypes[E],k(E,Y(W.seriesTypes[M]||function(){},o)),W.seriesTypes[E].prototype.type=E,u){class f extends G{}Q(f.prototype,u),W.seriesTypes[E].prototype.pointClass=f}return W.seriesTypes[E]}}(q||(q={})),q}),O(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F,W){let{animObject:k,setAnimation:E}=m,{defaultOptions:M}=T,{registerEventOptions:v}=G,{svg:o,win:u}=$,{seriesTypes:x}=Y,{arrayMax:f,arrayMin:p,clamp:b,correctFloat:I,crisp:B,defined:A,destroyObjectProperties:g,diffObjects:S,erase:l,error:s,extend:r,find:a,fireEvent:d,getClosestDistance:n,getNestedProperty:h,insertItem:c,isArray:L,isNumber:z,isString:w,merge:R,objectEach:V,pick:X,removeEvent:J,splat:P,syncTimeout:C}=W;class N{constructor(){this.zoneAxis="y"}init(y,D){let j;d(this,"init",{options:D});let H=this,U=y.series;this.eventsToUnbind=[],H.chart=y,H.options=H.setOptions(D);let K=H.options,et=K.visible!==!1;H.linkedSeries=[],H.bindAxes(),r(H,{name:K.name,state:"",visible:et,selected:K.selected===!0}),v(this,K);let rt=K.events;(rt&&rt.click||K.point&&K.point.events&&K.point.events.click||K.allowPointSelect)&&(y.runTrackerClick=!0),H.getColor(),H.getSymbol(),H.parallelArrays.forEach(function(nt){H[nt+"Data"]||(H[nt+"Data"]=[])}),H.isCartesian&&(y.hasCartesianSeries=!0),U.length&&(j=U[U.length-1]),H._i=X(j&&j._i,-1)+1,H.opacity=H.options.opacity,y.orderItems("series",c(this,U)),K.dataSorting&&K.dataSorting.enabled?H.setDataSortingOptions():H.points||H.data||H.setData(K.data,!1),d(this,"afterInit")}is(y){return x[y]&&this instanceof x[y]}bindAxes(){let y,D=this,j=D.options,H=D.chart;d(this,"bindAxes",null,function(){(D.axisTypes||[]).forEach(function(U){(H[U]||[]).forEach(function(K){y=K.options,(X(j[U],0)===K.index||j[U]!==void 0&&j[U]===y.id)&&(c(D,K.series),D[U]=K,K.isDirty=!0)}),D[U]||D.optionalAxis===U||s(18,!0,H)})}),d(this,"afterBindAxes")}updateParallelArrays(y,D,j){let H=y.series,U=z(D)?function(K){let et=K==="y"&&H.toYData?H.toYData(y):y[K];H[K+"Data"][D]=et}:function(K){Array.prototype[D].apply(H[K+"Data"],j)};H.parallelArrays.forEach(U)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(y,D){let j=y.marker,H=D.marker||{};return j&&(H.enabled&&!j.enabled||H.symbol!==j.symbol||H.height!==j.height||H.width!==j.width)}autoIncrement(y){let D=this.options,j=D.pointIntervalUnit,H=D.relativeXValue,U=this.chart.time,K=this.xIncrement,et,rt;return K=X(K,D.pointStart,0),this.pointInterval=rt=X(this.pointInterval,D.pointInterval,1),H&&z(y)&&(rt*=y),j&&(et=new U.Date(K),j==="day"?U.set("Date",et,U.get("Date",et)+rt):j==="month"?U.set("Month",et,U.get("Month",et)+rt):j==="year"&&U.set("FullYear",et,U.get("FullYear",et)+rt),rt=et.getTime()-K),H&&z(y)?K+rt:(this.xIncrement=K+rt,K)}setDataSortingOptions(){let y=this.options;r(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),A(y.pointRange)||(y.pointRange=1)}setOptions(y){var at,ct;let D,j=this.chart,H=j.options.plotOptions,U=j.userOptions||{},K=R(y),et=j.styledMode,rt={plotOptions:H,userOptions:K};d(this,"setOptions",rt);let nt=rt.plotOptions[this.type],lt=U.plotOptions||{},ht=lt.series||{},it=M.plotOptions[this.type]||{},tt=lt[this.type]||{};this.userOptions=rt.userOptions;let st=R(nt,H.series,tt,K);this.tooltipOptions=R(M.tooltip,(at=M.plotOptions.series)==null?void 0:at.tooltip,it==null?void 0:it.tooltip,j.userOptions.tooltip,(ct=lt.series)==null?void 0:ct.tooltip,tt.tooltip,K.tooltip),this.stickyTracking=X(K.stickyTracking,tt.stickyTracking,ht.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||st.stickyTracking),nt.marker===null&&delete st.marker,this.zoneAxis=st.zoneAxis||"y";let ot=this.zones=(st.zones||[]).map(dt=>({...dt}));return(st.negativeColor||st.negativeFillColor)&&!st.zones&&(D={value:st[this.zoneAxis+"Threshold"]||st.threshold||0,className:"highcharts-negative"},et||(D.color=st.negativeColor,D.fillColor=st.negativeFillColor),ot.push(D)),ot.length&&A(ot[ot.length-1].value)&&ot.push(et?{}:{color:this.color,fillColor:this.fillColor}),d(this,"afterSetOptions",{options:st}),st}getName(){return X(this.options.name,"Series "+(this.index+1))}getCyclic(y,D,j){let H,U,K=this.chart,et=`${y}Index`,rt=`${y}Counter`,nt=(j==null?void 0:j.length)||K.options.chart.colorCount;!D&&(A(U=X(y==="color"?this.options.colorIndex:void 0,this[et]))?H=U:(K.series.length||(K[rt]=0),H=K[rt]%nt,K[rt]+=1),j&&(D=j[H])),H!==void 0&&(this[et]=H),this[y]=D}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||M.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let y=this.options.marker;this.getCyclic("symbol",y.symbol,this.chart.options.symbols)}findPointIndex(y,D){let j,H,U,K=y.id,et=y.x,rt=this.points,nt=this.options.dataSorting;if(K){let lt=this.chart.get(K);lt instanceof Z&&(j=lt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let lt=ht=>!ht.touched&&ht.index===y.index;if(nt&&nt.matchByName?lt=ht=>!ht.touched&&ht.name===y.name:this.options.relativeXValue&&(lt=ht=>!ht.touched&&ht.options.x===y.x),!(j=a(rt,lt)))return}return j&&(U=j&&j.index)!==void 0&&(H=!0),U===void 0&&z(et)&&(U=this.xData.indexOf(et,D)),U!==-1&&U!==void 0&&this.cropped&&(U=U>=this.cropStart?U-this.cropStart:U),!H&&z(U)&&rt[U]&&rt[U].touched&&(U=void 0),U}updateData(y,D){let j=this.options,H=j.dataSorting,U=this.points,K=[],et=this.requireSorting,rt=y.length===U.length,nt,lt,ht,it,tt=!0;if(this.xIncrement=null,y.forEach(function(st,ot){let at,ct=A(st)&&this.pointClass.prototype.optionsToObject.call({series:this},st)||{},dt=ct.x;ct.id||z(dt)?((at=this.findPointIndex(ct,it))===-1||at===void 0?K.push(st):U[at]&&st!==j.data[at]?(U[at].update(st,!1,null,!1),U[at].touched=!0,et&&(it=at+1)):U[at]&&(U[at].touched=!0),(!rt||ot!==at||H&&H.enabled||this.hasDerivedData)&&(nt=!0)):K.push(st)},this),nt)for(lt=U.length;lt--;)(ht=U[lt])&&!ht.touched&&ht.remove&&ht.remove(!1,D);else!rt||H&&H.enabled?tt=!1:(y.forEach(function(st,ot){st===U[ot].y||U[ot].destroyed||U[ot].update(st,!1,null,!1)}),K.length=0);return U.forEach(function(st){st&&(st.touched=!1)}),!!tt&&(K.forEach(function(st){this.addPoint(st,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=f(this.xData),this.autoIncrement()),!0)}setData(y,D=!0,j,H){var vt;let U=this,K=U.points,et=K&&K.length||0,rt=U.options,nt=U.chart,lt=rt.dataSorting,ht=U.xAxis,it=rt.turboThreshold,tt=this.xData,st=this.yData,ot=U.pointArrayMap,at=ot&&ot.length,ct=rt.keys,dt,ut,pt,gt=0,ft=1,mt;nt.options.chart.allowMutatingData||(rt.data&&delete U.options.data,U.userOptions.data&&delete U.userOptions.data,mt=R(!0,y));let xt=(y=mt||y||[]).length;if(lt&<.enabled&&(y=this.sortData(y)),nt.options.chart.allowMutatingData&&H!==!1&&xt&&et&&!U.cropped&&!U.hasGroupedData&&U.visible&&!U.boosted&&(pt=this.updateData(y,j)),!pt){U.xIncrement=null,U.colorCounter=0,this.parallelArrays.forEach(function(yt){U[yt+"Data"].length=0});let bt=it&&xt>it;if(bt){let yt=U.getFirstValidPoint(y),Ct=U.getFirstValidPoint(y,xt-1,-1),kt=Mt=>!!(L(Mt)&&(ct||z(Mt[0])));if(z(yt)&&z(Ct))for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt];else if(kt(yt)&&kt(Ct))if(at)if(yt.length===at)for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt];else for(dt=0;dt<xt;dt++)ut=y[dt],tt[dt]=ut[0],st[dt]=ut.slice(1,at+1);else if(ct&&(gt=ct.indexOf("x"),ft=ct.indexOf("y"),gt=gt>=0?gt:0,ft=ft>=0?ft:1),yt.length===1&&(ft=0),gt===ft)for(dt=0;dt<xt;dt++)tt[dt]=this.autoIncrement(),st[dt]=y[dt][ft];else for(dt=0;dt<xt;dt++)ut=y[dt],tt[dt]=ut[gt],st[dt]=ut[ft];else bt=!1}if(!bt)for(dt=0;dt<xt;dt++)ut={series:U},U.pointClass.prototype.applyOptions.apply(ut,[y[dt]]),U.updateParallelArrays(ut,dt);for(st&&w(st[0])&&s(14,!0,nt),U.data=[],U.options.data=U.userOptions.data=y,dt=et;dt--;)(vt=K[dt])==null||vt.destroy();ht&&(ht.minRange=ht.userMinRange),U.isDirty=nt.isDirtyBox=!0,U.isDirtyData=!!K,j=!1}rt.legendType==="point"&&(this.processData(),this.generatePoints()),D&&nt.redraw(j)}sortData(y){let D=this,j=D.options.dataSorting.sortKey||"y",H=function(U,K){return A(K)&&U.pointClass.prototype.optionsToObject.call({series:U},K)||{}};return y.forEach(function(U,K){y[K]=H(D,U),y[K].index=K},this),y.concat().sort((U,K)=>{let et=h(j,U),rt=h(j,K);return rt<et?-1:rt>et?1:0}).forEach(function(U,K){U.x=K},this),D.linkedSeries&&D.linkedSeries.forEach(function(U){let K=U.options,et=K.data;K.dataSorting&&K.dataSorting.enabled||!et||(et.forEach(function(rt,nt){et[nt]=H(U,rt),y[nt]&&(et[nt].x=y[nt].x,et[nt].index=nt)}),U.setData(et,!1))}),y}getProcessedData(y){let D=this,j=D.xAxis,H=D.options.cropThreshold,U=j==null?void 0:j.logarithmic,K=D.isCartesian,et,rt,nt=0,lt,ht,it,tt=D.xData,st=D.yData,ot=!1,at=tt.length;j&&(ht=(lt=j.getExtremes()).min,it=lt.max,ot=!!(j.categories&&!j.names.length)),K&&D.sorted&&!y&&(!H||at>H||D.forceCrop)&&(tt[at-1]<ht||tt[0]>it?(tt=[],st=[]):D.yData&&(tt[0]<ht||tt[at-1]>it)&&(tt=(et=this.cropData(D.xData,D.yData,ht,it)).xData,st=et.yData,nt=et.start,rt=!0));let ct=n([U?tt.map(U.log2lin):tt],()=>D.requireSorting&&!ot&&s(15,!1,D.chart));return{xData:tt,yData:st,cropped:rt,cropStart:nt,closestPointRange:ct}}processData(y){let D=this.xAxis;if(this.isCartesian&&!this.isDirty&&!D.isDirty&&!this.yAxis.isDirty&&!y)return!1;let j=this.getProcessedData();this.cropped=j.cropped,this.cropStart=j.cropStart,this.processedXData=j.xData,this.processedYData=j.yData,this.closestPointRange=this.basePointRange=j.closestPointRange,d(this,"afterProcessData")}cropData(y,D,j,H){let U=y.length,K,et,rt=0,nt=U;for(K=0;K<U;K++)if(y[K]>=j){rt=Math.max(0,K-1);break}for(et=K;et<U;et++)if(y[et]>H){nt=et+1;break}return{xData:y.slice(rt,nt),yData:D.slice(rt,nt),start:rt,end:nt}}generatePoints(){let y=this.options,D=this.processedData||y.data,j=this.processedXData,H=this.processedYData,U=this.pointClass,K=j.length,et=this.cropStart||0,rt=this.hasGroupedData,nt=y.keys,lt=[],ht=y.dataGrouping&&y.dataGrouping.groupAll?et:0,it,tt,st,ot,at=this.data;if(!at&&!rt){let ct=[];ct.length=D.length,at=this.data=ct}for(nt&&rt&&(this.options.keys=!1),ot=0;ot<K;ot++)tt=et+ot,rt?((st=new U(this,[j[ot]].concat(P(H[ot])))).dataGroup=this.groupMap[ht+ot],st.dataGroup.options&&(st.options=st.dataGroup.options,r(st,st.dataGroup.options),delete st.dataLabels)):(st=at[tt])||D[tt]===void 0||(at[tt]=st=new U(this,D[tt],j[ot])),st&&(st.index=rt?ht+ot:tt,lt[ot]=st);if(this.options.keys=nt,at&&(K!==(it=at.length)||rt))for(ot=0;ot<it;ot++)ot!==et||rt||(ot+=K),at[ot]&&(at[ot].destroyElements(),at[ot].plotX=void 0);this.data=at,this.points=lt,d(this,"afterGeneratePoints")}getXExtremes(y){return{min:p(y),max:f(y)}}getExtremes(y,D){let j=this.xAxis,H=this.yAxis,U=[],K=this.requireSorting&&!this.is("column")?1:0,et=!!H&&H.positiveValuesOnly,rt=D||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:nt,processedYData:lt}=this,ht,it,tt,st,ot,at,ct,dt=0,ut=0,pt=0;if(this.cropped&&rt){let xt=this.getProcessedData(!0);nt=xt.xData,lt=xt.yData}let gt=(y=y||this.stackedYData||lt||[]).length,ft=nt||this.xData;for(j&&(dt=(ht=j.getExtremes()).min,ut=ht.max),at=0;at<gt;at++)if(st=ft[at],it=(z(ot=y[at])||L(ot))&&((z(ot)?ot>0:ot.length)||!et),tt=D||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!j||(ft[at+K]||st)>=dt&&(ft[at-K]||st)<=ut,it&&tt)if(ct=ot.length)for(;ct--;)z(ot[ct])&&(U[pt++]=ot[ct]);else U[pt++]=ot;let mt={activeYData:U,dataMin:p(U),dataMax:f(U)};return d(this,"afterGetExtremes",{dataExtremes:mt}),mt}applyExtremes(){let y=this.getExtremes();return this.dataMin=y.dataMin,this.dataMax=y.dataMax,y}getFirstValidPoint(y,D=0,j=1){let H=y.length,U=D;for(;U>=0&&U<H;){if(A(y[U]))return y[U];U+=j}}translate(){var ut;this.processedXData||this.processData(),this.generatePoints();let y=this.options,D=y.stacking,j=this.xAxis,H=j.categories,U=this.enabledDataSorting,K=this.yAxis,et=this.points,rt=et.length,nt=this.pointPlacementToXValue(),lt=!!nt,ht=y.threshold,it=y.startFromThreshold?ht:0,tt,st,ot,at,ct=Number.MAX_VALUE;function dt(pt){return b(pt,-1e5,1e5)}for(tt=0;tt<rt;tt++){let pt,gt=et[tt],ft=gt.x,mt,xt,vt=gt.y,bt=gt.low,yt=D&&((ut=K.stacking)==null?void 0:ut.stacks[(this.negStacks&&vt<(it?0:ht)?"-":"")+this.stackKey]);st=j.translate(ft,!1,!1,!1,!0,nt),gt.plotX=z(st)?I(dt(st)):void 0,D&&this.visible&&yt&&yt[ft]&&(at=this.getStackIndicator(at,ft,this.index),!gt.isNull&&at.key&&(xt=(mt=yt[ft]).points[at.key]),mt&&L(xt)&&(bt=xt[0],vt=xt[1],bt===it&&at.key===yt[ft].base&&(bt=X(z(ht)?ht:K.min)),K.positiveValuesOnly&&A(bt)&&bt<=0&&(bt=void 0),gt.total=gt.stackTotal=X(mt.total),gt.percentage=A(gt.y)&&mt.total?gt.y/mt.total*100:void 0,gt.stackY=vt,this.irregularWidths||mt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),gt.yBottom=A(bt)?dt(K.translate(bt,!1,!0,!1,!0)):void 0,this.dataModify&&(vt=this.dataModify.modifyValue(vt,tt)),z(vt)&>.plotX!==void 0&&(pt=z(pt=K.translate(vt,!1,!0,!1,!0))?dt(pt):void 0),gt.plotY=pt,gt.isInside=this.isPointInside(gt),gt.clientX=lt?I(j.translate(ft,!1,!1,!1,!0,nt)):st,gt.negative=(gt.y||0)<(ht||0),gt.category=X(H&&H[gt.x],gt.x),gt.isNull||gt.visible===!1||(ot!==void 0&&(ct=Math.min(ct,Math.abs(st-ot))),ot=st),gt.zone=this.zones.length?gt.getZone():void 0,!gt.graphic&&this.group&&U&&(gt.isNew=!0)}this.closestPointRangePx=ct,d(this,"afterTranslate")}getValidPoints(y,D,j){let H=this.chart;return(y||this.points||[]).filter(function(U){let{plotX:K,plotY:et}=U;return!!((j||!U.isNull&&z(et))&&(!D||H.isInsidePlot(K,et,{inverted:H.inverted})))&&U.visible!==!1})}getClipBox(){let{chart:y,xAxis:D,yAxis:j}=this,{x:H,y:U,width:K,height:et}=R(y.clipBox);return D&&D.len!==y.plotSizeX&&(K=D.len),j&&j.len!==y.plotSizeY&&(et=j.len),y.inverted&&!this.invertible&&([K,et]=[et,K]),{x:H,y:U,width:K,height:et}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:y,group:D,markerGroup:j}=this,H=y.sharedClips,U=y.renderer,K=this.getClipBox(),et=this.getSharedClipKey(),rt=H[et];rt?rt.animate(K):H[et]=rt=U.clipRect(K),D&&D.clip(this.options.clip===!1?void 0:rt),j&&j.clip()}animate(y){let{chart:D,group:j,markerGroup:H}=this,U=D.inverted,K=k(this.options.animation),et=[this.getSharedClipKey(),K.duration,K.easing,K.defer].join(","),rt=D.sharedClips[et],nt=D.sharedClips[et+"m"];if(y&&j){let lt=this.getClipBox();if(rt)rt.attr("height",lt.height);else{lt.width=0,U&&(lt.x=D.plotHeight),rt=D.renderer.clipRect(lt),D.sharedClips[et]=rt;let ht={x:-99,y:-99,width:U?D.plotWidth+199:99,height:U?99:D.plotHeight+199};nt=D.renderer.clipRect(ht),D.sharedClips[et+"m"]=nt}j.clip(rt),H==null||H.clip(nt)}else if(rt&&!rt.hasClass("highcharts-animating")){let lt=this.getClipBox(),ht=K.step;(H!=null&&H.element.childNodes.length||D.series.length>1)&&(K.step=function(it,tt){ht&&ht.apply(tt,arguments),tt.prop==="width"&&(nt!=null&&nt.element)&&nt.attr(U?"height":"width",it+99)}),rt.addClass("highcharts-animating").animate(lt,K)}}afterAnimate(){this.setClip(),V(this.chart.sharedClips,(y,D,j)=>{y&&!this.chart.container.querySelector(`[clip-path="url(#${y.id})"]`)&&(y.destroy(),delete j[D])}),this.finishedAnimating=!0,d(this,"afterAnimate")}drawPoints(y=this.points){let D,j,H,U,K,et,rt,nt=this.chart,lt=nt.styledMode,{colorAxis:ht,options:it}=this,tt=it.marker,st=this[this.specialGroup||"markerGroup"],ot=this.xAxis,at=X(tt.enabled,!ot||!!ot.isRadial||null,this.closestPointRangePx>=tt.enabledThreshold*tt.radius);if(tt.enabled!==!1||this._hasPointMarkers)for(D=0;D<y.length;D++)if(U=(H=(j=y[D]).graphic)?"animate":"attr",K=j.marker||{},et=!!j.marker,(at&&K.enabled===void 0||K.enabled)&&!j.isNull&&j.visible!==!1){let ct=X(K.symbol,this.symbol,"rect");rt=this.markerAttribs(j,j.selected&&"select"),this.enabledDataSorting&&(j.startXPos=ot.reversed?-(rt.width||0):ot.width);let dt=j.isInside!==!1;if(!H&&dt&&((rt.width||0)>0||j.hasImage)&&(j.graphic=H=nt.renderer.symbol(ct,rt.x,rt.y,rt.width,rt.height,et?K:tt).add(st),this.enabledDataSorting&&nt.hasRendered&&(H.attr({x:j.startXPos}),U="animate")),H&&U==="animate"&&H[dt?"show":"hide"](dt).animate(rt),H){let ut=this.pointAttribs(j,lt||!j.selected?void 0:"select");lt?ht&&H.css({fill:ut.fill}):H[U](ut)}H&&H.addClass(j.getClassName(),!0)}else H&&(j.graphic=H.destroy())}markerAttribs(y,D){let j=this.options,H=j.marker,U=y.marker||{},K=U.symbol||H.symbol,et={},rt,nt,lt=X(U.radius,H&&H.radius);D&&(rt=H.states[D],lt=X((nt=U.states&&U.states[D])&&nt.radius,rt&&rt.radius,lt&<+(rt&&rt.radiusPlus||0))),y.hasImage=K&&K.indexOf("url")===0,y.hasImage&&(lt=0);let ht=y.pos();return z(lt)&&ht&&(j.crisp&&(ht[0]=B(ht[0],y.hasImage?0:K==="rect"?(H==null?void 0:H.lineWidth)||0:1)),et.x=ht[0]-lt,et.y=ht[1]-lt),lt&&(et.width=et.height=2*lt),et}pointAttribs(y,D){let j=this.options.marker,H=y&&y.options,U=H&&H.marker||{},K=H&&H.color,et=y&&y.color,rt=y&&y.zone&&y.zone.color,nt,lt,ht=this.color,it,tt,st=X(U.lineWidth,j.lineWidth),ot=1;return ht=K||rt||et||ht,it=U.fillColor||j.fillColor||ht,tt=U.lineColor||j.lineColor||ht,D=D||"normal",nt=j.states[D]||{},st=X((lt=U.states&&U.states[D]||{}).lineWidth,nt.lineWidth,st+X(lt.lineWidthPlus,nt.lineWidthPlus,0)),it=lt.fillColor||nt.fillColor||it,{stroke:tt=lt.lineColor||nt.lineColor||tt,"stroke-width":st,fill:it,opacity:ot=X(lt.opacity,nt.opacity,ot)}}destroy(y){let D,j,H,U=this,K=U.chart,et=/AppleWebKit\/533/.test(u.navigator.userAgent),rt=U.data||[];for(d(U,"destroy",{keepEventsForUpdate:y}),this.removeEvents(y),(U.axisTypes||[]).forEach(function(nt){(H=U[nt])&&H.series&&(l(H.series,U),H.isDirty=H.forceRedraw=!0)}),U.legendItem&&U.chart.legend.destroyItem(U),D=rt.length;D--;)(j=rt[D])&&j.destroy&&j.destroy();for(let nt of U.zones)g(nt,void 0,!0);W.clearTimeout(U.animationTimeout),V(U,function(nt,lt){nt instanceof F&&!nt.survive&&nt[et&<==="group"?"hide":"destroy"]()}),K.hoverSeries===U&&(K.hoverSeries=void 0),l(K.series,U),K.orderItems("series"),V(U,function(nt,lt){y&<==="hcEvents"||delete U[lt]})}applyZones(){let{area:y,chart:D,graph:j,zones:H,points:U,xAxis:K,yAxis:et,zoneAxis:rt}=this,{inverted:nt,renderer:lt}=D,ht=this[`${rt}Axis`],{isXAxis:it,len:tt=0}=ht||{},st=((j==null?void 0:j.strokeWidth())||0)/2+1,ot=(at,ct=0,dt=0)=>{nt&&(dt=tt-dt);let{translated:ut=0,lineClip:pt}=at,gt=dt-ut;pt==null||pt.push(["L",ct,Math.abs(gt)<st?dt-st*(gt<=0?-1:1):ut])};if(H.length&&(j||y)&&ht&&z(ht.min)){let at=ht.getExtremes().max,ct=pt=>{pt.forEach((gt,ft)=>{(gt[0]==="M"||gt[0]==="L")&&(pt[ft]=[gt[0],it?tt-gt[1]:gt[1],it?gt[2]:tt-gt[2]])})};if(H.forEach(pt=>{pt.lineClip=[],pt.translated=b(ht.toPixels(X(pt.value,at),!0)||0,0,tt)}),j&&!this.showLine&&j.hide(),y&&y.hide(),rt==="y"&&U.length<K.len)for(let pt of U){let{plotX:gt,plotY:ft,zone:mt}=pt,xt=mt&&H[H.indexOf(mt)-1];mt&&ot(mt,gt,ft),xt&&ot(xt,gt,ft)}let dt=[],ut=ht.toPixels(ht.getExtremes().min,!0);H.forEach(pt=>{var Pt,Tt;let gt=pt.lineClip||[],ft=Math.round(pt.translated||0);K.reversed&>.reverse();let{clip:mt,simpleClip:xt}=pt,vt=0,bt=0,yt=K.len,Ct=et.len;it?(vt=ft,yt=ut):(bt=ft,Ct=ut);let kt=[["M",vt,bt],["L",yt,bt],["L",yt,Ct],["L",vt,Ct],["Z"]],Mt=[kt[0],...gt,kt[1],kt[2],...dt,kt[3],kt[4]];dt=gt.reverse(),ut=ft,nt&&(ct(Mt),y&&ct(kt)),mt?(mt.animate({d:Mt}),xt==null||xt.animate({d:kt})):(mt=pt.clip=lt.path(Mt),y&&(xt=pt.simpleClip=lt.path(kt))),j&&((Pt=pt.graph)==null||Pt.clip(mt)),y&&((Tt=pt.area)==null||Tt.clip(xt))})}else this.visible&&(j&&j.show(),y&&y.show())}plotGroup(y,D,j,H,U){let K=this[y],et=!K,rt={visibility:j,zIndex:H||.1};return A(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(rt.opacity=this.opacity),K||(this[y]=K=this.chart.renderer.g().add(U)),K.addClass("highcharts-"+D+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(A(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(K.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),K.attr(rt)[et?"attr":"animate"](this.getPlotBox(D)),K}getPlotBox(y){let D=this.xAxis,j=this.yAxis,H=this.chart,U=H.inverted&&!H.polar&&D&&this.invertible&&y==="series";return H.inverted&&(D=j,j=this.xAxis),{translateX:D?D.left:H.plotLeft,translateY:j?j.top:H.plotTop,rotation:U?90:0,rotationOriginX:U?(D.len-j.len)/2:0,rotationOriginY:U?(D.len+j.len)/2:0,scaleX:U?-1:1,scaleY:1}}removeEvents(y){let{eventsToUnbind:D}=this;y||J(this),D.length&&(D.forEach(j=>{j()}),D.length=0)}render(){var lt,ht,it,tt,st;let y=this,{chart:D,options:j,hasRendered:H}=y,U=k(j.animation),K=y.visible?"inherit":"hidden",et=j.zIndex,rt=D.seriesGroup,nt=y.finishedAnimating?0:U.duration;d(this,"render"),y.plotGroup("group","series",K,et,rt),y.markerGroup=y.plotGroup("markerGroup","markers",K,et,rt),j.clip!==!1&&y.setClip(),nt&&((lt=y.animate)==null||lt.call(y,!0)),y.drawGraph&&(y.drawGraph(),y.applyZones()),y.visible&&y.drawPoints(),(ht=y.drawDataLabels)==null||ht.call(y),(it=y.redrawPoints)==null||it.call(y),j.enableMouseTracking&&((tt=y.drawTracker)==null||tt.call(y)),nt&&((st=y.animate)==null||st.call(y)),H||(nt&&U.defer&&(nt+=U.defer),y.animationTimeout=C(()=>{y.afterAnimate()},nt||0)),y.isDirty=!1,y.hasRendered=!0,d(y,"afterRender")}redraw(){let y=this.isDirty||this.isDirtyData;this.translate(),this.render(),y&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(y,D){let{xAxis:j,yAxis:H}=this,U=this.chart.inverted;return this.searchKDTree({clientX:U?j.len-y.chartY+j.pos:y.chartX-j.pos,plotY:U?H.len-y.chartX+H.pos:y.chartY-H.pos},D,y)}buildKDTree(y){this.buildingKdTree=!0;let D=this,j=D.options.findNearestPointBy.indexOf("y")>-1?2:1;delete D.kdTree,C(function(){D.kdTree=function H(U,K,et){let rt,nt,lt=U==null?void 0:U.length;if(lt)return rt=D.kdAxisArray[K%et],U.sort((ht,it)=>(ht[rt]||0)-(it[rt]||0)),{point:U[nt=Math.floor(lt/2)],left:H(U.slice(0,nt),K+1,et),right:H(U.slice(nt+1),K+1,et)}}(D.getValidPoints(void 0,!D.directTouch),j,j),D.buildingKdTree=!1},D.options.kdNow||(y==null?void 0:y.type)==="touchstart"?0:1)}searchKDTree(y,D,j){let H=this,[U,K]=this.kdAxisArray,et=D?"distX":"dist",rt=(H.options.findNearestPointBy||"").indexOf("y")>-1?2:1,nt=!!H.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(j),this.kdTree)return function lt(ht,it,tt,st){var mt;let ot=it.point,at=H.kdAxisArray[tt%st],ct,dt,ut=ot;(function(xt,vt){var Ot;let bt=xt[U],yt=vt[U],Ct=A(bt)&&A(yt)?bt-yt:null,kt=xt[K],Mt=vt[K],Pt=A(kt)&&A(Mt)?kt-Mt:0,Tt=nt&&((Ot=vt.marker)==null?void 0:Ot.radius)||0;vt.dist=Math.sqrt((Ct&&Ct*Ct||0)+Pt*Pt)-Tt,vt.distX=A(Ct)?Math.abs(Ct)-Tt:Number.MAX_VALUE})(ht,ot);let pt=(ht[at]||0)-(ot[at]||0)+(nt&&((mt=ot.marker)==null?void 0:mt.radius)||0),gt=pt<0?"left":"right",ft=pt<0?"right":"left";return it[gt]&&(ut=(ct=lt(ht,it[gt],tt+1,st))[et]<ut[et]?ct:ot),it[ft]&&Math.sqrt(pt*pt)<ut[et]&&(ut=(dt=lt(ht,it[ft],tt+1,st))[et]<ut[et]?dt:ut),ut}(y,this.kdTree,rt,rt)}pointPlacementToXValue(){let{options:y,xAxis:D}=this,j=y.pointPlacement;return j==="between"&&(j=D.reversed?-.5:.5),z(j)?j*(y.pointRange||D.pointRange):0}isPointInside(y){let{chart:D,xAxis:j,yAxis:H}=this,{plotX:U=-1,plotY:K=-1}=y;return K>=0&&K<=(H?H.len:D.plotHeight)&&U>=0&&U<=(j?j.len:D.plotWidth)}drawTracker(){var it;let y=this,D=y.options,j=D.trackByArea,H=[].concat((j?y.areaPath:y.graphPath)||[]),U=y.chart,K=U.pointer,et=U.renderer,rt=((it=U.options.tooltip)==null?void 0:it.snap)||0,nt=()=>{D.enableMouseTracking&&U.hoverSeries!==y&&y.onMouseOver()},lt="rgba(192,192,192,"+(o?1e-4:.002)+")",ht=y.tracker;ht?ht.attr({d:H}):y.graph&&(y.tracker=ht=et.path(H).attr({visibility:y.visible?"inherit":"hidden",zIndex:2}).addClass(j?"highcharts-tracker-area":"highcharts-tracker-line").add(y.group),U.styledMode||ht.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:lt,fill:j?lt:"none","stroke-width":y.graph.strokeWidth()+(j?0:2*rt)}),[y.tracker,y.markerGroup,y.dataLabelsGroup].forEach(tt=>{tt&&(tt.addClass("highcharts-tracker").on("mouseover",nt).on("mouseout",st=>{K==null||K.onTrackerMouseOut(st)}),D.cursor&&!U.styledMode&&tt.css({cursor:D.cursor}),tt.on("touchstart",nt))})),d(this,"afterDrawTracker")}addPoint(y,D,j,H,U){let K,et,rt=this.options,nt=this.data,lt=this.chart,ht=this.xAxis,it=ht&&ht.hasNames&&ht.names,tt=rt.data,st=this.xData;D=X(D,!0);let ot={series:this};this.pointClass.prototype.applyOptions.apply(ot,[y]);let at=ot.x;if(et=st.length,this.requireSorting&&at<st[et-1])for(K=!0;et&&st[et-1]>at;)et--;this.updateParallelArrays(ot,"splice",[et,0,0]),this.updateParallelArrays(ot,et),it&&ot.name&&(it[at]=ot.name),tt.splice(et,0,y),(K||this.processedData)&&(this.data.splice(et,0,null),this.processData()),rt.legendType==="point"&&this.generatePoints(),j&&(nt[0]&&nt[0].remove?nt[0].remove(!1):(nt.shift(),this.updateParallelArrays(ot,"shift"),tt.shift())),U!==!1&&d(this,"addPoint",{point:ot}),this.isDirty=!0,this.isDirtyData=!0,D&<.redraw(H)}removePoint(y,D,j){let H=this,U=H.data,K=U[y],et=H.points,rt=H.chart,nt=function(){et&&et.length===U.length&&et.splice(y,1),U.splice(y,1),H.options.data.splice(y,1),H.updateParallelArrays(K||{series:H},"splice",[y,1]),K&&K.destroy(),H.isDirty=!0,H.isDirtyData=!0,D&&rt.redraw()};E(j,rt),D=X(D,!0),K?K.firePointEvent("remove",null,nt):nt()}remove(y,D,j,H){let U=this,K=U.chart;function et(){U.destroy(H),K.isDirtyLegend=K.isDirtyBox=!0,K.linkSeries(H),X(y,!0)&&K.redraw(D)}j!==!1?d(U,"remove",null,et):et()}update(y,D){var ct,dt,ut;d(this,"update",{options:y=S(y,this.userOptions)});let j=this,H=j.chart,U=j.userOptions,K=j.initialType||j.type,et=H.options.plotOptions,rt=x[K].prototype,nt=j.finishedAnimating&&{animation:!1},lt={},ht,it,tt=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],st=y.type||U.type||H.options.chart.type,ot=!(this.hasDerivedData||st&&st!==this.type||y.pointStart!==void 0||y.pointInterval!==void 0||y.relativeXValue!==void 0||y.joinBy||y.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(pt=>j.hasOptionChanged(pt)));st=st||K,ot&&(tt.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),y.visible!==!1&&tt.push("area","graph"),j.parallelArrays.forEach(function(pt){tt.push(pt+"Data")}),y.data&&(y.dataSorting&&r(j.options.dataSorting,y.dataSorting),this.setData(y.data,!1))),y=R(U,{index:U.index===void 0?j.index:U.index,pointStart:((ct=et==null?void 0:et.series)==null?void 0:ct.pointStart)??U.pointStart??((dt=j.xData)==null?void 0:dt[0])},!ot&&{data:j.options.data},y,nt),ot&&y.data&&(y.data=j.options.data),(tt=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(tt)).forEach(function(pt){tt[pt]=j[pt],delete j[pt]});let at=!1;if(x[st]){if(at=st!==j.type,j.remove(!1,!1,!1,!0),at)if(H.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(j,x[st].prototype);else{let pt=Object.hasOwnProperty.call(j,"hcEvents")&&j.hcEvents;for(it in rt)j[it]=void 0;r(j,x[st].prototype),pt?j.hcEvents=pt:delete j.hcEvents}}else s(17,!0,H,{missingModuleFor:st});if(tt.forEach(function(pt){j[pt]=tt[pt]}),j.init(H,y),ot&&this.points)for(let pt of((ht=j.options).visible===!1?(lt.graphic=1,lt.dataLabel=1):(this.hasMarkerChanged(ht,U)&&(lt.graphic=1),(ut=j.hasDataLabels)!=null&&ut.call(j)||(lt.dataLabel=1)),this.points))pt&&pt.series&&(pt.resolveColor(),Object.keys(lt).length&&pt.destroyElements(lt),ht.showInLegend===!1&&pt.legendItem&&H.legend.destroyItem(pt));j.initialType=K,H.linkSeries(),H.setSortedData(),at&&j.linkedSeries.length&&(j.isDirtyData=!0),d(this,"afterUpdate"),X(D,!0)&&H.redraw(!!ot&&void 0)}setName(y){this.name=this.options.name=this.userOptions.name=y,this.chart.isDirtyLegend=!0}hasOptionChanged(y){var et,rt;let D=this.chart,j=this.options[y],H=D.options.plotOptions,U=this.userOptions[y],K=X((et=H==null?void 0:H[this.type])==null?void 0:et[y],(rt=H==null?void 0:H.series)==null?void 0:rt[y]);return U&&!A(K)?j!==U:j!==X(K,j)}onMouseOver(){let y=this.chart,D=y.hoverSeries,j=y.pointer;j==null||j.setHoverChartIndex(),D&&D!==this&&D.onMouseOut(),this.options.events.mouseOver&&d(this,"mouseOver"),this.setState("hover"),y.hoverSeries=this}onMouseOut(){let y=this.options,D=this.chart,j=D.tooltip,H=D.hoverPoint;D.hoverSeries=null,H&&H.onMouseOut(),this&&y.events.mouseOut&&d(this,"mouseOut"),j&&!this.stickyTracking&&(!j.shared||this.noSharedTooltip)&&j.hide(),D.series.forEach(function(U){U.setState("",!0)})}setState(y,D){let j=this,H=j.options,U=j.graph,K=H.inactiveOtherPoints,et=H.states,rt=X(et[y||"normal"]&&et[y||"normal"].animation,j.chart.options.chart.animation),nt=H.lineWidth,lt=H.opacity;if(y=y||"",j.state!==y&&([j.group,j.markerGroup,j.dataLabelsGroup].forEach(function(ht){ht&&(j.state&&ht.removeClass("highcharts-series-"+j.state),y&&ht.addClass("highcharts-series-"+y))}),j.state=y,!j.chart.styledMode)){if(et[y]&&et[y].enabled===!1)return;if(y&&(nt=et[y].lineWidth||nt+(et[y].lineWidthPlus||0),lt=X(et[y].opacity,lt)),U&&!U.dashstyle&&z(nt))for(let ht of[U,...this.zones.map(it=>it.graph)])ht==null||ht.animate({"stroke-width":nt},rt);K||[j.group,j.markerGroup,j.dataLabelsGroup,j.labelBySeries].forEach(function(ht){ht&&ht.animate({opacity:lt},rt)})}D&&K&&j.points&&j.setAllPointsToState(y||void 0)}setAllPointsToState(y){this.points.forEach(function(D){D.setState&&D.setState(y)})}setVisible(y,D){var rt;let j=this,H=j.chart,U=H.options.chart.ignoreHiddenSeries,K=j.visible;j.visible=y=j.options.visible=j.userOptions.visible=y===void 0?!K:y;let et=y?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(nt=>{var lt;(lt=j[nt])==null||lt[et]()}),(H.hoverSeries===j||((rt=H.hoverPoint)==null?void 0:rt.series)===j)&&j.onMouseOut(),j.legendItem&&H.legend.colorizeItem(j,y),j.isDirty=!0,j.options.stacking&&H.series.forEach(nt=>{nt.options.stacking&&nt.visible&&(nt.isDirty=!0)}),j.linkedSeries.forEach(nt=>{nt.setVisible(y,!1)}),U&&(H.isDirtyBox=!0),d(j,et),D!==!1&&H.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(y){this.selected=y=this.options.selected=y===void 0?!this.selected:y,this.checkbox&&(this.checkbox.checked=y),d(this,y?"select":"unselect")}shouldShowTooltip(y,D,j={}){return j.series=this,j.visiblePlotOnly=!0,this.chart.isInsidePlot(y,D,j)}drawLegendSymbol(y,D){var j;(j=q[this.options.legendSymbol||"rectangle"])==null||j.call(this,y,D)}}return N.defaultOptions=Q,N.types=Y.seriesTypes,N.registerType=Y.registerSeriesType,r(N.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Z,requireSorting:!0,sorted:!0}),Y.series=N,N}),O(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y){var F;let{animObject:W,setAnimation:k}=m,{registerEventOptions:E}=T,{composed:M,marginNames:v}=G,{distribute:o}=Z,{format:u}=Q,{addEvent:x,createElement:f,css:p,defined:b,discardElement:I,find:B,fireEvent:A,isNumber:g,merge:S,pick:l,pushUnique:s,relativeLength:r,stableSort:a,syncTimeout:d}=Y;class n{constructor(c,L){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=c,this.setOptions(L),L.enabled&&(this.render(),E(this,L),x(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),x(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(c){let L=l(c.padding,8);this.options=c,this.chart.styledMode||(this.itemStyle=c.itemStyle,this.itemHiddenStyle=S(this.itemStyle,c.itemHiddenStyle)),this.itemMarginTop=c.itemMarginTop,this.itemMarginBottom=c.itemMarginBottom,this.padding=L,this.initialItemY=L-5,this.symbolWidth=l(c.symbolWidth,16),this.pages=[],this.proximate=c.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(c,L){let z=this.chart;this.setOptions(S(!0,this.options,c)),"events"in this.options&&E(this,this.options),this.destroy(),z.isDirtyLegend=z.isDirtyBox=!0,l(L,!0)&&z.redraw(),A(this,"afterUpdate",{redraw:L})}colorizeItem(c,L){let{area:z,group:w,label:R,line:V,symbol:X}=c.legendItem||{};if(w==null||w[L?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:J={}}=this,P=J.color,{fillColor:C,fillOpacity:N,lineColor:_,marker:y}=c.options,D=j=>(!L&&(j.fill&&(j.fill=P),j.stroke&&(j.stroke=P)),j);R==null||R.css(S(L?this.itemStyle:J)),V==null||V.attr(D({stroke:_||c.color})),X&&X.attr(D(y&&X.isMarker?c.pointAttribs():{fill:c.color})),z==null||z.attr(D({fill:C||c.color,"fill-opacity":C?1:N??.75}))}A(this,"afterColorizeItem",{item:c,visible:L})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(c){let{group:L,x:z=0,y:w=0}=c.legendItem||{},R=this.options,V=R.symbolPadding,X=!R.rtl,J=c.checkbox;if(L&&L.element){let P={translateX:X?z:this.legendWidth-z-2*V-4,translateY:w};L[b(L.translateY)?"animate":"attr"](P,void 0,()=>{A(this,"afterPositionItem",{item:c})})}J&&(J.x=z,J.y=w)}destroyItem(c){let L=c.checkbox,z=c.legendItem||{};for(let w of["group","label","line","symbol"])z[w]&&(z[w]=z[w].destroy());L&&I(L),c.legendItem=void 0}destroy(){for(let c of this.getAllItems())this.destroyItem(c);for(let c of["clipRect","up","down","pager","nav","box","title","group"])this[c]&&(this[c]=this[c].destroy());this.display=null}positionCheckboxes(){let c,L=this.group&&this.group.alignAttr,z=this.clipHeight||this.legendHeight,w=this.titleHeight;L&&(c=L.translateY,this.allItems.forEach(function(R){let V,X=R.checkbox;X&&(V=c+w+X.y+(this.scrollOffset||0)+3,p(X,{left:L.translateX+R.checkboxOffset+X.x-20+"px",top:V+"px",display:this.proximate||V>c-6&&V<c+z-6?"":"none"}))},this))}renderTitle(){let c=this.options,L=this.padding,z=c.title,w,R=0;z.text&&(this.title||(this.title=this.chart.renderer.label(z.text,L-3,L-4,void 0,void 0,void 0,c.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(z.style),this.title.add(this.group)),z.width||this.title.css({width:this.maxLegendWidth+"px"}),R=(w=this.title.getBBox()).height,this.offsetWidth=w.width,this.contentGroup.attr({translateY:R})),this.titleHeight=R}setText(c){let L=this.options;c.legendItem.label.attr({text:L.labelFormat?u(L.labelFormat,c,this.chart):L.labelFormatter.call(c)})}renderItem(c){let L=c.legendItem=c.legendItem||{},z=this.chart,w=z.renderer,R=this.options,V=R.layout==="horizontal",X=this.symbolWidth,J=R.symbolPadding||0,P=this.itemStyle,C=this.itemHiddenStyle,N=V?l(R.itemDistance,20):0,_=!R.rtl,y=!c.series,D=!y&&c.series.drawLegendSymbol?c.series:c,j=D.options,H=!!this.createCheckboxForItem&&j&&j.showCheckbox,U=R.useHTML,K=c.options.className,et=L.label,rt=X+J+N+(H?20:0);!et&&(L.group=w.g("legend-item").addClass("highcharts-"+D.type+"-series highcharts-color-"+c.colorIndex+(K?" "+K:"")+(y?" highcharts-series-"+c.index:"")).attr({zIndex:1}).add(this.scrollGroup),L.label=et=w.text("",_?X+J:-J,this.baseline||0,U),z.styledMode||et.css(S(c.visible?P:C)),et.attr({align:_?"left":"right",zIndex:2}).add(L.group),!this.baseline&&(this.fontMetrics=w.fontMetrics(et),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,et.attr("y",this.baseline),this.symbolHeight=l(R.symbolHeight,this.fontMetrics.f),R.squareSymbol&&(this.symbolWidth=l(R.symbolWidth,Math.max(this.symbolHeight,16)),rt=this.symbolWidth+J+N+(H?20:0),_&&et.attr("x",this.symbolWidth+J))),D.drawLegendSymbol(this,c),this.setItemEvents&&this.setItemEvents(c,et,U)),H&&!c.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(c),this.colorizeItem(c,c.visible),(z.styledMode||!P.width)&&et.css({width:(R.itemWidth||this.widthOption||z.spacingBox.width)-rt+"px"}),this.setText(c);let nt=et.getBBox(),lt=this.fontMetrics&&this.fontMetrics.h||0;c.itemWidth=c.checkboxOffset=R.itemWidth||L.labelWidth||nt.width+rt,this.maxItemWidth=Math.max(this.maxItemWidth,c.itemWidth),this.totalItemWidth+=c.itemWidth,this.itemHeight=c.itemHeight=Math.round(L.labelHeight||(nt.height>1.5*lt?nt.height:lt))}layoutItem(c){let L=this.options,z=this.padding,w=L.layout==="horizontal",R=c.itemHeight,V=this.itemMarginBottom,X=this.itemMarginTop,J=w?l(L.itemDistance,20):0,P=this.maxLegendWidth,C=L.alignColumns&&this.totalItemWidth>P?this.maxItemWidth:c.itemWidth,N=c.legendItem||{};w&&this.itemX-z+C>P&&(this.itemX=z,this.lastLineHeight&&(this.itemY+=X+this.lastLineHeight+V),this.lastLineHeight=0),this.lastItemY=X+this.itemY+V,this.lastLineHeight=Math.max(R,this.lastLineHeight),N.x=this.itemX,N.y=this.itemY,w?this.itemX+=C:(this.itemY+=X+R+V,this.lastLineHeight=R),this.offsetWidth=this.widthOption||Math.max((w?this.itemX-z-(c.checkbox?0:J):C)+z,this.offsetWidth)}getAllItems(){let c=[];return this.chart.series.forEach(function(L){let z=L&&L.options;L&&l(z.showInLegend,!b(z.linkedTo)&&void 0,!0)&&(c=c.concat((L.legendItem||{}).labels||(z.legendType==="point"?L.data:L)))}),A(this,"afterGetAllItems",{allItems:c}),c}getAlignment(){let c=this.options;return this.proximate?c.align.charAt(0)+"tv":c.floating?"":c.align.charAt(0)+c.verticalAlign.charAt(0)+c.layout.charAt(0)}adjustMargins(c,L){let z=this.chart,w=this.options,R=this.getAlignment();R&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(V,X){V.test(R)&&!b(c[X])&&(z[v[X]]=Math.max(z[v[X]],z.legend[(X+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][X]*w[X%2?"x":"y"]+l(w.margin,12)+L[X]+(z.titleOffset[X]||0)))})}proximatePositions(){let c,L=this.chart,z=[],w=this.options.align==="left";for(let R of(this.allItems.forEach(function(V){let X,J,P=w,C,N;V.yAxis&&(V.xAxis.options.reversed&&(P=!P),V.points&&(X=B(P?V.points:V.points.slice(0).reverse(),function(_){return g(_.plotY)})),J=this.itemMarginTop+V.legendItem.label.getBBox().height+this.itemMarginBottom,N=V.yAxis.top-L.plotTop,C=V.visible?(X?X.plotY:V.yAxis.height)+(N-.3*J):N+V.yAxis.height,z.push({target:C,size:J,item:V}))},this),o(z,L.plotHeight)))c=R.item.legendItem||{},g(R.pos)&&(c.y=L.plotTop-L.spacing[0]+R.pos)}render(){let c=this.chart,L=c.renderer,z=this.options,w=this.padding,R=this.getAllItems(),V,X,J,P=this.group,C,N=this.box;this.itemX=w,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=r(z.width,c.spacingBox.width-w),C=c.spacingBox.width-2*w-z.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(C/=2),this.maxLegendWidth=this.widthOption||C,P||(this.group=P=L.g("legend").addClass(z.className||"").attr({zIndex:7}).add(),this.contentGroup=L.g().attr({zIndex:1}).add(P),this.scrollGroup=L.g().add(this.contentGroup)),this.renderTitle(),a(R,(_,y)=>(_.options&&_.options.legendIndex||0)-(y.options&&y.options.legendIndex||0)),z.reversed&&R.reverse(),this.allItems=R,this.display=V=!!R.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,R.forEach(this.renderItem,this),R.forEach(this.layoutItem,this),X=(this.widthOption||this.offsetWidth)+w,J=this.lastItemY+this.lastLineHeight+this.titleHeight,J=this.handleOverflow(J)+w,N||(this.box=N=L.rect().addClass("highcharts-legend-box").attr({r:z.borderRadius}).add(P)),c.styledMode||N.attr({stroke:z.borderColor,"stroke-width":z.borderWidth||0,fill:z.backgroundColor||"none"}).shadow(z.shadow),X>0&&J>0&&N[N.placed?"animate":"attr"](N.crisp.call({},{x:0,y:0,width:X,height:J},N.strokeWidth())),P[V?"show":"hide"](),c.styledMode&&P.getStyle("display")==="none"&&(X=J=0),this.legendWidth=X,this.legendHeight=J,V&&this.align(),this.proximate||this.positionItems(),A(this,"afterRender")}align(c=this.chart.spacingBox){let L=this.chart,z=this.options,w=c.y;/(lth|ct|rth)/.test(this.getAlignment())&&L.titleOffset[0]>0?w+=L.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&L.titleOffset[2]>0&&(w-=L.titleOffset[2]),w!==c.y&&(c=S(c,{y:w})),L.hasRendered||(this.group.placed=!1),this.group.align(S(z,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":z.verticalAlign}),!0,c)}handleOverflow(c){let L=this,z=this.chart,w=z.renderer,R=this.options,V=R.y,X=R.verticalAlign==="top",J=this.padding,P=R.maxHeight,C=R.navigation,N=l(C.animation,!0),_=C.arrowSize||12,y=this.pages,D=this.allItems,j=function(ht){typeof ht=="number"?lt.attr({height:ht}):lt&&(L.clipRect=lt.destroy(),L.contentGroup.clip()),L.contentGroup.div&&(L.contentGroup.div.style.clip=ht?"rect("+J+"px,9999px,"+(J+ht)+"px,0)":"auto")},H=function(ht){return L[ht]=w.circle(0,0,1.3*_).translate(_/2,_/2).add(nt),z.styledMode||L[ht].attr("fill","rgba(0,0,0,0.0001)"),L[ht]},U,K,et,rt=z.spacingBox.height+(X?-V:V)-J,nt=this.nav,lt=this.clipRect;return R.layout!=="horizontal"||R.verticalAlign==="middle"||R.floating||(rt/=2),P&&(rt=Math.min(rt,P)),y.length=0,c&&rt>0&&c>rt&&C.enabled!==!1?(this.clipHeight=U=Math.max(rt-20-this.titleHeight-J,0),this.currentPage=l(this.currentPage,1),this.fullHeight=c,D.forEach((ht,it)=>{let tt=(et=ht.legendItem||{}).y||0,st=Math.round(et.label.getBBox().height),ot=y.length;(!ot||tt-y[ot-1]>U&&(K||tt)!==y[ot-1])&&(y.push(K||tt),ot++),et.pageIx=ot-1,K&&((D[it-1].legendItem||{}).pageIx=ot-1),it===D.length-1&&tt+st-y[ot-1]>U&&tt>y[ot-1]&&(y.push(tt),et.pageIx=ot),tt!==K&&(K=tt)}),lt||(lt=L.clipRect=w.clipRect(0,J-2,9999,0),L.contentGroup.clip(lt)),j(U),nt||(this.nav=nt=w.g().attr({zIndex:1}).add(this.group),this.up=w.symbol("triangle",0,0,_,_).add(nt),H("upTracker").on("click",function(){L.scroll(-1,N)}),this.pager=w.text("",15,10).addClass("highcharts-legend-navigation"),!z.styledMode&&C.style&&this.pager.css(C.style),this.pager.add(nt),this.down=w.symbol("triangle-down",0,0,_,_).add(nt),H("downTracker").on("click",function(){L.scroll(1,N)})),L.scroll(0),c=rt):nt&&(j(),this.nav=nt.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),c}scroll(c,L){let z=this.chart,w=this.pages,R=w.length,V=this.clipHeight,X=this.options.navigation,J=this.pager,P=this.padding,C=this.currentPage+c;C>R&&(C=R),C>0&&(L!==void 0&&k(L,z),this.nav.attr({translateX:P,translateY:V+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(N){N.attr({class:C===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),J.attr({text:C+"/"+R}),[this.down,this.downTracker].forEach(function(N){N.attr({x:18+this.pager.getBBox().width,class:C===R?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),z.styledMode||(this.up.attr({fill:C===1?X.inactiveColor:X.activeColor}),this.upTracker.css({cursor:C===1?"default":"pointer"}),this.down.attr({fill:C===R?X.inactiveColor:X.activeColor}),this.downTracker.css({cursor:C===R?"default":"pointer"})),this.scrollOffset=-w[C-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=C,this.positionCheckboxes(),d(()=>{A(this,"afterScroll",{currentPage:C})},W(l(L,z.renderer.globalAnimation,!0)).duration))}setItemEvents(c,L,z){let w=this,R=c.legendItem||{},V=w.chart.renderer.boxWrapper,X=c instanceof q,J=c instanceof $,P="highcharts-legend-"+(X?"point":"series")+"-active",C=w.chart.styledMode,N=z?[L,R.symbol]:[R.group],_=y=>{w.allItems.forEach(D=>{c!==D&&[D].concat(D.linkedSeries||[]).forEach(j=>{j.setState(y,!X)})})};for(let y of N)y&&y.on("mouseover",function(){c.visible&&_("inactive"),c.setState("hover"),c.visible&&V.addClass(P),C||L.css(w.options.itemHoverStyle)}).on("mouseout",function(){w.chart.styledMode||L.css(S(c.visible?w.itemStyle:w.itemHiddenStyle)),_(""),V.removeClass(P),c.setState()}).on("click",function(D){let j=function(){c.setVisible&&c.setVisible(),_(c.visible?"inactive":"")};V.removeClass(P),A(w,"itemClick",{browserEvent:D,legendItem:c},j),X?c.firePointEvent("legendItemClick",{browserEvent:D}):J&&A(c,"legendItemClick",{browserEvent:D})})}createCheckboxForItem(c){c.checkbox=f("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:c.selected,defaultChecked:c.selected},this.options.itemCheckboxStyle,this.chart.container),x(c.checkbox,"click",function(L){let z=L.target;A(c.series||c,"checkboxClick",{checked:z.checked,item:c},function(){c.select()})})}}return(F=n||(n={})).compose=function(h){s(M,"Core.Legend")&&x(h,"beforeMargins",function(){this.legend=new F(this,this.options.legend)})},n}),O(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E,M,v){let{animate:o,animObject:u,setAnimation:x}=m,{defaultOptions:f,defaultTime:p}=G,{numberFormat:b}=$,{registerEventOptions:I}=q,{charts:B,doc:A,marginNames:g,svg:S,win:l}=Z,{seriesTypes:s}=F,{addEvent:r,attr:a,createElement:d,css:n,defined:h,diffObjects:c,discardElement:L,erase:z,error:w,extend:R,find:V,fireEvent:X,getStyle:J,isArray:P,isNumber:C,isObject:N,isString:_,merge:y,objectEach:D,pick:j,pInt:H,relativeLength:U,removeEvent:K,splat:et,syncTimeout:rt,uniqueKey:nt}=E;class lt{static chart(it,tt,st){return new lt(it,tt,st)}constructor(it,tt,st){this.sharedClips={};let ot=[...arguments];(_(it)||it.nodeName)&&(this.renderTo=ot.shift()),this.init(ot[0],ot[1])}setZoomOptions(){let it=this.options.chart,tt=it.zooming;this.zooming={...tt,type:j(it.zoomType,tt.type),key:j(it.zoomKey,tt.key),pinchType:j(it.pinchType,tt.pinchType),singleTouch:j(it.zoomBySingleTouch,tt.singleTouch,!1),resetButton:y(tt.resetButton,it.resetZoomButton)}}init(it,tt){X(this,"init",{args:arguments},function(){let st=y(f,it),ot=st.chart;this.userOptions=R({},it),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=tt,this.isResizing=0,this.options=st,this.axes=[],this.series=[],this.time=it.time&&Object.keys(it.time).length?new k(it.time):Z.time,this.numberFormatter=ot.numberFormatter||b,this.styledMode=ot.styledMode,this.hasCartesianSeries=ot.showAxes,this.index=B.length,B.push(this),Z.chartCount++,I(this,ot),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),X(this,"afterInit"),this.firstRender()})}initSeries(it){let tt=this.options.chart,st=it.type||tt.type,ot=s[st];ot||w(17,!0,this,{missingModuleFor:st});let at=new ot;return typeof at.init=="function"&&at.init(this,it),at}setSortedData(){this.getSeriesOrderByLinks().forEach(function(it){it.points||it.data||!it.enabledDataSorting||it.setData(it.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(it,tt){return it.linkedSeries.length||tt.linkedSeries.length?tt.linkedSeries.length-it.linkedSeries.length:0})}orderItems(it,tt=0){let st=this[it],ot=this.options[it]=et(this.options[it]).slice(),at=this.userOptions[it]=this.userOptions[it]?et(this.userOptions[it]).slice():[];if(this.hasRendered&&(ot.splice(tt),at.splice(tt)),st)for(let ct=tt,dt=st.length;ct<dt;++ct){let ut=st[ct];ut&&(ut.index=ct,ut instanceof Y&&(ut.name=ut.getName()),ut.options.isInternal||(ot[ct]=ut.options,at[ct]=ut.userOptions))}}isInsidePlot(it,tt,st={}){var yt;let{inverted:ot,plotBox:at,plotLeft:ct,plotTop:dt,scrollablePlotBox:ut}=this,{scrollLeft:pt=0,scrollTop:gt=0}=st.visiblePlotOnly&&((yt=this.scrollablePlotArea)==null?void 0:yt.scrollingContainer)||{},ft=st.series,mt=st.visiblePlotOnly&&ut||at,xt=st.inverted?tt:it,vt=st.inverted?it:tt,bt={x:xt,y:vt,isInsidePlot:!0,options:st};if(!st.ignoreX){let Ct=ft&&(ot&&!this.polar?ft.yAxis:ft.xAxis)||{pos:ct,len:1/0},kt=st.paneCoordinates?Ct.pos+xt:ct+xt;kt>=Math.max(pt+ct,Ct.pos)&&kt<=Math.min(pt+ct+mt.width,Ct.pos+Ct.len)||(bt.isInsidePlot=!1)}if(!st.ignoreY&&bt.isInsidePlot){let Ct=!ot&&st.axis&&!st.axis.isXAxis&&st.axis||ft&&(ot?ft.xAxis:ft.yAxis)||{pos:dt,len:1/0},kt=st.paneCoordinates?Ct.pos+vt:dt+vt;kt>=Math.max(gt+dt,Ct.pos)&&kt<=Math.min(gt+dt+mt.height,Ct.pos+Ct.len)||(bt.isInsidePlot=!1)}return X(this,"afterIsInsidePlot",bt),bt.isInsidePlot}redraw(it){X(this,"beforeRedraw");let tt=this.hasCartesianSeries?this.axes:this.colorAxis||[],st=this.series,ot=this.pointer,at=this.legend,ct=this.userOptions.legend,dt=this.renderer,ut=dt.isHidden(),pt=[],gt,ft,mt,xt=this.isDirtyBox,vt=this.isDirtyLegend,bt;for(dt.rootFontSize=dt.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),x(!!this.hasRendered&&it,this),ut&&this.temporaryDisplay(),this.layOutTitles(!1),mt=st.length;mt--;)if(((bt=st[mt]).options.stacking||bt.options.centerInCategory)&&(ft=!0,bt.isDirty)){gt=!0;break}if(gt)for(mt=st.length;mt--;)(bt=st[mt]).options.stacking&&(bt.isDirty=!0);st.forEach(function(yt){yt.isDirty&&(yt.options.legendType==="point"?(typeof yt.updateTotals=="function"&&yt.updateTotals(),vt=!0):ct&&(ct.labelFormatter||ct.labelFormat)&&(vt=!0)),yt.isDirtyData&&X(yt,"updatedData")}),vt&&at&&at.options.enabled&&(at.render(),this.isDirtyLegend=!1),ft&&this.getStacks(),tt.forEach(function(yt){yt.updateNames(),yt.setScale()}),this.getMargins(),tt.forEach(function(yt){yt.isDirty&&(xt=!0)}),tt.forEach(function(yt){let Ct=yt.min+","+yt.max;yt.extKey!==Ct&&(yt.extKey=Ct,pt.push(function(){X(yt,"afterSetExtremes",R(yt.eventArgs,yt.getExtremes())),delete yt.eventArgs})),(xt||ft)&&yt.redraw()}),xt&&this.drawChartBox(),X(this,"predraw"),st.forEach(function(yt){(xt||yt.isDirty)&&yt.visible&&yt.redraw(),yt.isDirtyData=!1}),ot&&ot.reset(!0),dt.draw(),X(this,"redraw"),X(this,"render"),ut&&this.temporaryDisplay(!0),pt.forEach(function(yt){yt.call()})}get(it){let tt=this.series;function st(at){return at.id===it||at.options&&at.options.id===it}let ot=V(this.axes,st)||V(this.series,st);for(let at=0;!ot&&at<tt.length;at++)ot=V(tt[at].points||[],st);return ot}getAxes(){let it=this.userOptions;for(let tt of(X(this,"getAxes"),["xAxis","yAxis"]))for(let st of it[tt]=et(it[tt]||{}))new T(this,st,tt);X(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((it,tt)=>(tt.getPointsCollection().forEach(st=>{j(st.selectedStaging,st.selected)&&it.push(st)}),it),[])}getSelectedSeries(){return this.series.filter(function(it){return it.selected})}setTitle(it,tt,st){this.applyDescription("title",it),this.applyDescription("subtitle",tt),this.applyDescription("caption",void 0),this.layOutTitles(st)}applyDescription(it,tt){let st=this,ot=this.options[it]=y(this.options[it],tt),at=this[it];at&&tt&&(this[it]=at=at.destroy()),ot&&!at&&((at=this.renderer.text(ot.text,0,0,ot.useHTML).attr({align:ot.align,class:"highcharts-"+it,zIndex:ot.zIndex||4}).add()).update=function(ct,dt){st.applyDescription(it,ct),st.layOutTitles(dt)},this.styledMode||at.css(R(it==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},ot.style)),this[it]=at)}layOutTitles(it=!0){let tt=[0,0,0],st=this.renderer,ot=this.spacingBox;["title","subtitle","caption"].forEach(function(ct){let dt=this[ct],ut=this.options[ct],pt=ut.verticalAlign||"top",gt=ct==="title"?pt==="top"?-3:0:pt==="top"?tt[0]+2:0;if(dt){dt.css({width:(ut.width||ot.width+(ut.widthAdjust||0))+"px"});let ft=st.fontMetrics(dt).b,mt=Math.round(dt.getBBox(ut.useHTML).height);dt.align(R({y:pt==="bottom"?ft:gt+ft,height:mt},ut),!1,"spacingBox"),ut.floating||(pt==="top"?tt[0]=Math.ceil(tt[0]+mt):pt==="bottom"&&(tt[2]=Math.ceil(tt[2]+mt)))}},this),tt[0]&&(this.options.title.verticalAlign||"top")==="top"&&(tt[0]+=this.options.title.margin),tt[2]&&this.options.caption.verticalAlign==="bottom"&&(tt[2]+=this.options.caption.margin);let at=!this.titleOffset||this.titleOffset.join(",")!==tt.join(",");this.titleOffset=tt,X(this,"afterLayOutTitles"),!this.isDirtyBox&&at&&(this.isDirtyBox=this.isDirtyLegend=at,this.hasRendered&&it&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:J(this.renderTo,"width",!0)||0,height:J(this.renderTo,"height",!0)||0}}getChartSize(){let it=this.options.chart,tt=it.width,st=it.height,ot=this.getContainerBox();this.chartWidth=Math.max(0,tt||ot.width||600),this.chartHeight=Math.max(0,U(st,this.chartWidth)||(ot.height>1?ot.height:400)),this.containerBox=ot}temporaryDisplay(it){let tt=this.renderTo,st;if(it)for(;tt&&tt.style;)tt.hcOrigStyle&&(n(tt,tt.hcOrigStyle),delete tt.hcOrigStyle),tt.hcOrigDetached&&(A.body.removeChild(tt),tt.hcOrigDetached=!1),tt=tt.parentNode;else for(;tt&&tt.style&&(A.body.contains(tt)||tt.parentNode||(tt.hcOrigDetached=!0,A.body.appendChild(tt)),(J(tt,"display",!1)==="none"||tt.hcOricDetached)&&(tt.hcOrigStyle={display:tt.style.display,height:tt.style.height,overflow:tt.style.overflow},st={display:"block",overflow:"hidden"},tt!==this.renderTo&&(st.height=0),n(tt,st),tt.offsetWidth||tt.style.setProperty("display","block","important")),(tt=tt.parentNode)!==A.body););}setClassName(it){this.container.className="highcharts-container "+(it||"")}getContainer(){var mt;let it=this.options,tt=it.chart,st="data-highcharts-chart",ot=nt(),at,ct=this.renderTo;ct||(this.renderTo=ct=tt.renderTo),_(ct)&&(this.renderTo=ct=A.getElementById(ct)),ct||w(13,!0,this);let dt=H(a(ct,st));C(dt)&&B[dt]&&B[dt].hasRendered&&B[dt].destroy(),a(ct,st,this.index),ct.innerHTML=M.emptyHTML,tt.skipClone||ct.offsetWidth||this.temporaryDisplay(),this.getChartSize();let ut=this.chartHeight,pt=this.chartWidth;n(ct,{overflow:"hidden",pointerEvents:Z.isChrome?"fill":"auto"}),this.styledMode||(at=R({position:"relative",overflow:"hidden",width:pt+"px",height:ut+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},tt.style||{}));let gt=d("div",{id:ot},at,ct);this.container=gt,this.getChartSize(),pt===this.chartWidth||(pt=this.chartWidth,this.styledMode||n(gt,{width:j((mt=tt.style)==null?void 0:mt.width,pt+"px")})),this.containerBox=this.getContainerBox(),this._cursor=gt.style.cursor;let ft=tt.renderer||!S?Q.getRendererType(tt.renderer):W;if(this.renderer=new ft(gt,pt,ut,void 0,tt.forExport,it.exporting&&it.exporting.allowHTML,this.styledMode),x(void 0,this),this.setClassName(tt.className),this.styledMode)for(let xt in it.defs)this.renderer.definition(it.defs[xt]);else this.renderer.setStyle(tt.style);this.renderer.chartIndex=this.index,X(this,"afterGetContainer")}getMargins(it){let{spacing:tt,margin:st,titleOffset:ot}=this;this.resetMargins(),ot[0]&&!h(st[0])&&(this.plotTop=Math.max(this.plotTop,ot[0]+tt[0])),ot[2]&&!h(st[2])&&(this.marginBottom=Math.max(this.marginBottom,ot[2]+tt[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(st,tt),X(this,"getMargins"),it||this.getAxisMargins()}getAxisMargins(){let it=this,tt=it.axisOffset=[0,0,0,0],st=it.colorAxis,ot=it.margin,at=function(ct){ct.forEach(function(dt){dt.visible&&dt.getOffset()})};it.hasCartesianSeries?at(it.axes):st&&st.length&&at(st),g.forEach(function(ct,dt){h(ot[dt])||(it[ct]+=tt[dt])}),it.setChartSize()}getOptions(){return c(this.userOptions,f)}reflow(it){var at;let tt=this,st=tt.containerBox,ot=tt.getContainerBox();(at=tt.pointer)==null||delete at.chartPosition,!tt.isPrinting&&!tt.isResizing&&st&&ot.width&&((ot.width!==st.width||ot.height!==st.height)&&(E.clearTimeout(tt.reflowTimeout),tt.reflowTimeout=rt(function(){tt.container&&tt.setSize(void 0,void 0,!1)},it?100:0)),tt.containerBox=ot)}setReflow(){let it=this,tt=st=>{var ot;(ot=it.options)!=null&&ot.chart.reflow&&it.hasLoaded&&it.reflow(st)};if(typeof ResizeObserver=="function")new ResizeObserver(tt).observe(it.renderTo);else{let st=r(l,"resize",tt);r(this,"destroy",st)}}setSize(it,tt,st){let ot=this,at=ot.renderer;ot.isResizing+=1,x(st,ot);let ct=at.globalAnimation;ot.oldChartHeight=ot.chartHeight,ot.oldChartWidth=ot.chartWidth,it!==void 0&&(ot.options.chart.width=it),tt!==void 0&&(ot.options.chart.height=tt),ot.getChartSize();let{chartWidth:dt,chartHeight:ut,scrollablePixelsX:pt=0,scrollablePixelsY:gt=0}=ot;(ot.isDirtyBox||dt!==ot.oldChartWidth||ut!==ot.oldChartHeight)&&(ot.styledMode||(ct?o:n)(ot.container,{width:`${dt+pt}px`,height:`${ut+gt}px`},ct),ot.setChartSize(!0),at.setSize(dt,ut,ct),ot.axes.forEach(function(ft){ft.isDirty=!0,ft.setScale()}),ot.isDirtyLegend=!0,ot.isDirtyBox=!0,ot.layOutTitles(),ot.getMargins(),ot.redraw(ct),ot.oldChartHeight=void 0,X(ot,"resize"),setTimeout(()=>{ot&&X(ot,"endResize")},u(ct).duration)),ot.isResizing-=1}setChartSize(it){let tt,st,ot,at,{chartHeight:ct,chartWidth:dt,inverted:ut,spacing:pt,renderer:gt}=this,ft=this.clipOffset,mt=Math[ut?"floor":"round"];this.plotLeft=tt=Math.round(this.plotLeft),this.plotTop=st=Math.round(this.plotTop),this.plotWidth=ot=Math.max(0,Math.round(dt-tt-this.marginRight)),this.plotHeight=at=Math.max(0,Math.round(ct-st-this.marginBottom)),this.plotSizeX=ut?at:ot,this.plotSizeY=ut?ot:at,this.spacingBox=gt.spacingBox={x:pt[3],y:pt[0],width:dt-pt[3]-pt[1],height:ct-pt[0]-pt[2]},this.plotBox=gt.plotBox={x:tt,y:st,width:ot,height:at},ft&&(this.clipBox={x:mt(ft[3]),y:mt(ft[0]),width:mt(this.plotSizeX-ft[1]-ft[3]),height:mt(this.plotSizeY-ft[0]-ft[2])}),it||(this.axes.forEach(function(xt){xt.setAxisSize(),xt.setAxisTranslation()}),gt.alignElements()),X(this,"afterSetChartSize",{skipAxes:it})}resetMargins(){X(this,"resetMargins");let it=this,tt=it.options.chart,st=tt.plotBorderWidth||0,ot=st/2;["margin","spacing"].forEach(function(at){let ct=tt[at],dt=N(ct)?ct:[ct,ct,ct,ct];["Top","Right","Bottom","Left"].forEach(function(ut,pt){it[at][pt]=j(tt[at+ut],dt[pt])})}),g.forEach(function(at,ct){it[at]=j(it.margin[ct],it.spacing[ct])}),it.axisOffset=[0,0,0,0],it.clipOffset=[ot,ot,ot,ot],it.plotBorderWidth=st}drawChartBox(){let it=this.options.chart,tt=this.renderer,st=this.chartWidth,ot=this.chartHeight,at=this.styledMode,ct=this.plotBGImage,dt=it.backgroundColor,ut=it.plotBackgroundColor,pt=it.plotBackgroundImage,gt=this.plotLeft,ft=this.plotTop,mt=this.plotWidth,xt=this.plotHeight,vt=this.plotBox,bt=this.clipRect,yt=this.clipBox,Ct=this.chartBackground,kt=this.plotBackground,Mt=this.plotBorder,Pt,Tt,Ot,Et="animate";Ct||(this.chartBackground=Ct=tt.rect().addClass("highcharts-background").add(),Et="attr"),at?Pt=Tt=Ct.strokeWidth():(Tt=(Pt=it.borderWidth||0)+(it.shadow?8:0),Ot={fill:dt||"none"},(Pt||Ct["stroke-width"])&&(Ot.stroke=it.borderColor,Ot["stroke-width"]=Pt),Ct.attr(Ot).shadow(it.shadow)),Ct[Et]({x:Tt/2,y:Tt/2,width:st-Tt-Pt%2,height:ot-Tt-Pt%2,r:it.borderRadius}),Et="animate",kt||(Et="attr",this.plotBackground=kt=tt.rect().addClass("highcharts-plot-background").add()),kt[Et](vt),!at&&(kt.attr({fill:ut||"none"}).shadow(it.plotShadow),pt&&(ct?(pt!==ct.attr("href")&&ct.attr("href",pt),ct.animate(vt)):this.plotBGImage=tt.image(pt,gt,ft,mt,xt).add())),bt?bt.animate({width:yt.width,height:yt.height}):this.clipRect=tt.clipRect(yt),Et="animate",Mt||(Et="attr",this.plotBorder=Mt=tt.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),at||Mt.attr({stroke:it.plotBorderColor,"stroke-width":it.plotBorderWidth||0,fill:"none"}),Mt[Et](Mt.crisp({x:gt,y:ft,width:mt,height:xt},-Mt.strokeWidth())),this.isDirtyBox=!1,X(this,"afterDrawChartBox")}propFromSeries(){let it,tt,st,ot=this,at=ot.options.chart,ct=ot.options.series;["inverted","angular","polar"].forEach(function(dt){for(tt=s[at.type],st=at[dt]||tt&&tt.prototype[dt],it=ct&&ct.length;!st&&it--;)(tt=s[ct[it].type])&&tt.prototype[dt]&&(st=!0);ot[dt]=st})}linkSeries(it){let tt=this,st=tt.series;st.forEach(function(ot){ot.linkedSeries.length=0}),st.forEach(function(ot){let{linkedTo:at}=ot.options;if(_(at)){let ct;(ct=at===":previous"?tt.series[ot.index-1]:tt.get(at))&&ct.linkedParent!==ot&&(ct.linkedSeries.push(ot),ot.linkedParent=ct,ct.enabledDataSorting&&ot.setDataSortingOptions(),ot.visible=j(ot.options.visible,ct.options.visible,ot.visible))}}),X(this,"afterLinkSeries",{isUpdating:it})}renderSeries(){this.series.forEach(function(it){it.translate(),it.render()})}render(){var gt;let it=this.axes,tt=this.colorAxis,st=this.renderer,ot=this.options.chart.axisLayoutRuns||2,at=ft=>{ft.forEach(mt=>{mt.visible&&mt.render()})},ct=0,dt=!0,ut,pt=0;for(let ft of(this.setTitle(),X(this,"beforeMargins"),(gt=this.getStacks)==null||gt.call(this),this.getMargins(!0),this.setChartSize(),it)){let{options:mt}=ft,{labels:xt}=mt;if(this.hasCartesianSeries&&ft.horiz&&ft.visible&&xt.enabled&&ft.series.length&&ft.coll!=="colorAxis"&&!this.polar){ct=mt.tickLength,ft.createGroups();let vt=new v(ft,0,"",!0),bt=vt.createLabel("x",xt);if(vt.destroy(),bt&&j(xt.reserveSpace,!C(mt.crossing))&&(ct=bt.getBBox().height+xt.distance+Math.max(mt.offset||0,0)),ct){bt==null||bt.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-ct,0);(dt||ut||ot>1)&&pt<ot;){let ft=this.plotWidth,mt=this.plotHeight;for(let xt of it)pt===0?xt.setScale():(xt.horiz&&dt||!xt.horiz&&ut)&&xt.setTickInterval(!0);pt===0?this.getAxisMargins():this.getMargins(),dt=ft/this.plotWidth>(pt?1:1.1),ut=mt/this.plotHeight>(pt?1:1.05),pt++}this.drawChartBox(),this.hasCartesianSeries?at(it):tt&&tt.length&&at(tt),this.seriesGroup||(this.seriesGroup=st.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(it){let tt=this,st=y(!0,this.options.credits,it);st.enabled&&!this.credits&&(this.credits=this.renderer.text(st.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){st.href&&(l.location.href=st.href)}).attr({align:st.position.align,zIndex:8}),tt.styledMode||this.credits.css(st.style),this.credits.add().align(st.position),this.credits.update=function(ot){tt.credits=tt.credits.destroy(),tt.addCredits(ot)})}destroy(){let it,tt=this,st=tt.axes,ot=tt.series,at=tt.container,ct=at&&at.parentNode;for(X(tt,"destroy"),tt.renderer.forExport?z(B,tt):B[tt.index]=void 0,Z.chartCount--,tt.renderTo.removeAttribute("data-highcharts-chart"),K(tt),it=st.length;it--;)st[it]=st[it].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),it=ot.length;it--;)ot[it]=ot[it].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(dt){let ut=tt[dt];ut&&ut.destroy&&(tt[dt]=ut.destroy())}),at&&(at.innerHTML=M.emptyHTML,K(at),ct&&L(at)),D(tt,function(dt,ut){delete tt[ut]})}firstRender(){var ot;let it=this,tt=it.options;it.getContainer(),it.resetMargins(),it.setChartSize(),it.propFromSeries(),it.getAxes();let st=P(tt.series)?tt.series:[];tt.series=[],st.forEach(function(at){it.initSeries(at)}),it.linkSeries(),it.setSortedData(),X(it,"beforeRender"),it.render(),(ot=it.pointer)==null||ot.getChartPosition(),it.renderer.imgCount||it.hasLoaded||it.onload(),it.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(it){it&&this.index!==void 0&&it.apply(this,[this])},this),X(this,"load"),X(this,"render"),h(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:it,title:tt}=this;!it||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(tt&&tt.element.textContent||"").replace(/</g,"<")}),it.accessibility&&it.accessibility.enabled===!1||w('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(it,tt,st){let ot,at=this;return it&&(tt=j(tt,!0),X(at,"addSeries",{options:it},function(){ot=at.initSeries(it),at.isDirtyLegend=!0,at.linkSeries(),ot.enabledDataSorting&&ot.setData(it.data,!1),X(at,"afterAddSeries",{series:ot}),tt&&at.redraw(st)})),ot}addAxis(it,tt,st,ot){return this.createAxis(tt?"xAxis":"yAxis",{axis:it,redraw:st,animation:ot})}addColorAxis(it,tt,st){return this.createAxis("colorAxis",{axis:it,redraw:tt,animation:st})}createAxis(it,tt){let st=new T(this,tt.axis,it);return j(tt.redraw,!0)&&this.redraw(tt.animation),st}showLoading(it){let tt=this,st=tt.options,ot=st.loading,at=function(){ct&&n(ct,{left:tt.plotLeft+"px",top:tt.plotTop+"px",width:tt.plotWidth+"px",height:tt.plotHeight+"px"})},ct=tt.loadingDiv,dt=tt.loadingSpan;ct||(tt.loadingDiv=ct=d("div",{className:"highcharts-loading highcharts-loading-hidden"},null,tt.container)),dt||(tt.loadingSpan=dt=d("span",{className:"highcharts-loading-inner"},null,ct),r(tt,"redraw",at)),ct.className="highcharts-loading",M.setElementHTML(dt,j(it,st.lang.loading,"")),tt.styledMode||(n(ct,R(ot.style,{zIndex:10})),n(dt,ot.labelStyle),tt.loadingShown||(n(ct,{opacity:0,display:""}),o(ct,{opacity:ot.style.opacity||.5},{duration:ot.showDuration||0}))),tt.loadingShown=!0,at()}hideLoading(){let it=this.options,tt=this.loadingDiv;tt&&(tt.className="highcharts-loading highcharts-loading-hidden",this.styledMode||o(tt,{opacity:0},{duration:it.loading.hideDuration||100,complete:function(){n(tt,{display:"none"})}})),this.loadingShown=!1}update(it,tt,st,ot){let at,ct,dt,ut=this,pt={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},gt=it.isResponsiveOptions,ft=[];X(ut,"update",{options:it}),gt||ut.setResponsive(!1,!0),it=c(it,ut.options),ut.userOptions=y(ut.userOptions,it);let mt=it.chart;mt&&(y(!0,ut.options.chart,mt),this.setZoomOptions(),"className"in mt&&ut.setClassName(mt.className),("inverted"in mt||"polar"in mt||"type"in mt)&&(ut.propFromSeries(),at=!0),"alignTicks"in mt&&(at=!0),"events"in mt&&I(this,mt),D(mt,function(bt,yt){ut.propsRequireUpdateSeries.indexOf("chart."+yt)!==-1&&(ct=!0),ut.propsRequireDirtyBox.indexOf(yt)!==-1&&(ut.isDirtyBox=!0),ut.propsRequireReflow.indexOf(yt)===-1||(ut.isDirtyBox=!0,gt||(dt=!0))}),!ut.styledMode&&mt.style&&ut.renderer.setStyle(ut.options.chart.style||{})),!ut.styledMode&&it.colors&&(this.options.colors=it.colors),it.time&&(this.time===p&&(this.time=new k(it.time)),y(!0,ut.options.time,it.time)),D(it,function(bt,yt){ut[yt]&&typeof ut[yt].update=="function"?ut[yt].update(bt,!1):typeof ut[pt[yt]]=="function"?ut[pt[yt]](bt):yt!=="colors"&&ut.collectionsWithUpdate.indexOf(yt)===-1&&y(!0,ut.options[yt],it[yt]),yt!=="chart"&&ut.propsRequireUpdateSeries.indexOf(yt)!==-1&&(ct=!0)}),this.collectionsWithUpdate.forEach(function(bt){it[bt]&&(et(it[bt]).forEach(function(yt,Ct){let kt,Mt=h(yt.id);Mt&&(kt=ut.get(yt.id)),!kt&&ut[bt]&&(kt=ut[bt][j(yt.index,Ct)])&&(Mt&&h(kt.options.id)||kt.options.isInternal)&&(kt=void 0),kt&&kt.coll===bt&&(kt.update(yt,!1),st&&(kt.touched=!0)),!kt&&st&&ut.collectionsWithInit[bt]&&(ut.collectionsWithInit[bt][0].apply(ut,[yt].concat(ut.collectionsWithInit[bt][1]||[]).concat([!1])).touched=!0)}),st&&ut[bt].forEach(function(yt){yt.touched||yt.options.isInternal?delete yt.touched:ft.push(yt)}))}),ft.forEach(function(bt){bt.chart&&bt.remove&&bt.remove(!1)}),at&&ut.axes.forEach(function(bt){bt.update({},!1)}),ct&&ut.getSeriesOrderByLinks().forEach(function(bt){bt.chart&&bt.update({},!1)},this);let xt=mt&&mt.width,vt=mt&&(_(mt.height)?U(mt.height,xt||ut.chartWidth):mt.height);dt||C(xt)&&xt!==ut.chartWidth||C(vt)&&vt!==ut.chartHeight?ut.setSize(xt,vt,ot):j(tt,!0)&&ut.redraw(ot),X(ut,"afterUpdate",{options:it,redraw:tt,animation:ot})}setSubtitle(it,tt){this.applyDescription("subtitle",it),this.layOutTitles(tt)}setCaption(it,tt){this.applyDescription("caption",it),this.layOutTitles(tt)}showResetZoom(){let it=this,tt=f.lang,st=it.zooming.resetButton,ot=st.theme,at=st.relativeTo==="chart"||st.relativeTo==="spacingBox"?null:"plotBox";function ct(){it.zoomOut()}X(this,"beforeShowResetZoom",null,function(){it.resetZoomButton=it.renderer.button(tt.resetZoom,null,null,ct,ot).attr({align:st.position.align,title:tt.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(st.position,!1,at)}),X(this,"afterShowResetZoom")}zoomOut(){X(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(it,tt){let st=this,ot=typeof tt=="object"?tt:{enabled:tt,type:"x"},at=ot.type,ct=at&&st[{x:"xAxis",xy:"axes",y:"yAxis"}[at]].filter(ut=>ut.options.panningEnabled&&!ut.options.isInternal),dt=st.options.chart;dt!=null&&dt.panning&&(dt.panning=ot),X(this,"pan",{originalEvent:it},()=>{st.transform({axes:ct,event:it,to:{x:it.chartX-(st.mouseDownX||0),y:it.chartY-(st.mouseDownY||0)},trigger:"pan"}),n(st.container,{cursor:"move"})})}transform(it){var xt;let{axes:tt=this.axes,event:st,from:ot={},reset:at,selection:ct,to:dt={},trigger:ut}=it,{inverted:pt}=this,gt=!1,ft,mt;for(let vt of((xt=this.hoverPoints)==null||xt.forEach(bt=>bt.setState()),tt)){let{horiz:bt,len:yt,minPointOffset:Ct=0,options:kt,reversed:Mt}=vt,Pt=bt?"width":"height",Tt=bt?"x":"y",Ot=j(dt[Pt],vt.len),Et=j(ot[Pt],vt.len),Nt=10>Math.abs(Ot)?1:Ot/Et,ee=(ot[Tt]||0)+Et/2-vt.pos,Vt=ee-((dt[Tt]??vt.pos)+Ot/2-vt.pos)/Nt,Oe=Mt&&!pt||!Mt&&pt?-1:1;if(!at&&(ee<0||ee>vt.len))continue;let Dt=vt.toValue(Vt,!0)+(ct?0:Ct*Oe),Rt=vt.toValue(Vt+yt/Nt,!0)-(ct?0:Ct*Oe||0),Kt=vt.allExtremes;if(Dt>Rt&&([Dt,Rt]=[Rt,Dt]),Nt===1&&!at&&vt.coll==="yAxis"&&!Kt){for(let As of vt.series){let Ve=As.getExtremes(As.getProcessedData(!0).yData,!0);Kt??(Kt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),C(Ve.dataMin)&&C(Ve.dataMax)&&(Kt.dataMin=Math.min(Ve.dataMin,Kt.dataMin),Kt.dataMax=Math.max(Ve.dataMax,Kt.dataMax))}vt.allExtremes=Kt}let{dataMin:zo,dataMax:Fo,min:vs,max:Ss}=R(vt.getExtremes(),Kt||{}),ks=zo??kt.min,Cs=Fo??kt.max,wi=Rt-Dt,ws=vt.categories?0:Math.min(wi,Cs-ks),Mi=ks-ws*(h(kt.min)?0:kt.minPadding),Ai=Cs+ws*(h(kt.max)?0:kt.maxPadding),Ms=vt.allowZoomOutside||Nt===1||ut!=="zoom"&&Nt>1,Ue=Math.min(kt.min??Mi,Mi,Ms?vs:Mi),Ye=Math.max(kt.max??Ai,Ai,Ms?Ss:Ai);(!vt.isOrdinal||Nt!==1||at)&&(Dt<Ue&&(Dt=Ue,Nt>=1&&(Rt=Dt+wi)),Rt>Ye&&(Rt=Ye,Nt>=1&&(Dt=Rt-wi)),(at||vt.series.length&&(Dt!==vs||Rt!==Ss)&&Dt>=Ue&&Rt<=Ye)&&(ct?ct[vt.coll].push({axis:vt,min:Dt,max:Rt}):(vt.isPanning=ut!=="zoom",vt.isPanning&&(mt=!0),vt.setExtremes(at?void 0:Dt,at?void 0:Rt,!1,!1,{move:Vt,trigger:ut,scale:Nt}),!at&&(Dt>Ue||Rt<Ye)&&ut!=="mousewheel"&&(ft=!0)),gt=!0),st&&(this[bt?"mouseDownX":"mouseDownY"]=st[bt?"chartX":"chartY"]))}return gt&&(ct?X(this,"selection",ct,()=>{delete it.selection,it.trigger="zoom",this.transform(it)}):(!ft||mt||this.resetZoomButton?!ft&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(ut==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),gt}}return R(lt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[lt.prototype.addAxis,[!0]],yAxis:[lt.prototype.addAxis,[!1]],series:[lt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),lt}),O(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{stop:q}=m,{composed:Z}=T,{addEvent:Q,createElement:Y,css:F,defined:W,merge:k,pushUnique:E}=$;function M(){let u=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!u&&(this.scrollablePlotArea=u=new o(this)),u==null||u.applyFixed()}function v(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class o{static compose(x,f,p){E(Z,this.compose)&&(Q(x,"afterInit",v),Q(f,"afterSetChartSize",b=>this.afterSetSize(b.target,b)),Q(f,"render",M),Q(p,"show",v))}static afterSetSize(x,f){let p,b,I,{minWidth:B,minHeight:A}=x.options.chart.scrollablePlotArea||{},{clipBox:g,plotBox:S,inverted:l,renderer:s}=x;if(!s.forExport&&(B?(x.scrollablePixelsX=p=Math.max(0,B-x.chartWidth),p&&(x.scrollablePlotBox=k(x.plotBox),S.width=x.plotWidth+=p,g[l?"height":"width"]+=p,I=!0)):A&&(x.scrollablePixelsY=b=Math.max(0,A-x.chartHeight),W(b)&&(x.scrollablePlotBox=k(x.plotBox),S.height=x.plotHeight+=b,g[l?"width":"height"]+=b,I=!1)),W(I)&&!f.skipAxes))for(let r of x.axes)r.horiz===I&&(r.setAxisSize(),r.setAxisTranslation())}constructor(x){var a;let f,p=x.options.chart,b=G.getRendererType(),I=p.scrollablePlotArea||{},B=this.moveFixedElements.bind(this),A={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};x.scrollablePixelsX&&(A.overflowX="auto"),x.scrollablePixelsY&&(A.overflowY="auto"),this.chart=x;let g=this.parentDiv=Y("div",{className:"highcharts-scrolling-parent"},{position:"relative"},x.renderTo),S=this.scrollingContainer=Y("div",{className:"highcharts-scrolling"},A,g),l=this.innerContainer=Y("div",{className:"highcharts-inner-container"},void 0,S),s=this.fixedDiv=Y("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(((a=p.style)==null?void 0:a.zIndex)||0)+2,top:0},void 0,!0),r=this.fixedRenderer=new b(s,x.chartWidth,x.chartHeight,p.style);this.mask=r.path().attr({fill:p.backgroundColor||"#fff","fill-opacity":I.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),S.parentNode.insertBefore(s,S),F(x.renderTo,{overflow:"visible"}),Q(x,"afterShowResetZoom",B),Q(x,"afterApplyDrilldown",B),Q(x,"afterLayOutTitles",B),Q(S,"scroll",()=>{let{pointer:d,hoverPoint:n}=x;d&&(delete d.chartPosition,n&&(f=n),d.runPointActions(void 0,f,!0))}),l.appendChild(x.container)}applyFixed(){var C;let{chart:x,fixedRenderer:f,isDirty:p,scrollingContainer:b}=this,{axisOffset:I,chartWidth:B,chartHeight:A,container:g,plotHeight:S,plotLeft:l,plotTop:s,plotWidth:r,scrollablePixelsX:a=0,scrollablePixelsY:d=0}=x,{scrollPositionX:n=0,scrollPositionY:h=0}=x.options.chart.scrollablePlotArea||{},c=B+a,L=A+d;f.setSize(B,A),(p??!0)&&(this.isDirty=!1,this.moveFixedElements()),q(x.container),F(g,{width:`${c}px`,height:`${L}px`}),x.renderer.boxWrapper.attr({width:c,height:L,viewBox:[0,0,c,L].join(" ")}),(C=x.chartBackground)==null||C.attr({width:c,height:L}),F(b,{width:`${B}px`,height:`${A}px`}),W(p)||(b.scrollLeft=a*n,b.scrollTop=d*h);let z=s-I[0]-1,w=l-I[3]-1,R=s+S+I[2]+1,V=l+r+I[1]+1,X=l+r-a,J=s+S-d,P=[["M",0,0]];a?P=[["M",0,z],["L",l-1,z],["L",l-1,R],["L",0,R],["Z"],["M",X,z],["L",B,z],["L",B,R],["L",X,R],["Z"]]:d&&(P=[["M",w,0],["L",w,s-1],["L",V,s-1],["L",V,0],["Z"],["M",w,J],["L",w,A],["L",V,A],["L",V,J],["Z"]]),x.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:P})}moveFixedElements(){let x,{container:f,inverted:p,scrollablePixelsX:b,scrollablePixelsY:I}=this.chart,B=this.fixedRenderer,A=o.fixedSelectors;for(let g of(b&&!p?x=".highcharts-yaxis":b&&p||I&&!p?x=".highcharts-xaxis":I&&p&&(x=".highcharts-yaxis"),x&&A.push(`${x}:not(.highcharts-radial-axis)`,`${x}-labels:not(.highcharts-radial-axis-labels)`),A))[].forEach.call(f.querySelectorAll(g),S=>{(S.namespaceURI===B.SVG_NS?B.box:B.box.parentNode).appendChild(S),S.style.pointerEvents="auto"})}}return o.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],o}),O(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{format:$}=m,{series:q}=T,{destroyObjectProperties:Z,fireEvent:Q,isNumber:Y,pick:F}=G;return class{constructor(W,k,E,M,v){let o=W.chart.inverted,u=W.reversed;this.axis=W;let x=this.isNegative=!!E!=!!u;this.options=k=k||{},this.x=M,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=v,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:k.align||(o?x?"left":"right":"center"),verticalAlign:k.verticalAlign||(o?"middle":x?"bottom":"top"),y:k.y,x:k.x},this.textAlign=k.textAlign||(o?x?"right":"left":"center")}destroy(){Z(this,this.axis)}render(W){let k=this.axis.chart,E=this.options,M=E.format,v=M?$(M,this,k):E.formatter.call(this);if(this.label)this.label.attr({text:v,visibility:"hidden"});else{this.label=k.renderer.label(v,null,void 0,E.shape,void 0,void 0,E.useHTML,!1,"stack-labels");let o={r:E.borderRadius||0,text:v,padding:F(E.padding,5),visibility:"hidden"};k.styledMode||(o.fill=E.backgroundColor,o.stroke=E.borderColor,o["stroke-width"]=E.borderWidth,this.label.css(E.style||{})),this.label.attr(o),this.label.added||this.label.add(W)}this.label.labelrank=k.plotSizeY,Q(this,"afterRender")}setOffset(W,k,E,M,v,o){let{alignOptions:u,axis:x,label:f,options:p,textAlign:b}=this,I=x.chart,B=this.getStackBox({xOffset:W,width:k,boxBottom:E,boxTop:M,defaultX:v,xAxis:o}),{verticalAlign:A}=u;if(f&&B){let g=f.getBBox(void 0,0),S=f.padding,l=F(p.overflow,"justify")==="justify",s;u.x=p.x||0,u.y=p.y||0;let{x:r,y:a}=this.adjustStackPosition({labelBox:g,verticalAlign:A,textAlign:b});B.x-=r,B.y-=a,f.align(u,!1,B),(s=I.isInsidePlot(f.alignAttr.x+u.x+r,f.alignAttr.y+u.y+a))||(l=!1),l&&q.prototype.justifyDataLabel.call(x,f,u,f.alignAttr,g,B),f.attr({x:f.alignAttr.x,y:f.alignAttr.y,rotation:p.rotation,rotationOriginX:g.width*{left:0,center:.5,right:1}[p.textAlign||"center"],rotationOriginY:g.height/2}),F(!l&&p.crop,!0)&&(s=Y(f.x)&&Y(f.y)&&I.isInsidePlot(f.x-S+(f.width||0),f.y)&&I.isInsidePlot(f.x+S,f.y)),f[s?"show":"hide"]()}Q(this,"afterSetOffset",{xOffset:W,width:k})}adjustStackPosition({labelBox:W,verticalAlign:k,textAlign:E}){let M={bottom:0,middle:1,top:2,right:1,center:0,left:-1},v=M[k],o=M[E];return{x:W.width/2+W.width/2*o,y:W.height/2*v}}getStackBox(W){let k=this.axis,E=k.chart,{boxTop:M,defaultX:v,xOffset:o,width:u,boxBottom:x}=W,f=k.stacking.usePercentage?100:F(M,this.total,0),p=k.toPixels(f),b=W.xAxis||E.xAxis[0],I=F(v,b.translate(this.x))+o,B=Math.abs(p-k.toPixels(x||Y(k.min)&&k.logarithmic&&k.logarithmic.lin2log(k.min)||0)),A=E.inverted,g=this.isNegative;return A?{x:(g?p:p-B)-E.plotLeft,y:b.height-I-u+b.top-E.plotTop,width:B,height:u}:{x:I+b.transB-E.plotLeft,y:(g?p-B:p)-E.plotTop,width:u,height:B}}}}),O(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){var Z;let{getDeferredAnimation:Q}=m,{series:{prototype:Y}}=G,{addEvent:F,correctFloat:W,defined:k,destroyObjectProperties:E,fireEvent:M,isArray:v,isNumber:o,objectEach:u,pick:x}=q;function f(){let s=this.inverted;this.axes.forEach(r=>{r.stacking&&r.stacking.stacks&&r.hasVisibleSeries&&(r.stacking.oldStacks=r.stacking.stacks)}),this.series.forEach(r=>{let a=r.xAxis&&r.xAxis.options||{};r.options.stacking&&r.reserveSpace()&&(r.stackKey=[r.type,x(r.options.stack,""),s?a.top:a.left,s?a.height:a.width].join(","))})}function p(){var r;let s=this.stacking;if(s){let a=s.stacks;u(a,(d,n)=>{E(d),delete a[n]}),(r=s.stackTotalGroup)==null||r.destroy()}}function b(){this.stacking||(this.stacking=new l(this))}function I(s,r,a,d){return!k(s)||s.x!==r||d&&s.stackKey!==d?s={x:r,index:0,key:d,stackKey:d}:s.index++,s.key=[a,r,s.index].join(","),s}function B(){let s,r=this,a=r.yAxis,d=r.stackKey||"",n=a.stacking.stacks,h=r.processedXData,c=r.options.stacking,L=r[c+"Stacker"];L&&[d,"-"+d].forEach(z=>{var J;let w=h.length,R,V,X;for(;w--;)R=h[w],s=r.getStackIndicator(s,R,r.index,z),V=(J=n[z])==null?void 0:J[R],(X=V==null?void 0:V.points[s.key||""])&&L.call(r,X,V,w)})}function A(s,r,a){let d=r.total?100/r.total:0;s[0]=W(s[0]*d),s[1]=W(s[1]*d),this.stackedYData[a]=s[1]}function g(s){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?Y.setStackedPoints.call(this,s,"group"):s.stacking.resetStacks())}function S(s,r){var nt,lt;let a,d,n,h,c,L,z,w,R,V=r||this.options.stacking;if(!V||!this.reserveSpace()||({group:"xAxis"}[V]||"yAxis")!==s.coll)return;let X=this.processedXData,J=this.processedYData,P=[],C=J.length,N=this.options,_=N.threshold||0,y=N.startFromThreshold?_:0,D=N.stack,j=r?`${this.type},${V}`:this.stackKey||"",H="-"+j,U=this.negStacks,K=s.stacking,et=K.stacks,rt=K.oldStacks;for(K.stacksTouched+=1,z=0;z<C;z++){w=X[z],R=J[z],L=(a=this.getStackIndicator(a,w,this.index)).key||"",et[c=(d=U&&R<(y?0:_))?H:j]||(et[c]={}),et[c][w]||((nt=rt[c])!=null&&nt[w]?(et[c][w]=rt[c][w],et[c][w].total=null):et[c][w]=new $(s,s.options.stackLabels,!!d,w,D)),n=et[c][w],R!==null?(n.points[L]=n.points[this.index]=[x(n.cumulative,y)],k(n.cumulative)||(n.base=L),n.touched=K.stacksTouched,a.index>0&&this.singleStacks===!1&&(n.points[L][0]=n.points[this.index+","+w+",0"][0])):(delete n.points[L],delete n.points[this.index]);let ht=n.total||0;V==="percent"?(h=d?j:H,ht=U&&((lt=et[h])!=null&<[w])?(h=et[h][w]).total=Math.max(h.total||0,ht)+Math.abs(R)||0:W(ht+(Math.abs(R)||0))):V==="group"?(v(R)&&(R=R[0]),R!==null&&ht++):ht=W(ht+(R||0)),V==="group"?n.cumulative=(ht||1)-1:n.cumulative=W(x(n.cumulative,y)+(R||0)),n.total=ht,R!==null&&(n.points[L].push(n.cumulative),P[z]=n.cumulative,n.hasValidPoints=!0)}V==="percent"&&(K.usePercentage=!0),V!=="group"&&(this.stackedYData=P),K.oldStacks={}}class l{constructor(r){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=r}buildStacks(){let r,a,d=this.axis,n=d.series,h=d.coll==="xAxis",c=d.options.reversedStacks,L=n.length;for(this.resetStacks(),this.usePercentage=!1,a=L;a--;)r=n[c?a:L-a-1],h&&r.setGroupedPoints(d),r.setStackedPoints(d);if(!h)for(a=0;a<L;a++)n[a].modifyStacks();M(d,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,u(this.stacks,r=>{u(r,a=>{a.cumulative=a.total})}))}resetStacks(){u(this.stacks,r=>{u(r,(a,d)=>{o(a.touched)&&a.touched<this.stacksTouched?(a.destroy(),delete r[d]):(a.total=null,a.cumulative=null)})})}renderStackTotals(){var L;let r=this.axis,a=r.chart,d=a.renderer,n=this.stacks,h=Q(a,((L=r.options.stackLabels)==null?void 0:L.animation)||!1),c=this.stackTotalGroup=this.stackTotalGroup||d.g("stack-labels").attr({zIndex:6,opacity:0}).add();c.translate(a.plotLeft,a.plotTop),u(n,z=>{u(z,w=>{w.render(c)})}),c.animate({opacity:1},h)}}return(Z||(Z={})).compose=function(s,r,a){let d=r.prototype,n=a.prototype;d.getStacks||(F(s,"init",b),F(s,"destroy",p),d.getStacks=f,n.getStackIndicator=I,n.modifyStacks=B,n.percentStacker=A,n.setGroupedPoints=g,n.setStackedPoints=S)},Z}),O(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{defined:$,merge:q,isObject:Z}=G;class Q extends m{drawGraph(){let F=this.options,W=(this.gappedPath||this.getGraphPath).call(this),k=this.chart.styledMode;[this,...this.zones].forEach((E,M)=>{let v,o=E.graph,u=o?"animate":"attr",x=E.dashStyle||F.dashStyle;o?(o.endX=this.preventGraphAnimation?null:W.xMap,o.animate({d:W})):W.length&&(E.graph=o=this.chart.renderer.path(W).addClass("highcharts-graph"+(M?` highcharts-zone-graph-${M-1} `:" ")+(M&&E.className||"")).attr({zIndex:1}).add(this.group)),o&&!k&&(v={stroke:!M&&F.lineColor||E.color||this.color||"#cccccc","stroke-width":F.lineWidth||0,fill:this.fillGraph&&this.color||"none"},x?v.dashstyle=x:F.linecap!=="square"&&(v["stroke-linecap"]=v["stroke-linejoin"]="round"),o[u](v).shadow(M<2&&F.shadow&&q({filterUnits:"userSpaceOnUse"},Z(F.shadow)?F.shadow:{}))),o&&(o.startX=W.xMap,o.isArea=W.isArea)})}getGraphPath(F,W,k){let E=this,M=E.options,v=[],o=[],u,x=M.step,f=(F=F||E.points).reversed;return f&&F.reverse(),(x={right:1,center:2}[x]||x&&3)&&f&&(x=4-x),(F=this.getValidPoints(F,!1,!(M.connectNulls&&!W&&!k))).forEach(function(p,b){let I,B=p.plotX,A=p.plotY,g=F[b-1],S=p.isNull||typeof A!="number";(p.leftCliff||g&&g.rightCliff)&&!k&&(u=!0),S&&!$(W)&&b>0?u=!M.connectNulls:S&&!W?u=!0:(b===0||u?I=[["M",p.plotX,p.plotY]]:E.getPointSpline?I=[E.getPointSpline(F,p,b)]:x?(I=x===1?[["L",g.plotX,A]]:x===2?[["L",(g.plotX+B)/2,g.plotY],["L",(g.plotX+B)/2,A]]:[["L",B,g.plotY]]).push(["L",B,A]):I=[["L",B,A]],o.push(p.x),x&&(o.push(p.x),x===2&&o.push(p.x)),v.push.apply(v,I),u=!1)}),v.xMap=o,E.graphPath=v,v}}return Q.defaultOptions=q(m.defaultOptions,{legendSymbol:"lineMarker"}),T.registerSeriesType("line",Q),Q}),O(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),O(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{seriesTypes:{line:$}}=T,{extend:q,merge:Z,objectEach:Q,pick:Y}=G;class F extends ${drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:k,options:E}=this;[this,...this.zones].forEach((M,v)=>{let o={},u=M.fillColor||E.fillColor,x=M.area,f=x?"animate":"attr";x?(x.endX=this.preventGraphAnimation?null:k.xMap,x.animate({d:k})):(o.zIndex=0,(x=M.area=this.chart.renderer.path(k).addClass("highcharts-area"+(v?` highcharts-zone-area-${v-1} `:" ")+(v&&M.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=u||M.color||this.color,o["fill-opacity"]=u?1:E.fillOpacity??.75,x.css({pointerEvents:this.stickyTracking?"none":"auto"})),x[f](o),x.startX=k.xMap,x.shiftUnit=E.step?2:1})}getGraphPath(k){let E,M,v,o=$.prototype.getGraphPath,u=this.options,x=u.stacking,f=this.yAxis,p=[],b=[],I=this.index,B=f.stacking.stacks[this.stackKey],A=u.threshold,g=Math.round(f.getThreshold(u.threshold)),S=Y(u.connectNulls,x==="percent"),l=function(h,c,L){let z=k[h],w=x&&B[z.x].points[I],R=z[L+"Null"]||0,V=z[L+"Cliff"]||0,X,J,P=!0;V||R?(X=(R?w[0]:w[1])+V,J=w[0]+V,P=!!R):!x&&k[c]&&k[c].isNull&&(X=J=A),X!==void 0&&(b.push({plotX:E,plotY:X===null?g:f.getThreshold(X),isNull:P,isCliff:!0}),p.push({plotX:E,plotY:J===null?g:f.getThreshold(J),doCurve:!1}))};k=k||this.points,x&&(k=this.getStackPoints(k));for(let h=0,c=k.length;h<c;++h)x||(k[h].leftCliff=k[h].rightCliff=k[h].leftNull=k[h].rightNull=void 0),M=k[h].isNull,E=Y(k[h].rectPlotX,k[h].plotX),v=x?Y(k[h].yBottom,g):g,M&&!S||(S||l(h,h-1,"left"),M&&!x&&S||(b.push(k[h]),p.push({x:h,plotX:E,plotY:v})),S||l(h,h+1,"right"));let s=o.call(this,b,!0,!0);p.reversed=!0;let r=o.call(this,p,!0,!0),a=r[0];a&&a[0]==="M"&&(r[0]=["L",a[1],a[2]]);let d=s.concat(r);d.length&&d.push(["Z"]);let n=o.call(this,b,!1,S);return this.chart.series.length>1&&x&&b.some(h=>h.isCliff)&&(d.hasStackedCliffs=n.hasStackedCliffs=!0),d.xMap=s.xMap,this.areaPath=d,n}getStackPoints(k){let E=this,M=[],v=[],o=this.xAxis,u=this.yAxis,x=u.stacking.stacks[this.stackKey],f={},p=u.series,b=p.length,I=u.options.reversedStacks?1:-1,B=p.indexOf(E);if(k=k||this.points,this.options.stacking){for(let g=0;g<k.length;g++)k[g].leftNull=k[g].rightNull=void 0,f[k[g].x]=k[g];Q(x,function(g,S){g.total!==null&&v.push(S)}),v.sort(function(g,S){return g-S});let A=p.map(g=>g.visible);v.forEach(function(g,S){let l=0,s,r;if(f[g]&&!f[g].isNull)M.push(f[g]),[-1,1].forEach(function(a){let d=a===1?"rightNull":"leftNull",n=x[v[S+a]],h=0;if(n){let c=B;for(;c>=0&&c<b;){let L=p[c].index;!(s=n.points[L])&&(L===E.index?f[g][d]=!0:A[c]&&(r=x[g].points[L])&&(h-=r[1]-r[0])),c+=I}}f[g][a===1?"rightCliff":"leftCliff"]=h});else{let a=B;for(;a>=0&&a<b;){let d=p[a].index;if(s=x[g].points[d]){l=s[1];break}a+=I}l=Y(l,0),l=u.translate(l,0,1,0,1),M.push({isNull:!0,plotX:o.translate(g,0,0,0,1),x:g,plotY:l,yBottom:l})}})}return M}}return F.defaultOptions=Z($.defaultOptions,m),q(F.prototype,{singleStacks:!1}),T.registerSeriesType("area",F),F}),O(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{line:G}=m.seriesTypes,{merge:$,pick:q}=T;class Z extends G{getPointSpline(Y,F,W){let k,E,M,v,o=F.plotX||0,u=F.plotY||0,x=Y[W-1],f=Y[W+1];function p(I){return I&&!I.isNull&&I.doCurve!==!1&&!F.isCliff}if(p(x)&&p(f)){let I=x.plotX||0,B=x.plotY||0,A=f.plotX||0,g=f.plotY||0,S=0;k=(1.5*o+I)/2.5,E=(1.5*u+B)/2.5,M=(1.5*o+A)/2.5,v=(1.5*u+g)/2.5,M!==k&&(S=(v-E)*(M-o)/(M-k)+u-v),E+=S,v+=S,E>B&&E>u?(E=Math.max(B,u),v=2*u-E):E<B&&E<u&&(E=Math.min(B,u),v=2*u-E),v>g&&v>u?(v=Math.max(g,u),E=2*u-v):v<g&&v<u&&(v=Math.min(g,u),E=2*u-v),F.rightContX=M,F.rightContY=v,F.controlPoints={low:[k,E],high:[M,v]}}let b=["C",q(x.rightContX,x.plotX,0),q(x.rightContY,x.plotY,0),q(k,o,0),q(E,u,0),o,u];return x.rightContX=x.rightContY=void 0,b}}return Z.defaultOptions=$(G.defaultOptions),m.registerSeriesType("spline",Z),Z}),O(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{area:$,area:{prototype:q}}=T.seriesTypes,{extend:Z,merge:Q}=G;class Y extends m{}return Y.defaultOptions=Q(m.defaultOptions,$.defaultOptions),Z(Y.prototype,{getGraphPath:q.getGraphPath,getStackPoints:q.getStackPoints,drawGraph:q.drawGraph}),T.registerSeriesType("areaspline",Y),Y}),O(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),O(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q){let{animObject:Y}=m,{parse:F}=T,{noop:W}=$,{clamp:k,crisp:E,defined:M,extend:v,fireEvent:o,isArray:u,isNumber:x,merge:f,pick:p,objectEach:b}=Q;class I extends q{animate(A){let g,S,l=this,s=this.yAxis,r=s.pos,a=s.reversed,d=l.options,{clipOffset:n,inverted:h}=this.chart,c={},L=h?"translateX":"translateY";A&&n?(c.scaleY=.001,S=k(s.toPixels(d.threshold),r,r+s.len),h?(S+=a?-Math.floor(n[0]):Math.ceil(n[2]),c.translateX=S-s.len):(S+=a?Math.ceil(n[0]):-Math.floor(n[2]),c.translateY=S),l.clipBox&&l.setClip(),l.group.attr(c)):(g=Number(l.group.attr(L)),l.group.animate({scaleY:1},v(Y(l.options.animation),{step:function(z,w){l.group&&(c[L]=g+w.pos*(r-g),l.group.attr(c))}})))}init(A,g){super.init.apply(this,arguments);let S=this;(A=S.chart).hasRendered&&A.series.forEach(function(l){l.type===S.type&&(l.isDirty=!0)})}getColumnMetrics(){var R,V;let A=this,g=A.options,S=A.xAxis,l=A.yAxis,s=S.options.reversedStacks,r=S.reversed&&!s||!S.reversed&&s,a={},d,n=0;g.grouping===!1?n=1:A.chart.series.forEach(function(X){let J,P=X.yAxis,C=X.options;X.type===A.type&&X.reserveSpace()&&l.len===P.len&&l.pos===P.pos&&(C.stacking&&C.stacking!=="group"?(a[d=X.stackKey]===void 0&&(a[d]=n++),J=a[d]):C.grouping!==!1&&(J=n++),X.columnIndex=J)});let h=Math.min(Math.abs(S.transA)*(!((R=S.brokenAxis)!=null&&R.hasBreaks)&&((V=S.ordinal)==null?void 0:V.slope)||g.pointRange||S.closestPointRange||S.tickInterval||1),S.len),c=h*g.groupPadding,L=(h-2*c)/(n||1),z=Math.min(g.maxPointWidth||S.len,p(g.pointWidth,L*(1-2*g.pointPadding))),w=(A.columnIndex||0)+(r?1:0);return A.columnMetrics={width:z,offset:(L-z)/2+(c+w*L-h/2)*(r?-1:1),paddedWidth:L,columnCount:n},A.columnMetrics}crispCol(A,g,S,l){let s=this.borderWidth,r=this.chart.inverted;return l=E(g+l,s,r)-(g=E(g,s,r)),this.options.crisp&&(S=E(A+S,s)-(A=E(A,s))),{x:A,y:g,width:S,height:l}}adjustForMissingColumns(A,g,S,l){var s;if(!S.isNull&&l.columnCount>1){let r=this.xAxis.series.filter(h=>h.visible).map(h=>h.index),a=0,d=0;b((s=this.xAxis.stacking)==null?void 0:s.stacks,h=>{if(typeof S.x=="number"){let c=h[S.x.toString()];if(c&&u(c.points[this.index])){let L=Object.keys(c.points).filter(z=>!z.match(",")&&c.points[z]&&c.points[z].length>1).map(parseFloat).filter(z=>r.indexOf(z)!==-1).sort((z,w)=>w-z);a=L.indexOf(this.index),d=L.length}}}),a=this.xAxis.reversed?d-1-a:a;let n=(d-1)*l.paddedWidth+g;A=(S.plotX||0)+n/2-g-a*l.paddedWidth}return A}translate(){let A=this,g=A.chart,S=A.options,l=A.dense=A.closestPointRange*A.xAxis.transA<2,s=A.borderWidth=p(S.borderWidth,l?0:1),r=A.xAxis,a=A.yAxis,d=S.threshold,n=p(S.minPointLength,5),h=A.getColumnMetrics(),c=h.width,L=A.pointXOffset=h.offset,z=A.dataMin,w=A.dataMax,R=A.translatedThreshold=a.getThreshold(d),V=A.barW=Math.max(c,1+2*s);S.pointPadding&&(V=Math.ceil(V)),q.prototype.translate.apply(A),A.points.forEach(function(X){let J=p(X.yBottom,R),P=999+Math.abs(J),C=X.plotX||0,N=k(X.plotY,-P,a.len+P),_,y=Math.min(N,J),D=Math.max(N,J)-y,j=c,H=C+L,U=V;n&&Math.abs(D)<n&&(D=n,_=!a.reversed&&!X.negative||a.reversed&&X.negative,x(d)&&x(w)&&X.y===d&&w<=d&&(a.min||0)<d&&(z!==w||(a.max||0)<=d)&&(_=!_,X.negative=!X.negative),y=Math.abs(y-R)>n?J-n:R-(_?n:0)),M(X.options.pointWidth)&&(H-=Math.round(((j=U=Math.ceil(X.options.pointWidth))-c)/2)),S.centerInCategory&&!S.stacking&&(H=A.adjustForMissingColumns(H,j,X,h)),X.barX=H,X.pointWidth=j,X.tooltipPos=g.inverted?[k(a.len+a.pos-g.plotLeft-N,a.pos-g.plotLeft,a.len+a.pos-g.plotLeft),r.len+r.pos-g.plotTop-H-U/2,D]:[r.left-g.plotLeft+H+U/2,k(N+a.pos-g.plotTop,a.pos-g.plotTop,a.len+a.pos-g.plotTop),D],X.shapeType=A.pointClass.prototype.shapeType||"roundedRect",X.shapeArgs=A.crispCol(H,X.isNull?R:y,U,X.isNull?0:D)}),o(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(A,g){let S=this.options,l=this.pointAttrToOptions||{},s=l.stroke||"borderColor",r=l["stroke-width"]||"borderWidth",a,d,n,h=A&&A.color||this.color,c=A&&A[s]||S[s]||h,L=A&&A.options.dashStyle||S.dashStyle,z=A&&A[r]||S[r]||this[r]||0,w=p(A&&A.opacity,S.opacity,1);A&&this.zones.length&&(d=A.getZone(),h=A.options.color||d&&(d.color||A.nonZonedColor)||this.color,d&&(c=d.borderColor||c,L=d.dashStyle||L,z=d.borderWidth||z)),g&&A&&(n=(a=f(S.states[g],A.options.states&&A.options.states[g]||{})).brightness,h=a.color||n!==void 0&&F(h).brighten(a.brightness).get()||h,c=a[s]||c,z=a[r]||z,L=a.dashStyle||L,w=p(a.opacity,w));let R={fill:h,stroke:c,"stroke-width":z,opacity:w};return L&&(R.dashstyle=L),R}drawPoints(A=this.points){let g,S=this,l=this.chart,s=S.options,r=l.renderer,a=s.animationLimit||250;A.forEach(function(d){let n=d.plotY,h=d.graphic,c=!!h,L=h&&l.pointCount<a?"animate":"attr";x(n)&&d.y!==null?(g=d.shapeArgs,h&&d.hasNewShapeType()&&(h=h.destroy()),S.enabledDataSorting&&(d.startXPos=S.xAxis.reversed?-(g&&g.width||0):S.xAxis.width),!h&&(d.graphic=h=r[d.shapeType](g).add(d.group||S.group),h&&S.enabledDataSorting&&l.hasRendered&&l.pointCount<a&&(h.attr({x:d.startXPos}),c=!0,L="animate")),h&&c&&h[L](f(g)),l.styledMode||h[L](S.pointAttribs(d,d.selected&&"select")).shadow(d.allowShadow!==!1&&s.shadow),h&&(h.addClass(d.getClassName(),!0),h.attr({visibility:d.visible?"inherit":"hidden"}))):h&&(d.graphic=h.destroy())})}drawTracker(A=this.points){let g,S=this,l=S.chart,s=l.pointer,r=function(a){let d=s==null?void 0:s.getPointFromEvent(a);s&&d&&S.options.enableMouseTracking&&(s.isDirectTouch=!0,d.onMouseOver(a))};A.forEach(function(a){g=u(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[],a.graphic&&(a.graphic.element.point=a),g.forEach(function(d){(d.div||d.element).point=a})}),S._hasTracking||(S.trackerGroups.forEach(function(a){S[a]&&(S[a].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(d){s==null||s.onTrackerMouseOut(d)}).on("touchstart",r),!l.styledMode&&S.options.cursor&&S[a].css({cursor:S.options.cursor}))}),S._hasTracking=!0),o(this,"afterDrawTracker")}remove(){let A=this,g=A.chart;g.hasRendered&&g.series.forEach(function(S){S.type===A.type&&(S.isDirty=!0)}),q.prototype.remove.apply(A,arguments)}}return I.defaultOptions=f(q.defaultOptions,G),v(I.prototype,{directTouch:!0,getSymbol:W,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),Z.registerSeriesType("column",I),I}),O(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(m,T,G){var $;let{getDeferredAnimation:q}=m,{format:Z}=T,{defined:Q,extend:Y,fireEvent:F,isArray:W,isString:k,merge:E,objectEach:M,pick:v,pInt:o,splat:u}=G;return function(x){function f(){return S(this).some(s=>s==null?void 0:s.enabled)}function p(s,r,a,d,n){var N;let{chart:h,enabledDataSorting:c}=this,L=this.isCartesian&&h.inverted,z=s.plotX,w=s.plotY,R=a.rotation||0,V=Q(z)&&Q(w)&&h.isInsidePlot(z,Math.round(w),{inverted:L,paneCoordinates:!0,series:this}),X=R===0&&v(a.overflow,c?"none":"justify")==="justify",J=this.visible&&s.visible!==!1&&Q(z)&&(s.series.forceDL||c&&!X||V||v(a.inside,!!this.options.stacking)&&d&&h.isInsidePlot(z,L?d.x+1:d.y+d.height-1,{inverted:L,paneCoordinates:!0,series:this})),P=s.pos();if(J&&P){var C;let _=r.getBBox(),y=r.getBBox(void 0,0),D={right:1,center:.5}[a.align||0]||0,j={bottom:1,middle:.5}[a.verticalAlign||0]||0;if(d=Y({x:P[0],y:Math.round(P[1]),width:0,height:0},d||{}),a.alignTo==="plotEdges"&&this.isCartesian&&(d[L?"x":"y"]=0,d[L?"width":"height"]=((N=this.yAxis)==null?void 0:N.len)||0),Y(a,{width:_.width,height:_.height}),C=d,c&&this.xAxis&&!X&&this.setDataLabelStartPos(s,r,n,V,C),r.align(E(a,{width:y.width,height:y.height}),!1,d,!1),r.alignAttr.x+=D*(y.width-_.width),r.alignAttr.y+=j*(y.height-_.height),r[r.placed?"animate":"attr"]({x:r.alignAttr.x+(_.width-y.width)/2,y:r.alignAttr.y+(_.height-y.height)/2,rotationOriginX:(r.width||0)/2,rotationOriginY:(r.height||0)/2}),X&&d.height>=0)this.justifyDataLabel(r,a,r.alignAttr,_,d,n);else if(v(a.crop,!0)){let{x:H,y:U}=r.alignAttr;J=h.isInsidePlot(H,U,{paneCoordinates:!0,series:this})&&h.isInsidePlot(H+_.width-1,U+_.height-1,{paneCoordinates:!0,series:this})}a.shape&&!R&&r[n?"attr":"animate"]({anchorX:P[0],anchorY:P[1]})}n&&c&&(r.placed=!1),J||c&&!X?(r.show(),r.placed=!0):(r.hide(),r.placed=!1)}function b(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function I(s){let r=this.hasRendered||0,a=this.initDataLabelsGroup().attr({opacity:+r});return!r&&a&&(this.visible&&a.show(),this.options.animation?a.animate({opacity:1},s):a.attr({opacity:1})),a}function B(s){var J;let r;s=s||this.points;let a=this,d=a.chart,n=a.options,h=d.renderer,{backgroundColor:c,plotBackgroundColor:L}=d.options.chart,z=h.getContrast(k(L)&&L||k(c)&&c||"#000000"),w=S(a),{animation:R,defer:V}=w[0],X=V?q(d,R,a):{defer:0,duration:0};F(this,"drawDataLabels"),(J=a.hasDataLabels)!=null&&J.call(a)&&(r=this.initDataLabels(X),s.forEach(P=>{var _,y;let C=P.dataLabels||[];u(g(w,P.dlOptions||((_=P.options)==null?void 0:_.dataLabels))).forEach((D,j)=>{let H=D.enabled&&(P.visible||P.dataLabelOnHidden)&&(!P.isNull||P.dataLabelOnNull)&&function(ct,dt){let ut=dt.filter;if(ut){let pt=ut.operator,gt=ct[ut.property],ft=ut.value;return pt===">"&>>ft||pt==="<"&><ft||pt===">="&>>=ft||pt==="<="&><=ft||pt==="=="&>==ft||pt==="==="&>===ft||pt==="!="&>!=ft||pt==="!=="&>!==ft}return!0}(P,D),{backgroundColor:U,borderColor:K,distance:et,style:rt={}}=D,nt,lt,ht,it,tt={},st=C[j],ot=!st,at;H&&(lt=v(D[P.formatPrefix+"Format"],D.format),nt=P.getLabelConfig(),ht=Q(lt)?Z(lt,nt,d):(D[P.formatPrefix+"Formatter"]||D.formatter).call(nt,D),it=D.rotation,!d.styledMode&&(rt.color=v(D.color,rt.color,k(a.color)?a.color:void 0,"#000000"),rt.color==="contrast"?(U!=="none"&&(at=U),P.contrastColor=h.getContrast(at!=="auto"&&at||P.color||a.color),rt.color=at||!Q(et)&&D.inside||0>o(et||0)||n.stacking?P.contrastColor:z):delete P.contrastColor,n.cursor&&(rt.cursor=n.cursor)),tt={r:D.borderRadius||0,rotation:it,padding:D.padding,zIndex:1},d.styledMode||(tt.fill=U==="auto"?P.color:U,tt.stroke=K==="auto"?P.color:K,tt["stroke-width"]=D.borderWidth),M(tt,(ct,dt)=>{ct===void 0&&delete tt[dt]})),!st||H&&Q(ht)&&!!st.div==!!D.useHTML&&(st.rotation&&D.rotation||st.rotation===D.rotation)||(st=void 0,ot=!0),H&&Q(ht)&&(st?tt.text=ht:(st=h.label(ht,0,0,D.shape,void 0,void 0,D.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+P.colorIndex+" "+(D.className||"")+(D.useHTML?" highcharts-tracker":"")),st&&(st.options=D,st.attr(tt),d.styledMode||st.css(rt).shadow(D.shadow),F(st,"beforeAddingDataLabel",{labelOptions:D,point:P}),st.added||st.add(r),a.alignDataLabel(P,st,D,void 0,ot),st.isActive=!0,C[j]&&C[j]!==st&&C[j].destroy(),C[j]=st))});let N=C.length;for(;N--;)C[N]&&C[N].isActive?C[N].isActive=!1:((y=C[N])==null||y.destroy(),C.splice(N,1));P.dataLabel=C[0],P.dataLabels=C})),F(this,"afterDrawDataLabels")}function A(s,r,a,d,n,h){let c=this.chart,L=r.align,z=r.verticalAlign,w=s.box?0:s.padding||0,R=c.inverted?this.yAxis:this.xAxis,V=R?R.left-c.plotLeft:0,X=c.inverted?this.xAxis:this.yAxis,J=X?X.top-c.plotTop:0,{x:P=0,y:C=0}=r,N,_;return(N=(a.x||0)+w+V)<0&&(L==="right"&&P>=0?(r.align="left",r.inside=!0):P-=N,_=!0),(N=(a.x||0)+d.width-w+V)>c.plotWidth&&(L==="left"&&P<=0?(r.align="right",r.inside=!0):P+=c.plotWidth-N,_=!0),(N=a.y+w+J)<0&&(z==="bottom"&&C>=0?(r.verticalAlign="top",r.inside=!0):C-=N,_=!0),(N=(a.y||0)+d.height-w+J)>c.plotHeight&&(z==="top"&&C<=0?(r.verticalAlign="bottom",r.inside=!0):C+=c.plotHeight-N,_=!0),_&&(r.x=P,r.y=C,s.placed=!h,s.align(r,void 0,n)),_}function g(s,r){let a=[],d;if(W(s)&&!W(r))a=s.map(function(n){return E(n,r)});else if(W(r)&&!W(s))a=r.map(function(n){return E(s,n)});else if(W(s)||W(r)){if(W(s)&&W(r))for(d=Math.max(s.length,r.length);d--;)a[d]=E(s[d],r[d])}else a=E(s,r);return a}function S(s){var a,d;let r=s.chart.options.plotOptions;return u(g(g((a=r==null?void 0:r.series)==null?void 0:a.dataLabels,(d=r==null?void 0:r[s.type])==null?void 0:d.dataLabels),s.options.dataLabels))}function l(s,r,a,d,n){let h=this.chart,c=h.inverted,L=this.xAxis,z=L.reversed,w=((c?r.height:r.width)||0)/2,R=s.pointWidth,V=R?R/2:0;r.startXPos=c?n.x:z?-w-V:L.width-w+V,r.startYPos=c?z?this.yAxis.height-w+V:-w-V:n.y,d?r.visibility==="hidden"&&(r.show(),r.attr({opacity:0}).animate({opacity:1})):r.attr({opacity:1}).animate({opacity:0},void 0,r.hide),h.hasRendered&&(a&&r.attr({x:r.startXPos,y:r.startYPos}),r.placed=!0)}x.compose=function(s){let r=s.prototype;r.initDataLabels||(r.initDataLabels=I,r.initDataLabelsGroup=b,r.alignDataLabel=p,r.drawDataLabels=B,r.justifyDataLabel=A,r.setDataLabelStartPos=l,r.hasDataLabels=f)}}($||($={})),$}),O(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{composed:Z}=T,{series:Q}=G,{merge:Y,pick:F,pushUnique:W}=$;return function(k){function E(M,v,o,u,x){let f=this.chart.inverted,p=M.series,b=(p.xAxis?p.xAxis.len:this.chart.plotSizeX)||0,I=(p.yAxis?p.yAxis.len:this.chart.plotSizeY)||0,B=M.dlBox||M.shapeArgs,A=F(M.below,M.plotY>F(this.translatedThreshold,I)),g=F(o.inside,!!this.options.stacking);if(B){if(u=Y(B),!(o.overflow==="allow"&&o.crop===!1)){u.y<0&&(u.height+=u.y,u.y=0);let S=u.y+u.height-I;S>0&&S<u.height-1&&(u.height-=S)}f&&(u={x:I-u.y-u.height,y:b-u.x-u.width,width:u.height,height:u.width}),g||(f?(u.x+=A?0:u.width,u.width=0):(u.y+=A?u.height:0,u.height=0))}o.align=F(o.align,!f||g?"center":A?"right":"left"),o.verticalAlign=F(o.verticalAlign,f||g?"middle":A?"top":"bottom"),Q.prototype.alignDataLabel.call(this,M,v,o,u,x),o.inside&&M.contrastColor&&v.css({color:M.contrastColor})}k.compose=function(M){m.compose(Q),W(Z,"ColumnDataLabel")&&(M.prototype.alignDataLabel=E)}}(q||(q={})),q}),O(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{extend:$,merge:q}=G;class Z extends m{}return Z.defaultOptions=q(m.defaultOptions,{}),$(Z.prototype,{inverted:!0}),T.registerSeriesType("bar",Z),Z}),O(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">â—</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),O(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{column:$,line:q}=T.seriesTypes,{addEvent:Z,extend:Q,merge:Y}=G;class F extends q{applyJitter(){let k=this,E=this.options.jitter,M=this.points.length;E&&this.points.forEach(function(v,o){["x","y"].forEach(function(u,x){if(E[u]&&!v.isNull){let f=`plot${u.toUpperCase()}`,p=k[`${u}Axis`],b=E[u]*p.transA;if(p&&!p.logarithmic){let I=Math.max(0,(v[f]||0)-b),B=Math.min(p.len,(v[f]||0)+b);v[f]=I+(B-I)*function(A){let g=1e4*Math.sin(A);return g-Math.floor(g)}(o+x*M),u==="x"&&(v.clientX=v.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return F.defaultOptions=Y(q.defaultOptions,m),Q(F.prototype,{drawTracker:$.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),Z(F,"afterTranslate",function(){this.applyJitter()}),T.registerSeriesType("scatter",F),F}),O(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(m,T,G){var $,q;let{deg2rad:Z}=m,{fireEvent:Q,isNumber:Y,pick:F,relativeLength:W}=G;return(q=$||($={})).getCenter=function(){let k=this.options,E=this.chart,M=2*(k.slicedOffset||0),v=E.plotWidth-2*M,o=E.plotHeight-2*M,u=k.center,x=Math.min(v,o),f=k.thickness,p,b=k.size,I=k.innerSize||0,B,A;typeof b=="string"&&(b=parseFloat(b)),typeof I=="string"&&(I=parseFloat(I));let g=[F(u[0],"50%"),F(u[1],"50%"),F(b&&b<0?void 0:k.size,"100%"),F(I&&I<0?void 0:k.innerSize||0,"0%")];for(!E.angular||this instanceof T||(g[3]=0),B=0;B<4;++B)A=g[B],p=B<2||B===2&&/%$/.test(A),g[B]=W(A,[v,o,x,g[2]][B])+(p?M:0);return g[3]>g[2]&&(g[3]=g[2]),Y(f)&&2*f<g[2]&&f>0&&(g[3]=g[2]-2*f),Q(this,"afterGetCenter",{positions:g}),g},q.getStartAndEndRadians=function(k,E){let M=Y(k)?k:0,v=Y(E)&&E>M&&E-M<360?E:M+360;return{start:Z*(M+-90),end:Z*(v+-90)}},$}),O(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(m,T,G){let{setAnimation:$}=m,{addEvent:q,defined:Z,extend:Q,isNumber:Y,pick:F,relativeLength:W}=G;class k extends T{getConnectorPath(M){let v=M.dataLabelPosition,o=M.options||{},u=o.connectorShape,x=this.connectorShapes[u]||u;return v&&x.call(this,{...v.computed,alignment:v.alignment},v.connectorPosition,o)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(M){let v=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(v.x,v.y,v.r+M,v.r+M,{innerR:v.r-1,start:v.start,end:v.end,borderRadius:v.borderRadius})}constructor(M,v,o){super(M,v,o),this.half=0,this.name??(this.name="Slice");let u=x=>{this.slice(x.type==="select")};q(this,"select",u),q(this,"unselect",u)}isValid(){return Y(this.y)&&this.y>=0}setVisible(M,v=!0){M!==this.visible&&this.update({visible:M??!this.visible},v,void 0,!1)}slice(M,v,o){let u=this.series;$(o,u.chart),v=F(v,!0),this.sliced=this.options.sliced=M=Z(M)?M:!this.sliced,u.options.data[u.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return Q(k.prototype,{connectorShapes:{fixedOffset:function(E,M,v){let o=M.breakAt,u=M.touchingSliceAt,x=v.softConnector?["C",E.x+(E.alignment==="left"?-5:5),E.y,2*o.x-u.x,2*o.y-u.y,o.x,o.y]:["L",o.x,o.y];return[["M",E.x,E.y],x,["L",u.x,u.y]]},straight:function(E,M){let v=M.touchingSliceAt;return[["M",E.x,E.y],["L",v.x,v.y]]},crookedLine:function(E,M,v){let{breakAt:o,touchingSliceAt:u}=M,{series:x}=this,[f,p,b]=x.center,I=b/2,{plotLeft:B,plotWidth:A}=x.chart,g=E.alignment==="left",{x:S,y:l}=E,s=o.x;if(v.crookDistance){let a=W(v.crookDistance,1);s=g?f+I+(A+B-f-I)*(1-a):B+(f-I)*a}else s=f+(p-l)*Math.tan((this.angle||0)-Math.PI/2);let r=[["M",S,l]];return(g?s<=S&&s>=o.x:s>=S&&s<=o.x)&&r.push(["L",s,l]),r.push(["L",o.x,o.y],["L",u.x,u.y]),r}}}),k}),O(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),O(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F){let{getStartAndEndRadians:W}=m,{noop:k}=G,{clamp:E,extend:M,fireEvent:v,merge:o,pick:u}=F;class x extends Z{animate(p){let b=this,I=b.points,B=b.startAngleRad;p||I.forEach(function(A){let g=A.graphic,S=A.shapeArgs;g&&S&&(g.attr({r:u(A.startR,b.center&&b.center[3]/2),start:B,end:B}),g.animate({r:S.r,start:S.start,end:S.end},b.options.animation))})}drawEmpty(){let p,b,I=this.startAngleRad,B=this.endAngleRad,A=this.options;this.total===0&&this.center?(p=this.center[0],b=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(p,b,this.center[1]/2,0,I,B).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:Y.arc(p,b,this.center[2]/2,0,{start:I,end:B,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":A.borderWidth,fill:A.fillColor||"none",stroke:A.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let p=this.chart.renderer;this.points.forEach(function(b){b.graphic&&b.hasNewShapeType()&&(b.graphic=b.graphic.destroy()),b.graphic||(b.graphic=p[b.shapeType](b.shapeArgs).add(b.series.group),b.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(p,b,I,B){let A=this.center,g=this.radii?this.radii[I.index]||0:A[2]/2,S=B.dataLabelPosition,l=(S==null?void 0:S.distance)||0,s=Math.asin(E((p-A[1])/(g+l),-1,1));return A[0]+Math.cos(s)*(g+l)*(b?-1:1)+(l>0?(b?-1:1)*(B.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let p,b,I,B,A=this,g=A.chart;this.drawEmpty(),A.group&&!g.styledMode&&A.group.shadow(A.options.shadow),A.points.forEach(function(S){let l={};b=S.graphic,!S.isNull&&b?(B=S.shapeArgs,p=S.getTranslate(),g.styledMode||(I=A.pointAttribs(S,S.selected&&"select")),S.delayedRendering?(b.setRadialReference(A.center).attr(B).attr(p),g.styledMode||b.attr(I).attr({"stroke-linejoin":"round"}),S.delayedRendering=!1):(b.setRadialReference(A.center),g.styledMode||o(!0,l,I),o(!0,l,B,p),b.animate(l)),b.attr({visibility:S.visible?"inherit":"hidden"}),b.addClass(S.getClassName(),!0)):b&&(S.graphic=b.destroy())})}sortByAngle(p,b){p.sort(function(I,B){return I.angle!==void 0&&(B.angle-I.angle)*b})}translate(p){v(this,"translate"),this.generatePoints();let b=this.options,I=b.slicedOffset,B=W(b.startAngle,b.endAngle),A=this.startAngleRad=B.start,g=(this.endAngleRad=B.end)-A,S=this.points,l=b.ignoreHiddenPoint,s=S.length,r,a,d,n,h,c,L,z=0;for(p||(this.center=p=this.getCenter()),c=0;c<s;c++){L=S[c],r=A+z*g,L.isValid()&&(!l||L.visible)&&(z+=L.percentage/100),a=A+z*g;let w={x:p[0],y:p[1],r:p[2]/2,innerR:p[3]/2,start:Math.round(1e3*r)/1e3,end:Math.round(1e3*a)/1e3};L.shapeType="arc",L.shapeArgs=w,(d=(a+r)/2)>1.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI),L.slicedTranslation={translateX:Math.round(Math.cos(d)*I),translateY:Math.round(Math.sin(d)*I)},n=Math.cos(d)*p[2]/2,h=Math.sin(d)*p[2]/2,L.tooltipPos=[p[0]+.7*n,p[1]+.7*h],L.half=d<-Math.PI/2||d>Math.PI/2?1:0,L.angle=d}v(this,"afterTranslate")}updateTotals(){let p=this.points,b=p.length,I=this.options.ignoreHiddenPoint,B,A,g=0;for(B=0;B<b;B++)(A=p[B]).isValid()&&(!I||A.visible)&&(g+=A.y);for(B=0,this.total=g;B<b;B++)(A=p[B]).percentage=g>0&&(A.visible||!I)?A.y/g*100:0,A.total=g}}return x.defaultOptions=o(Z.defaultOptions,q),M(x.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:T.prototype.drawTracker,getCenter:m.getCenter,getSymbol:k,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:T.prototype.pointAttribs,pointClass:$,requireSorting:!1,searchPoint:k,trackerGroups:["group","dataLabelsGroup"]}),Q.registerSeriesType("pie",x),x}),O(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){var Z;let{composed:Q,noop:Y}=T,{distribute:F}=G,{series:W}=$,{arrayMax:k,clamp:E,defined:M,pick:v,pushUnique:o,relativeLength:u}=q;return function(x){let f={radialDistributionY:function(A,g){var S;return(((S=g.dataLabelPosition)==null?void 0:S.top)||0)+A.distributeBox.pos},radialDistributionX:function(A,g,S,l,s){let r=s.dataLabelPosition;return A.getX(S<((r==null?void 0:r.top)||0)+2||S>((r==null?void 0:r.bottom)||0)-2?l:S,g.half,g,s)},justify:function(A,g,S,l){var s;return l[0]+(A.half?-1:1)*(S+(((s=g.dataLabelPosition)==null?void 0:s.distance)||0))},alignToPlotEdges:function(A,g,S,l){let s=A.getBBox().width;return g?s+l:S-s-l},alignToConnectors:function(A,g,S,l){let s=0,r;return A.forEach(function(a){(r=a.dataLabel.getBBox().width)>s&&(s=r)}),g?s+l:S-s-l}};function p(A,g){let{center:S,options:l}=this,s=S[2]/2,r=A.angle||0,a=Math.cos(r),d=Math.sin(r),n=S[0]+a*s,h=S[1]+d*s,c=Math.min((l.slicedOffset||0)+(l.borderWidth||0),g/5);return{natural:{x:n+a*g,y:h+d*g},computed:{},alignment:g<0?"center":A.half?"right":"left",connectorPosition:{breakAt:{x:n+a*c,y:h+d*c},touchingSliceAt:{x:n,y:h}},distance:g}}function b(){var J;let A=this,g=A.points,S=A.chart,l=S.plotWidth,s=S.plotHeight,r=S.plotLeft,a=Math.round(S.chartWidth/3),d=A.center,n=d[2]/2,h=d[1],c=[[],[]],L=[0,0,0,0],z=A.dataLabelPositioners,w,R,V,X=0;A.visible&&((J=A.hasDataLabels)!=null&&J.call(A))&&(g.forEach(P=>{(P.dataLabels||[]).forEach(C=>{C.shortened&&(C.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),C.shortened=!1)})}),W.prototype.drawDataLabels.apply(A),g.forEach(P=>{(P.dataLabels||[]).forEach((C,N)=>{var j;let _=d[2]/2,y=C.options,D=u((y==null?void 0:y.distance)||0,_);N===0&&c[P.half].push(P),!M((j=y==null?void 0:y.style)==null?void 0:j.width)&&C.getBBox().width>a&&(C.css({width:Math.round(.7*a)+"px"}),C.shortened=!0),C.dataLabelPosition=this.getDataLabelPosition(P,D),X=Math.max(X,D)})}),c.forEach((P,C)=>{let N=P.length,_=[],y,D,j=0,H;N&&(A.sortByAngle(P,C-.5),X>0&&(y=Math.max(0,h-n-X),D=Math.min(h+n+X,S.plotHeight),P.forEach(U=>{(U.dataLabels||[]).forEach(K=>{var rt;let et=K.dataLabelPosition;et&&et.distance>0&&(et.top=Math.max(0,h-n-et.distance),et.bottom=Math.min(h+n+et.distance,S.plotHeight),j=K.getBBox().height||21,K.lineHeight=S.renderer.fontMetrics(K.text||K).h+2*K.padding,U.distributeBox={target:(((rt=K.dataLabelPosition)==null?void 0:rt.natural.y)||0)-et.top+K.lineHeight/2,size:j,rank:U.y},_.push(U.distributeBox))})}),F(_,H=D+j-y,H/5)),P.forEach(U=>{(U.dataLabels||[]).forEach(K=>{let et=K.options||{},rt=U.distributeBox,nt=K.dataLabelPosition,lt=(nt==null?void 0:nt.natural.y)||0,ht=et.connectorPadding||0,it=K.lineHeight||21,tt=(it-K.getBBox().height)/2,st=0,ot=lt,at="inherit";if(nt){if(_&&M(rt)&&nt.distance>0&&(rt.pos===void 0?at="hidden":(V=rt.size,ot=z.radialDistributionY(U,K))),et.justify)st=z.justify(U,K,n,d);else switch(et.alignTo){case"connectors":st=z.alignToConnectors(P,C,l,r);break;case"plotEdges":st=z.alignToPlotEdges(K,C,l,r);break;default:st=z.radialDistributionX(A,U,ot-tt,lt,K)}if(nt.attribs={visibility:at,align:nt.alignment},nt.posAttribs={x:st+(et.x||0)+({left:ht,right:-ht}[nt.alignment]||0),y:ot+(et.y||0)-it/2},nt.computed.x=st,nt.computed.y=ot-tt,v(et.crop,!0)){let ct;st-(R=K.getBBox().width)<ht&&C===1?(ct=Math.round(R-st+ht),L[3]=Math.max(ct,L[3])):st+R>l-ht&&C===0&&(ct=Math.round(st+R-l+ht),L[1]=Math.max(ct,L[1])),ot-V/2<0?L[0]=Math.max(Math.round(-ot+V/2),L[0]):ot+V/2>s&&(L[2]=Math.max(Math.round(ot+V/2-s),L[2])),nt.sideOverflow=ct}}})}))}),(k(L)===0||this.verifyDataLabelOverflow(L))&&(this.placeDataLabels(),this.points.forEach(P=>{(P.dataLabels||[]).forEach(C=>{var D;let{connectorColor:N,connectorWidth:_=1}=C.options||{},y=C.dataLabelPosition;if(_){let j;w=C.connector,y&&y.distance>0?(j=!w,w||(C.connector=w=S.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+P.colorIndex+(P.className?" "+P.className:"")).add(A.dataLabelsGroup)),S.styledMode||w.attr({"stroke-width":_,stroke:N||P.color||"#666666"}),w[j?"attr":"animate"]({d:P.getConnectorPath(C)}),w.attr({visibility:(D=y.attribs)==null?void 0:D.visibility})):w&&(C.connector=w.destroy())}})})))}function I(){this.points.forEach(A=>{(A.dataLabels||[]).forEach(g=>{var l;let S=g.dataLabelPosition;S?(S.sideOverflow&&(g.css({width:Math.max(g.getBBox().width-S.sideOverflow,0)+"px",textOverflow:(((l=g.options)==null?void 0:l.style)||{}).textOverflow||"ellipsis"}),g.shortened=!0),g.attr(S.attribs),g[g.moved?"animate":"attr"](S.posAttribs),g.moved=!0):g&&g.attr({y:-9999})}),delete A.distributeBox},this)}function B(A){let g=this.center,S=this.options,l=S.center,s=S.minSize||80,r=s,a=S.size!==null;return!a&&(l[0]!==null?r=Math.max(g[2]-Math.max(A[1],A[3]),s):(r=Math.max(g[2]-A[1]-A[3],s),g[0]+=(A[3]-A[1])/2),l[1]!==null?r=E(r,s,g[2]-Math.max(A[0],A[2])):(r=E(r,s,g[2]-A[0]-A[2]),g[1]+=(A[0]-A[2])/2),r<g[2]?(g[2]=r,g[3]=Math.min(S.thickness?Math.max(0,r-2*S.thickness):Math.max(0,u(S.innerSize||0,r)),r),this.translate(g),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}x.compose=function(A){if(m.compose(W),o(Q,"PieDataLabel")){let g=A.prototype;g.dataLabelPositioners=f,g.alignDataLabel=Y,g.drawDataLabels=b,g.getDataLabelPosition=p,g.placeDataLabels=I,g.verifyDataLabelOverflow=B}}}(Z||(Z={})),Z}),O(e,"Core/Geometry/GeometryUtilities.js",[],function(){var m,T;return(T=m||(m={})).getCenterOfPoints=function(G){let $=G.reduce((q,Z)=>(q.x+=Z.x,q.y+=Z.y,q),{x:0,y:0});return{x:$.x/G.length,y:$.y/G.length}},T.getDistanceBetweenPoints=function(G,$){return Math.sqrt(Math.pow($.x-G.x,2)+Math.pow($.y-G.y,2))},T.getAngleBetweenPoints=function(G,$){return Math.atan2($.x-G.x,$.y-G.y)},T.pointInPolygon=function({x:G,y:$},q){let Z=q.length,Q,Y,F=!1;for(Q=0,Y=Z-1;Q<Z;Y=Q++){let[W,k]=q[Q],[E,M]=q[Y];k>$!=M>$&&G<(E-W)*($-k)/(M-k)+W&&(F=!F)}return F},m}),O(e,"Extensions/OverlappingDataLabels.js",[e["Core/Geometry/GeometryUtilities.js"],e["Core/Utilities.js"]],function(m,T){let{pointInPolygon:G}=m,{addEvent:$,fireEvent:q,objectEach:Z,pick:Q}=T;function Y(k){let E=k.length,M=(I,B)=>!(B.x>=I.x+I.width||B.x+B.width<=I.x||B.y>=I.y+I.height||B.y+B.height<=I.y),v=(I,B)=>{for(let A of I)if(G({x:A[0],y:A[1]},B))return!0;return!1},o,u,x,f,p,b=!1;for(let I=0;I<E;I++)(o=k[I])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(B){var A,g;if(B&&(!B.alignAttr||B.placed)){let S=B.box?0:B.padding||0,l=B.alignAttr||{x:B.attr("x"),y:B.attr("y")},s=B.getBBox();return B.width=s.width,B.height=s.height,{x:l.x+(((A=B.parentGroup)==null?void 0:A.translateX)||0)+S,y:l.y+(((g=B.parentGroup)==null?void 0:g.translateY)||0)+S,width:(B.width||0)-2*S,height:(B.height||0)-2*S,polygon:s==null?void 0:s.polygon}}}(o));k.sort((I,B)=>(B.labelrank||0)-(I.labelrank||0));for(let I=0;I<E;++I){f=(u=k[I])&&u.absoluteBox;let B=f==null?void 0:f.polygon;for(let A=I+1;A<E;++A){p=(x=k[A])&&x.absoluteBox;let g=!1;if(f&&p&&u!==x&&u.newOpacity!==0&&x.newOpacity!==0&&u.visibility!=="hidden"&&x.visibility!=="hidden"){let S=p.polygon;if(B&&S&&B!==S?v(B,S)&&(g=!0):M(f,p)&&(g=!0),g){let l=u.labelrank<x.labelrank?u:x,s=l.text;l.newOpacity=0,s!=null&&s.element.querySelector("textPath")&&s.hide()}}}}for(let I of k)F(I,this)&&(b=!0);b&&q(this,"afterHideAllOverlappingLabels")}function F(k,E){let M,v,o=!1;return k&&(v=k.newOpacity,k.oldOpacity!==v&&(k.hasClass("highcharts-data-label")?(k[v?"removeClass":"addClass"]("highcharts-data-label-hidden"),M=function(){E.styledMode||k.css({pointerEvents:v?"auto":"none"})},o=!0,k[k.isOld?"animate":"attr"]({opacity:v},void 0,M),q(E,"afterHideOverlappingLabel")):k.attr({opacity:v})),k.isOld=!0),o}function W(){var M;let k=this,E=[];for(let v of k.labelCollectors||[])E=E.concat(v());for(let v of k.yAxis||[])v.stacking&&v.options.stackLabels&&!v.options.stackLabels.allowOverlap&&Z(v.stacking.stacks,o=>{Z(o,u=>{u.label&&E.push(u.label)})});for(let v of k.series||[])if(v.visible&&((M=v.hasDataLabels)!=null&&M.call(v))){let o=u=>{for(let x of u)x.visible&&(x.dataLabels||[]).forEach(f=>{var b;let p=f.options||{};f.labelrank=Q(p.labelrank,x.labelrank,(b=x.shapeArgs)==null?void 0:b.height),p.allowOverlap??Number(p.distance)>0?(f.oldOpacity=f.opacity,f.newOpacity=1,F(f,k)):E.push(f)})};o(v.nodes||[]),o(v.points)}this.hideOverlappingLabels(E)}return{compose:function(k){let E=k.prototype;E.hideOverlappingLabels||(E.hideOverlappingLabels=Y,$(k,"render",W))}}}),O(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G){let{defaultOptions:$}=m,{noop:q}=T,{addEvent:Z,extend:Q,isObject:Y,merge:F,relativeLength:W}=G,k={radius:0,scope:"stack",where:void 0},E=q,M=q;function v(p,b,I,B,A={}){let g=E(p,b,I,B,A),{innerR:S=0,r:l=I,start:s=0,end:r=0}=A;if(A.open||!A.borderRadius)return g;let a=r-s,d=Math.sin(a/2),n=Math.max(Math.min(W(A.borderRadius||0,l-S),(l-S)/2,l*d/(1+d)),0),h=Math.min(n,a/Math.PI*2*S),c=g.length-1;for(;c--;)(function(L,z,w){let R,V,X,J=L[z],P=L[z+1];if(P[0]==="Z"&&(P=L[0]),(J[0]==="M"||J[0]==="L")&&P[0]==="A"?(R=J,V=P,X=!0):J[0]==="A"&&(P[0]==="M"||P[0]==="L")&&(R=P,V=J),R&&V&&V.params){let C=V[1],N=V[5],_=V.params,{start:y,end:D,cx:j,cy:H}=_,U=N?C-w:C+w,K=U?Math.asin(w/U):0,et=N?K:-K,rt=Math.cos(K)*U;X?(_.start=y+et,R[1]=j+rt*Math.cos(y),R[2]=H+rt*Math.sin(y),L.splice(z+1,0,["A",w,w,0,0,1,j+C*Math.cos(_.start),H+C*Math.sin(_.start)])):(_.end=D-et,V[6]=j+C*Math.cos(_.end),V[7]=H+C*Math.sin(_.end),L.splice(z+1,0,["A",w,w,0,0,1,j+rt*Math.cos(D),H+rt*Math.sin(D)])),V[4]=Math.abs(_.end-_.start)<Math.PI?0:1}})(g,c,c>1?h:n);return g}function o(){var p,b;if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:I,yAxis:B}=this,A=I.stacking==="percent",g=(b=(p=$.plotOptions)==null?void 0:p[this.type])==null?void 0:b.borderRadius,S=u(I.borderRadius,Y(g)?g:{}),l=B.options.reversed;for(let s of this.points){let{shapeArgs:r}=s;if(s.shapeType==="roundedRect"&&r){let{width:a=0,height:d=0,y:n=0}=r,h=n,c=d;if(S.scope==="stack"&&s.stackTotal){let R=B.translate(A?100:s.stackTotal,!1,!0,!1,!0),V=B.translate(I.threshold||0,!1,!0,!1,!0),X=this.crispCol(0,Math.min(R,V),0,Math.abs(R-V));h=X.y,c=X.height}let L=(s.negative?-1:1)*(l?-1:1)==-1,z=S.where;!z&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(z="all"),z||(z="end");let w=Math.min(W(S.radius,a),a/2,z==="all"?d/2:1/0)||0;z==="end"&&(L&&(h-=w),c+=w),Q(r,{brBoxHeight:c,brBoxY:h,r:w})}}}}function u(p,b){return Y(p)||(p={radius:p||0}),F(k,b,p)}function x(){let p=u(this.options.borderRadius);for(let b of this.points){let I=b.shapeArgs;I&&(I.borderRadius=W(p.radius,(I.r||0)-(I.innerR||0)))}}function f(p,b,I,B,A={}){let g=M(p,b,I,B,A),{r:S=0,brBoxHeight:l=B,brBoxY:s=b}=A,r=b-s,a=s+l-(b+B),d=r-S>-.1?0:S,n=a-S>-.1?0:S,h=Math.max(d&&r,0),c=Math.max(n&&a,0),L=[p+d,b],z=[p+I-d,b],w=[p+I,b+d],R=[p+I,b+B-n],V=[p+I-n,b+B],X=[p+n,b+B],J=[p,b+B-n],P=[p,b+d],C=(N,_)=>Math.sqrt(Math.pow(N,2)-Math.pow(_,2));if(h){let N=C(d,d-h);L[0]-=N,z[0]+=N,w[1]=P[1]=b+d-h}if(B<d-h){let N=C(d,d-h-B);w[0]=R[0]=p+I-d+N,V[0]=Math.min(w[0],V[0]),X[0]=Math.max(R[0],X[0]),J[0]=P[0]=p+d-N,w[1]=P[1]=b+B}if(c){let N=C(n,n-c);V[0]+=N,X[0]-=N,R[1]=J[1]=b+B-n+c}if(B<n-c){let N=C(n,n-c-B);w[0]=R[0]=p+I-n+N,z[0]=Math.min(w[0],z[0]),L[0]=Math.max(R[0],L[0]),J[0]=P[0]=p+n-N,R[1]=J[1]=b}return g.length=0,g.push(["M",...L],["L",...z],["A",d,d,0,0,1,...w],["L",...R],["A",n,n,0,0,1,...V],["L",...X],["A",n,n,0,0,1,...J],["L",...P],["A",d,d,0,0,1,...L],["Z"]),g}return{compose:function(p,b,I){let B=p.types.pie;if(!b.symbolCustomAttribs.includes("borderRadius")){let A=I.prototype.symbols;Z(p,"afterColumnTranslate",o,{order:9}),Z(B,"afterTranslate",x),b.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),E=A.arc,M=A.roundedRect,A.arc=v,A.roundedRect=f}},optionsToObject:u}}),O(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(m){var T;let{diffObjects:G,extend:$,find:q,merge:Z,pick:Q,uniqueKey:Y}=m;return function(F){function W(E,M){let v=E.condition;(v.callback||function(){return this.chartWidth<=Q(v.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Q(v.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Q(v.minWidth,0)&&this.chartHeight>=Q(v.minHeight,0)}).call(this)&&M.push(E._id)}function k(E,M){let v=this.options.responsive,o=this.currentResponsive,u=[],x;!M&&v&&v.rules&&v.rules.forEach(b=>{b._id===void 0&&(b._id=Y()),this.matchResponsiveRule(b,u)},this);let f=Z(...u.map(b=>q((v||{}).rules||[],I=>I._id===b)).map(b=>b&&b.chartOptions));f.isResponsiveOptions=!0,u=u.toString()||void 0;let p=o&&o.ruleIds;u===p||(o&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(o.undoOptions,E,!0),this.updatingResponsive=!1),u?((x=G(f,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:u,mergedOptions:f,undoOptions:x},this.updatingResponsive||this.update(f,E,!0)):this.currentResponsive=void 0)}F.compose=function(E){let M=E.prototype;return M.matchResponsiveRule||$(M,{matchResponsiveRule:W,setResponsive:k}),E}}(T||(T={})),T}),O(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(m,T,G,$,q,Z,Q,Y,F,W,k,E,M,v,o,u,x,f,p,b,I,B,A,g,S,l,s,r,a,d,n,h,c,L,z,w){return m.AST=Z,m.Axis=M,m.Chart=A,m.Color=z,m.DataLabel=n,m.Fx=$,m.HTMLElement=E,m.Legend=I,m.LegendSymbol=B,m.OverlappingDataLabels=m.OverlappingDataLabels||h,m.PlotLineOrBand=u,m.Point=p,m.Pointer=b,m.RendererRegistry=Y,m.Series=s,m.SeriesRegistry=r,m.StackItem=l,m.SVGElement=W,m.SVGRenderer=k,m.Templating=Q,m.Tick=x,m.Time=w,m.Tooltip=f,m.animate=q.animate,m.animObject=q.animObject,m.chart=A.chart,m.color=z.parse,m.dateFormat=Q.dateFormat,m.defaultOptions=G.defaultOptions,m.distribute=F.distribute,m.format=Q.format,m.getDeferredAnimation=q.getDeferredAnimation,m.getOptions=G.getOptions,m.numberFormat=Q.numberFormat,m.seriesType=r.seriesType,m.setAnimation=q.setAnimation,m.setOptions=G.setOptions,m.stop=q.stop,m.time=G.defaultTime,m.timers=$.timers,c.compose(m.Series,m.SVGElement,m.SVGRenderer),a.compose(m.Series.types.column),n.compose(m.Series),v.compose(m.Axis),E.compose(m.SVGRenderer),I.compose(m.Chart),o.compose(m.Axis),h.compose(m.Chart),d.compose(m.Series.types.pie),u.compose(m.Axis),b.compose(m.Chart),L.compose(m.Chart),g.compose(m.Axis,m.Chart,m.Series),S.compose(m.Axis,m.Chart,m.Series),f.compose(m.Pointer),T.extend(m,T),m}),O(e,"Series/DataModifyComposition.js",[e["Core/Axis/Axis.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{tooltipFormatter:Z}=T.prototype,{addEvent:Q,arrayMax:Y,arrayMin:F,correctFloat:W,defined:k,isArray:E,isNumber:M,isString:v,pick:o}=$;return function(u){function x(s,r,a){!this.isXAxis&&(this.series.forEach(function(d){s==="compare"&&typeof r!="boolean"?d.setCompare(r,!1):s!=="cumulative"||v(r)||d.setCumulative(r,!1)}),o(a,!0)&&this.chart.redraw())}function f(s){let r=this,{numberFormatter:a}=r.series.chart,d=function(n){s=s.replace("{point."+n+"}",(r[n]>0&&n==="change"?"+":"")+a(r[n],o(r.series.tooltipOptions.changeDecimals,2)))};return k(r.change)&&d("change"),k(r.cumulativeSum)&&d("cumulativeSum"),Z.apply(this,[s])}function p(){let s,r=this.options.compare;(r==="percent"||r==="value"||this.options.cumulative)&&(s=new l(this),r==="percent"||r==="value"?s.initCompare(r):s.initCumulative()),this.dataModify=s}function b(s){let r=s.dataExtremes,a=r.activeYData;if(this.dataModify&&r){let d;this.options.compare?d=[this.dataModify.modifyValue(r.dataMin),this.dataModify.modifyValue(r.dataMax)]:this.options.cumulative&&E(a)&&a.length>=2&&(d=l.getCumulativeExtremes(a)),d&&(r.dataMin=F(d),r.dataMax=Y(d))}}function I(s,r){this.options.compare=this.userOptions.compare=s,this.update({},o(r,!0)),this.dataModify&&(s==="value"||s==="percent")?this.dataModify.initCompare(s):this.points.forEach(a=>{delete a.change})}function B(){if(this.xAxis&&this.processedYData&&this.dataModify){let s=this.processedXData,r=this.processedYData,a=r.length,d=this.options.compareStart===!0?0:1,n=-1,h;for(this.pointArrayMap&&(n=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),h=0;h<a-d;h++){let c=r[h]&&n>-1?r[h][n]:r[h];if(M(c)&&c!==0&&s[h+d]>=(this.xAxis.min||0)){this.dataModify.compareValue=c;break}}}}function A(s,r){this.setModifier("compare",s,r)}function g(s,r){s=o(s,!1),this.options.cumulative=this.userOptions.cumulative=s,this.update({},o(r,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(a=>{delete a.cumulativeSum})}function S(s,r){this.setModifier("cumulative",s,r)}u.compose=function(s,r,a){let d=r.prototype,n=a.prototype,h=s.prototype;return h.setCompare||(h.setCompare=I,h.setCumulative=g,Q(s,"afterInit",p),Q(s,"afterGetExtremes",b),Q(s,"afterProcessData",B)),d.setCompare||(d.setCompare=A,d.setModifier=x,d.setCumulative=S,n.tooltipFormatter=f),s};class l{constructor(r){this.series=r}modifyValue(){return 0}static getCumulativeExtremes(r){let a=1/0,d=-1/0;return r.reduce((n,h)=>{let c=n+h;return a=Math.min(a,c,n),d=Math.max(d,c,n),c}),[a,d]}initCompare(r){this.modifyValue=function(a,d){a===null&&(a=0);let n=this.compareValue;if(a!==void 0&&n!==void 0){if(r==="value"?a-=n:a=a/n*100-(this.series.options.compareBase===100?0:100),d!==void 0){let h=this.series.points[d];h&&(h.change=a)}return a}return 0}}initCumulative(){this.modifyValue=function(r,a){if(r===null&&(r=0),r!==void 0&&a!==void 0){let d=a>0?this.series.points[a-1]:null;d&&d.cumulativeSum&&(r=W(d.cumulativeSum+r));let n=this.series.points[a],h=n.series.options.cumulativeStart,c=n.x<=this.series.xAxis.max&&n.x>=this.series.xAxis.min;return n&&(!h||c?n.cumulativeSum=r:n.cumulativeSum=void 0),r}return 0}}}u.Additions=l}(q||(q={})),q}),O(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let G,{isTouchDevice:$}=m,{addEvent:q,merge:Z,pick:Q}=T,Y=[];function F(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function W(){var I;let u,x,f,p=this.legend,b=this.navigator;if(b){u=p&&p.options,x=b.xAxis,f=b.yAxis;let{scrollbarHeight:B,scrollButtonSize:A}=b;this.inverted?(b.left=b.opposite?this.chartWidth-B-b.height:this.spacing[3]+B,b.top=this.plotTop+A):(b.left=Q(x.left,this.plotLeft+A),b.top=b.navigatorOptions.top||this.chartHeight-b.height-B-(((I=this.scrollbar)==null?void 0:I.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(u&&u.verticalAlign==="bottom"&&u.layout!=="proximate"&&u.enabled&&!u.floating?p.legendHeight+Q(u.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),x&&f&&(this.inverted?x.options.left=f.options.left=b.left:x.options.top=f.options.top=b.top,x.setAxisSize(),f.setAxisSize())}}function k(u){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new G(this),Q(u.redraw,!0)&&this.redraw(u.animation))}function E(){let u=this.options;(u.navigator.enabled||u.scrollbar.enabled)&&(this.scroller=this.navigator=new G(this))}function M(){let u=this.options,x=u.navigator,f=u.rangeSelector;if((x&&x.enabled||f&&f.enabled)&&(!$&&this.zooming.type==="x"||$&&this.zooming.pinchType==="x"))return!1}function v(u){let x=u.navigator;if(x&&u.xAxis[0]){let f=u.xAxis[0].getExtremes();x.render(f.min,f.max)}}function o(u){let x=u.options.navigator||{},f=u.options.scrollbar||{};!this.navigator&&!this.scroller&&(x.enabled||f.enabled)&&(Z(!0,this.options.navigator,x),Z(!0,this.options.scrollbar,f),delete u.options.navigator,delete u.options.scrollbar)}return{compose:function(u,x){if(T.pushUnique(Y,u)){let f=u.prototype;G=x,f.callbacks.push(v),q(u,"afterAddSeries",F),q(u,"afterSetChartSize",W),q(u,"afterUpdate",k),q(u,"beforeRender",E),q(u,"beforeShowResetZoom",M),q(u,"update",o)}}}}),O(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){let{isTouchDevice:G}=m,{addEvent:$,correctFloat:q,defined:Z,isNumber:Q,pick:Y}=T;function F(){this.navigatorAxis||(this.navigatorAxis=new k(this))}function W(E){let M,v=this.chart,o=v.options,u=o.navigator,x=this.navigatorAxis,f=v.zooming.pinchType,p=o.rangeSelector,b=v.zooming.type;if(this.isXAxis&&(u!=null&&u.enabled||p!=null&&p.enabled)){if(b==="y"&&E.trigger==="zoom")M=!1;else if((E.trigger==="zoom"&&b==="xy"||G&&f==="xy")&&this.options.range){let I=x.previousZoom;Z(E.min)?x.previousZoom=[this.min,this.max]:I&&(E.min=I[0],E.max=I[1],x.previousZoom=void 0)}}M!==void 0&&E.preventDefault()}class k{static compose(M){M.keepProps.includes("navigatorAxis")||(M.keepProps.push("navigatorAxis"),$(M,"init",F),$(M,"setExtremes",W))}constructor(M){this.axis=M}destroy(){this.axis=void 0}toFixedRange(M,v,o,u){let x=this.axis,f=(x.pointRange||0)/2,p=Y(o,x.translate(M,!0,!x.horiz)),b=Y(u,x.translate(v,!0,!x.horiz));return Z(o)||(p=q(p+f)),Z(u)||(b=q(b-f)),Q(p)&&Q(b)||(p=b=void 0),{min:p,max:b}}}return k}),O(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(m,T){let{parse:G}=m,{seriesTypes:$}=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:G("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:$.areaspline===void 0?"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}}}),O(e,"Stock/Navigator/NavigatorSymbols.js",[e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(m,T){let{relativeLength:G}=T;return{"navigator-handle":function($,q,Z,Q,Y={}){let F=Y.width?Y.width/2:Z,W=G(Y.borderRadius||0,Math.min(2*F,Q));return[["M",-1.5,(Q=Y.height||Q)/2-3.5],["L",-1.5,Q/2+4.5],["M",.5,Q/2-3.5],["L",.5,Q/2+4.5],...m.rect(-F-1,.5,2*F+1,Q,{r:W})]}}}),O(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],function(m){let{defined:T}=m;return{setFixedRange:function(G){let $=this.xAxis[0];T($.dataMax)&&T($.dataMin)&&G?this.fixedRange=Math.min(G,$.dataMax-$.dataMin):this.fixedRange=G}}}),O(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(m,T,G,$,q,Z,Q,Y){let{setOptions:F}=m,{composed:W}=T,{getRendererType:k}=Z,{setFixedRange:E}=Q,{addEvent:M,extend:v,pushUnique:o}=Y;function u(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(x,f,p){G.compose(f),o(W,"Navigator")&&(x.prototype.setFixedRange=E,v(k().prototype.symbols,q),M(p,"afterUpdate",u),F({navigator:$}))}}}),O(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T){var G;let{composed:$}=m,{addEvent:q,defined:Z,pick:Q,pushUnique:Y}=T;return function(F){let W;function k(o){let u=Q(o.options&&o.options.min,o.min),x=Q(o.options&&o.options.max,o.max);return{axisMin:u,axisMax:x,scrollMin:Z(o.dataMin)?Math.min(u,o.min,o.dataMin,Q(o.threshold,1/0)):u,scrollMax:Z(o.dataMax)?Math.max(x,o.max,o.dataMax,Q(o.threshold,-1/0)):x}}function E(){let o=this.scrollbar,u=o&&!o.options.opposite,x=this.horiz?2:u?3:1;o&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[x]+=o.size+(o.options.margin||0))}function M(){let o=this;o.options&&o.options.scrollbar&&o.options.scrollbar.enabled&&(o.options.scrollbar.vertical=!o.horiz,o.options.startOnTick=o.options.endOnTick=!1,o.scrollbar=new W(o.chart.renderer,o.options.scrollbar,o.chart),q(o.scrollbar,"changed",function(u){let x,f,{axisMin:p,axisMax:b,scrollMin:I,scrollMax:B}=k(o),A=B-I;if(Z(p)&&Z(b))if(o.horiz&&!o.reversed||!o.horiz&&o.reversed?(x=I+A*this.to,f=I+A*this.from):(x=I+A*(1-this.from),f=I+A*(1-this.to)),this.shouldUpdateExtremes(u.DOMType)){let g=u.DOMType!=="mousemove"&&u.DOMType!=="touchmove"&&void 0;o.setExtremes(f,x,!0,g,u)}else this.setRange(this.from,this.to)}))}function v(){let o,u,x,{scrollMin:f,scrollMax:p}=k(this),b=this.scrollbar,I=this.axisTitleMargin+(this.titleOffset||0),B=this.chart.scrollbarsOffsets,A=this.options.margin||0;if(b&&B){if(this.horiz)this.opposite||(B[1]+=I),b.position(this.left,this.top+this.height+2+B[1]-(this.opposite?A:0),this.width,this.height),this.opposite||(B[1]+=A),o=1;else{let g;this.opposite&&(B[0]+=I),g=b.options.opposite?this.left+this.width+2+B[0]-(this.opposite?0:A):this.opposite?0:A,b.position(g,this.top,this.width,this.height),this.opposite&&(B[0]+=A),o=0}B[o]+=b.size+(b.options.margin||0),isNaN(f)||isNaN(p)||!Z(this.min)||!Z(this.max)||this.min===this.max?b.setRange(0,1):(u=(this.min-f)/(p-f),x=(this.max-f)/(p-f),this.horiz&&!this.reversed||!this.horiz&&this.reversed?b.setRange(u,x):b.setRange(1-x,1-u))}}F.compose=function(o,u){Y($,"Axis.Scrollbar")&&(W=u,q(o,"afterGetOffset",E),q(o,"afterInit",M),q(o,"afterRender",v))}}(G||(G={})),G}),O(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}}),O(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(m,T,G,$,q){let{defaultOptions:Z}=m,{addEvent:Q,correctFloat:Y,crisp:F,defined:W,destroyObjectProperties:k,fireEvent:E,merge:M,pick:v,removeEvent:o}=q;class u{static compose(f){G.compose(f,u)}static swapXY(f,p){return p&&f.forEach(b=>{let I,B=b.length;for(let A=0;A<B;A+=2)typeof(I=b[A+1])=="number"&&(b[A+1]=b[A+2],b[A+2]=I)}),f}constructor(f,p,b){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(f,p,b)}addEvents(){let f=this.options.inverted?[1,0]:[0,1],p=this.scrollbarButtons,b=this.scrollbarGroup.element,I=this.track.element,B=this.mouseDownHandler.bind(this),A=this.mouseMoveHandler.bind(this),g=this.mouseUpHandler.bind(this),S=[[p[f[0]].element,"click",this.buttonToMinClick.bind(this)],[p[f[1]].element,"click",this.buttonToMaxClick.bind(this)],[I,"click",this.trackClick.bind(this)],[b,"mousedown",B],[b.ownerDocument,"mousemove",A],[b.ownerDocument,"mouseup",g],[b,"touchstart",B],[b.ownerDocument,"touchmove",A],[b.ownerDocument,"touchend",g]];S.forEach(function(l){Q.apply(null,l)}),this._events=S}buttonToMaxClick(f){let p=(this.to-this.from)*v(this.options.step,.2);this.updatePosition(this.from+p,this.to+p),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}buttonToMinClick(f){let p=Y(this.to-this.from)*v(this.options.step,.2);this.updatePosition(Y(this.from-p),Y(this.to-p)),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}cursorToScrollbarPosition(f){let p=this.options,b=p.minWidth>this.calculatedWidth?p.minWidth:0;return{chartX:(f.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(f.chartY-this.y-this.yOffset)/(this.barWidth-b)}}destroy(){let f=this,p=f.chart.scroller;f.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){f[b]&&f[b].destroy&&(f[b]=f[b].destroy())}),p&&f===p.scrollbar&&(p.scrollbar=null,k(p.scrollbarButtons))}drawScrollbarButton(f){let p=this.renderer,b=this.scrollbarButtons,I=this.options,B=this.size,A=p.g().add(this.group);if(b.push(A),I.buttonsEnabled){let g=p.rect().addClass("highcharts-scrollbar-button").add(A);this.chart.styledMode||g.attr({stroke:I.buttonBorderColor,"stroke-width":I.buttonBorderWidth,fill:I.buttonBackgroundColor}),g.attr(g.crisp({x:-.5,y:-.5,width:B,height:B,r:I.buttonBorderRadius},g.strokeWidth()));let S=p.path(u.swapXY([["M",B/2+(f?-1:1),B/2-3],["L",B/2+(f?-1:1),B/2+3],["L",B/2+(f?2:-2),B/2]],I.vertical)).addClass("highcharts-scrollbar-arrow").add(b[f]);this.chart.styledMode||S.attr({fill:I.buttonArrowColor})}}init(f,p,b){this.scrollbarButtons=[],this.renderer=f,this.userOptions=p,this.options=M($,Z.scrollbar,p),this.options.margin=v(this.options.margin,10),this.chart=b,this.size=v(this.options.size,this.options.height),p.enabled&&(this.render(),this.addEvents())}mouseDownHandler(f){var I;let p=((I=this.chart.pointer)==null?void 0:I.normalize(f))||f,b=this.cursorToScrollbarPosition(p);this.chartX=b.chartX,this.chartY=b.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(f){var A;let p,b=((A=this.chart.pointer)==null?void 0:A.normalize(f))||f,I=this.options.vertical?"chartY":"chartX",B=this.initPositions||[];this.grabbedCenter&&(!f.touches||f.touches[0][I]!==0)&&(p=this.cursorToScrollbarPosition(b)[I]-this[I],this.hasDragged=!0,this.updatePosition(B[0]+p,B[1]+p),this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f}))}mouseUpHandler(f){this.hasDragged&&E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(f,p,b,I){let{buttonsEnabled:B,margin:A=0,vertical:g}=this.options,S=this.rendered?"animate":"attr",l=I,s=0;this.group.show(),this.x=f,this.y=p+this.trackBorderWidth,this.width=b,this.height=I,this.xOffset=l,this.yOffset=s,g?(this.width=this.yOffset=b=s=this.size,this.xOffset=l=0,this.yOffset=s=B?this.size:0,this.barWidth=I-(B?2*b:0),this.x=f+=A):(this.height=I=this.size,this.xOffset=l=B?this.size:0,this.barWidth=b-(B?2*I:0),this.y=this.y+A),this.group[S]({translateX:f,translateY:this.y}),this.track[S]({width:b,height:I}),this.scrollbarButtons[1][S]({translateX:g?0:b-l,translateY:g?I-s:0})}removeEvents(){this._events.forEach(function(f){o.apply(null,f)}),this._events.length=0}render(){let f=this.renderer,p=this.options,b=this.size,I=this.chart.styledMode,B=f.g("scrollbar").attr({zIndex:p.zIndex}).hide().add();this.group=B,this.track=f.rect().addClass("highcharts-scrollbar-track").attr({r:p.trackBorderRadius||0,height:b,width:b}).add(B),I||this.track.attr({fill:p.trackBackgroundColor,stroke:p.trackBorderColor,"stroke-width":p.trackBorderWidth});let A=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-F(0,A),y:-F(0,A)}),this.scrollbarGroup=f.g().add(B),this.scrollbar=f.rect().addClass("highcharts-scrollbar-thumb").attr({height:b-A,width:b-A,r:p.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=f.path(u.swapXY([["M",-3,b/4],["L",-3,2*b/3],["M",0,b/4],["L",0,2*b/3],["M",3,b/4],["L",3,2*b/3]],p.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),I||(this.scrollbar.attr({fill:p.barBackgroundColor,stroke:p.barBorderColor,"stroke-width":p.barBorderWidth}),this.scrollbarRifles.attr({stroke:p.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-F(0,this.scrollbarStrokeWidth),-F(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(f,p){let b,I,B=this.options,A=B.vertical,g=B.minWidth,S=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!W(S))return;let s=S*Math.min(p,1);b=Math.ceil(S*(f=Math.max(f,0))),this.calculatedWidth=I=Y(s-b),I<g&&(b=(S-g+I)*f,I=g);let r=Math.floor(b+this.xOffset+this.yOffset),a=I/2-.5;this.from=f,this.to=p,A?(this.scrollbarGroup[l]({translateY:r}),this.scrollbar[l]({height:I}),this.scrollbarRifles[l]({translateY:a}),this.scrollbarTop=r,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:r}),this.scrollbar[l]({width:I}),this.scrollbarRifles[l]({translateX:a}),this.scrollbarLeft=r,this.scrollbarTop=0),I<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),B.showFull===!1&&(f<=0&&p>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(f){return v(this.options.liveRedraw,T.svg&&!T.isTouchDevice&&!this.chart.boosted)||f==="mouseup"||f==="touchend"||!W(f)}trackClick(f){var A;let p=((A=this.chart.pointer)==null?void 0:A.normalize(f))||f,b=this.to-this.from,I=this.y+this.scrollbarTop,B=this.x+this.scrollbarLeft;this.options.vertical&&p.chartY>I||!this.options.vertical&&p.chartX>B?this.updatePosition(this.from+b,this.to+b):this.updatePosition(this.from-b,this.to-b),E(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})}update(f){this.destroy(),this.init(this.chart.renderer,M(!0,this.options,f),this.chart)}updatePosition(f,p){p>1&&(f=Y(1-Y(p-f)),p=1),f<0&&(p=Y(p-f),f=0),this.from=f,this.to=p}}return u.defaultOptions=$,Z.scrollbar=M(!0,u.defaultOptions,Z.scrollbar),u}),O(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(m,T,G,$,q,Z,Q,Y,F){let{defaultOptions:W}=G,{isTouchDevice:k}=$,{prototype:{symbols:E}}=Y,{addEvent:M,clamp:v,correctFloat:o,defined:u,destroyObjectProperties:x,erase:f,extend:p,find:b,fireEvent:I,isArray:B,isNumber:A,merge:g,pick:S,removeEvent:l,splat:s}=F;function r(d,...n){let h=[].filter.call(n,A);if(h.length)return Math[d].apply(0,h)}class a{static compose(n,h,c){T.compose(n,a),Z.compose(n,h,c)}constructor(n){this.isDirty=!1,this.scrollbarHeight=0,this.init(n)}drawHandle(n,h,c,L){let z=this.navigatorOptions.handles.height;this.handles[h][L](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(n,10)+.5-z)}:{translateX:Math.round(this.left+parseInt(n,10)),translateY:Math.round(this.top+this.height/2-z/2-1)})}drawOutline(n,h,c,L){let z=this.navigatorOptions.maskInside,w=this.outline.strokeWidth(),R=w/2,V=w%2/2,X=this.scrollButtonSize,J=this.size,P=this.top,C=this.height,N=P-R,_=P+C,y=this.left,D,j;c?(D=P+h+V,h=P+n+V,j=[["M",y+C,P-X-V],["L",y+C,D],["L",y,D],["M",y,h],["L",y+C,h],["L",y+C,P+J+X]],z&&j.push(["M",y+C,D-R],["L",y+C,h+R])):(y-=X,n+=y+X-V,h+=y+X-V,j=[["M",y,N],["L",n,N],["L",n,_],["M",h,_],["L",h,N],["L",y+J+2*X,N]],z&&j.push(["M",n-R,N],["L",h+R,N])),this.outline[L]({d:j})}drawMasks(n,h,c,L){let z,w,R,V,X=this.left,J=this.top,P=this.height;c?(R=[X,X,X],V=[J,J+n,J+h],w=[P,P,P],z=[n,h-n,this.size-h]):(R=[X,X+n,X+h],V=[J,J,J],w=[n,h-n,this.size-h],z=[P,P,P]),this.shades.forEach((C,N)=>{C[L]({x:R[N],y:V[N],width:w[N],height:z[N]})})}renderElements(){var X;let n=this,h=n.navigatorOptions,c=h.maskInside,L=n.chart,z=L.inverted,w=L.renderer,R={cursor:z?"ns-resize":"ew-resize"},V=n.navigatorGroup??(n.navigatorGroup=w.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!c,c,!c].forEach((J,P)=>{let C=n.shades[P]??(n.shades[P]=w.rect().addClass("highcharts-navigator-mask"+(P===1?"-inside":"-outside")).add(V));L.styledMode||(C.attr({fill:J?h.maskFill:"rgba(0,0,0,0)"}),P===1&&C.css(R))}),n.outline||(n.outline=w.path().addClass("highcharts-navigator-outline").add(V)),L.styledMode||n.outline.attr({"stroke-width":h.outlineWidth,stroke:h.outlineColor}),(X=h.handles)==null?void 0:X.enabled){let J=h.handles,{height:P,width:C}=J;[0,1].forEach(N=>{let _=J.symbols[N];if(n.handles[N]){if(_!==n.handles[N].symbolName){let y=E[_].call(E,-C/2-1,0,C,P);n.handles[N].attr({d:y}),n.handles[N].symbolName=_}}else n.handles[N]=w.symbol(_,-C/2-1,0,C,P,J),n.handles[N].attr({zIndex:7-N}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][N]).add(V);L.inverted&&n.handles[N].attr({rotation:90,rotationOriginX:Math.floor(-C/2),rotationOriginY:(P+C)/2}),L.styledMode||n.handles[N].attr({fill:J.backgroundColor,stroke:J.borderColor,"stroke-width":J.lineWidth,width:J.width,height:J.height,x:-C/2-1,y:0}).css(R)})}}update(n,h=!1){var z;let c=this.chart,L=c.options.chart.inverted!==((z=c.scrollbar)==null?void 0:z.options.vertical);if(g(!0,c.options.navigator,n),this.navigatorOptions=c.options.navigator||{},this.setOpposite(),u(n.enabled)||L)return this.destroy(),this.navigatorEnabled=n.enabled||this.navigatorEnabled,this.init(c);if(this.navigatorEnabled&&(this.isDirty=!0,n.adaptToUpdatedData===!1&&this.baseSeries.forEach(w=>{l(w,"updatedData",this.updatedDataHandler)},this),n.adaptToUpdatedData&&this.baseSeries.forEach(w=>{w.eventsToUnbind.push(M(w,"updatedData",this.updatedDataHandler))},this),(n.series||n.baseSeries)&&this.setBaseSeries(void 0,!1),n.height||n.xAxis||n.yAxis)){this.height=n.height??this.height;let w=this.getXAxisOffsets();this.xAxis.update({...n.xAxis,offsets:w,[c.inverted?"width":"height"]:this.height,[c.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...n.yAxis,[c.inverted?"width":"height"]:this.height},!1)}h&&c.redraw()}render(n,h,c,L){let z=this.chart,w=this.xAxis,R=w.pointRange||0,V=w.navigatorAxis.fake?z.xAxis[0]:w,X=this.navigatorEnabled,J=this.rendered,P=z.inverted,C=z.xAxis[0].minRange,N=z.xAxis[0].options.maxRange,_=this.scrollButtonSize,y,D,j,H=this.scrollbarHeight,U,K;if(this.hasDragged&&!u(c))return;if(this.isDirty&&this.renderElements(),n=o(n-R/2),h=o(h+R/2),!A(n)||!A(h)){if(!J)return;c=0,L=S(w.width,V.width)}this.left=S(w.left,z.plotLeft+_+(P?z.plotWidth:0));let et=this.size=U=S(w.len,(P?z.plotHeight:z.plotWidth)-2*_);y=P?H:U+2*_,c=S(c,w.toPixels(n,!0)),L=S(L,w.toPixels(h,!0)),A(c)&&Math.abs(c)!==1/0||(c=0,L=y);let rt=w.toValue(c,!0),nt=w.toValue(L,!0),lt=Math.abs(o(nt-rt));lt<C?this.grabbedLeft?c=w.toPixels(nt-C-R,!0):this.grabbedRight&&(L=w.toPixels(rt+C+R,!0)):u(N)&&o(lt-R)>N&&(this.grabbedLeft?c=w.toPixels(nt-N-R,!0):this.grabbedRight&&(L=w.toPixels(rt+N+R,!0))),this.zoomedMax=v(Math.max(c,L),0,et),this.zoomedMin=v(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,L),0,et),this.range=this.zoomedMax-this.zoomedMin,et=Math.round(this.zoomedMax);let ht=Math.round(this.zoomedMin);X&&(this.navigatorGroup.attr({visibility:"inherit"}),K=J&&!this.hasDragged?"animate":"attr",this.drawMasks(ht,et,P,K),this.drawOutline(ht,et,P,K),this.navigatorOptions.handles.enabled&&(this.drawHandle(ht,0,P,K),this.drawHandle(et,1,P,K))),this.scrollbar&&(P?(j=this.top-_,D=this.left-H+(X||!V.opposite?0:(V.titleOffset||0)+V.axisTitleMargin),H=U+2*_):(j=this.top+(X?this.height:-H),D=this.left-_),this.scrollbar.position(D,j,y,H),this.scrollbar.setRange(this.zoomedMin/(U||1),this.zoomedMax/(U||1))),this.rendered=!0,this.isDirty=!1,I(this,"afterRender")}addMouseEvents(){let n=this,h=n.chart,c=h.container,L=[],z,w;n.mouseMoveHandler=z=function(R){n.onMouseMove(R)},n.mouseUpHandler=w=function(R){n.onMouseUp(R)},(L=n.getPartsEvents("mousedown")).push(M(h.renderTo,"mousemove",z),M(c.ownerDocument,"mouseup",w),M(h.renderTo,"touchmove",z),M(c.ownerDocument,"touchend",w)),L.concat(n.getPartsEvents("touchstart")),n.eventsToUnbind=L,n.series&&n.series[0]&&L.push(M(n.series[0].xAxis,"foundExtremes",function(){h.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(n){let h=this,c=[];return["shades","handles"].forEach(function(L){h[L].forEach(function(z,w){c.push(M(z.element,n,function(R){h[L+"Mousedown"](R,w)}))})}),c}shadesMousedown(n,h){var _;n=((_=this.chart.pointer)==null?void 0:_.normalize(n))||n;let c=this.chart,L=this.xAxis,z=this.zoomedMin,w=this.size,R=this.range,V=this.left,X=n.chartX,J,P,C,N;c.inverted&&(X=n.chartY,V=this.top),h===1?(this.grabbedCenter=X,this.fixedWidth=R,this.dragOffset=X-z):(N=X-V-R/2,h===0?N=Math.max(0,N):h===2&&N+R>=w&&(N=w-R,this.reversedExtremes?(N-=R,P=this.getUnionExtremes().dataMin):J=this.getUnionExtremes().dataMax),N!==z&&(this.fixedWidth=R,u((C=L.navigatorAxis.toFixedRange(N,N+R,P,J)).min)&&I(this,"setRange",{min:Math.min(C.min,C.max),max:Math.max(C.min,C.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(n,h){var w;n=((w=this.chart.pointer)==null?void 0:w.normalize(n))||n;let c=this.chart,L=c.xAxis[0],z=this.reversedExtremes;h===0?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=z?L.min:L.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=z?L.max:L.min),c.setFixedRange(void 0)}onMouseMove(n){var J;let h=this,c=h.chart,L=h.navigatorSize,z=h.range,w=h.dragOffset,R=c.inverted,V=h.left,X;(!n.touches||n.touches[0].pageX!==0)&&(X=(n=((J=c.pointer)==null?void 0:J.normalize(n))||n).chartX,R&&(V=h.top,X=n.chartY),h.grabbedLeft?(h.hasDragged=!0,h.render(0,0,X-V,h.otherHandlePos)):h.grabbedRight?(h.hasDragged=!0,h.render(0,0,h.otherHandlePos,X-V)):h.grabbedCenter&&(h.hasDragged=!0,X<w?X=w:X>L+w-z&&(X=L+w-z),h.render(0,0,X-w,X-w+z)),h.hasDragged&&h.scrollbar&&S(h.scrollbar.options.liveRedraw,!k&&!this.chart.boosted)&&(n.DOMType=n.type,setTimeout(function(){h.onMouseUp(n)},0)))}onMouseUp(n){let h,c,L,z,w,R,V=this.chart,X=this.xAxis,J=this.scrollbar,P=n.DOMEvent||n,C=V.inverted,N=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!J||!J.hasDragged)||n.trigger==="scrollbar")&&(L=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?z=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(w=this.fixedExtreme),this.zoomedMax===this.size&&(w=this.reversedExtremes?L.dataMin:L.dataMax),this.zoomedMin===0&&(z=this.reversedExtremes?L.dataMax:L.dataMin),u((R=X.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,z,w)).min)&&I(this,"setRange",{min:Math.min(R.min,R.max),max:Math.max(R.min,R.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:P}})),n.DOMType!=="mousemove"&&n.DOMType!=="touchmove"&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&A(this.zoomedMin)&&A(this.zoomedMax)&&(c=Math.round(this.zoomedMin),h=Math.round(this.zoomedMax),this.shades&&this.drawMasks(c,h,C,N),this.outline&&this.drawOutline(c,h,C,N),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(c,0,C,N),this.drawHandle(h,1,C,N)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let n=this.baseSeries||[];this.navigatorEnabled&&n[0]&&(this.navigatorOptions.adaptToUpdatedData!==!1&&n.forEach(function(h){l(h,"updatedData",this.updatedDataHandler)},this),n[0].xAxis&&l(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(n){let h=n.options,c=h.navigator||{},L=c.enabled,z=h.scrollbar||{},w=z.enabled,R=L&&c.height||0,V=w&&z.height||0,X=z.buttonsEnabled&&V||0;this.handles=[],this.shades=[],this.chart=n,this.setBaseSeries(),this.height=R,this.scrollbarHeight=V,this.scrollButtonSize=X,this.scrollbarEnabled=w,this.navigatorEnabled=L,this.navigatorOptions=c,this.scrollbarOptions=z,this.setOpposite();let J=this,P=J.baseSeries,C=n.xAxis.length,N=n.yAxis.length,_=P&&P[0]&&P[0].xAxis||n.xAxis[0]||{options:{}};if(n.isDirtyBox=!0,J.navigatorEnabled){let y=this.getXAxisOffsets();J.xAxis=new m(n,g({breaks:_.options.breaks,ordinal:_.options.ordinal,overscroll:_.options.overscroll},c.xAxis,{type:"datetime",index:C,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:_.options.ordinal?0:_.options.minPadding,maxPadding:_.options.ordinal?0:_.options.maxPadding,zoomEnabled:!1},n.inverted?{offsets:y,width:R}:{offsets:y,height:R}),"xAxis"),J.yAxis=new m(n,g(c.yAxis,{alignTicks:!1,offset:0,index:N,isInternal:!0,reversed:S(c.yAxis&&c.yAxis.reversed,n.yAxis[0]&&n.yAxis[0].reversed,!1),zoomEnabled:!1},n.inverted?{width:R}:{height:R}),"yAxis"),P||c.series.data?J.updateNavigatorSeries(!1):n.series.length===0&&(J.unbindRedraw=M(n,"beforeRedraw",function(){n.series.length>0&&!J.series&&(J.setBaseSeries(),J.unbindRedraw())})),J.reversedExtremes=n.inverted&&!J.xAxis.reversed||!n.inverted&&J.xAxis.reversed,J.renderElements(),J.addMouseEvents()}else J.xAxis={chart:n,navigatorAxis:{fake:!0},translate:function(y,D){let j=n.xAxis[0],H=j.getExtremes(),U=j.len-2*X,K=r("min",j.options.min,H.dataMin),et=r("max",j.options.max,H.dataMax)-K;return D?y*et/U+K:U*(y-K)/et},toPixels:function(y){return this.translate(y)},toValue:function(y){return this.translate(y,!0)}},J.xAxis.navigatorAxis.axis=J.xAxis,J.xAxis.navigatorAxis.toFixedRange=q.prototype.toFixedRange.bind(J.xAxis.navigatorAxis);if(n.options.scrollbar.enabled){let y=g(n.options.scrollbar,{vertical:n.inverted});!A(y.margin)&&J.navigatorEnabled&&(y.margin=n.inverted?-3:3),n.scrollbar=J.scrollbar=new Q(n.renderer,y,n),M(J.scrollbar,"changed",function(D){let j=J.size,H=j*this.to,U=j*this.from;J.hasDragged=J.scrollbar.hasDragged,J.render(0,0,U,H),this.shouldUpdateExtremes(D.DOMType)&&setTimeout(function(){J.onMouseUp(D)})})}J.addBaseSeriesEvents(),J.addChartEvents()}setOpposite(){let n=this.navigatorOptions,h=this.navigatorEnabled,c=this.chart;this.opposite=S(n.opposite,!!(!h&&c.inverted))}getUnionExtremes(n){let h,c=this.chart.xAxis[0],L=this.xAxis,z=L.options,w=c.options;return n&&c.dataMin===null||(h={dataMin:S(z&&z.min,r("min",w.min,c.dataMin,L.dataMin,L.min)),dataMax:S(z&&z.max,r("max",w.max,c.dataMax,L.dataMax,L.max))}),h}setBaseSeries(n,h){let c=this.chart,L=this.baseSeries=[];n=n||c.options&&c.options.navigator.baseSeries||(c.series.length?b(c.series,z=>!z.options.isInternal).index:0),(c.series||[]).forEach((z,w)=>{!z.options.isInternal&&(z.options.showInNavigator||(w===n||z.options.id===n)&&z.options.showInNavigator!==!1)&&L.push(z)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,h)}updateNavigatorSeries(n,h){var C,N;let c=this,L=c.chart,z=c.baseSeries,w={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:(C=this.navigatorOptions.xAxis)==null?void 0:C.id,yAxis:(N=this.navigatorOptions.yAxis)==null?void 0:N.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},R=c.series=(c.series||[]).filter(_=>{let y=_.baseSeries;return!(0>z.indexOf(y))||(y&&(l(y,"updatedData",c.updatedDataHandler),delete y.navigatorSeries),_.chart&&_.destroy(),!1)}),V,X,J=c.navigatorOptions.series,P;z&&z.length&&z.forEach(_=>{let y=_.navigatorSeries,D=p({color:_.color,visible:_.visible},B(J)?W.navigator.series:J);if(y&&c.navigatorOptions.adaptToUpdatedData===!1)return;w.name="Navigator "+z.length,P=(V=_.options||{}).navigatorOptions||{},D.dataLabels=s(D.dataLabels),(X=g(V,w,D,P)).pointRange=S(D.pointRange,P.pointRange,W.plotOptions[X.type||"line"].pointRange);let j=P.data||D.data;c.hasNavigatorData=c.hasNavigatorData||!!j,X.data=j||V.data&&V.data.slice(0),y&&y.options?y.update(X,h):(_.navigatorSeries=L.initSeries(X),L.setSortedData(),_.navigatorSeries.baseSeries=_,R.push(_.navigatorSeries))}),(J.data&&!(z&&z.length)||B(J))&&(c.hasNavigatorData=!1,(J=s(J)).forEach((_,y)=>{w.name="Navigator "+(R.length+1),(X=g(W.navigator.series,{color:L.series[y]&&!L.series[y].options.isInternal&&L.series[y].color||L.options.colors[y]||L.options.colors[0]},w,_)).data=_.data,X.data&&(c.hasNavigatorData=!0,R.push(L.initSeries(X)))})),n&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let n=this,h=n.baseSeries||[];h[0]&&h[0].xAxis&&h[0].eventsToUnbind.push(M(h[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),h.forEach(c=>{c.eventsToUnbind.push(M(c,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),c.eventsToUnbind.push(M(c,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),this.navigatorOptions.adaptToUpdatedData!==!1&&c.xAxis&&c.eventsToUnbind.push(M(c,"updatedData",this.updatedDataHandler)),c.eventsToUnbind.push(M(c,"remove",function(){h&&f(h,c),this.navigatorSeries&&(f(n.series,this.navigatorSeries),u(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(n){return this.baseSeries.reduce(function(h,c){return Math.min(h,c.xData&&c.xData.length?c.xData[0]:h)},n)}modifyNavigatorAxisExtremes(){let n=this.xAxis;if(n.getExtremes!==void 0){let h=this.getUnionExtremes(!0);h&&(h.dataMin!==n.min||h.dataMax!==n.max)&&(n.min=h.dataMin,n.max=h.dataMax)}}modifyBaseAxisExtremes(){var y;let n,h,c=this.chart.navigator,L=this.getExtremes(),z=L.min,w=L.max,R=L.dataMin,V=L.dataMax,X=w-z,J=c.stickToMin,P=c.stickToMax,C=S((y=this.ordinal)==null?void 0:y.convertOverscroll(this.options.overscroll),0),N=c.series&&c.series[0],_=!!this.setExtremes;!(this.eventArgs&&this.eventArgs.trigger==="rangeSelectorButton")&&(J&&(n=(h=R)+X),P&&(n=V+C,J||(h=Math.max(R,n-X,c.getBaseSeriesMin(N&&N.xData?N.xData[0]:-Number.MAX_VALUE)))),_&&(J||P)&&A(h)&&(this.min=this.userMin=h,this.max=this.userMax=n)),c.stickToMin=c.stickToMax=null}updatedDataHandler(){let n=this.chart.navigator,h=this.navigatorSeries,c=n.reversedExtremes?Math.round(n.zoomedMin)===0:Math.round(n.zoomedMax)>=Math.round(n.size);n.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,c),n.stickToMin=n.shouldStickToMin(this,n),h&&!n.hasNavigatorData&&(h.options.pointStart=this.xData[0],h.setData(this.options.data,!1,null,!1))}shouldStickToMin(n,h){let c=h.getBaseSeriesMin(n.xData[0]),L=n.xAxis,z=L.max,w=L.min,R=L.options.range;return!!(A(z)&&A(w))&&(R&&z-c>0?z-c<R:w<=c)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(M(this.chart,"redraw",function(){let n=this.navigator,h=n&&(n.baseSeries&&n.baseSeries[0]&&n.baseSeries[0].xAxis||this.xAxis[0]);h&&n.render(h.min,h.max)}),M(this.chart,"getMargins",function(){let n=this.navigator,h=n.opposite?"plotTop":"marginBottom";this.inverted&&(h=n.opposite?"marginRight":"plotLeft"),this[h]=(this[h]||0)+(n.navigatorEnabled||!this.inverted?n.height+n.scrollbarHeight:0)+n.navigatorOptions.margin}),M(a,"setRange",function(n){this.chart.xAxis[0].setExtremes(n.min,n.max,n.redraw,n.animation,n.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(f(this.chart.xAxis,this.xAxis),f(this.chart.axes,this.xAxis)),this.yAxis&&(f(this.chart.yAxis,this.yAxis),f(this.chart.axes,this.yAxis)),(this.series||[]).forEach(n=>{n.destroy&&n.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(n=>{this[n]&&this[n].destroy&&this[n].destroy(),this[n]=null}),[this.handles].forEach(n=>{x(n)}),this.navigatorEnabled=!1}}return a}),O(e,"Core/Axis/OrdinalAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{addEvent:Z,correctFloat:Q,css:Y,defined:F,error:W,isNumber:k,pick:E,timeUnits:M,isString:v}=$;return function(o){function u(r,a,d,n,h=[],c=0,L){let z={},w=this.options.tickPixelInterval,R=this.chart.time,V=[],X,J,P,C,N,_=0,y=[],D=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!h||h.length<3||a===void 0)return R.getTimeTicks.apply(R,arguments);let j=h.length;for(X=0;X<j;X++){if(N=X&&h[X-1]>d,h[X]<a&&(_=X),X===j-1||h[X+1]-h[X]>5*c||N){if(h[X]>D){for(J=R.getTimeTicks(r,h[_],h[X],n);J.length&&J[0]<=D;)J.shift();J.length&&(D=J[J.length-1]),V.push(y.length),y=y.concat(J)}_=X+1}if(N)break}if(J){if(C=J.info,L&&C.unitRange<=M.hour){for(_=1,X=y.length-1;_<X;_++)R.dateFormat("%d",y[_])!==R.dateFormat("%d",y[_-1])&&(z[y[_]]="day",P=!0);P&&(z[y[0]]="day"),C.higherRanks=z}C.segmentStarts=V,y.info=C}else W(12,!1,this.chart);if(L&&F(w)){let H=y.length,U=[],K=[],et,rt,nt,lt,ht,it=H;for(;it--;)rt=this.translate(y[it]),nt&&(K[it]=nt-rt),U[it]=nt=rt;for(K.sort((tt,st)=>tt-st),(lt=K[Math.floor(K.length/2)])<.6*w&&(lt=null),it=y[H-1]>d?H-1:H,nt=void 0;it--;)ht=Math.abs(nt-(rt=U[it])),nt&&ht<.8*w&&(lt===null||ht<.8*lt)?(z[y[it]]&&!z[y[it+1]]?(et=it+1,nt=rt):et=it,y.splice(et,1)):nt=rt}return y}function x(r){let a=this.ordinal.positions;if(!a)return r;let d=a.length-1,n;return r<0?r=a[0]:r>d?r=a[d]:(d=Math.floor(r),n=r-d),n!==void 0&&a[d]!==void 0?a[d]+(n?n*(a[d+1]-a[d]):0):r}function f(r){let a=this.ordinal,d=this.old?this.old.min:this.min,n=this.old?this.old.transA:this.transA,h=a.getExtendedPositions();if(h&&h.length){let c=Q((r-d)*n+this.minPixelPadding),L=Q(a.getIndexOfPoint(c,h)),z=Q(L%1);if(L>=0&&L<=h.length-1){let w=h[Math.floor(L)],R=h[Math.ceil(L)];return h[Math.floor(L)]+z*(R-w)}}return r}function p(r,a){let d=o.Additions.findIndexOf(r,a,!0);if(r[d]===a)return d;let n=(a-r[d])/(r[d+1]-r[d]);return d+n}function b(){this.ordinal||(this.ordinal=new o.Additions(this))}function I(){let{eventArgs:r,options:a}=this;if(this.isXAxis&&F(a.overscroll)&&a.overscroll!==0&&k(this.max)&&k(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&((r==null?void 0:r.trigger)!=="pan"||this.isInternal)&&(r==null?void 0:r.trigger)!=="navigator")){let d=this.ordinal.convertOverscroll(a.overscroll);this.max+=d,!this.isInternal&&F(this.userMin)&&(r==null?void 0:r.trigger)!=="mousewheel"&&(this.min+=d)}}function B(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function A(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function g(r){let a=this.xAxis[0],d=a.ordinal.convertOverscroll(a.options.overscroll),n=r.originalEvent.chartX,h=this.options.chart.panning,c=!1;if(h&&h.type!=="y"&&a.options.ordinal&&a.series.length&&(!r.touches||r.touches.length<=1)){let L,z,w=this.mouseDownX,R=a.getExtremes(),V=R.dataMin,X=R.dataMax,J=R.min,P=R.max,C=this.hoverPoints,N=a.closestPointRange||a.ordinal&&a.ordinal.overscrollPointsRange,_=Math.round((w-n)/(a.translationSlope*(a.ordinal.slope||N))),y=a.ordinal.getExtendedPositions(),D={ordinal:{positions:y,extendedOrdinalPositions:y}},j=a.index2val,H=a.val2lin;if(J<=V&&_<0||P+d>=X&&_>0)return;D.ordinal.positions?Math.abs(_)>1&&(C&&C.forEach(function(U){U.setState()}),X>(z=D.ordinal.positions)[z.length-1]&&z.push(X),this.setFixedRange(P-J),(L=a.navigatorAxis.toFixedRange(void 0,void 0,j.apply(D,[H.apply(D,[J,!0])+_]),j.apply(D,[H.apply(D,[P,!0])+_]))).min>=Math.min(R.dataMin,J)&&L.max<=Math.max(X,P)+d&&a.setExtremes(L.min,L.max,!0,!1,{trigger:"pan"}),this.mouseDownX=n,Y(this.container,{cursor:"move"})):c=!0}else c=!0;c||h&&/y/.test(h.type)?d&&(a.max=a.dataMax+d):r.preventDefault()}function S(){let r=this.xAxis;r&&r.options.ordinal&&(delete r.ordinal.index,delete r.ordinal.originalOrdinalRange)}function l(r,a){let d,n=this.ordinal,h=n.positions,c=n.slope,L;if(!h)return r;let z=h.length;if(h[0]<=r&&h[z-1]>=r)d=p(h,r);else{if(!((L=n.getExtendedPositions&&n.getExtendedPositions())&&L.length))return r;let w=L.length;c||(c=(L[w-1]-L[0])/w);let R=p(L,h[0]);if(r>=L[0]&&r<=L[w-1])d=p(L,r)-R;else{if(!a)return r;d=r<L[0]?-R-(L[0]-r)/c:(r-L[w-1])/c+w-R}}return a?d:c*(d||0)+n.offset}o.compose=function(r,a,d){let n=r.prototype;return n.ordinal2lin||(n.getTimeTicks=u,n.index2val=x,n.lin2val=f,n.val2lin=l,n.ordinal2lin=n.val2lin,Z(r,"afterInit",b),Z(r,"foundExtremes",I),Z(r,"afterSetScale",B),Z(r,"initialAxisTranslation",A),Z(d,"pan",g),Z(d,"touchpan",g),Z(a,"updatedData",S)),r};class s{constructor(a){this.index={},this.axis=a}beforeSetTickPositions(){var H;let a=this.axis,d=a.ordinal,n=a.getExtremes(),h=n.min,c=n.max,L=(H=a.brokenAxis)==null?void 0:H.hasBreaks,z=a.options.ordinal,w,R,V,X,J,P,C,N=[],_=Number.MAX_VALUE,y=!1,D=!1,j=!1;if(z||L){let U=0;if(a.series.forEach(function(K,et){if(R=[],et>0&&K.options.id!=="highcharts-navigator-series"&&K.processedXData.length>1&&(D=U!==K.processedXData[1]-K.processedXData[0]),U=K.processedXData[1]-K.processedXData[0],K.boosted&&(j=K.boosted),K.reserveSpace()&&(K.takeOrdinalPosition!==!1||L)&&(w=(N=N.concat(K.processedXData)).length,N.sort(function(rt,nt){return rt-nt}),_=Math.min(_,E(K.closestPointRange,_)),w)){for(et=0;et<w-1;)N[et]!==N[et+1]&&R.push(N[et+1]),et++;R[0]!==N[0]&&R.unshift(N[0]),N=R}}),a.ordinal.originalOrdinalRange||(a.ordinal.originalOrdinalRange=(N.length-1)*_),D&&j&&(N.pop(),N.shift()),(w=N.length)>2){for(V=N[1]-N[0],C=w-1;C--&&!y;)N[C+1]-N[C]!==V&&(y=!0);!a.options.keepOrdinalPadding&&(N[0]-h>V||c-N[N.length-1]>V)&&(y=!0)}else a.options.overscroll&&(w===2?_=N[1]-N[0]:w===1?(_=a.ordinal.convertOverscroll(a.options.overscroll),N=[N[0],N[0]+_]):_=d.overscrollPointsRange);y||a.forceOrdinal?(a.options.overscroll&&(d.overscrollPointsRange=_,N=N.concat(d.getOverscrollPositions())),d.positions=N,X=a.ordinal2lin(Math.max(h,N[0]),!0),J=Math.max(a.ordinal2lin(Math.min(c,N[N.length-1]),!0),1),d.slope=P=(c-h)/(J-X),d.offset=h-X*P):(d.overscrollPointsRange=E(a.closestPointRange,d.overscrollPointsRange),d.positions=a.ordinal.slope=d.offset=void 0)}a.isOrdinal=z&&y,d.groupIntervalFactor=null}static findIndexOf(a,d,n){let h=0,c=a.length-1,L;for(;h<c;)a[L=Math.ceil((h+c)/2)]<=d?h=L:c=L-1;return a[h]===d||n?h:-1}getExtendedPositions(a=!0){var P;let d=this,n=d.axis,h=n.constructor.prototype,c=n.chart,L=(P=n.series[0])==null?void 0:P.currentDataGrouping,z=L?L.count+L.unitName:"raw",w=a?n.ordinal.convertOverscroll(n.options.overscroll):0,R=n.getExtremes(),V,X,J=d.index;return J||(J=d.index={}),J[z]||((V={series:[],chart:c,forceOrdinal:!1,getExtremes:function(){return{min:R.dataMin,max:R.dataMax+w}},applyGrouping:h.applyGrouping,getGroupPixelWidth:h.getGroupPixelWidth,getTimeTicks:h.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:h.ordinal2lin,getIndexOfPoint:h.getIndexOfPoint,val2lin:h.val2lin}).ordinal.axis=V,n.series.forEach(function(C){var N,_,y;X={xAxis:V,xData:C.xData.slice(),chart:c,groupPixelWidth:C.groupPixelWidth,destroyGroupedData:T.noop,getProcessedData:G.prototype.getProcessedData,applyGrouping:G.prototype.applyGrouping,reserveSpace:G.prototype.reserveSpace,visible:C.visible},a&&(X.xData=X.xData.concat(d.getOverscrollPositions())),X.options={dataGrouping:L?{firstAnchor:(N=C.options.dataGrouping)==null?void 0:N.firstAnchor,anchor:(_=C.options.dataGrouping)==null?void 0:_.anchor,lastAnchor:(y=C.options.dataGrouping)==null?void 0:y.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[L.unitName,[L.count]]]}:{enabled:!1}},V.series.push(X),C.processData.apply(X)}),V.applyGrouping({hasExtremesChanged:!0}),(X==null?void 0:X.closestPointRange)!==(X==null?void 0:X.basePointRange)&&X.currentDataGrouping&&(V.forceOrdinal=!0),n.ordinal.beforeSetTickPositions.apply({axis:V}),!n.ordinal.originalOrdinalRange&&V.ordinal.originalOrdinalRange&&(n.ordinal.originalOrdinalRange=V.ordinal.originalOrdinalRange),J[z]=V.ordinal.positions),J[z]}getGroupIntervalFactor(a,d,n){let h=n.processedXData,c=h.length,L=[],z,w,R=this.groupIntervalFactor;if(!R){for(w=0;w<c-1;w++)L[w]=h[w+1]-h[w];L.sort(function(V,X){return V-X}),z=L[Math.floor(c/2)],a=Math.max(a,h[0]),d=Math.min(d,h[c-1]),this.groupIntervalFactor=R=c*z/(d-a)}return R}getIndexOfPoint(a,d){let n,h=this.axis,c=0,L=function(R){let{min:V,max:X}=h;return!!(F(V)&&F(X))&&R.points.some(J=>J.x>=V&&J.x<=X)};h.series.forEach(R=>{var X;let V=(X=R.points)==null?void 0:X[0];F(V==null?void 0:V.plotX)&&(V.plotX<n||!F(n))&&L(R)&&(n=V.plotX,c=V.x)}),n??(n=h.minPixelPadding);let z=h.translationSlope*(this.slope||h.closestPointRange||this.overscrollPointsRange),w=Q((a-n)/z);return s.findIndexOf(d,c,!0)+w}getOverscrollPositions(){let a=this.axis,d=this.convertOverscroll(a.options.overscroll),n=this.overscrollPointsRange,h=[],c=a.dataMax;if(F(n))for(;c<=a.dataMax+d;)h.push(c+=n);return h}postProcessTickInterval(a){let d=this.axis,n=this.slope;return n?d.options.breaks?d.closestPointRange||a:a/(n/d.closestPointRange):a}convertOverscroll(a=0){let d=this,n=d.axis,h=function(c){return E(d.originalOrdinalRange,F(n.dataMax)&&F(n.dataMin)?n.dataMax-n.dataMin:0)*c};if(v(a)){let c=parseInt(a,10);if(/%$/.test(a))return h(c/100);if(/px/.test(a)){let L=Math.min(c,.9*n.len)/n.len;return h(L/(1-L))}return 0}return a}}o.Additions=s}(q||(q={})),q}),O(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"}}}}),O(e,"Stock/RangeSelector/RangeSelectorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Core/Utilities.js"]],function(m,T,G,$){let q,{defaultOptions:Z}=m,{composed:Q}=T,{addEvent:Y,defined:F,extend:W,isNumber:k,merge:E,pick:M,pushUnique:v}=$,o=[];function u(){let A,g,S=this.range,l=S.type,s=this.max,r=this.chart.time,a=function(n,h){let c=l==="year"?"FullYear":"Month",L=new r.Date(n),z=r.get(c,L);return r.set(c,L,z+h),z===r.get(c,L)&&r.set("Date",L,0),L.getTime()-n};k(S)?(A=s-S,g=S):S&&(A=s+a(s,-(S.count||1)),this.chart&&this.chart.setFixedRange(s-A));let d=M(this.dataMin,Number.MIN_VALUE);return k(A)||(A=d),A<=d&&(A=d,g===void 0&&(g=a(A,S.count)),this.newMax=Math.min(A+g,M(this.dataMax,Number.MAX_VALUE))),k(s)?!k(S)&&S&&S._offsetMin&&(A+=S._offsetMin):A=void 0,A}function x(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new q(this))}function f(){let A=this.rangeSelector;if(A){k(A.deferredYTDClick)&&(A.clickButton(A.deferredYTDClick),delete A.deferredYTDClick);let g=A.options.verticalAlign;A.options.floating||(g==="bottom"?this.extraBottomMargin=!0:g==="middle"||(this.extraTopMargin=!0))}}function p(){let A,g=this.rangeSelector;if(!g)return;let S=this.xAxis[0].getExtremes(),l=this.legend,s=g&&g.options.verticalAlign;k(S.min)&&g.render(S.min,S.max),l.display&&s==="top"&&s===l.options.verticalAlign&&(A=E(this.spacingBox),l.options.layout==="vertical"?A.y=this.plotTop:A.y+=g.getHeight(),l.group.placed=!1,l.align(A))}function b(){for(let A=0,g=o.length;A<g;++A){let S=o[A];if(S[0]===this){S[1].forEach(l=>l()),o.splice(A,1);return}}}function I(){let A=this.rangeSelector;if(A){let g=A.getHeight();this.extraTopMargin&&(this.plotTop+=g),this.extraBottomMargin&&(this.marginBottom+=g)}}function B(A){let g=A.options.rangeSelector,S=this.extraBottomMargin,l=this.extraTopMargin,s=this.rangeSelector;if(g&&g.enabled&&!F(s)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=s=new q(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,s){let r=g&&g.verticalAlign||s.options&&s.options.verticalAlign;s.options.floating||(r==="bottom"?this.extraBottomMargin=!0:r==="middle"||(this.extraTopMargin=!0)),(this.extraBottomMargin!==S||this.extraTopMargin!==l)&&(this.isDirtyBox=!0)}}return{compose:function(A,g,S){if(q=S,v(Q,"RangeSelector")){let l=g.prototype;A.prototype.minFromRange=u,Y(g,"afterGetContainer",x),Y(g,"beforeRender",f),Y(g,"destroy",b),Y(g,"getMargins",I),Y(g,"redraw",p),Y(g,"update",B),l.callbacks.push(p),W(Z,{rangeSelector:G.rangeSelector}),W(Z.lang,G.lang)}}}}),O(e,"Stock/RangeSelector/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorComposition.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"],e["Core/Axis/OrdinalAxis.js"]],function(m,T,G,$,q,Z,Q){let{defaultOptions:Y}=T,{addEvent:F,createElement:W,css:k,defined:E,destroyObjectProperties:M,discardElement:v,extend:o,fireEvent:u,isNumber:x,merge:f,objectEach:p,pad:b,pick:I,pInt:B,splat:A}=Z;class g{static compose(l,s){$.compose(l,s,g)}constructor(l){this.buttonOptions=g.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(l)}clickButton(l,s){let r=this.chart,a=this.buttonOptions[l],d=r.xAxis[0],n=r.scroller&&r.scroller.getUnionExtremes()||d||{},h=a.type,c=a.dataGrouping,L=n.dataMin,z=n.dataMax,w,R=d&&Math.round(Math.min(d.max,I(z,d.max))),V,X=a._range,J,P,C,N=!0;if(L!==null&&z!==null){if(this.setSelected(l),c&&(this.forcedDataGrouping=!0,m.prototype.setDataGrouping.call(d||{chart:this.chart},c,!1),this.frozenStates=a.preserveDataGrouping),h==="month"||h==="year")d?(P={range:a,max:R,chart:r,dataMin:L,dataMax:z},w=d.minFromRange.call(P),x(P.newMax)&&(R=P.newMax),N=!1):X=a;else if(X)R=Math.min((w=Math.max(R-X,L))+X,z),N=!1;else if(h==="ytd")if(d)(z===void 0||L===void 0)&&(L=Number.MAX_VALUE,z=Number.MIN_VALUE,r.series.forEach(_=>{let y=_.xData;y&&(L=Math.min(y[0],L),z=Math.max(y[y.length-1],z))}),s=!1),w=J=(C=this.getYTDExtremes(z,L,r.time.useUTC)).min,R=C.max;else{this.deferredYTDClick=l;return}else h==="all"&&d&&(r.navigator&&r.navigator.baseSeries[0]&&(r.navigator.baseSeries[0].xAxis.options.range=void 0),w=L,R=z);if(N&&a._offsetMin&&E(w)&&(w+=a._offsetMin),a._offsetMax&&E(R)&&(R+=a._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=l+1),d)d.setExtremes(w,R,I(s,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:a}),r.setFixedRange(a._range);else{V=A(r.options.xAxis)[0];let _=F(r,"afterGetAxes",function(){let y=r.xAxis[0];y.range=y.options.range=X,y.min=y.options.min=J});F(r,"load",function(){let y=r.xAxis[0];r.setFixedRange(a._range),y.options.range=V.range,y.options.min=V.min,_()})}u(this,"afterBtnClick")}}setSelected(l){this.selected=this.options.selected=l}init(l){let s=this,r=l.options.rangeSelector,a=r.buttons||s.defaultButtons.slice(),d=r.selected,n=function(){let h=s.minInput,c=s.maxInput;h&&h.blur&&u(h,"blur"),c&&c.blur&&u(c,"blur")};s.chart=l,s.options=r,s.buttons=[],s.buttonOptions=a,this.eventsToUnbind=[],this.eventsToUnbind.push(F(l.container,"mousedown",n)),this.eventsToUnbind.push(F(l,"resize",n)),a.forEach(s.computeButtonRange),d!==void 0&&a[d]&&this.clickButton(d,!1),this.eventsToUnbind.push(F(l,"load",function(){l.xAxis&&l.xAxis[0]&&F(l.xAxis[0],"setExtremes",function(h){x(this.max)&&x(this.min)&&this.max-this.min!==l.fixedRange&&h.trigger!=="rangeSelectorButton"&&h.trigger!=="updatedData"&&s.forcedDataGrouping&&!s.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let l=this,s=this.chart,r=this.dropdown,a=this.dropdownLabel,d=s.xAxis[0],n=Math.round(d.max-d.min),h=!d.hasVisibleSeries,c=24*36e5,L=s.scroller&&s.scroller.getUnionExtremes()||d,z=L.dataMin,w=L.dataMax,R=l.getYTDExtremes(w,z,s.time.useUTC),V=R.min,X=R.max,J=l.selected,P=l.options.allButtonsEnabled,C=Array(l.buttonOptions.length).fill(0),N=x(J),_=l.buttons,y=!1,D=null;l.buttonOptions.forEach((j,H)=>{var at;let U=j._range,K=j.type,et=j.count||1,rt=j._offsetMax-j._offsetMin,nt=H===J,lt=U>w-z,ht=U<d.minRange,it=!1,tt=U===n;if(nt&<&&(y=!0),d.isOrdinal&&((at=d.ordinal)==null?void 0:at.positions)&&U&&n<U){let ct=d.ordinal.positions,dt=Q.Additions.findIndexOf(ct,d.min,!0),ut=Math.min(Q.Additions.findIndexOf(ct,d.max,!0)+1,ct.length-1);ct[ut]-ct[dt]>U&&(tt=!0)}else(K==="month"||K==="year")&&n+36e5>={month:28,year:365}[K]*c*et-rt&&n-36e5<={month:31,year:366}[K]*c*et+rt?tt=!0:K==="ytd"?(tt=X-V+rt===n,it=!nt):K==="all"&&(tt=d.max-d.min>=w-z);let st=!P&&!(y&&K==="all")&&(lt||ht||h),ot=y&&K==="all"||!it&&tt||nt&&l.frozenStates;st?C[H]=3:ot&&(!N||H===J)&&(D=H)}),D!==null?(C[D]=2,l.setSelected(D)):(l.setSelected(),a&&(a.setState(0),a.attr({text:(Y.lang.rangeSelectorZoom||"")+" â–¾"})));for(let j=0;j<C.length;j++){let H=C[j],U=_[j];if(U.state!==H&&(U.setState(H),r)){r.options[j+1].disabled=H===3,H===2&&(a&&(a.setState(2),a.attr({text:l.buttonOptions[j].text+" â–¾"})),r.selectedIndex=j+1);let K=a.getBBox();k(r,{width:`${K.width}px`,height:`${K.height}px`})}}}computeButtonRange(l){let s=l.type,r=l.count||1,a={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};a[s]?l._range=a[s]*r:(s==="month"||s==="year")&&(l._range=24*{month:30,year:365}[s]*36e5*r),l._offsetMin=I(l.offsetMin,0),l._offsetMax=I(l.offsetMax,0),l._range+=l._offsetMax-l._offsetMin}getInputValue(l){let s=l==="min"?this.minInput:this.maxInput,r=this.chart.options.rangeSelector,a=this.chart.time;return s?(s.type==="text"&&r.inputDateParser||this.defaultInputDateParser)(s.value,a.useUTC,a):0}setInputValue(l,s){let r=this.options,a=this.chart.time,d=l==="min"?this.minInput:this.maxInput,n=l==="min"?this.minDateBox:this.maxDateBox;if(d){let h=d.getAttribute("data-hc-time"),c=E(h)?Number(h):void 0;if(E(s)){let L=c;E(L)&&d.setAttribute("data-hc-time-previous",L),d.setAttribute("data-hc-time",s),c=s}d.value=a.dateFormat(this.inputTypeFormats[d.type]||r.inputEditDateFormat,c),n&&n.attr({text:a.dateFormat(r.inputDateFormat,c)})}}setInputExtremes(l,s,r){let a=l==="min"?this.minInput:this.maxInput;if(a){let d=this.inputTypeFormats[a.type],n=this.chart.time;if(d){let h=n.dateFormat(d,s);a.min!==h&&(a.min=h);let c=n.dateFormat(d,r);a.max!==c&&(a.max=c)}}}showInput(l){let s=l==="min"?this.minDateBox:this.maxDateBox,r=l==="min"?this.minInput:this.maxInput;if(r&&s&&this.inputGroup){let a=r.type==="text",{translateX:d=0,translateY:n=0}=this.inputGroup,{x:h=0,width:c=0,height:L=0}=s,{inputBoxWidth:z}=this.options;k(r,{width:a?c+(z?-2:20)+"px":"auto",height:L-2+"px",border:"2px solid silver"}),a&&z?k(r,{left:d+h+"px",top:n+"px"}):k(r,{left:Math.min(Math.round(h+d-(r.offsetWidth-c)/2),this.chart.chartWidth-r.offsetWidth)+"px",top:n-(r.offsetHeight-L)/2+"px"})}}hideInput(l){let s=l==="min"?this.minInput:this.maxInput;s&&k(s,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(l,s,r){let a=l.split("/").join("-").split(" ").join("T");if(a.indexOf("T")===-1&&(a+="T00:00"),s)a+="Z";else{let n;if(G.isSafari&&!((n=a).length>6&&(n.lastIndexOf("-")===n.length-6||n.lastIndexOf("+")===n.length-6))){let h=new Date(a).getTimezoneOffset()/60;a+=h<=0?`+${b(-h)}:00`:`-${b(h)}:00`}}let d=Date.parse(a);if(!x(d)){let n=l.split("-");d=Date.UTC(B(n[0]),B(n[1])-1,B(n[2]))}return r&&s&&x(d)&&(d+=r.getTimezoneOffset(d)),d}drawInput(l){let{chart:s,div:r,inputGroup:a}=this,d=this,n=s.renderer.style||{},h=s.renderer,c=s.options.rangeSelector,L=Y.lang,z=l==="min";function w(C){var et;let{maxInput:N,minInput:_}=d,y=s.xAxis[0],D=((et=s.scroller)==null?void 0:et.getUnionExtremes())||y,j=D.dataMin,H=D.dataMax,U=s.xAxis[0].getExtremes()[C],K=d.getInputValue(C);x(K)&&K!==U&&(z&&N&&x(j)?K>Number(N.getAttribute("data-hc-time"))?K=void 0:K<j&&(K=j):_&&x(H)&&(K<Number(_.getAttribute("data-hc-time"))?K=void 0:K>H&&(K=H)),K!==void 0&&y.setExtremes(z?K:y.min,z?y.max:K,void 0,void 0,{trigger:"rangeSelectorInput"}))}let R=L[z?"rangeSelectorFrom":"rangeSelectorTo"]||"",V=h.label(R,0).addClass("highcharts-range-label").attr({padding:R?2:0,height:R?c.inputBoxHeight:0}).add(a),X=h.label("",0).addClass("highcharts-range-input").attr({padding:2,width:c.inputBoxWidth,height:c.inputBoxHeight,"text-align":"center"}).on("click",function(){d.showInput(l),d[l+"Input"].focus()});s.styledMode||X.attr({stroke:c.inputBoxBorderColor,"stroke-width":1}),X.add(a);let J=W("input",{name:l,className:"highcharts-range-selector"},void 0,r);J.setAttribute("type",function(C){if(C.indexOf("%L")!==-1)return"text";let N=["a","A","d","e","w","b","B","m","o","y","Y"].some(y=>C.indexOf("%"+y)!==-1),_=["H","k","I","l","M","S"].some(y=>C.indexOf("%"+y)!==-1);return N&&_?"datetime-local":N?"date":_?"time":"text"}(c.inputDateFormat||"%e %b %Y")),s.styledMode||(V.css(f(n,c.labelStyle)),X.css(f({color:"#333333"},n,c.inputStyle)),k(J,o({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))),J.onfocus=()=>{d.showInput(l)},J.onblur=()=>{J===G.doc.activeElement&&w(l),d.hideInput(l),d.setInputValue(l),J.blur()};let P=!1;return J.onchange=()=>{P||(w(l),d.hideInput(l),J.blur())},J.onkeypress=C=>{C.keyCode===13&&w(l)},J.onkeydown=C=>{P=!0,(C.key==="ArrowUp"||C.key==="ArrowDown"||C.key==="Tab")&&w(l)},J.onkeyup=()=>{P=!1},{dateBox:X,input:J,label:V}}getPosition(){let l=this.chart,s=l.options.rangeSelector,r=s.verticalAlign==="top"?l.plotTop-l.axisOffset[0]:0;return{buttonTop:r+s.buttonPosition.y,inputTop:r+s.inputPosition.y-10}}getYTDExtremes(l,s,r){let a=this.chart.time,d=new a.Date(l),n=a.get("FullYear",d),h=Math.max(s,r?a.Date.UTC(n,0,1):+new a.Date(n,0,1)),c=d.getTime();return{max:Math.min(l||c,c),min:h}}createElements(){var c;let l=this.chart,s=l.renderer,r=l.container,a=l.options,d=a.rangeSelector,n=d.inputEnabled,h=I((c=a.chart.style)==null?void 0:c.zIndex,0)+1;if(d.enabled!==!1&&(this.group=s.g("range-selector-group").attr({zIndex:7}).add(),this.div=W("div",void 0,{position:"relative",height:0,zIndex:h}),this.buttonOptions.length&&this.renderButtons(),r.parentNode&&r.parentNode.insertBefore(this.div,r),n)){this.inputGroup=s.g("input-group").add(this.group);let L=this.drawInput("min");this.minDateBox=L.dateBox,this.minLabel=L.label,this.minInput=L.input;let z=this.drawInput("max");this.maxDateBox=z.dateBox,this.maxLabel=z.label,this.maxInput=z.input}}render(l,s){let r=this.chart,a=r.options.rangeSelector,d=a.inputEnabled;if(a.enabled!==!1){if(d){this.setInputValue("min",l),this.setInputValue("max",s);let n=r.scroller&&r.scroller.getUnionExtremes()||r.xAxis[0]||{};if(E(n.dataMin)&&E(n.dataMax)){let h=r.xAxis[0].minRange||0;this.setInputExtremes("min",n.dataMin,Math.min(n.dataMax,this.getInputValue("max"))-h),this.setInputExtremes("max",Math.max(n.dataMin,this.getInputValue("min"))+h,n.dataMax)}if(this.inputGroup){let h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(c=>{if(c){let{width:L}=c.getBBox();L&&(c.attr({x:h}),h+=L+a.inputSpacing)}})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){var V;let{buttons:l,chart:s,options:r}=this,a=Y.lang,d=s.renderer,n=f(r.buttonTheme),h=n&&n.states,c=n.width||28;delete n.width,delete n.states,this.buttonGroup=d.g("range-selector-buttons").add(this.group);let L=this.dropdown=W("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),z=(V=s.userOptions.rangeSelector)==null?void 0:V.buttonTheme;this.dropdownLabel=d.button("",0,0,()=>{},f(n,{"stroke-width":I(n["stroke-width"],0),width:"auto",paddingLeft:I(r.buttonTheme.paddingLeft,z==null?void 0:z.padding,8),paddingRight:I(r.buttonTheme.paddingRight,z==null?void 0:z.padding,8)}),h&&h.hover,h&&h.select,h&&h.disabled).hide().add(this.group),F(L,"touchstart",()=>{L.style.fontSize="16px"});let w=G.isMS?"mouseover":"mouseenter",R=G.isMS?"mouseout":"mouseleave";F(L,w,()=>{u(this.dropdownLabel.element,w)}),F(L,R,()=>{u(this.dropdownLabel.element,R)}),F(L,"change",()=>{u(this.buttons[L.selectedIndex-1].element,"click")}),this.zoomText=d.label(a.rangeSelectorZoom||"",0).attr({padding:r.buttonTheme.padding,height:r.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(r.labelStyle),n["stroke-width"]=I(n["stroke-width"],0)),W("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,L),this.buttonOptions.forEach((X,J)=>{W("option",{textContent:X.title||X.text},void 0,L),l[J]=d.button(X.text,0,0,P=>{let C,N=X.events&&X.events.click;N&&(C=N.call(X,P)),C!==!1&&this.clickButton(J),this.isActive=!0},n,h&&h.hover,h&&h.select,h&&h.disabled).attr({"text-align":"center",width:c}).add(this.buttonGroup),X.title&&l[J].attr("title",X.title)})}alignElements(){var J;let{buttonGroup:l,buttons:s,chart:r,group:a,inputGroup:d,options:n,zoomText:h}=this,c=r.options,L=c.exporting&&c.exporting.enabled!==!1&&c.navigation&&c.navigation.buttonOptions,{buttonPosition:z,inputPosition:w,verticalAlign:R}=n,V=(P,C)=>L&&this.titleCollision(r)&&R==="top"&&C.align==="right"&&C.y-P.getBBox().height-12<(L.y||0)+(L.height||0)+r.spacing[0]?-40:0,X=r.plotLeft;if(a&&z&&w){let P=z.x-r.spacing[3];if(l){if(this.positionButtons(),!this.initialButtonGroupWidth){let K=0;h&&(K+=h.getBBox().width+5),s.forEach((et,rt)=>{K+=et.width||0,rt!==s.length-1&&(K+=n.buttonSpacing)}),this.initialButtonGroupWidth=K}X-=r.spacing[3];let U=V(l,z);this.alignButtonGroup(U),(J=this.buttonGroup)!=null&&J.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),a.placed=l.placed=r.hasLoaded}let C=0;d&&(C=V(d,w),w.align==="left"?P=X:w.align==="right"&&(P=-Math.max(r.axisOffset[1],-C)),d.align({y:w.y,width:d.getBBox().width,align:w.align,x:w.x+P-2},!0,r.spacingBox),d.placed=r.hasLoaded),this.handleCollision(C),a.align({verticalAlign:R},!0,r.spacingBox);let N=a.alignAttr.translateY,_=a.getBBox().height+20,y=0;if(R==="bottom"){let U=r.legend&&r.legend.options;y=N-(_=_+(U&&U.verticalAlign==="bottom"&&U.enabled&&!U.floating?r.legend.legendHeight+I(U.margin,10):0)-20)-(n.floating?0:n.y)-(r.titleOffset?r.titleOffset[2]:0)-10}R==="top"?(n.floating&&(y=0),r.titleOffset&&r.titleOffset[0]&&(y=r.titleOffset[0]),y+=r.margin[0]-r.spacing[0]||0):R==="middle"&&(w.y===z.y?y=N:(w.y||z.y)&&(w.y<0||z.y<0?y-=Math.min(w.y,z.y):y=N-_)),a.translate(n.x,n.y+Math.floor(y));let{minInput:D,maxInput:j,dropdown:H}=this;n.inputEnabled&&D&&j&&(D.style.marginTop=a.translateY+"px",j.style.marginTop=a.translateY+"px"),H&&(H.style.marginTop=a.translateY+"px")}}alignButtonGroup(l,s){let{chart:r,options:a,buttonGroup:d}=this,{buttonPosition:n}=a,h=r.plotLeft-r.spacing[3],c=n.x-r.spacing[3];n.align==="right"?c+=l-h:n.align==="center"&&(c-=h/2),d&&d.align({y:n.y,width:I(s,this.initialButtonGroupWidth),align:n.align,x:c},!0,r.spacingBox)}positionButtons(){let{buttons:l,chart:s,options:r,zoomText:a}=this,d=s.hasLoaded?"animate":"attr",{buttonPosition:n}=r,h=s.plotLeft,c=h;a&&a.visibility!=="hidden"&&(a[d]({x:I(h+n.x,h)}),c+=n.x+a.getBBox().width+5);for(let L=0,z=this.buttonOptions.length;L<z;++L)l[L].visibility!=="hidden"?(l[L][d]({x:c}),c+=(l[L].width||0)+r.buttonSpacing):l[L][d]({x:h})}handleCollision(l){let{chart:s,buttonGroup:r,inputGroup:a}=this,{buttonPosition:d,dropdown:n,inputPosition:h}=this.options,c=()=>{let w=0;return this.buttons.forEach(R=>{let V=R.getBBox();V.width>w&&(w=V.width)}),w},L=w=>{if(a!=null&&a.alignOptions&&r){let R=a.alignAttr.translateX+a.alignOptions.x-l+a.getBBox().x+2,V=a.alignOptions.width||0,X=r.alignAttr.translateX+r.getBBox().x;return X+w>R&&R+V>X&&d.y<h.y+a.getBBox().height}return!1},z=()=>{a&&r&&a.attr({translateX:a.alignAttr.translateX+(s.axisOffset[1]>=-l?0:-l),translateY:a.alignAttr.translateY+r.getBBox().height+10})};if(r){if(n==="always"){this.collapseButtons(),L(c())&&z();return}n==="never"&&this.expandButtons()}a&&r?h.align===d.align||L(this.initialButtonGroupWidth+20)?n==="responsive"?(this.collapseButtons(),L(c())&&z()):z():n==="responsive"&&this.expandButtons():r&&n==="responsive"&&(this.initialButtonGroupWidth>s.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:l,zoomText:s}=this;this.isCollapsed!==!0&&(this.isCollapsed=!0,s.hide(),l.forEach(r=>void r.hide()),this.showDropdown())}expandButtons(){let{buttons:l,zoomText:s}=this;this.isCollapsed!==!1&&(this.isCollapsed=!1,this.hideDropdown(),s.show(),l.forEach(r=>void r.show()),this.positionButtons())}showDropdown(){let{buttonGroup:l,chart:s,dropdownLabel:r,dropdown:a}=this;if(l&&a){let{translateX:d=0,translateY:n=0}=l,h=s.plotLeft+d;r.attr({x:h,y:n}).show(),k(a,{left:h+"px",top:n+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:l}=this;l&&(this.dropdownLabel.hide(),k(l,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let l=this.options,s=this.group,r=l.inputPosition,a=l.buttonPosition,d=l.y,n=a.y,h=r.y,c=0;if(l.height)return l.height;this.alignElements(),c=s?s.getBBox(!0).height+13+d:0;let L=Math.min(h,n);return(h<0&&n<0||h>0&&n>0)&&(c+=Math.abs(L)),c}titleCollision(l){return!(l.options.title.text||l.options.subtitle.text)}update(l,s=!0){let r=this.chart;f(!0,r.options.rangeSelector,l),this.destroy(),this.init(r),s&&this.render()}destroy(){let l=this,s=l.minInput,r=l.maxInput;l.eventsToUnbind&&(l.eventsToUnbind.forEach(a=>a()),l.eventsToUnbind=void 0),M(l.buttons),s&&(s.onfocus=s.onblur=s.onchange=null),r&&(r.onfocus=r.onblur=r.onchange=null),p(l,function(a,d){a&&d!=="chart"&&(a instanceof q?a.destroy():a instanceof i.HTMLElement&&v(a)),a!==g.prototype[d]&&(l[d]=null)},this)}}return o(g.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"}}),g}),O(e,"Core/Chart/StockChart.js",[e["Core/Chart/Chart.js"],e["Core/Templating.js"],e["Core/Defaults.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y){let{format:F}=T,{getOptions:W}=G,{setFixedRange:k}=Q,{addEvent:E,clamp:M,crisp:v,defined:o,extend:u,find:x,isNumber:f,isString:p,merge:b,pick:I,splat:B}=Y;function A(l,s,r){var a,d;return l==="xAxis"?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:l==="yAxis"?{labels:{y:-2},opposite:r.opposite??s.opposite??!0,showLastLabel:!!(s.categories||s.type==="category"),title:{text:((a=r.title)==null?void 0:a.text)!=="Values"?(d=r.title)==null?void 0:d.text:null}}:{}}function g(l,s){if(l==="xAxis"){let r=I(s.navigator&&s.navigator.enabled,$.enabled,!0),a={type:"datetime",categories:void 0};return r&&(a.startOnTick=!1,a.endOnTick=!1),a}return{}}class S extends m{init(s,r){let a=W(),d=s.xAxis,n=s.yAxis,h=I(s.navigator&&s.navigator.enabled,$.enabled,!0);s.xAxis=s.yAxis=void 0;let c=b({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:h},scrollbar:{enabled:I(Z.enabled,!0)},rangeSelector:{enabled:I(q.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:I(a.tooltip&&a.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},s,{isStock:!0});s.xAxis=d,s.yAxis=n,c.xAxis=B(s.xAxis||{}).map(L=>b(A("xAxis",L,a.xAxis),L,g("xAxis",s))),c.yAxis=B(s.yAxis||{}).map(L=>b(A("yAxis",L,a.yAxis),L)),super.init(c,r)}createAxis(s,r){return r.axis=b(A(s,r.axis,W()[s]),r.axis,g(s,this.userOptions)),super.createAxis(s,r)}}return E(m,"update",function(l){let s=l.options;"scrollbar"in s&&this.navigator&&(b(!0,this.options.scrollbar,s.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete s.scrollbar)}),function(l){function s(z){if(!this.crosshair||!this.crosshair.label||!this.crosshair.label.enabled||!this.cross||!f(this.min)||!f(this.max))return;let w=this.chart,R=this.logarithmic,V=this.crosshair.label,X=this.horiz,J=this.opposite,P=this.left,C=this.top,N=this.width,_=this.options.tickPosition==="inside",y=this.crosshair.snap!==!1,D=z.e||this.cross&&this.cross.e,j=z.point,H=this.crossLabel,U,K,et=V.format,rt="",nt,lt=0,ht=this.min,it=this.max;R&&(ht=R.lin2log(this.min),it=R.lin2log(this.max));let tt=X?"center":J?this.labelAlign==="right"?"right":"left":this.labelAlign==="left"?"left":"center";H||(H=this.crossLabel=w.renderer.label("",0,void 0,V.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(j&&j.series?j.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:V.align||tt,padding:I(V.padding,8),r:I(V.borderRadius,3),zIndex:2}).add(this.labelGroup),w.styledMode||H.attr({fill:V.backgroundColor||j&&j.series&&j.series.color||"#666666",stroke:V.borderColor||"","stroke-width":V.borderWidth||0}).css(u({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},V.style||{}))),X?(U=y?(j.plotX||0)+P:D.chartX,K=C+(J?0:this.height)):(U=P+this.offset+(J?N:0),K=y?(j.plotY||0)+C:D.chartY),et||V.formatter||(this.dateTime&&(rt="%b %d, %Y"),et="{value"+(rt?":"+rt:"")+"}");let st=y?this.isXAxis?j.x:j.y:this.toValue(X?D.chartX:D.chartY),ot=j&&j.series?j.series.isPointInside(j):f(st)&&st>ht&&st<it,at="";et?at=F(et,{value:st},w):V.formatter&&f(st)&&(at=V.formatter.call(this,st)),H.attr({text:at,x:U,y:K,visibility:ot?"inherit":"hidden"});let ct=H.getBBox();!f(H.x)||X||J||(U=H.x-ct.width/2),f(H.y)&&(X?(_&&!J||!_&&J)&&(K=H.y-ct.height):K=H.y-ct.height/2),nt=X?{left:P,right:P+this.width}:{left:this.labelAlign==="left"?P:0,right:this.labelAlign==="right"?P+this.width:w.chartWidth};let dt=H.translateX||0;dt<nt.left&&(lt=nt.left-dt),dt+ct.width>=nt.right&&(lt=-(dt+ct.width-nt.right)),H.attr({x:U+lt,y:K,anchorX:X?U:this.opposite?0:w.chartWidth,anchorY:X?this.opposite?w.chartHeight:0:K+ct.height/2})}function r(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function a(z){let w=this.chart,R=this.options,V=w._labelPanes=w._labelPanes||{},X=R.labels;if(w.options.isStock&&this.coll==="yAxis"){let J=R.top+","+R.height;!V[J]&&X.enabled&&(X.distance===15&&this.side===1&&(X.distance=0),X.align===void 0&&(X.align="right"),V[J]=this,z.align="right",z.preventDefault())}}function d(){let z=this.chart,w=this.options&&this.options.top+","+this.options.height;w&&z._labelPanes&&z._labelPanes[w]===this&&delete z._labelPanes[w]}function n(z){let w=this,R=w.isLinked&&!w.series&&w.linkedParent?w.linkedParent.series:w.series,V=w.chart,X=V.renderer,J=w.left,P=w.top,C=[],N=z.translatedValue,_=z.value,y=z.force,D,j,H,U,K=[],et,rt;if(V.options.isStock&&z.acrossPanes!==!1&&w.coll==="xAxis"||w.coll==="yAxis"){for(let nt of(z.preventDefault(),K=(lt=>{let ht=lt==="xAxis"?"yAxis":"xAxis",it=w.options[ht];return f(it)?[V[ht][it]]:p(it)?[V.get(it)]:R.map(tt=>tt[ht])})(w.coll),w.isXAxis?V.yAxis:V.xAxis))if(!o(nt.options.id)||nt.options.id.indexOf("navigator")===-1){let lt=nt.isXAxis?"yAxis":"xAxis";w===(o(nt.options[lt])?V[lt][nt.options[lt]]:V[lt][0])&&K.push(nt)}for(let nt of(et=K.length?[]:[w.isXAxis?V.yAxis[0]:V.xAxis[0]],K))et.indexOf(nt)!==-1||x(et,lt=>lt.pos===nt.pos&<.len===nt.len)||et.push(nt);if(f(rt=I(N,w.translate(_||0,void 0,void 0,z.old))))if(w.horiz)for(let nt of et){let lt;U=(j=nt.pos)+nt.len,D=H=Math.round(rt+w.transB),y!=="pass"&&(D<J||D>J+w.width)&&(y?D=H=M(D,J,J+w.width):lt=!0),lt||C.push(["M",D,j],["L",H,U])}else for(let nt of et){let lt;H=(D=nt.pos)+nt.len,j=U=Math.round(P+w.height-rt),y!=="pass"&&(j<P||j>P+w.height)&&(y?j=U=M(j,P,P+w.height):lt=!0),lt||C.push(["M",D,j],["L",H,U])}z.path=C.length>0?X.crispPolyLine(C,z.lineWidth||1):void 0}}function h(z){if(this.chart.options.isStock){let w;this.is("column")||this.is("columnrange")?w={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(w={marker:{enabled:!1,radius:2}}),w&&(z.plotOptions[this.type]=b(z.plotOptions[this.type],w))}}function c(){let z=this.chart,w=this.options.dataGrouping;return this.allowDG!==!1&&w&&I(w.enabled,z.options.isStock)}function L(z,w){for(let R=0;R<z.length;R+=2){let V=z[R],X=z[R+1];o(V[1])&&V[1]===X[1]&&(V[1]=X[1]=v(V[1],w)),o(V[2])&&V[2]===X[2]&&(V[2]=X[2]=v(V[2],w))}return z}l.compose=function(z,w,R,V){let X=R.prototype;X.forceCropping||(E(w,"afterDrawCrosshair",s),E(w,"afterHideCrosshair",r),E(w,"autoLabelAlign",a),E(w,"destroy",d),E(w,"getPlotLinePath",n),z.prototype.setFixedRange=k,X.forceCropping=c,E(R,"setOptions",h),V.prototype.crispPolyLine=L)},l.stockChart=function(z,w,R){return new l(z,w,R)}}(S||(S={})),S}),O(e,"Series/HLC/HLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(m){let{column:{prototype:{pointClass:T}}}=m.seriesTypes;return class extends T{}}),O(e,"Series/HLC/HLCSeriesDefaults.js",[],function(){return{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">â—</span> <b> {series.name}</b><br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),O(e,"Series/HLC/HLCSeries.js",[e["Series/HLC/HLCPoint.js"],e["Series/HLC/HLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$){let{column:q}=G.seriesTypes,{crisp:Z,extend:Q,merge:Y}=$;class F extends q{extendStem(k,E,M){let v=k[0],o=k[1];typeof v[2]=="number"&&(v[2]=Math.max(M+E,v[2])),typeof o[2]=="number"&&(o[2]=Math.min(M-E,o[2]))}getPointPath(k,E){let M=E.strokeWidth(),v=k.series,o=Z(k.plotX||0,M),u=Math.round(k.shapeArgs.width/2),x=[["M",o,Math.round(k.yBottom)],["L",o,Math.round(k.plotHigh)]];if(k.close!==null){let f=Z(k.plotClose,M);x.push(["M",o,f],["L",o+u,f]),v.extendStem(x,M/2,f)}return x}drawSinglePoint(k){let E=k.series,M=E.chart,v,o=k.graphic;k.plotY!==void 0&&(o||(k.graphic=o=M.renderer.path().add(E.group)),M.styledMode||o.attr(E.pointAttribs(k,k.selected&&"select")),v=E.getPointPath(k,o),o[o?"animate":"attr"]({d:v}).addClass(k.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(k,E){let M=super.pointAttribs.call(this,k,E);return delete M.fill,M}toYData(k){return[k.high,k.low,k.close]}translate(){let k=this,E=k.yAxis,M=this.pointArrayMap&&this.pointArrayMap.slice()||[],v=M.map(o=>`plot${o.charAt(0).toUpperCase()+o.slice(1)}`);v.push("yBottom"),M.push("low"),super.translate.apply(k),k.points.forEach(function(o){M.forEach(function(u,x){let f=o[u];f!==null&&(k.dataModify&&(f=k.dataModify.modifyValue(f)),o[v[x]]=E.toPixels(f,!0))}),o.tooltipPos[1]=o.plotHigh+E.pos-k.chart.plotTop})}}return F.defaultOptions=Y(q.defaultOptions,T),Q(F.prototype,{pointClass:m,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),G.registerSeriesType("hlc",F),F}),O(e,"Series/OHLC/OHLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(m){let{seriesTypes:{hlc:T}}=m;class G extends T.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}resolveUpColor(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)}resolveColor(){super.resolveColor(),this.series.is("heikinashi")||this.resolveUpColor()}getZone(){let q=super.getZone();return this.resolveUpColor(),q}applyOptions(){return super.applyOptions.apply(this,arguments),this.resolveColor&&this.resolveColor(),this}}return G}),O(e,"Series/OHLC/OHLCSeriesDefaults.js",[],function(){return{tooltip:{pointFormat:'<span style="color:{point.color}">â—</span> <b> {series.name}</b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'}}}),O(e,"Series/OHLC/OHLCSeries.js",[e["Core/Globals.js"],e["Series/OHLC/OHLCPoint.js"],e["Series/OHLC/OHLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q){let{composed:Z}=m,{hlc:Q}=$.seriesTypes,{addEvent:Y,crisp:F,extend:W,merge:k,pushUnique:E}=q;function M(u){let x=u.options,f=x.dataGrouping;f&&x.useOhlcData&&x.id!=="highcharts-navigator-series"&&(f.approximation="ohlc")}function v(u){let x=u.options;x.useOhlcData&&x.id!=="highcharts-navigator-series"&&W(this,{pointValKey:o.prototype.pointValKey,pointArrayMap:o.prototype.pointArrayMap,toYData:o.prototype.toYData})}class o extends Q{static compose(x,...f){E(Z,"OHLCSeries")&&(Y(x,"afterSetOptions",M),Y(x,"init",v))}getPointPath(x,f){let p=super.getPointPath(x,f),b=f.strokeWidth(),I=F(x.plotX||0,b),B=Math.round(x.shapeArgs.width/2);if(x.open!==null){let A=F(x.plotOpen,b);p.push(["M",I,A],["L",I-B,A]),super.extendStem(p,b/2,A)}return p}pointAttribs(x,f){let p=super.pointAttribs.call(this,x,f),b=this.options;return delete p.fill,!x.options.color&&b.upColor&&x.open<x.close&&(p.stroke=b.upColor),p}toYData(x){return[x.open,x.high,x.low,x.close]}}return o.defaultOptions=k(Q.defaultOptions,G),W(o.prototype,{pointClass:T,pointArrayMap:["open","high","low","close"]}),$.registerSeriesType("ohlc",o),o}),O(e,"Series/Candlestick/CandlestickSeriesDefaults.js",[],function(){return{states:{hover:{lineWidth:2}},threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}}),O(e,"Series/Candlestick/CandlestickSeries.js",[e["Series/Candlestick/CandlestickSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G){let{column:$,ohlc:q}=T.seriesTypes,{crisp:Z,merge:Q}=G;class Y extends q{pointAttribs(W,k){let E=$.prototype.pointAttribs.call(this,W,k),M=this.options,v=W.open<W.close,o=M.lineColor||this.color,u=W.color||this.color;if(E["stroke-width"]=M.lineWidth,E.fill=W.options.color||v&&M.upColor||u,E.stroke=W.options.lineColor||v&&M.upLineColor||o,k){let x=M.states[k];E.fill=x.color||E.fill,E.stroke=x.lineColor||E.stroke,E["stroke-width"]=x.lineWidth||E["stroke-width"]}return E}drawPoints(){let W=this.points,k=this.chart,E=this.yAxis.reversed;for(let M of W){let v=M.graphic,o,u,x,f,p,b,I,B,A,g=!v;if(M.plotY!==void 0){v||(M.graphic=v=k.renderer.path().add(this.group)),this.chart.styledMode||v.attr(this.pointAttribs(M,M.selected&&"select")).shadow(this.options.shadow);let S=v.strokeWidth();I=Z(M.plotX||0,S),x=Math.min(o=M.plotOpen,u=M.plotClose),f=Math.max(o,u),A=Math.round(M.shapeArgs.width/2),p=E?f!==M.yBottom:Math.round(x)!==Math.round(M.plotHigh||0),b=E?Math.round(x)!==Math.round(M.plotHigh||0):f!==M.yBottom,x=Z(x,S),f=Z(f,S),(B=[]).push(["M",I-A,f],["L",I-A,x],["L",I+A,x],["L",I+A,f],["Z"],["M",I,x],["L",I,p?Math.round(E?M.yBottom:M.plotHigh):x],["M",I,f],["L",I,b?Math.round(E?M.plotHigh:M.yBottom):f]),v[g?"attr":"animate"]({d:B}).addClass(M.getClassName(),!0)}}}}return Y.defaultOptions=Q(q.defaultOptions,{tooltip:q.defaultOptions.tooltip},m),T.registerSeriesType("candlestick",Y),Y}),O(e,"Series/Flags/FlagsPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{column:{prototype:{pointClass:G}}}=m.seriesTypes,{isNumber:$}=T;return class extends G{constructor(){super(...arguments),this.ttBelow=!1}isValid(){return $(this.y)||this.y===void 0}hasNewShapeType(){let q=this.options.shape||this.series.options.shape;return this.graphic&&q&&q!==this.graphic.symbolKey}}}),O(e,"Series/Flags/FlagsSeriesDefaults.js",[],function(){return{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}}),O(e,"Series/Flags/FlagsSymbols.js",[e["Core/Renderer/RendererRegistry.js"]],function(m){var T;return function(G){let $=[];function q(Q,Y,F,W,k){let E=k&&k.anchorX||Q,M=k&&k.anchorY||Y,v=this.circle(E-1,M-1,2,2);return v.push(["M",E,M],["L",Q,Y+W],["L",Q,Y],["L",Q+F,Y],["L",Q+F,Y+W],["L",Q,Y+W],["Z"]),v}function Z(Q,Y){Q[Y+"pin"]=function(F,W,k,E,M){let v,o=M&&M.anchorX,u=M&&M.anchorY;if(Y==="circle"&&E>k&&(F-=Math.round((E-k)/2),k=E),v=Q[Y](F,W,k,E,M),o&&u){let x=o;if(Y==="circle")x=F+k/2;else{let p=v[0],b=v[1];p[0]==="M"&&b[0]==="L"&&(x=(p[1]+b[1])/2)}let f=W>u?W:W+E;v.push(["M",x,f],["L",o,u]),v=v.concat(Q.circle(o-1,u-1,2,2))}return v}}G.compose=function(Q){if($.indexOf(Q)===-1){$.push(Q);let F=Q.prototype.symbols;F.flag=q,Z(F,"circle"),Z(F,"square")}let Y=m.getRendererType();$.indexOf(Y)&&$.push(Y)}}(T||(T={})),T}),O(e,"Series/OnSeriesComposition.js",[e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(m,T,G,$){var q;let{composed:Z}=T,{prototype:Q}=m,{prototype:Y}=G,{defined:F,pushUnique:W,stableSort:k}=$;return function(E){function M(o){return Y.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,o)}function v(){var R,V;Q.translate.apply(this);let o=this,u=o.options,x=o.chart,f=o.points,p=u.onSeries,b=p&&x.get(p),I=b&&b.options.step,B=b&&b.points,A=x.inverted,g=o.xAxis,S=o.yAxis,l=f.length-1,s,r,a=u.onKey||"y",d=B&&B.length,n=0,h,c,L,z,w;if(b&&b.visible&&d){for(n=(b.pointXOffset||0)+(b.barW||0)/2,z=b.currentDataGrouping,c=B[d-1].x+(z?z.totalRange:0),k(f,(X,J)=>X.x-J.x),a="plot"+a[0].toUpperCase()+a.substr(1);d--&&f[l];)if(h=B[d],(s=f[l]).y=h.y,h.x<=s.x&&h[a]!==void 0){if(s.x<=c&&(s.plotY=h[a],h.x<s.x&&!I&&(L=B[d+1])&&L[a]!==void 0))if(F(s.plotX)&&b.is("spline")){let X=[h.plotX||0,h.plotY||0],J=[L.plotX||0,L.plotY||0],P=((R=h.controlPoints)==null?void 0:R.high)||X,C=((V=L.controlPoints)==null?void 0:V.low)||J,N=(j,H)=>Math.pow(1-j,3)*X[H]+3*(1-j)*(1-j)*j*P[H]+3*(1-j)*j*j*C[H]+j*j*j*J[H],_=0,y=1,D;for(let j=0;j<100;j++){let H=(_+y)/2,U=N(H,0);if(U===null)break;if(.25>Math.abs(U-s.plotX)){D=H;break}U<s.plotX?_=H:y=H}F(D)&&(s.plotY=N(D,1),s.y=S.toValue(s.plotY,!0))}else w=(s.x-h.x)/(L.x-h.x),s.plotY+=w*(L[a]-h[a]),s.y+=w*(L.y-h.y);if(l--,d++,l<0)break}}f.forEach((X,J)=>{let P;X.plotX+=n,(X.plotY===void 0||A)&&(X.plotX>=0&&X.plotX<=g.len?A?(X.plotY=g.translate(X.x,0,1,0,1),X.plotX=F(X.y)?S.translate(X.y,0,0,0,1):0):X.plotY=(g.opposite?0:o.yAxis.len)+g.offset:X.shapeArgs={}),(r=f[J-1])&&r.plotX===X.plotX&&(r.stackIndex===void 0&&(r.stackIndex=0),P=r.stackIndex+1),X.stackIndex=P}),this.onSeries=b}E.compose=function(o){if(W(Z,"OnSeries")){let u=o.prototype;u.getPlotBox=M,u.translate=v}return o},E.getPlotBox=M,E.translate=v}(q||(q={})),q}),O(e,"Series/Flags/FlagsSeries.js",[e["Series/Flags/FlagsPoint.js"],e["Series/Flags/FlagsSeriesDefaults.js"],e["Series/Flags/FlagsSymbols.js"],e["Core/Globals.js"],e["Series/OnSeriesComposition.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z,Q,Y,F){let{noop:W}=$,{distribute:k}=Z,{series:E,seriesTypes:{column:M}}=Q,{addEvent:v,defined:o,extend:u,isNumber:x,merge:f,objectEach:p,wrap:b}=F;class I extends M{animate(A){A&&this.setClip()}drawPoints(){let A,g,S,l,s,r,a,d,n,h,c,L=this.points,z=this.chart,w=z.renderer,R=z.inverted,V=this.options,X=V.y,J=this.yAxis,P={},C=[],N=x(V.borderRadius)?V.borderRadius:0;for(l=L.length;l--;)s=L[l],h=(R?s.plotY:s.plotX)>this.xAxis.len,A=s.plotX,a=s.stackIndex,S=s.options.shape||V.shape,(g=s.plotY)!==void 0&&(g=s.plotY+X-(a!==void 0&&a*V.stackDistance)),s.anchorX=a?void 0:s.plotX,d=a?void 0:s.plotY,c=S!=="flag",r=s.graphic,g!==void 0&&A>=0&&!h?(r&&s.hasNewShapeType()&&(r=r.destroy()),r||(r=s.graphic=w.label("",0,void 0,S,void 0,void 0,V.useHTML).addClass("highcharts-point").add(this.markerGroup),s.graphic.div&&(s.graphic.div.point=s),r.isNew=!0),r.attr({align:c?"center":"left",width:V.width,height:V.height,"text-align":V.textAlign,r:N}),z.styledMode||r.attr(this.pointAttribs(s)).css(f(V.style,s.style)).shadow(V.shadow),A>0&&(A-=r.strokeWidth()%2),n={y:g,anchorY:d},V.allowOverlapX&&(n.x=A,n.anchorX=s.anchorX),r.attr({text:s.options.title??V.title??"A"})[r.isNew?"attr":"animate"](n),V.allowOverlapX||(P[s.plotX]?P[s.plotX].size=Math.max(P[s.plotX].size,r.width||0):P[s.plotX]={align:c?.5:0,size:r.width||0,target:A,anchorX:A}),s.tooltipPos=[A,g+J.pos-z.plotTop]):r&&(s.graphic=r.destroy());if(!V.allowOverlapX){let _=100;for(let y of(p(P,function(D){D.plotX=D.anchorX,C.push(D),_=Math.max(D.size,_)}),k(C,R?J.len:this.xAxis.len,_),L)){let D=y.plotX,j=y.graphic,H=j&&P[D];H&&j&&(o(H.pos)?j[j.isNew?"attr":"animate"]({x:H.pos+(H.align||0)*H.size,anchorX:y.anchorX}).show().isNew=!1:j.hide().isNew=!0)}}V.useHTML&&this.markerGroup&&b(this.markerGroup,"on",function(_){return Y.prototype.on.apply(_.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let A=this.points;for(let g of(super.drawTracker(),A)){let S=g.graphic;S&&(g.unbindMouseOver&&g.unbindMouseOver(),g.unbindMouseOver=v(S.element,"mouseover",function(){for(let l of(g.stackIndex>0&&!g.raised&&(g._y=S.y,S.attr({y:g._y-8}),g.raised=!0),A))l!==g&&l.raised&&l.graphic&&(l.graphic.attr({y:l._y}),l.raised=!1)}))}}pointAttribs(A,g){let S=this.options,l=A&&A.color||this.color,s=S.lineColor,r=A&&A.lineWidth,a=A&&A.fillColor||S.fillColor;return g&&(a=S.states[g].fillColor,s=S.states[g].lineColor,r=S.states[g].lineWidth),{fill:a||l,stroke:s||l,"stroke-width":r||S.lineWidth||0}}setClip(){E.prototype.setClip.apply(this,arguments),this.options.clip!==!1&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return I.compose=G.compose,I.defaultOptions=f(M.defaultOptions,T),q.compose(I),u(I.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:m,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:W,init:E.prototype.init}),Q.registerSeriesType("flags",I),I}),O(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(m,T){var G;let{addEvent:$,find:q,fireEvent:Z,isArray:Q,isNumber:Y,pick:F}=T;return function(W){function k(){this.brokenAxis!==void 0&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function E(){var b;(b=this.brokenAxis)!=null&&b.hasBreaks&&(this.options.ordinal=!1)}function M(){let b=this.brokenAxis;if(b!=null&&b.hasBreaks){let I=this.tickPositions,B=this.tickPositions.info,A=[];for(let g=0;g<I.length;g++)b.isInAnyBreak(I[g])||A.push(I[g]);this.tickPositions=A,this.tickPositions.info=B}}function v(){this.brokenAxis||(this.brokenAxis=new p(this))}function o(){var S,l;let{isDirty:b,options:{connectNulls:I},points:B,xAxis:A,yAxis:g}=this;if(b){let s=B.length;for(;s--;){let r=B[s],a=!(r.y===null&&I===!1)&&(((S=A==null?void 0:A.brokenAxis)==null?void 0:S.isInAnyBreak(r.x,!0))||((l=g==null?void 0:g.brokenAxis)==null?void 0:l.isInAnyBreak(r.y,!0)));r.visible=!a&&r.options.visible!==!1}}}function u(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,F(this.pointArrayMap,["y"]))}function x(b,I){var s;let B,A,g,S=this,l=S.points;if((s=b==null?void 0:b.brokenAxis)!=null&&s.hasBreaks){let r=b.brokenAxis;I.forEach(function(a){var n,h;B=(r==null?void 0:r.breakArray)||[],A=b.isXAxis?b.min:F(S.options.threshold,b.min);let d=(h=(n=b==null?void 0:b.options)==null?void 0:n.breaks)==null?void 0:h.filter(function(c){let L=!0;for(let z=0;z<B.length;z++){let w=B[z];if(w.from===c.from&&w.to===c.to){L=!1;break}}return L});l.forEach(function(c){g=F(c["stack"+a.toUpperCase()],c[a]),B.forEach(function(L){if(Y(A)&&Y(g)){let z="";A<L.from&&g>L.to||A>L.from&&g<L.from?z="pointBreak":(A<L.from&&g>L.from&&g<L.to||A>L.from&&g>L.to&&g<L.from)&&(z="pointInBreak"),z&&Z(b,z,{point:c,brk:L})}}),d==null||d.forEach(function(L){Z(b,"pointOutsideOfBreak",{point:c,brk:L})})})})}}function f(){let b=this.currentDataGrouping,I=b==null?void 0:b.gapSize,B=this.points.slice(),A=this.yAxis,g=this.options.gapSize,S=B.length-1;if(g&&S>0){let l,s;for(this.options.gapUnit!=="value"&&(g*=this.basePointRange),I&&I>g&&I>=this.basePointRange&&(g=I);S--;)if(s&&s.visible!==!1||(s=B[S+1]),l=B[S],s.visible!==!1&&l.visible!==!1){if(s.x-l.x>g){let r=(l.x+s.x)/2;B.splice(S+1,0,{isNull:!0,x:r}),A.stacking&&this.options.stacking&&((A.stacking.stacks[this.stackKey][r]=new m(A,A.options.stackLabels,!1,r,this.stack)).total=0)}s=l}}return this.getGraphPath(B)}W.compose=function(b,I){if(!b.keepProps.includes("brokenAxis")){b.keepProps.push("brokenAxis"),$(b,"init",v),$(b,"afterInit",k),$(b,"afterSetTickPositions",M),$(b,"afterSetOptions",E);let B=I.prototype;B.drawBreaks=x,B.gappedPath=f,$(I,"afterGeneratePoints",o),$(I,"afterRender",u)}return b};class p{static isInBreak(I,B){let A=I.repeat||1/0,g=I.from,S=I.to-I.from,l=B>=g?(B-g)%A:A-(g-B)%A;return I.inclusive?l<=S:l<S&&l!==0}static lin2Val(I){let B=this.brokenAxis,A=B&&B.breakArray;if(!A||!Y(I))return I;let g=I,S,l;for(l=0;l<A.length&&!((S=A[l]).from>=g);l++)(S.to<g||p.isInBreak(S,g))&&(g+=S.len);return g}static val2Lin(I){let B=this.brokenAxis,A=B&&B.breakArray;if(!A||!Y(I))return I;let g=I,S,l;for(l=0;l<A.length;l++)if((S=A[l]).to<=I)g-=S.len;else{if(S.from>=I)break;if(p.isInBreak(S,I)){g-=I-S.from;break}}return g}constructor(I){this.hasBreaks=!1,this.axis=I}findBreakAt(I,B){return q(B,function(A){return A.from<I&&I<A.to})}isInAnyBreak(I,B){let A=this.axis,g=A.options.breaks||[],S=g.length,l,s,r;if(S&&Y(I)){for(;S--;)p.isInBreak(g[S],I)&&(l=!0,s||(s=F(g[S].showPoints,!A.isXAxis)));r=l&&B?l&&!s:l}return r}setBreaks(I,B){let A=this,g=A.axis,S=Q(I)&&!!I.length&&!!Object.keys(I[0]).length;g.isDirty=A.hasBreaks!==S,A.hasBreaks=S,I!==g.options.breaks&&(g.options.breaks=g.userOptions.breaks=I),g.forceRedraw=!0,g.series.forEach(function(l){l.isDirty=!0}),S||g.val2lin!==p.val2Lin||(delete g.val2lin,delete g.lin2val),S&&(g.userOptions.ordinal=!1,g.lin2val=p.lin2Val,g.val2lin=p.val2Lin,g.setExtremes=function(l,s,r,a,d){if(A.hasBreaks){let n,h=this.options.breaks||[];for(;n=A.findBreakAt(l,h);)l=n.to;for(;n=A.findBreakAt(s,h);)s=n.from;s<l&&(s=l)}g.constructor.prototype.setExtremes.call(this,l,s,r,a,d)},g.setAxisTranslation=function(){if(g.constructor.prototype.setAxisTranslation.call(this),A.unitLength=void 0,A.hasBreaks){let l=g.options.breaks||[],s=[],r=[],a=F(g.pointRangePadding,0),d=0,n,h,c=g.userMin||g.min,L=g.userMax||g.max,z,w;l.forEach(function(R){h=R.repeat||1/0,Y(c)&&Y(L)&&(p.isInBreak(R,c)&&(c+=R.to%h-c%h),p.isInBreak(R,L)&&(L-=L%h-R.from%h))}),l.forEach(function(R){if(z=R.from,h=R.repeat||1/0,Y(c)&&Y(L)){for(;z-h>c;)z-=h;for(;z<c;)z+=h;for(w=z;w<L;w+=h)s.push({value:w,move:"in"}),s.push({value:w+R.to-R.from,move:"out",size:R.breakSize})}}),s.sort(function(R,V){return R.value===V.value?(R.move==="in"?0:1)-(V.move==="in"?0:1):R.value-V.value}),n=0,z=c,s.forEach(function(R){(n+=R.move==="in"?1:-1)===1&&R.move==="in"&&(z=R.value),n===0&&Y(z)&&(r.push({from:z,to:R.value,len:R.value-z-(R.size||0)}),d+=R.value-z-(R.size||0))}),A.breakArray=r,Y(c)&&Y(L)&&Y(g.min)&&(A.unitLength=L-c-d+a,Z(g,"afterBreaks"),g.staticScale?g.transA=g.staticScale:A.unitLength&&(g.transA*=(L-g.min+a)/A.unitLength),a&&(g.minPixelPadding=g.transA*(g.minPointOffset||0)),g.min=c,g.max=L)}}),F(B,!0)&&g.chart.redraw()}}W.Additions=p}(G||(G={})),G}),O(e,"masters/modules/broken-axis.src.js",[e["Core/Globals.js"],e["Core/Axis/BrokenAxis.js"]],function(m,T){return m.BrokenAxis=m.BrokenAxis||T,m.BrokenAxis.compose(m.Axis,m.Series),m}),O(e,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),O(e,"Extensions/DataGrouping/ApproximationDefaults.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Core/Utilities.js"]],function(m,T){let{arrayMax:G,arrayMin:$,correctFloat:q,extend:Z,isNumber:Q}=T;function Y(k){let E=k.length,M=F(k);return Q(M)&&E&&(M=q(M/E)),M}function F(k){let E=k.length,M;if(!E&&k.hasNulls)M=null;else if(E)for(M=0;E--;)M+=k[E];return M}let W={average:Y,averages:function(){let k=[];return[].forEach.call(arguments,function(E){k.push(Y(E))}),k[0]===void 0?void 0:k},close:function(k){return k.length?k[k.length-1]:k.hasNulls?null:void 0},high:function(k){return k.length?G(k):k.hasNulls?null:void 0},hlc:function(k,E,M){if(k=m.high(k),E=m.low(E),M=m.close(M),Q(k)||Q(E)||Q(M))return[k,E,M]},low:function(k){return k.length?$(k):k.hasNulls?null:void 0},ohlc:function(k,E,M,v){if(k=m.open(k),E=m.high(E),M=m.low(M),v=m.close(v),Q(k)||Q(E)||Q(M)||Q(v))return[k,E,M,v]},open:function(k){return k.length?k[0]:k.hasNulls?null:void 0},range:function(k,E){return k=m.low(k),E=m.high(E),Q(k)||Q(E)?[k,E]:k===null&&E===null?null:void 0},sum:F};return Z(m,W),W}),O(e,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},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]],["week",[1]],["month",[1,3,6]],["year",null]]}}),O(e,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Utilities.js"]],function(m,T){let G,{addEvent:$,extend:q,merge:Z,pick:Q}=T;function Y(E){let M=this,v=M.series;v.forEach(function(o){o.groupPixelWidth=void 0}),v.forEach(function(o){o.groupPixelWidth=M.getGroupPixelWidth&&M.getGroupPixelWidth(),o.groupPixelWidth&&(o.hasProcessed=!0),o.applyGrouping(!!E.hasExtremesChanged)})}function F(){let E=this.series,M=E.length,v=0,o=!1,u,x;for(;M--;)(x=E[M].options.dataGrouping)&&(v=Math.max(v,Q(x.groupPixelWidth,m.common.groupPixelWidth)),u=(E[M].processedXData||E[M].data).length,(E[M].groupPixelWidth||u>this.chart.plotSizeX/v||u&&x.forced)&&(o=!0));return o?v:0}function W(){this.series.forEach(function(E){E.hasProcessed=!1})}function k(E,M){let v;if(M=Q(M,!0),E||(E={forced:!1,units:null}),this instanceof G)for(v=this.series.length;v--;)this.series[v].update({dataGrouping:E},!1);else this.chart.options.series.forEach(function(o){o.dataGrouping=typeof E=="boolean"?E:Z(E,o.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),M&&this.chart.redraw()}return{compose:function(E){G=E;let M=E.prototype;M.applyGrouping||($(E,"afterSetScale",W),$(E,"postProcessData",Y),q(M,{applyGrouping:Y,getGroupPixelWidth:F,setDataGrouping:k}))}}}),O(e,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Defaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z){let{series:{prototype:Q}}=q,{addEvent:Y,defined:F,error:W,extend:k,isNumber:E,merge:M,pick:v}=Z,o=Q.generatePoints;function u(B){var A;let g,S,l=this.chart,s=this.options.dataGrouping,r=this.allowDG!==!1&&s&&v(s.enabled,l.options.isStock),a=this.reserveSpace(),d=this.currentDataGrouping,n,h,c=!1;r&&!this.requireSorting&&(this.requireSorting=c=!0);let L=!!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!B)||!r;if(c&&(this.requireSorting=!1),L)return;this.destroyGroupedData();let z=s.groupAll?this.xData:this.processedXData,w=s.groupAll?this.yData:this.processedYData,R=l.plotSizeX,V=this.xAxis,X=V.options.ordinal,J=this.groupPixelWidth;if(J&&z&&z.length&&R){S=!0,this.isDirty=!0,this.points=null;let P=V.getExtremes(),C=P.min,N=P.max,_=X&&V.ordinal&&V.ordinal.getGroupIntervalFactor(C,N,this)||1,y=J*(N-C)/R*_,D=V.getTimeTicks(G.Additions.prototype.normalizeTimeTickInterval(y,s.units||T.units),Math.min(C,z[0]),Math.max(N,z[z.length-1]),V.options.startOfWeek,z,this.closestPointRange),j=Q.groupData.apply(this,[z,w,D,s.approximation]),H=j.groupedXData,U=j.groupedYData,K=0;for(s&&s.smoothed&&H.length&&(s.firstAnchor="firstPoint",s.anchor="middle",s.lastAnchor="lastPoint",W(32,!1,l,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),g=1;g<D.length;g++)D.info.segmentStarts&&D.info.segmentStarts.indexOf(g)!==-1||(K=Math.max(D[g]-D[g-1],K));(n=D.info).gapSize=K,this.closestPointRange=D.info.totalRange,this.groupMap=j.groupMap,this.currentDataGrouping=n,function(et,rt,nt){let lt=et.options.dataGrouping,ht=et.currentDataGrouping&&et.currentDataGrouping.gapSize;if(!(lt&&et.xData&&ht&&et.groupMap))return;let it=rt.length-1,tt=lt.anchor,st=lt.firstAnchor,ot=lt.lastAnchor,at=rt.length-1,ct=0;if(st&&et.xData[0]>=rt[0]){let dt;ct++;let ut=et.groupMap[0].start,pt=et.groupMap[0].length;E(ut)&&E(pt)&&(dt=ut+(pt-1)),rt[0]={start:rt[0],middle:rt[0]+.5*ht,end:rt[0]+ht,firstPoint:et.xData[0],lastPoint:dt&&et.xData[dt]}[st]}if(it>0&&ot&&ht&&rt[it]>=nt-ht){at--;let dt=et.groupMap[et.groupMap.length-1].start;rt[it]={start:rt[it],middle:rt[it]+.5*ht,end:rt[it]+ht,firstPoint:dt&&et.xData[dt],lastPoint:et.xData[et.xData.length-1]}[ot]}if(tt&&tt!=="start"){let dt=ht*{middle:.5,end:1}[tt];for(;at>=ct;)rt[at]+=dt,at--}}(this,H,N),a&&(F((A=H)[0])&&E(V.min)&&E(V.dataMin)&&A[0]<V.min&&((!F(V.options.min)&&V.min<=V.dataMin||V.min===V.dataMin)&&(V.min=Math.min(A[0],V.min)),V.dataMin=Math.min(A[0],V.dataMin)),F(A[A.length-1])&&E(V.max)&&E(V.dataMax)&&A[A.length-1]>V.max&&((!F(V.options.max)&&E(V.dataMax)&&V.max>=V.dataMax||V.max===V.dataMax)&&(V.max=Math.max(A[A.length-1],V.max)),V.dataMax=Math.max(A[A.length-1],V.dataMax))),s.groupAll&&(this.allGroupedData=U,H=(h=this.cropData(H,U,V.min,V.max)).xData,U=h.yData,this.cropStart=h.start),this.processedXData=H,this.processedYData=U}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=S,this.preventGraphAnimation=(d&&d.totalRange)!==(n&&n.totalRange)}function x(){this.groupedData&&(this.groupedData.forEach(function(B,A){B&&(this.groupedData[A]=B.destroy?B.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function f(){o.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function p(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function b(B,A,g,S){let l=this,s=l.data,r=l.options&&l.options.data,a=[],d=[],n=[],h=B.length,c=!!A,L=[],z=l.pointArrayMap,w=z&&z.length,R=["x"].concat(z||["y"]),V=this.options.dataGrouping&&this.options.dataGrouping.groupAll,X,J,P,C=0,N=0,_=typeof S=="function"?S:S&&m[S]?m[S]:m[l.getDGApproximation&&l.getDGApproximation()||"average"];if(w){let D=z.length;for(;D--;)L.push([])}else L.push([]);let y=w||1;for(let D=0;D<=h;D++)if(!(B[D]<g[0])){for(;g[C+1]!==void 0&&B[D]>=g[C+1]||D===h;){X=g[C],l.dataGroupInfo={start:V?N:l.cropStart+N,length:L[0].length,groupStart:X},P=_.apply(l,L),l.pointClass&&!F(l.dataGroupInfo.options)&&(l.dataGroupInfo.options=M(l.pointClass.prototype.optionsToObject.call({series:l},l.options.data[l.cropStart+N])),R.forEach(function(j){delete l.dataGroupInfo.options[j]})),P!==void 0&&(a.push(X),d.push(P),n.push(l.dataGroupInfo)),N=D;for(let j=0;j<y;j++)L[j].length=0,L[j].hasNulls=!1;if(C+=1,D===h)break}if(D===h)break;if(z){let j,H=l.options.dataGrouping&&l.options.dataGrouping.groupAll?D:l.cropStart+D,U=s&&s[H]||l.pointClass.prototype.applyOptions.apply({series:l},[r[H]]);for(let K=0;K<w;K++)E(j=U[z[K]])?L[K].push(j):j===null&&(L[K].hasNulls=!0)}else E(J=c?A[D]:null)?L[0].push(J):J===null&&(L[0].hasNulls=!0)}return{groupedXData:a,groupedYData:d,groupMap:n}}function I(B){let A=B.options,g=this.type,S=this.chart.options.plotOptions,l=this.useCommonDataGrouping&&T.common,s=T.seriesSpecific,r=$.defaultOptions.plotOptions[g].dataGrouping;if(S&&(s[g]||l)){let a=this.chart.rangeSelector;r||(r=M(T.common,s[g])),A.dataGrouping=M(l,r,S.series&&S.series.dataGrouping,S[g].dataGrouping,this.userOptions.dataGrouping,!A.isInternal&&a&&E(a.selected)&&a.buttonOptions[a.selected].dataGrouping)}}return{compose:function(B){let A=B.prototype;A.applyGrouping||(Y(B.prototype.pointClass,"update",function(){if(this.dataGroup)return W(24,!1,this.series.chart),!1}),Y(B,"afterSetOptions",I),Y(B,"destroy",x),k(A,{applyGrouping:u,destroyGroupedData:x,generatePoints:f,getDGApproximation:p,groupData:b}))},groupData:b}}),O(e,"Extensions/DataGrouping/DataGrouping.js",[e["Extensions/DataGrouping/DataGroupingAxisComposition.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(m,T,G,$,q,Z){let{format:Q}=$,{composed:Y}=q,{addEvent:F,extend:W,isNumber:k,pick:E,pushUnique:M}=Z;function v(o){var h;let u=this.chart,x=u.time,f=o.labelConfig,p=f.series,b=f.point,I=p.options,B=p.tooltipOptions,A=I.dataGrouping,g=p.xAxis,S=B.xDateFormat,l,s,r,a,d,n=B[o.isFooter?"footerFormat":"headerFormat"];if(g&&g.options.type==="datetime"&&A&&k(f.key)){s=p.currentDataGrouping,r=A.dateTimeLabelFormats||T.common.dateTimeLabelFormats,s?(a=r[s.unitName],s.count===1?S=a[0]:(S=a[1],l=a[2])):!S&&r&&g.dateTime&&(S=g.dateTime.getXDateFormat(f.x,B.dateTimeLabelFormats));let c=E((h=p.groupMap)==null?void 0:h[b.index].groupStart,f.key),L=c+(s==null?void 0:s.totalRange)-1;d=x.dateFormat(S,c),l&&(d+=x.dateFormat(l,L)),p.chart.styledMode&&(n=this.styledModeFormat(n)),o.text=Q(n,{point:W(f.point,{key:d}),series:p},u),o.preventDefault()}}return{compose:function(o,u,x){m.compose(o),G.compose(u),x&&M(Y,"DataGrouping")&&F(x,"headerFormatter",v)},groupData:G.groupData}}),O(e,"masters/modules/datagrouping.src.js",[e["Core/Globals.js"],e["Extensions/DataGrouping/ApproximationDefaults.js"],e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGrouping.js"]],function(m,T,G,$){return m.dataGrouping=m.dataGrouping||{},m.dataGrouping.approximationDefaults=m.dataGrouping.approximationDefaults||T,m.dataGrouping.approximations=m.dataGrouping.approximations||G,$.compose(m.Axis,m.Series,m.Tooltip),m}),O(e,"Extensions/Annotations/NavigationBindingsUtilities.js",[e["Core/Utilities.js"]],function(m){let{defined:T,isNumber:G,pick:$}=m,q={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:q,getAssignedAxis:function(Z){return Z.filter(Q=>{let Y=Q.axis.getExtremes(),F=Y.min,W=Y.max,k=$(Q.axis.minPointOffset,0);return G(F)&&G(W)&&Q.value>=F-k&&Q.value<=W+k&&!Q.axis.options.isInternal})[0]},getFieldType:function(Z,Q){let Y=q[Z],F=typeof Q;return T(Y)&&(F=Y),{string:"text",number:"number",boolean:"checkbox"}[F]}}}),O(e,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[e["Core/Utilities.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(m,T){let G,{addEvent:$,isObject:q,pick:Z,defined:Q,merge:Y}=m,{getAssignedAxis:F}=T,W=[],k={enabled:!0,sensitivity:1.1},E=o=>(q(o)||(o={enabled:o??!0}),Y(k,o)),M=function(o,u,x,f,p,b,I){let B=Z(I.type,o.zooming.type,""),A=[];B==="x"?A=x:B==="y"?A=f:B==="xy"&&(A=o.axes);let g=o.transform({axes:A,to:{x:p-5,y:b-5,width:10,height:10},from:{x:p-5*u,y:b-5*u,width:10*u,height:10*u},trigger:"mousewheel"});return g&&(Q(G)&&clearTimeout(G),G=setTimeout(()=>{var S;(S=o.pointer)==null||S.drop()},400)),g};function v(){let o=E(this.zooming.mouseWheel);o.enabled&&$(this.container,"wheel",u=>{var p,b;u=((p=this.pointer)==null?void 0:p.normalize(u))||u;let{pointer:x}=this,f=x&&!x.inClass(u.target,"highcharts-no-mousewheel");if(this.isInsidePlot(u.chartX-this.plotLeft,u.chartY-this.plotTop)&&f){let I=o.sensitivity||1.1,B=u.detail||(u.deltaY||0)/120,A=F(x.getCoordinates(u).xAxis),g=F(x.getCoordinates(u).yAxis);M(this,Math.pow(I,B),A?[A.axis]:this.xAxis,g?[g.axis]:this.yAxis,u.chartX,u.chartY,o)&&((b=u.preventDefault)==null||b.call(u))}})}return{compose:function(o){W.indexOf(o)===-1&&(W.push(o),$(o,"afterGetContainer",v))}}}),O(e,"masters/modules/mouse-wheel-zoom.src.js",[e["Core/Globals.js"],e["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(m,T){return m.MouseWheelZoom=m.MouseWheelZoom||T,m.MouseWheelZoom.compose(m.Chart),m}),O(e,"masters/modules/stock.src.js",[e["Core/Globals.js"],e["Series/DataModifyComposition.js"],e["Stock/Navigator/Navigator.js"],e["Core/Axis/OrdinalAxis.js"],e["Stock/RangeSelector/RangeSelector.js"],e["Stock/Scrollbar/Scrollbar.js"],e["Core/Chart/StockChart.js"],e["Series/OHLC/OHLCSeries.js"],e["Series/Flags/FlagsSeries.js"]],function(m,T,G,$,q,Z,Q,Y,F){return m.Navigator=m.Navigator||G,m.OrdinalAxis=m.OrdinalAxis||$,m.RangeSelector=m.RangeSelector||q,m.Scrollbar=m.Scrollbar||Z,m.stockChart=m.stockChart||Q.stockChart,m.StockChart=m.StockChart||m.stockChart,m.extend(m.StockChart,Q),T.compose(m.Series,m.Axis,m.Point),F.compose(m.Renderer),Y.compose(m.Series),m.Navigator.compose(m.Chart,m.Axis,m.Series),m.OrdinalAxis.compose(m.Axis,m.Series,m.Chart),m.RangeSelector.compose(m.Axis,m.Chart),m.Scrollbar.compose(m.Axis),m.StockChart.compose(m.Chart,m.Axis,m.Series,m.SVGRenderer),m}),O(e,"masters/highstock.src.js",[e["masters/highcharts.src.js"]],function(m){return m.product="Highstock",m}),e["masters/highstock.src.js"]._modules=e,e["masters/highstock.src.js"]})})(Rc);var sl=Rc.exports;const wg=gs(sl),rl=fh({__proto__:null,default:wg},[sl]);jc(rl);Ic(rl);const Bo=({options:t,...i})=>{function e($){return $!==null&&typeof $=="object"&&!Array.isArray($)}function O($,q,Z=new Map){if(e($)&&e(q))for(const Q in q)e(q[Q])?($[Q]||($[Q]={}),Z.has(q[Q])?$[Q]=Z.get(q[Q]):(Z.set(q[Q],{}),O($[Q],q[Q],Z))):$[Q]=q[Q];return $}const m=Ft.useRef(null),G=O({title:{style:{fontSize:"2rem"}},colors:["#00437c","#bf530a","#4f7f0a","#663f74","#0f6fb7","#993333","#367b87","#565656"],credits:{enabled:!1},legend:{enabled:!1},navigator:{xAxis:{labels:{useHTML:!0}}},rangeSelector:{inputStyle:{fontSize:"1.2rem"},labelStyle:{fontSize:"1.2rem"},buttonTheme:{style:{fontSize:"1.2rem"}}},tooltip:{style:{fontSize:"1.2rem"}},yAxis:{labels:{style:{fontSize:"1.2rem"}},title:{style:{fontSize:"1.5rem"}}},xAxis:{labels:{style:{fontSize:"1.2rem"}},title:{style:{fontSize:"1.5rem"}},showFirstLabel:!1}},t);return St.jsx("div",{tabIndex:0,children:St.jsx(Oc,{highcharts:rl,options:G,constructorType:"stockChart",ref:m,...i})})},Bc=({chartType:t="line",showTitle:i=!0,constructorType:e,height:O,onDataGet:m,disableTitles:T=!1,...G})=>{const{data:$,loading:q}=mr("./json/unemployment.json");if(q)return null;{let Z=[];$.Results.series[0].data.map(Y=>{Z.push([Date.UTC(+Y.year,+Y.period.substring(1)-1),+Y.value])}),Z=Z.sort((Y,F)=>Y[0]-F[0]),m&&setTimeout(()=>{m(Z[Z.length-1][1],Z[Z.length-1][0])},0);const Q={lang:{accessibility:{chartContainerLabel:"Interactive line chart. Unemployment Rate"}},title:{text:"Civilian Unemployment Rate, Seasonally Adjusted"},accessibility:{point:{dateFormat:"%b %Y"}},xAxis:{type:"datetime",dateTimeLabelFormats:{month:"%b %Y"},title:{text:"Date"}},rangeSelector:{inputDateFormat:"%b %Y",buttons:[{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"}]},yAxis:{title:{text:"Percent"},min:0},tooltip:{headerFormat:"",pointFormat:"{point.x:%b %Y}: <b>{point.y:.1f}</b> %"}};return i===!1&&(Q.title=void 0),O&&(Q.chart={height:O}),e==="stockChart"?(Q.series=[{data:Z,type:t}],St.jsx(Bo,{options:Q,...G})):(Q.series=[{data:Z,type:t,marker:{enabled:!0,fillColor:"transparent"}}],St.jsx(il,{options:Q,disableTitles:T,...G}))}},Mg="_bold_1qbtu_1",Ag="_smaller_1qbtu_11",Tg="_date_1qbtu_17",Pg="_greybackground_1qbtu_25",Eg="_padding030_1qbtu_37",$t={bold:Mg,smaller:Ag,date:Tg,greybackground:Pg,padding030:Eg},Lg="_column_6gt5j_1",Og="_doublecolumn_6gt5j_3",Dg="_row_6gt5j_35",vo={column:Lg,doublecolumn:Og,row:Dg,"gap-small":"_gap-small_6gt5j_47"},xr=({children:t,gap:i="gap-small",...e})=>St.jsx("div",{className:`${vo.row} ${vo[i]}`,...e,children:t}),Te=({children:t,double:i=!1,classes:e="",...O})=>St.jsx("div",{className:`${i?vo.doublecolumn:vo.column} ${e}`,...O,children:t}),jg=({chartType:t="line",constructorType:i="stockChart",...e})=>{const[O,m]=Ft.useState(""),[T,G]=Ft.useState("");function $(q,Z){m(q.toFixed(1)+"%");const Q=new Date(Z),Y=Q.getTimezoneOffset()*6e4,F=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"});G(F.format(new Date(Q.getTime()+Y)))}return St.jsx("section",{className:"chartDisplay",children:St.jsxs(xr,{children:[St.jsxs(Te,{double:!0,children:[St.jsx(Bc,{chartType:t,constructorType:i,onDataGet:$,height:500,...e}),St.jsx(ns,{frequency:"Monthly",release:'"The Employment Situation"',units:"Percent",source:"U.S. Bureau of Labor Statistics",releaseLink:"https://www.bls.gov/charts/employment-situation/civilian-unemployment-rate.htm",sourceLink:"https://www.bls.gov",...e})]}),St.jsx(Te,{children:St.jsxs(bs,{title:"Unemployment Rate",borderTopColor:"orange",children:[St.jsx("p",{children:"Civilian Unemployment Rate"}),St.jsx("p",{className:`${$t.bold}`,children:O}),St.jsxs("p",{className:`${$t.date}`,children:[St.jsx("a",{href:"https://www.bls.gov/schedule",children:"Latest Data"}),": ",T]})]})})]})})},zc=({chartType:t="column",showTitle:i=!0,constructorType:e,onDataGet:O,height:m,rotateX:T=0,disableTitles:G=!1,...$})=>{const q=function(Y){const F=new Date(Y);return"Q"+(Math.floor(F.getUTCMonth()/3)+1)};e==="stockChart"?sl.dateFormats.q=q:tl.dateFormats.q=q;const{data:Z,loading:Q}=mr("./json/gdp.json");if(Q)return null;{const Y=[];Z.BEAAPI.Results.Data.filter(W=>W.SeriesCode==="A191RL").map(W=>{const[k,E]=W.TimePeriod.split("Q");let M=0;switch(E){case"1":M=0;break;case"2":M=3;break;case"3":M=6;break;case"4":M=9;break}Y.push([Date.UTC(+k,M),+W.DataValue])}),O&&setTimeout(()=>{O(Y[Y.length-1][1],Y[Y.length-1][0])},0);const F={lang:{accessibility:{chartContainerLabel:"Interactive bar chart. Gross Domestic Product"}},title:{text:"Real Gross Domestic Product (GDP): Percent Change from the Previous Quarter"},accessibility:{point:{dateFormat:"%q %Y"}},rangeSelector:{inputDateFormat:"%b %Y",buttons:[{type:"ytd",text:"YTD",title:"View year to date"},{type:"all",text:"All",title:"View all"}]},xAxis:{type:"datetime",labels:{format:"{value:%q'%y}",rotation:T},title:{text:"Date"}},yAxis:{title:{text:"Percent"}},tooltip:{headerFormat:"",pointFormat:"{point.x:%q %Y}: <b>{point.y:.1f}</b> %"},series:[{data:Y,type:t}]};return i===!1&&(F.title=void 0),m&&(F.chart={height:m}),e==="stockChart"?(F.series=[{data:Y,type:t}],St.jsx(Bo,{options:F,...$})):(F.series=[{data:Y,type:t,marker:{enabled:!0,fillColor:"transparent"}}],St.jsx(il,{options:F,disableTitles:G,...$}))}},Ng=({chartType:t="column",constructorType:i="stockChart",...e})=>{const[O,m]=Ft.useState(""),[T,G]=Ft.useState("");function $(q,Z){m((q<=0?"":"+")+q.toFixed(1)+"%");let Q=new Date(Z);const Y=Q.getTimezoneOffset()*6e4;Q=new Date(Q.getTime()+Y);const F=Math.floor((Q.getMonth()+3)/3),W=Q.getFullYear();G(`Q${F} ${W}`)}return St.jsx("section",{className:"chartDisplay",children:St.jsxs(xr,{children:[St.jsxs(Te,{double:!0,children:[St.jsx(zc,{chartType:t,constructorType:i,onDataGet:$,rotateX:-30,height:500,...e}),St.jsx(ns,{frequency:"Quarterly",release:'"NIPA Table 1.1.1 Percent Change From Preceding Period in Real Gross Domestic Product"',sourceLink:"https://www.bea.gov",source:"U.S. Bureau of Economic Analysis",releaseLink:"https://apps.bea.gov/iTable/?reqid=19&step=3&isuri=1&1921=survey&1903=11#eyJhcHBpZCI6MTksInN0ZXBzIjpbMSwyLDNdLCJkYXRhIjpbWyJOSVBBX1RhYmxlX0xpc3QiLCIxIl0sWyJDYXRlZ29yaWVzIiwiU3VydmV5Il1dfQ==",units:"Percent, Seasonally adjusted at annual rates",...e})]}),St.jsx(Te,{children:St.jsxs(bs,{title:"Gross Domestic Product (GDP)",borderTopColor:"cyan",children:[St.jsx("p",{children:"Percent change (annual rate) from the previous quarter"}),St.jsx("p",{className:`${$t.bold}`,children:O}),St.jsxs("p",{className:`${$t.date}`,children:[St.jsx("a",{href:"https://www.bea.gov/news/schedule",children:"Latest Data"}),": ",T]})]})})]})})},Fc=({chartType:t="line",showTitle:i=!0,constructorType:e,height:O,onDataGet:m,rotateX:T=0,disableTitles:G=!1,...$})=>{const{data:q,loading:Z}=mr("./json/pce.json");if(Z)return null;{const Q=[];q.BEAAPI.Results.Data.filter(F=>F.SeriesCode==="BPCERO").map(F=>{const[W,k]=F.TimePeriod.split("M");Q.push([Date.UTC(+W,+k-1),+F.DataValue])}),m&&setTimeout(()=>{m(Q[Q.length-1][1],Q[Q.length-1][0])},0);const Y={lang:{accessibility:{chartContainerLabel:"Interactive line chart. Inflation (PCE)"}},title:{text:"Personal Consumption Expenditures Price Index: Percent Change from Year Earlier"},rangeSelector:{inputDateFormat:"%b %Y",buttons:[{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"}]},xAxis:{type:"datetime",dateTimeLabelFormats:{month:"%b %Y"},labels:{rotation:T},title:{text:"Date"}},yAxis:{title:{text:"Percent"}},tooltip:{headerFormat:"",pointFormat:"{point.x:%b %Y}: <b>{point.y:.1f}</b> %"},series:[{data:Q,type:t}]};return i===!1&&(Y.title=void 0),O&&(Y.chart={height:O}),e==="stockChart"?(Y.series=[{data:Q,type:t}],St.jsx(Bo,{options:Y,...$})):(Y.series=[{data:Q,type:t,marker:{enabled:!0,fillColor:"transparent"}}],St.jsx(il,{options:Y,disableTitles:G,...$}))}},Ig=({chartType:t="line",constructorType:i="stockChart",...e})=>{const[O,m]=Ft.useState(""),[T,G]=Ft.useState("");function $(q,Z){m(q.toFixed(1)+"%");const Q=new Date(Z),Y=Q.getTimezoneOffset()*6e4,F=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"});G(F.format(new Date(Q.getTime()+Y)))}return St.jsx("section",{className:"chartDisplay",children:St.jsxs(xr,{children:[St.jsxs(Te,{double:!0,children:[St.jsx(Fc,{chartType:t,constructorType:i,onDataGet:$,rotateX:-30,...e}),St.jsx(ns,{release:'"NIPA Table 2.8.11. Real Personal Consumption Expenditures by Major Type of Product: Percent Change from Month One Year Ago"',releaseLink:"https://apps.bea.gov/iTable/?reqid=19&step=3&isuri=1&1921=survey&1903=11#eyJhcHBpZCI6MTksInN0ZXBzIjpbMSwyLDNdLCJkYXRhIjpbWyJOSVBBX1RhYmxlX0xpc3QiLCI0MjQiXSxbIkNhdGVnb3JpZXMiLCJTdXJ2ZXkiXV19",frequency:"Monthly",units:"Percent",source:"U.S. Bureau of Economic Analysis",sourceLink:"https://www.bea.gov",...e})]}),St.jsx(Te,{children:St.jsxs(bs,{title:"Inflation (PCE)",borderTopColor:"blue",children:[St.jsx("p",{children:"Personal Consumption Expenditures Price Index"}),St.jsx("p",{children:St.jsx("small",{children:"Percent change from year earlier"})}),St.jsx("p",{className:`${$t.bold}`,children:O}),St.jsxs("p",{className:`${$t.date}`,children:[St.jsx("a",{href:"https://www.bea.gov/news/schedule",children:"Latest Data"}),": ",T]})]})})]})})},Rg=({onDataGet:t,height:i,...e})=>{const{data:O,loading:m}=mr("./aboutthefed/files/target-funds-2014-2024.csv",!0);if(!m&&O){const T=O.trim().replace("\r","").split(` `),G=[],$=T[0].split(","),q=T[1].split(","),Z=T[2].split(","),Q=[],Y=[];$.forEach((W,k)=>{const E=new Date(W).getTime();Q.push([E,+q[k]]),Y.push([E,+q[k],+Z[k]])}),t&&setTimeout(()=>{t((+Y[Y.length-1][1]).toFixed(2)+"% to "+(+Y[Y.length-1][2]).toFixed(2)+"%",Y[Y.length-1][0])},0),G.push({data:Y,type:"arearange",color:"#809D29",name:"Target federal funds range"});const F={lang:{accessibility:{chartContainerLabel:"Interactive line chart. Target range for the federal funds rate"}},chart:{backgroundColor:"#FFFFFF",styledMode:!0},title:{text:"Target Range for the Federal Funds Rate"},rangeSelector:{inputDateFormat:"%b %e %Y",inputEditDateFormat:"%b %e %Y"},subtitle:{style:{color:"#333",font:"16px"}},navigator:{maskFill:"rgba(180, 198, 220, 0.15)"},xAxis:{type:"datetime",floor:139104e7,ordinal:!1,labels:{format:"{value:%b'%y}",rotation:-30},title:{text:"Date"}},yAxis:{min:0,max:6,tickLength:5,tickInterval:.5,title:{text:"Level ( Percent )"}},tooltip:{shared:!0,valueSuffix:"%",xDateFormat:"%Y-%m-%d"},series:G};return i&&(F.chart={height:i}),St.jsx(Bo,{options:F,...e})}else return null},Bg=({...t})=>{const[i,e]=Ft.useState(""),[O,m]=Ft.useState("");function T(G,$){e(G);const q=new Intl.DateTimeFormat("en-US",{day:"numeric",month:"long",year:"numeric"});m(q.format(new Date($)))}return St.jsx("section",{className:"chartDisplay",children:St.jsxs(xr,{children:[St.jsx(Te,{double:!0,children:St.jsx(Rg,{...t,onDataGet:T,height:500})}),St.jsx(Te,{children:St.jsxs(bs,{title:"Policy Rate",borderTopColor:"purple",children:[St.jsx("p",{children:"Federal Funds Rate Target Range"}),St.jsx("p",{className:`${$t.bold}`,children:i}),St.jsxs("p",{className:`${$t.date}`,children:["Latest Data: ",O]})]})})]})})},zg=({type:t="more"})=>St.jsx("span",{className:`icon icon__xs icon--right icon-${t}`}),Ir=({linkText:t,link:i,icon:e,ariaTitle:O,...m})=>St.jsxs("a",{href:i,title:O||void 0,...m,children:[t,e?St.jsx(zg,{type:"more"}):""]}),Rr=({header:t,children:i,divClass:e,...O})=>St.jsxs("div",{className:`${e||""} homepageBox`,...O,children:[t?St.jsx("h3",{className:"homepageHeader",children:t}):"",St.jsx("div",{className:"homepageContent",children:i})]}),Fg=({onDataGet:t,recentObs:i,children:e,...O})=>{const{data:m,loading:T}=mr("./aboutthefed/files/target-funds-2014-2024.csv",!0);if(!T&&m){const G=m.trim().replace("\r","").split(` `),$=G[0].split(","),q=G[1].split(","),Z=G[2].split(","),Q=[],Y=[];return $.forEach((F,W)=>{const k=new Date(F).getTime();Q.push([k,+q[W]]),Y.push([k,+q[W],+Z[W]])}),t&&setTimeout(()=>{t((+Y[Y.length-1][1]).toFixed(2)+"% to "+(+Y[Y.length-1][2]).toFixed(2)+"%")},0),St.jsxs(bs,{title:"Fed Funds Target Range",borderTopColor:"purple",...O,children:[St.jsx("p",{className:`${$t.bold}`,children:i}),e]})}else return null},Gg=()=>{const[t,i]=Ft.useState(""),[e,O]=Ft.useState(""),[m,T]=Ft.useState(""),[G,$]=Ft.useState(""),[q,Z]=Ft.useState(""),[Q,Y]=Ft.useState(""),[F,W]=Ft.useState("");function k(o){W(o)}function E(o,u){i((o<=0?"":"+")+o.toFixed(1)+"%");let x=new Date(u);const f=x.getTimezoneOffset()*6e4;x=new Date(x.getTime()+f);const p=Math.floor((x.getMonth()+3)/3),b=x.getFullYear();O(`Q${p} ${b}`)}function M(o,u){T(o.toFixed(1)+"%");const x=new Date(u),f=x.getTimezoneOffset()*6e4,p=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"});$(p.format(new Date(x.getTime()+f)))}function v(o,u){Z(o.toFixed(1)+"%");const x=new Date(u),f=x.getTimezoneOffset()*6e4,p=new Intl.DateTimeFormat("en-US",{month:"long",year:"numeric"});Y(p.format(new Date(x.getTime()+f)))}return St.jsxs("div",{className:`${$t.greybackground} ${$t.padding030} homepageCharts`,children:[St.jsx("div",{className:"heading",children:St.jsx("h2",{children:"Economy at a Glance"})}),St.jsxs(xr,{children:[St.jsx(Te,{classes:"align-center",children:St.jsx(Rr,{header:"Policy Rate",divClass:"mb75",children:St.jsx(Fg,{onDataGet:k,recentObs:F,children:St.jsx("div",{className:"more",children:St.jsx(Ir,{link:"/economy-at-a-glance-policy-rate.htm",linkText:"View More",ariaTitle:"About Federal Funds Rate Target Range",icon:"arrow"})})})})}),St.jsx(Te,{children:St.jsxs(Rr,{header:"Inflation (PCE)",children:[St.jsx("span",{className:`${$t.bold} ${$t.smaller}`,children:q})," ",St.jsx("span",{className:`${$t.date}`,children:Q}),St.jsx(Fc,{chartType:"line",disableTitles:!0,showTitle:!1,height:220,onDataGet:v}),St.jsx(ns,{source:"Bureau of Economic Analysis",sourceLink:"https://www.bea.gov"}),St.jsx(Ir,{linkText:"View More",icon:"arrow",ariaTitle:"About Inflation Personal Consumption Expenditures Price Index",link:"/economy-at-a-glance-inflation-pce.htm"})]})}),St.jsx(Te,{children:St.jsxs(Rr,{header:"Unemployment Rate",children:[St.jsx("span",{className:`${$t.bold} ${$t.smaller}`,children:m})," ",St.jsx("span",{className:`${$t.date}`,children:G}),St.jsx(Bc,{chartType:"line",disableTitles:!0,showTitle:!1,height:220,onDataGet:M}),St.jsx(ns,{source:"U.S. Bureau of Labor Statistics",sourceLink:"https://www.bls.gov"}),St.jsx(Ir,{linkText:"View More",icon:"arrow",ariaTitle:"About Civilian Unemployment Rate",link:"/economy-at-a-glance-unemployment-rate.htm"})]})}),St.jsx(Te,{children:St.jsxs(Rr,{header:"Gross Domestic Product (GDP)",children:[St.jsx("span",{className:`${$t.bold} ${$t.smaller}`,children:t})," ",St.jsx("span",{className:`${$t.date}`,children:e}),St.jsx(zc,{chartType:"column",disableTitles:!0,showTitle:!1,height:220,onDataGet:E}),St.jsx(ns,{source:"Bureau of Economic Analysis",sourceLink:"https://www.bea.gov"}),St.jsx(Ir,{linkText:"View More",icon:"arrow",ariaTitle:"About Gross Domestic Product",link:"/economy-at-a-glance-gross-domestic-product.htm"})]})})]})]})};document.querySelectorAll("Card").forEach(t=>{const i=t.getAttribute("title"),e=t.children;i&&e&&yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(bs,{title:i,children:"bodyText"})}))});document.querySelectorAll("BLSChart").forEach(t=>{const i=t.getAttribute("chartType");i&&yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(jg,{chartType:i})}))});document.querySelectorAll("GDPChart").forEach(t=>{const i=t.getAttribute("chartType");i&&yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(Ng,{chartType:i})}))});document.querySelectorAll("PCEChart").forEach(t=>{const i=t.getAttribute("chartType");i&&yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(Ig,{chartType:i})}))});document.querySelectorAll("PolicyChart").forEach(t=>{yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(Bg,{})}))});document.querySelectorAll("HomepageCharts").forEach(t=>{yi.createRoot(t).render(St.jsx(ms.StrictMode,{children:St.jsx(Gg,{})}))});